]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
[grub2.git] / ChangeLog
CommitLineData
e84f8188
VS
12013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
4 usage of wrong table which resulted in mishandling of 4-byte
5 sequences.
6
72013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
8
9 * grub-core/term/terminfo.c: Add Home and End key sequences.
10
d72bff09
VS
112013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * grub-core/video/readers/png.c (grub_png_decode_image_header):
14 Fix formula for computing total number of bytes.
15
29648c5d
VS
162013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
19 image processing, fix big-endian and support grayscale.
20
4a876492
VS
212013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
24 Correctly will with maximum transparency when using index color.
25
3ccf16df
VS
262013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/video/readers/png.c: Support grayscale
29
302013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
31
32 * grub-core/video/readers/jpeg.c: Support grayscale.
33
3ccf16df 342013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
35
36 * grub-core/commands/loadenv.c: Support skipping signature check
37 and variable names filtering.
38
30b7f58f
VS
392013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
42 * grub-core/kern/emu/hostfs.c: Likewise.
43 * util/getroot_unix.c: Likewise.
44
bab7b1eb
VS
452013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
48 Migrate all explicit defines to this new one.
49
43b1c99d
VS
502013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
53 grub_util_fd_strerror when using grub_util_fd_*.
54 (grub_util_fd_open_device): Likewise.
55 (grub_util_biosdisk_read): Likewise.
56 (grub_util_biosdisk_write): Likewise.
57 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
58 (grub_util_fd_strerror): Likewise.
59 (grub_util_fd_sync): Likewise.
60 (grub_util_fd_close): Likewise.
61 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
62 (grub_util_fd_close): Likewise.
63 (grub_util_fd_strerror): Likewise.
64 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
65 function proto rather than macro.
66 (grub_util_fd_sync): Likewise.
67 (grub_util_fd_open): Likewise.
68 (grub_util_fd_strerror): New proto.
69
e8fd80bc
VS
702013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
73 platforms on which it doesn't work.
74
bf645fda
VS
752013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
78 stat immediately to where it's used.
79
5177ba14
VS
802013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * util/getroot.c (grub_util_check_block_device): Move to ...
83 * util/getroot_unix.c (grub_util_check_block_device): ... here.
84 * util/getroot.c (grub_util_check_char_device): Move to ...
85 * util/getroot_unix.c (grub_util_check_char_device): ... here.
86
9db826e1
VS
872013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
90 disk closing logic.
91
49120085
AB
922013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
93
94 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
95
b3328b68
AB
962013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
97
98 * docs/grub.texi (File name syntax): Document ZFS filenames
99 (/volume@snapshot/...).
100
3fff48ab
VS
1012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
104 Always return full path. Fixes a problem with mkrelpath.
105
39cfdaa9
PFS
1062013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
107
108 * util/grub-install.in: Add GPT PReP support.
109 * util/grub-probe.c (probe): Support GPT partition type.
110 (main): Support -t gpt_parttype.
111
7c680e1f 1122013-09-23 Aleš Nesrsta <starous@volny.cz>
113
114 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
115
890bdabe
MM
1162013-09-23 Massimo Maggi <me@massimo-maggi.eu>
117
118 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
119
9c262ff9
TH
1202013-09-23 Tim Hardeck <thardeck>
121
122 * util/grub.d/10_hurd.in: Filter out character for the class.
123 * util/grub.d/10_kfreebsd.in: Likewise.
124 * util/grub.d/10_linux.in: Likewise.
125 * util/grub.d/20_linux_xen.in: Likewise.
126
d755342a
MC
1272013-09-23 Melki Christian <Christian.melki@saabgroup.com>
128
129 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
130 "changed".
131
68b77707
JT
1322013-09-23 Josh Triplett <josh@joshtriplett.org>
133
134 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
135 boot partition.
136
efa68bfa
VS
1372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
140 doesn't use posix_wrap. Keep literal -fno-builtin however.
141
d9104204
VS
1422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
145
c248781a 1462013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1472013-09-23 neil
148
5830df88 149 * configure.ac: Do not enable -Wmissing-noreturn as its
150 usefulness is limited and creates problems on some OS notably with
151 code generated by bison.
152
1532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1542013-09-23 neil
155
156 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 157 supported by all gcc and when it is, it's already enabled by -Wall.
158
621bed69
VS
1592013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
162 desactivated use of EDID at all.
163
71764dc8 1642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1652013-09-23 neil
166
167 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
168 video if no text is available.
169
affce7d4 1702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
1712013-09-23 neil
172
173 * configure.ac: Substitute TARGET_RANLIB.
174
1752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1762013-09-23 neil
affce7d4
VS
177
178 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
179
180 Based on patches from AROS.
181
0e8daad0 1822013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 1832013-09-23 neil
0e8daad0
VS
184
185 * grub-core/Makefile.am: Override STRIP and RANLIB.
186 * configure.ac: compute TARGET_RANLIB.
187 * INSTALL: Document TARGET_RANLIB
188
189 Based on patches from AROS.
190
3f7d9c82
VS
1912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
194 that floppies are unpartitioned.
195
bca8873a
VS
1962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
199 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
200
2012013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
204 less nice but more portable.
205 * grub-core/lib/posix_wrap/wchar.h: Likewise.
206
a47a78be
VS
2072013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
210 for cheat_fd.
211 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
212 functions.
213 (grub_cryptodisk_cheat_insert): Likewise.
214 (grub_cryptodisk_close): Likewise.
215
e85a5d5c
VS
2162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
219 Use windows path for DEFAULT_DIRECTORY.
220
dad9fa6b
VS
2212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
224 difference was likely just gcc version, not anything mingw-related.
225
7e518ca8
VS
2262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
227
228 Use Winapi on both cygwin and mingw32 to share more code between both.
229
d68d0157
AB
2302013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
231
232 * util/grub-install.in: Add --grub-editenv option.
233 * util/grub-install_header (grub_compress_file): Explicitly check for
234 plain file to avoid cp error.
235
775b284d
AB
2362013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
237
238 * docs/grub.texi (Device syntax): Document new LVM UUID based device
239 names; fix LVM driver name (lvm, not lv).
240 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
241 names.
242
3ff4063d
VS
2432013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
246 files rather than one file with loads of #if's.
247 * util/getroot.c: Likewise.
248
287faafe
VS
2492013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
252
d1983764
VS
2532013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
256 GNU/Hurd to the list of checked PRNG.
257
15ce95c4
VS
2582013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * configure.ac: On FreeBSD use -melf_*_fbsd format.
261
207862dd 2622013-09-21 Ales Nesrsta <starous@volny.cz>
263
7c680e1f 264 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 265
63653cfd
VS
2662013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
269 * grub-core/disk/lvm.c: Add LVM UUIDs.
270 * util/getroot.c: Use LVM UUIDs whenever possible.
271
f5d3e7ef
AB
2722013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
273
274 * docs/grub.texi (Networking commands): Add documentation for
275 network related commands.
276
53c6b7d6
VS
2772013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * util/getroot.c (grub_util_open_dm): Check major rather than the name
280 to determine if device is handled by devmapper.
281 (convert_system_partition_to_system_disk): Likewise.
282 (get_dm_uuid): Don't check explicitly if device is mapped, it's
283 already done in grub_util_open_dm.
284
e70d6736
LL
2852013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
286
287 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
288 Clean up stack manipulation (sync_caches_armv*)
289
90379808
VS
2902013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * util/lvm.c: Remove since unused. Remove remaining references.
293
386701a8
VS
2942013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
295
296 Handle the case of partitioned LVM properly.
297
298 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
299 Stop on meeting LVM, mpath or DMRAID.
300 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
301 (read_device_map): Likewise.
302 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
303 device is full disk rather than erroring out on LVM and similar cases.
304
53070787
VS
3052013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
308
1bc783bd
VS
3092013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
312 4K before the end.
313 Reported by: Leif Lindholm
314
436ad5c3
PW
3152013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
3162013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
319 codes.
320
607319c9
CW
3212013-09-18 Colin Watson <cjwatson@ubuntu.com>
322
323 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
324 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
325
d404d154
DR
3262013-09-18 Douglas Ray <dougray@cpan.org>
327
328 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
329 as secure.
330
28851ef6
AN
3312013-09-18 Aleš Nesrsta <starous@volny.cz>
332
333 * docs/grub.texi: Fix broken link.
334
897c3bc6
MC
3352013-09-18 Melki Christian <Christian.melki@saabgroup.com>
336
337 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
338 to break endless loop.
339
f1630459
VS
3402013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * util/grub-fstest.c: Fix several printf formats.
343 * util/grub-mkimage.c: Likewise.
344 * util/grub-mkimagexx.c: Likewise.
345 * util/grub-script-check.c: Likewise.
346
64463dfd
VS
3472013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
350 error.
351
48972495
VS
3522013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
355
5dd5e64b
VS
3562013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
359 removed in current versions cygwin_conv_*.
360
1c1f31e5
VS
3612013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * configure.ac: Disable efiemu runtime on cygwin.
364
c546a259
VS
3652013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
368 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
369
81690478
VS
3702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
373 error message.
374
6b87c10a
VS
3752013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
378 windows variant.
379 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
380 data.
381
8f0baaac
VS
3822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
385 when on x86 and not cygwin.
386 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
387 -Wl,-melf_x86_64.
388
b224c266
VS
3892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * configure.ac: Set CPP to build one when checkoing for freetype for
392 build.
393
506b336b
VS
3942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
397 [!GRUB_BUILD]: Remove has_argument.
398
8c8c87b7
VS
3992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
402 Replace with a dummy.
403
7dc5ca13
VS
4042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * configure.ac: Don't change host_os from mingw to cygwin.
407
c3302aa5
VS
4082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * configure.ac: Change target_os from windows to cygwin.
411
7b780018
VS
4122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
413
414 Handle grub-pe2elf and grub-mkfont for cases when build != host.
415
416 * Makefile.am (build-grub-mkfont): Don't include gnulib.
417 (build-grub-gen-asciih): Likewise.
418 (build-grub-gen-widthspec): Likewise.
419 * Makefile.util.def (grub-pe2elf): Remove.
420 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
421 * configure.ac: Separate tests for build.
422 Move ./build-grub-pe2elf to grub-core.
423 Fix typo.
424 * grub-core/Makefile.am (build-grub-pe2elf): New target.
425 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
426 defined.
427 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
428 constants.
429 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
430 * util/grub-pe2elf.c: Simplify not to rely on getopt.
431 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
432
984cfd8a
VS
4332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
436 mingw32 as well based on grub_util_get_disk_size.
437 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
438 grub_util_get_fd_size.
439 (sync): Removed.
440 (fsync): Moved to ...
441 * grub-core/kern/emu/misc.c (fsync): ... here.
442
f82d79c9
VS
4432013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * include/grub/mm.h (grub_extend_alloc): Remove.
446 * grub-core/loader/i386/pc/plan9.c: Use own version of
447 grub_extend_alloc with appropriate types.
448
fd7dd66d
VS
4492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
452
43ffba7c
VS
4532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * util/getroot.c: Include sys/wait.h only when we need waitpid.
456
3c7eac44
VS
4572013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
458
459 Fix dependencies on cygwin.
460
461 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
462 dependencies when used and defined.
463 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
464
bdb5ba47
VS
4652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
468 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
469
ed7fbf43
VS
4702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
473 implementation available to cause compile-time rather than runtime
474 error.
475
fc46e9fc
VS
4762013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * util/grub-fstest.c: Don't check for symlinks on windows.
479
7f68269a
VS
4802013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * INSTALL: Mention unavailability of man pages when cross-compiling.
483
8ed358e0
VS
4842013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
487 and gcry_log_bug.
488 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
489
fc97214f
VS
4902013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * INSTALL: Document cross-compilation.
493 * acinclude.m4: Determine whether nm support -P and --defined-only.
494 * configure.ac: Add TARGET_ to all variables pertaining to target
495 that don't have it yet.
496 * gentpl.py: Likewise.
497 * grub-core/Makefile.am: Likewise.
498 * grub-core/genmod.sh.in: Likewise.
499 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
500 as well.
501
ca1fb563
IB
5022013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
503
504 * configure.ac: Remove -Wempty-body. It's not essential and needs
505 recent gcc.
506
0031b229
IB
5072013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
508
509 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
510 * util/getroot.c: Likewise.
511
54ea2f44
VS
5122013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * grub-core/disk/ahci.c: Add needed explicit cast.
515 * grub-core/lib/backtrace.c: Likewise.
516 * grub-core/net/ip.c: Likewise.
517 * grub-core/net/tcp.c: Likewise.
518 * grub-core/net/udp.c: Likewise.
519
3c601f8c
VS
5202013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
523
1d679dda
VS
5242013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * util/import_gcry.py: Add final newline in visibility.h.
527
00c28dd9
VS
5282013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * conf/Makefile.common: Fix typo.
531
32af299a
VS
5322013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
535
e733cf52
VS
5362013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * Makefile.am (widthspec.h): Fix typo.
539 * util/grub-gen-widthspec.c: Likewise.
540
c6b066f2
VS
5412013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
542
543 Move ascii.h and widthspec.h generation to a separate build-time-only
544 tool.
545
ad1fe3f9 5462013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
547
548 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
549 Always fill bootdisk info and improve check for NetBSD disklabel.
550
92a52dd4
VS
5512013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * conf/Makefile.extra-dist: Add util/bin2h.c.
554 Reported by: floppym.
555
b2e9d276
VS
5562013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
559
7b966834
VS
5602013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * configure.ac: Disable unifont and starfield if no freetype was found.
563
d5c1eef1
VS
5642013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
567 on NetBSD and OpenBSD.
568
66345b50 5692013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
570
571 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
572
66345b50 5732013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
574
575 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
576 reduced. Inheritant options are processed during the theme loading.
577
66345b50 5782013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
579
580 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
581
369508b3
AS
5822013-08-14 Avik Sil <aviksil@in.ibm.com>
583
584 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
585
5862013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
587
588 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
589 using qemu.
590
6f27a3f6
PFS
5912013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
592
593 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
594 remove-potcdate.sed.
595
c6ed362a
AB
5962013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
597
598 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
599 unused attribute from pull argument.
600
5e7d9464
AB
6012013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
602
603 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
604 memory leak.
605
dea55e2a
AB
6062013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
607
608 * util/getroot.c (pull_lvm_by_command): add --separator option
609 to vgs call to disable padding of output to 10 characters.
610
f0b94ded
VS
6112013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
614 here ...
615 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
616 here.
617
b828fb5d
VS
6182013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
621 length.
622
7c9d0c39
VS
6232013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
624
625 Fix handling of build-time grub-bin2h and grub-mkfont when doing
626 full Canadian cross. Tested with build=x86_64, host=arm,
627 target=ppc-ieee1275.
628
816719c8
VS
6292013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * configure.ac: Error if no $BUILD_CC could be found.
632 Reported by: DevHC.
633
2af2353b
VS
6342013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
637 i386-multiboot.
638
797abd0a
VS
6392013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
642 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
643
36e87d25
CW
6442013-08-13 Colin Watson <cjwatson@ubuntu.com>
645
646 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
647 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
648 falling back to the partition device, otherwise a later call to this
649 function may fail spuriously.
650 Reported by Axel Beckert. Fixes Debian bug #708614.
651
273349fe
GS
6522013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
653
654 * autogen.sh: Replace find -not by the POSIX-compliant find !.
655
418f86c6
GS
6562013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
657
658 Prevent shadowing of stdlib's devname(3) on BSD.
659
660 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
661 and devlast to diskname and disklast, respectively.
662
c137aea0
CW
6632013-08-11 Colin Watson <cjwatson@ubuntu.com>
664
665 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
666
272dc8df 6672013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
668
669 * docs/grub.texi: Introduce terminal window position options:
670 terminal-left: terminal window's left position
671 terminal-top: terminal window's top position
672 terminal-width: terminal window's width
673 terminal-height: terminal window's height
674 terminal-border: terminal window's border width
675 * grub-core/gfxmenu/theme-loader.c: Likewise.
676 * include/grub/gfxmenu_view.h: Likewise.
677 * po/exlude.pot: Likewise.
678 * grub-core/gfxmenu/view.c: Likewise.
679 Also updated minimal window size.
680 Also terminal_sanity_check function has been introduced.
272dc8df
VT
681 * grub-core/tests/checksums.h: Update (terminal window height
682 is adjusted now for low resolution screen)
b4743461 683
748a4533
VS
6842013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
687 position).
688
fca5f944
VS
6892013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * po/exclude.pot: Add few recent exceptions.
692
4f47d809
VS
6932013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * tests/grub_func_test.in: Add unicode.pf2.
696
a62ae90c
VS
6972013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
700 standard rather than noral color, in line with other terminals.
701
4ed41392
VS
7022013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
705 analysis.
706
3719fbc5
VS
7072013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/loader/arm/linux.c: Change printf to dprintf.
710
459b1d91
VS
7112013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
714 inappropriate printf.
715
f4e1ab9d
AB
7162013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
717
718 * .bzrignore: Remove grub-core/lib/dtc-grub,
719 grub-core/Makefile.libfdt.def
720 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
721
fa471bfa
VS
7222013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * include/grub/video.h (grub_video_register): Keep double-linked as
725 well as single-linked invariants.
726 Reported by: qwertial.
727
d65be02b
VS
7282013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/commands/nativedisk.c (get_uuid): Handle
731 GRUB_DISK_DEVICE_UBOOTDISK_ID.
732
ba8bc620
VT
7332013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
734
735 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
736 maximum of NW, N, NE heights instead of N's height and maximum of
737 NW, W, SW widths instead of W's width. (So the box will be always
738 correctly drawn)
739
4f0ad029
GS
7402013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
741
742 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
743 Fix misuse of variable count.
744
43d53b72
LL
7452013-07-18 Leif Lindholm <leif.lindholm@arm.com>
7462013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
7472013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 748
43d53b72
LL
749 New ports to arm-uboot and arm-efi.
750 Mostly by Leif Lindholm with some additions from
751 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 752
88f8d146
VS
7532013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
756 and not before.
757 Reported by: Leon Drugi.
758
3f42504c
VS
7592013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
762 Reported by: Paulo Flabiano Smorigo.
763
d110499b
VT
7642013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
765
766 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
767
a8674ad3
VT
7682013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
769
770 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
771
286fe4b3
VS
7722013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
775
1bd57aa3
VS
7762013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
779
7a87d69f
AB
7802013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
781
782 * grub-core/net/bootp.c: Export net_* variables.
783 * grub-core/net/net.c: Likewise.
784
b2182299
VS
7852013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
788
795b3dc0
VS
7892013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
792
68714c43
VS
7932013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
796
af211bab
VS
7972013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
800
0036f02d
MM
8012013-07-14 Massimo Maggi <me@massimo-maggi.eu>
802
803 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
804 <= 0.
805
6d0ddff3
MM
8062013-07-14 Massimo Maggi <me@massimo-maggi.eu>
807
808 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
809 functions.
810
038016f4
MM
8112013-07-14 Massimo Maggi <me@massimo-maggi.eu>
812
813 * grub-core/fs/zfs/zfs_lz4.c: New file.
814 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
815
776bdce2
MM
8162013-07-14 Massimo Maggi <me@massimo-maggi.eu>
817
818 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
819
c71dbd40
MM
8202013-07-14 Massimo Maggi <me@massimo-maggi.eu>
821
822 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
823 (check_pool_label): Likewise.
824 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
825
8262013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
827
828 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
829
8e67b50f
AB
8302013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
831
832 * docs/grub.texi (Commands): Document postition parameters
833 for menuentry command.
834
f5ae3717
AB
8352013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
836
837 * util/grub-mknetdir.in: Remove stray line from help output.
838
9c28da2a
VS
8392013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Remove early sm712 init as there is no reason for it (the "watchdog"
842 effect was due to wrong GPIO map).
843
139072b8
VS
8442013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/commands/pcidump.c: Remove static variables.
847
c6a61bda
VS
8482013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/commands/sleep.c: Refresh screen before sleeping.
851
51369614
VS
8522013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * configure.ac: Move delimiter after the infos.
855
efa8640a
VS
8562013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
859
6f80a7b2
VS
8602013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
863 not filling whole 8x16 space.
864
a2371e19
VS
8652013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
868
64fce2d8
VS
8692013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * configure.ac: Indicate which liblzma is used if any.
872
eb272d84
PW
8732013-06-21 Paul Wise <pabs3@bonedaddy.net>
8742013-06-21 Craig Sanders <savannah@taz.net.au>
875
876 * util/grub-reboot.in: Document submenu usage.
877
a9e5abee
CW
8782013-06-25 Colin Watson <cjwatson@ubuntu.com>
879
880 * .bzrignore: Update with a number of new test-related files.
881
e639c204
CW
8822013-06-25 Colin Watson <cjwatson@ubuntu.com>
883
884 * util/grub-script-check.c: Fail on scripts containing no
885 commands, to guard against corrupted grub-mkconfig setups that
886 produce no useful output.
887 * tests/grub_script_no_commands.in: New test.
888 * Makefile.util.def (grub_script_no_commands): Add.
889 Reported by Hans Putter. Fixes Debian bug #713886.
890
a4c89b17
AB
8912013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
892
893 * grub-core/disk/diskfilter.c: Forgot to remove comment
894 from previous commit.
895
5b06b53c
AB
8962013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
897
898 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
899 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
900
702da5c9
AB
9012013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
902
903 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
904
aa62a5b7
AB
9052013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
906
907 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
908 rescan diskfilter devices until nothing new is found.
909
4aa237c8
VS
9102013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
911
912 Fix casts when compiling coreboot-specific code for 64-bit EFI.
913
93d8479b
VS
9142013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
915
916 Don't try to detect cbfs on *-emu.
917
837222cc
VS
9182013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * grub-core/term/gfxterm.c: USe right background color when scrolling.
921
99c971af
VS
9222013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
923
924 Add support for processed coreboot payload chainloading.
925
e6930a45
VS
9262013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
927
928 Enable coreboot information commands even when not loaded as
929 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
930
5027af38
VS
9312013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
932
933 Support for cbfs. Also factor out the part which is common
934 for all archives to a separate module. This splits tar from cpio
935 as they are very different but keeps cpio, cpio_be, odc and newc
936 together since they're very similar.
937
a5b55c4b
DM
9382013-06-15 David Michael <fedora.dm0@gmail.com>
939
940 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
941 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
942
0301a8b3
VS
9432013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * tests/grub_script_eval.in: Really add the eval test.
946
3d84cb17
VS
9472013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Move flavour-specific parts out of common cpio.c file and
950 rename remaining to cpio_common.c
951
593e430c
AB
9522013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
953
954 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
955 off new function grub_script_execute_new_scope. Change callers to use
956 either of them as appropriate.
957 * grub-core/commands/eval.c: New command eval.
958 * docs/grub.texi (Commands): Document it.
959
63c29849
AB
9602013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
961
962 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
963 to fetch values when listing.
964
cc284112
AB
9652013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
966
967 Fix make dist on non-pc.
968
9692013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
970
971 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
972 without a device name.
973
69544d1e
VS
9742013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Remove enable_executable_check as it's not needed anymore.
977 Reported by: dougray.
978
96dbe648
VS
9792013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
982 ambigouos RAID before discovering RAIDs on top of it.
983 Reported by: bodom.
984
ccfc0bdb
VS
9852013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Fix typo (failback vs fallback).
988
f2587088
AB
9892013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
990
991 * util/grub.d/30_os-prober.in: Add support for probing EFI
992 System Partition (as of os-prober 1.58).
993
cec5cf0c
VS
9942013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * configure.ac: Add yet another path to unifont. For parabola.
997
e40b4596
JT
9982013-05-30 Josh Triplett <josh@joshtriplett.org>
999
1000 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1001 handling to copy the killed characters to the kill buffer as
1002 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1003 stored as char. Eliminates UCS4 truncation and corruption
1004 observed when killing characters with Ctrl-u and yanking them
1005 back with Ctrl-y.
1006
fc4c4fdd
VS
10072013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 Detach optional parts of gfxterm and integrate in with coreboot init.
1010
6570b205
VS
10112013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 Move blit and fill dispatcher to appropriate files to decrease export
1014 and relocation overhead.
1015
b8323067
VS
10162013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1019 functions.
1020
3cc1878f
VS
10212013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/Makefile.am: Fix compilation problem with some
1024 automake versions.
1025
4b80e43c
VS
10262013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1029
57e0c20c
VS
10302013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1033 automake versions.
1034
4fd42c53
VS
10352013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1038 SSDT.
1039
1e908b34
RS
10402013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1041
1042 * grub-core/partmap/dfly.c: New partition map.
1043
1359e474
VS
10442013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1047 checking.
1048 Reported by: Francesco Lavra.
1049
17806392
AB
10502013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1051
1052 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1053 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1054 false conditions.
1055 * conf/Makefile.common: define dist_grubconf_DATA
1056
cdce14fa
VS
10572013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 Progressively skip menu elements on small terminals rather
1060 than crashing.
1061
c8d6cc3c
VS
10622013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1065 to avoid losing last column.
1066
a73b31ce
VS
10672013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * po/exclude.pot: Add missing string "%C".
1070
1202c764
VS
10712013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1074 after the test.
1075
50268344
VS
10762013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * util/grub-install.in: Gettextize "Not found" message.
1079
62b15edf
VS
10802013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 Fix distfiles list.
1083 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1084
10852013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1086
1087 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1088 present.
1089 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1090
709ad61b
VS
10912013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1094
d128901a
VS
10952013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1098 attribute since structure is not necessarily aligned.
1099
34b22f5c
AB
11002013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1101
1102 * docs/grub.texi (Device syntax): Clarify description of network
1103 drives.
1104
0f7e980b
VS
11052013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1108 for vasprintf presence.
1109
30b03dc2
VS
11102013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * util/grub-install.in: Handle efibootmgr presence check.
1113 Reported by: Leif Lindholm.
1114
0dc11c08
VS
11152013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1118 new strings to translate.
1119
f8024c3f
VS
11202013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1123 yet another string (pun intended) to translate.
1124
b4c1da62
VS
11252013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * po/POTFILES-shell.in: Autogenerate it.
1128
0ef7478b
VS
11292013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1132
8200fa15
VS
11332013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1136 misnomer.
1137
091945b2
AB
11382013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1139
1140 * docs/grub.texi (Network): Add description of net_default_interface,
1141 net_default_ip and net_default_mac. Rewrite variables description
1142 to emphasize that they are per-interface.
1143
0e7b2e32
VS
11442013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 New test: cmdline and cat.
1147
16f7c8f6
VS
11482013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/commands/cat.c: Show UTF-8 characters.
1151
3e912fda
VS
11522013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * conf/Makefile.common: Poison float and double on non-emu.
1155
ee0220bc
VS
11562013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * configure.ac: Don't disable extended registers on emu.
1159
89e0240c
VS
11602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * configure.ac: Don't use extended registers on x86_64.
1163 Reported by: Peter Jones.
1164
e56d9637
VS
11652013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/term/efi/console.c: Fix compile error.
1168
8098f655
VS
11692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 Compressed HFS+ support.
1172
16940e07
VS
11732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1176 pixel".
1177
c5dbc13d
VS
11782013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 Menu color test.
1181
011f8ae8
VS
11822013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/tests/setjmp_test.c: New test.
1185
2aa072d7
VS
11862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 New variables 'net_default_*' to determine MAC/IP of default interface.
1189
43fe02cb
VS
11902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * tests/gettext_strings_test.in: A test to check for strings not
1193 marked for translation.
1194
bed06142
VS
11952013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * autogen.sh: Exclude unused libgcrypt files from translation.
1198
fb2666b5
VS
11992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 Simplify few strings.
1202
d22840ec
VS
12032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Mark few forgotten strings for translation.
1206
e34092fd
VS
12072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1210 rather than printf.
1211
47cf82b4
VS
12122013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1215 rather than printf.
1216 * grub-core/video/readers/tga.c: Likewise.
1217
1eed0e6e
VS
12182013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * tests/priority_queue_unit_test.cc: New test.
1221
c5b7697b
VS
12222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1225 than printf.
1226
5945c2f8
AB
12272013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1228
1229 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1230 variable for one time boot menu entry.
1231
fa292343
B
12322013-05-05 Bean <bean123ch@gmail.com>
1233
1234 * grub-core/commands/testspeed.c: New command testspeed.
1235
310d4214
VS
12362013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 Factor-out human-size printing.
1239
85002bf3
VS
12402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 Agglomerate more mallocs to speed-up gfxterm.
1243
22b06e96
VS
12442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 Speed-up gfxterm by slightly agglomerating mallocs.
1247
b7c036bc
VS
12482013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 More video checks.
1251
92323d1f
VS
12522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 Speed-up gfxterm by saving intermediate results in index+alpha
1255 format.
1256
0fb356a3
VS
12572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1260 test.
1261
44dea3f9
VS
12622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1265 line of timeout as it may contain the rest of long line.
1266
14af86e4
VS
12672013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/normal/main.c: Fix freed memory dereference.
1270
03f7c8c3
VS
12712013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 Fix several memory leaks.
1274
c686014c
VS
12752013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1278
0788a695
VS
12792013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1282
daf01d61
VS
12832013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 Fix test -a and -o precedence.
1286 Reported by: adrian15.
1287
82ae74d7
VS
12882013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1291
8cec7bd4
AB
12922013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1293
1294 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1295 and add it as source to functional_test module.
1296
aa73d688
VS
12972013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1300
c104b6f9
VS
13012013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 New series of tests for gfxterm and gfxmenu.
1304
7391c4d5
VS
13052013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1308 the theme path relative to $prefix/themes.
1309
cff50118
VS
13102013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1313 Fix order bug.
1314 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1315
7c332bdc
VS
13162013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1319 descriptor.
1320
a4f9a5ff
VS
13212013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1324 grub_gfxmenu_timeout_notifications.
1325 (grub_gfxmenu_view_destroy): Likewise.
1326
b5a2114d
VS
13272013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1330
a8905e8a
VS
13312013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 Several fixes to ieee1275 and big-endian video.
1334
813c1622
VS
13352013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Add missing exports on mips.
1338
3f3e7326
VS
13392013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1342 if no unifont is found.
1343 Restore original keyboard.
1344
095accd1
VS
13452013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1348 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1349
50361660
VS
13502013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 First automated video test (running videotest and comparing results)
1353
cd0f6eec
VS
13542013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1357 instead of 2 to have full RGB/CMY test pattern.
1358
3f9634e5
VS
13592013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Add few more tests.
1362
583e5b64
VS
13632013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1366 ARCS. All users updated.
1367
aa7bcb99
VS
13682013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1371
95ef1a54
VS
13722013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1375
46546fc5
VS
13762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1379 Reported by: qwertial.
1380
3476e0ef
VT
13812013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1382
1383 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1384 with syntax "XXX deg"/"XXX °".
1385
96f33fed
VS
13862013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 Make PCI init in i386-qemu port more robust.
1389
13902013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1391
1392 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1393 cached view is reused.
1394 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1395 open boot menus.
1396
c53b4e67
VS
13972013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 Unify more code in grub-install_header.
1400
f7457fb2
VS
14012013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 Add few new tests.
1404
e2f27a8c
VS
14052013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 Enforce disabling of firmware disk drivers when native drivers kick in.
1408
ef9d8cd5
VS
14092013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/commands/nativedisk.c: Customize the list of modules on
1412 platform. Don't try to search for disks already using native drivers.
1413
f7bf6c31
VS
14142013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1417 platforms.
1418
bdc4add8
VS
14192013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1422 handling of variables containing backslash.
1423
e9e46c9a
VS
14242013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1427 dereference.
1428 Reported by: qwertial.
1429
0e90dee8
VS
14302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1433
e0aacf24
VS
14342013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1437 dereference.
1438 Reported by: qwertial.
1439
3c0003c3
VS
14402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1443
adb7d667
VS
14442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1447
7cd0df84
VS
14482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 New command `nativedisk'.
1451
02adbb93
VS
14522013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1455 * grub-core/loader/i386/bsd.c: Likewise.
1456
9fb0fd4f
VS
14572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1460
bd69257a
VS
14612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1464 grub_get_unaligned16 rather than shifts.
1465
178c2764
VS
14662013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/kern/file.c: Use const char * rather than casting to
1469 non-const.
1470
eadfad24
VS
14712013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/commands/probe.c: Add missing grub_device_close.
1474
9f73ebd4
VS
14752013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * INSTALL: Document linguas.sh.
1478
965fa829
VS
14792013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Remove POTFILES.in and regenerate it in autogen.sh.
1482
d417ddc4
VS
14832013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 Move --directory/--override-directorry to grub-install_header and unify.
1486
f97ec546
VS
14872013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/term/morse.c: Macroify dih and dah.
1490
b2d7470c
PFS
14912013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1492
1493 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1494
141e2a78
VS
14952013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/term/ns8250.c: Systematically probe ports by writing
1498 to SR before using them.
1499
1dd70ebd
PFS
15002013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1501
1502 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1503 disks.
1504 (check_sas): Get sas_adress info.
1505
c796a107
VS
15062013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1509 ports.
1510
43168646
LD
15112013-04-27 Leon Drugi <eyak>
1512
1513 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1514 BSS clearing.
1515
e7b8fd08
VS
15162013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 Core compression test.
1519
17f9fd29
VS
15202013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Implement grub_machine_get_bootlocation for ARC.
1523
dc2a6c8b
VS
15242013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 Improve AHCI detection and command issuing.
1527
f25a2ba6
VS
15282013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 Fix pseries test.
1531
a6393224
VS
15322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 Make 'make check' work on emu.
1535
db99fbe8
VS
15362013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Replace libcurses with our own vt100 handling for the ease of testing
1539 and decreasing prerequisites.
1540
b24ca7cd
VS
15412013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1544
63314aa4
VS
15452013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1548 compile when not needed.
1549
c1b00fff
VS
15502013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * tests/pseries_test.in: New test.
1553
f93e89ef
VS
15542013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Add test to check that different boot mediums work.
1557
c4b456d3
VS
15582013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1561 ofw limited ISO support.
1562
5fe67f39
VS
15632013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * configure.ac: Fix loongson conditional.
1566
7f63a64f
VS
15672013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 Enable mipsel-arc.
1570
b04b5990
VS
15712013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Add serial on ARC platform.
1574
88d2f302
VS
15752013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1578 commit.
1579
86eb23bc
VS
15802013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * tests/partmap_test.in: Add missing double semicolon.
1583
eec3bb75
VS
15842013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * util/grub-mkrescue.in: Fix loongson filename.
1587
e0810df3
VS
15882013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * util/grub-mkrescue.in: Move all files that don't have a location
1591 set in stone under /boot/grub. Use ISO hard links rather than copies
1592 to save some space.
1593
65a6b30b
VS
15942013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1597 bogus SLOF values.
1598
6aff0107
VS
15992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 Make check work on mips-arc.
1602
5e013e56
VS
16032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * util/grub-mkrescue.in: Alias sashARCS as sash.
1606
d1989e2e
VS
16072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1610 it's serial.
1611
1a25e72c
VS
16122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * util/grub-install.in: Fix target fo qemu_mips.
1615 Fix extension on EFI.
1616
a59a9826
VS
16172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1620 in front of chosen entry to mark it even if highlighting is lost.
1621
1a40f80c
VS
16222013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1625 gfxpayload=keep if cbfb is active.
1626
e343549c
VS
16272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1630
45fbd9a2
VS
16312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 Add missing video ids to coreboot and ieee1275 video.
1634
ab1440bd
VS
16352013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * util/grub-mkrescue.in: Add mips-arc support.
1638
cdeb8324
VS
16392013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1642
8528c879
VS
16432013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 Move mips-arc link address. Previous link address was chosen
1646 in belief that RAM on SGI platforms grows down while in fact it
1647 grows up from an unusual base.
1648
17fca573
VS
16492013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1652 Fix a type which prevented CD-ROM and floppy boot.
1653
d178788e
VS
16542013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 Support coreboot framebuffer.
1657
1658 * grub-core/video/i386/coreboot/cbfb.c: New file.
1659
fe4c3e7e
VS
16602013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1663 detecting too small regions.
1664
ec2dd179
VS
16652013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1666
1667 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1668
872dac83
VS
16692013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1672 Remove dprintf.
1673 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1674
90ec4b7f
VS
16752013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1678 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1679 * grub-core/loader/powerpc/ieee1275/linux.c
1680 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1681
f32555dd
VS
16822013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1685 Look for /boot-rom as well as /rom/boot-rom.
1686
38649799
VS
16872013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1690 handling when creating text_layer failed.
1691 * grub-core/video/video.c (grub_video_create_render_target):
1692 Set result to 0 on error.
1693 (grub_video_delete_render_target): Do not dereference NULL.
1694
aeace7f7
VS
16952013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1698 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1699 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1700 (grub_linux_load64): Mask out 2 high bits.
1701
4eafa175
AB
17022013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1703
1704 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1705 more place.
1706
daaa64bd
VS
17072013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 Add support for pseries and other bootinfo machines to grub-mkrescue.
1710
1711 Tested by: Paulo Flabiano Smorigo.
1712
d0d2daa6
VS
17132013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * util/grub-mkrescue.in: Add GPT for EFI boot.
1716
b193e100
VS
17172013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1720 It improves performance in qemu.
1721
a0f8f3ac
VS
17222013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * build-aux/snippet: Add missing gnulib files.
1725
284df0e2
AB
17262013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1727
1728 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1729
740201f3
AB
17302013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1731
1732 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1733
a7e03923
PJ
17342013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
17352013-04-15 Peter Jones <pjones@redhat.com>
1736
1737 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1738 sectors.
1739 Based on patch by Peter Jones.
1740
25fc51a8
VS
17412013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 Fix DMRAID partition handling.
1744
88017d47
VS
17452013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * tests/grub_cmd_date.in: Skip on sparc64.
1748
fa7d914e
VS
17492013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1752 firmware error messages.
1753
cbe57a48
VS
17542013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1757 source and destination differ.
1758
21aecce0
VS
17592013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1762 detection.
1763
25092d29
VS
17642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1767 match config-util.h to avoid warnings and increase compatibility.
1768
79451522 17692013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 17702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1771
1772 Add option to compress files on install/image creation.
1773
78b7d77b
VS
17742013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * docs/grub-dev.texi: Rearrange menu to match the section order.
1777 Reported by: Bryan Hundven.
1778
cc2fa5ec
VS
17792013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1782
b49fe879
VS
17832013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 Move GRUB out of system area when using xorriso 1.2.9 or later.
1786
5351da81
VS
17872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * tests/grub_cmd_date.in: Add missing exit 1.
1790
c9d586ea
VS
17912013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 * tests/partmap_test.in: Skip on sparc64.
1794
3f729741
VS
17952013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Support grub-shell on sparc64.
1798
8ca86b3a
VS
17992013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 Support mkrescue on sparc64.
1802
aa1af9bb
VS
18032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1806 Needed on OpenBIOS due to incomplete device tree.
1807
ac4fea79
VS
18082013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1811 would be otherwise excluded.
1812
18132013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1814
1815 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1816 Inline name defines used only once.
1817
fe22b071
VS
18182013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 Fix memory leaks in ofnet.
1821 Reported by: Francesco Lavra.
1822
9d21381b
VS
18232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * docs/man/grub-glue-efi.h2m: Add missing file.
1826
07aec23c
VS
18272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1830
67ab8353
VS
18312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Better support Apple Intel Macs on CD.
1834
ba44ca6d
VS
18352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Replace stpcpy with grub_stpcpy in tools.
1838
bbdd6305
VS
18392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 Handle Japanese special keys.
1842 Reported by: Hiroyuki YAMAMORI.
1843 Codes supplied by: Hiroyuki YAMAMORI.
1844
8573d302
VS
18452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * util/grub-mkimage.c: Document memdisk implying --prefix.
1848
d70dbab7
VS
18492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1852 much we can do about it anyway.
1853
51a4c3e3
AN
18542013-04-12 Aleš Nesrsta <starous@volny.cz>
1855
1856 Fix handling of split transfers.
1857
92c8f58d
VS
18582013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * grub-core/net/http.c: Fix bad free.
1861
b7d17a49
VS
18622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1865 than buffer size.
1866
a3d566d4
VS
18672013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1870
a936af56
VS
18712013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * tests/util/grub-shell.in: Fix it on powerpc.
1874
51212234
VS
18752013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Turn off QEMU ACPI-way since new releases don't have shutdown port
1878 anymore.
1879
a21eec9e
VS
18802013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 * docs/grub.texi: Update coreboot status info.
1883
e3734b84
VS
18842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * tests/grub_cmd_date.in: New test for datetime.
1887
f9d40055
VS
18882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * tests/partmap_test.in: Fix missing qemudisk setting.
1891
dbc56d8f
VS
18922013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 Support i386-ieee1275 grub-mkrescue and make check on it.
1895
a79b8a15
VS
18962013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1899 feature for it.
1900
48f39bb4
VS
19012013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1904 GRUB_CMDLINE_XEN_DEFAULT.
1905 Reported by: Marc Warne (GigaTux) <gigatux>
1906
053cfcdd
VS
19072013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 Import new gnulib.
1910
93cd84df
VS
19112013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 Use ACPI shutdown intests as traditional port was removed.
1914
f4b1fa4f
AB
19152013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1916
1917 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1918 distinction.
1919
49818a59
VS
19202013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1923 Fix few warining messages and leaks while on it.
1924
9277a306
AB
19252013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1926
1927 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1928 links under grub-core/lib/libgcrypt-grub/mpi.
1929
d5e2a158
VS
19302013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Fix ia64-efi image generation on big-endian machines. Deduplicate
1933 some code while on it.
1934 Reported by: Leif Lindholm.
1935
18866643
AB
19362013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1937
1938 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1939 as extra_dist.
1940
ca53deb8
AB
19412013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1942
1943 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1944
d4c4b8e1
BH
19452013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1946
1947 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1948 texinfo-5.1.
1949
47043f95
VS
19502013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/normal/term.c: Few more fixes for menu entry editor
1953 rendering.
1954 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1955
a3216068
VS
19562013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/normal/term.c: Few more fixes for menu entry editor
1959 rendering.
1960 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1961
21026747
AB
19622013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1963
1964 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1965 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1966
59624ca8
AB
19672013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1968
1969 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1970 instead of hardcoding grub.mo.
1971
1f44478c
FN
19722013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1973
1974 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1975
eeada7b1
VS
19762013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1979 grub-core/disk/geli.c.
1980
132867de
VS
19812013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * util/grub-mkfont.c: Prefer enum to #define.
1984
de73de17
VS
19852013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1988
1865baa7
VS
19892013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1992
ce7d92a9
VS
19932013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1996
52eab656
VS
19972013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2000
98b23b95
VS
20012013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * include/grub/bsdlabel.h: Use enums.
2004
0467a5dd
VS
20052013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 Move GRUB_CHAR_BIT to types.h.
2008
16cc9f03
AB
20092013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2010
2011 * docs/grub.texi: Document more user commands.
2012
3152aecb
AB
20132013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2014
2015 * docs/grub.texi: Document menuentry --id option.
2016
c506fc30
FL
20172013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2018
2019 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2020
aa428238
VS
20212013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 Unify file copying setup across different install scripts. Add
2024 options for performing partial install.
2025
efe0cdda
PJ
20262013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20272013-04-04 Peter Jones <pjones@redhat.com>
2028
2029 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2030
f75835bd
VS
20312013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 Use TSC as a possible time source on i386-ieee1275.
2034
2cd5ce6c
VS
20352013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2038 Init err.
2039
c9625630
VS
20402013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * util/grub-setup.c (setup): Handle some corner cases.
2043
be008941
VS
20442013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2047
1a78d573
VS
20482013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/commands/verify.c: Save verified file to avoid it being
2051 tampered with after verification was done.
2052
db8ff59f
VS
20532013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2056 reported width by one to compensate for curesor algorithm problem.
2057
91bf46b1
VS
20582013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Fix screen corruption in menu entry editor and simplify the code
2061 flow while on it.
2062
a7b1d693
AB
20632013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2064
2065 * util/grub-mount.c (fuse_init): Return error if fuse_main
2066 failed.
2067
31df9ad8
FL
20682013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2069
2070 * include/grub/elf.h: Add missing ARM relocation codes and fix
2071 existing ones.
2072
07f392eb
VT
20732013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2074
2075 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2076
9efd73ec 20772013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
20782013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2081 into account when calculating radius.
2082
20832013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2084
2085 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2086
4985ddaa
VT
20872013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2088
2089 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2090
8c3635ff
RS
20912013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2092
2093 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2094 missing closing bracket.
2095
74a35e69
RS
20962013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2097
2098 * INSTALL: Mention xorriso requirement.
2099
40f1c000
AB
21002013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2101
2102 * grub-core/commands/verify.c: Fix hash algorithms values for
2103 the first three hashes - they start with 1, not with 0.
2104
e75fdee4
VS
21052013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2108 Try terminating EFI services several times due to quirks in some
2109 implementations.
2110
33028f4c
CW
21112013-03-26 Colin Watson <cjwatson@ubuntu.com>
2112
2113 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2114 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2115 BankField extended opcodes.
2116 (get_sleep_type): Add minimal scope handling (just enough to
2117 handle setting the scope to the root path).
2118 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2119 * include/grub/acpi.h: Add enumeration values for Event, Device,
2120 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2121
33871a10
VT
21222013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2123
2124 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2125 memory leak.
2126
8990963a
VS
21272013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/disk/ahci.c: Give more time for AHCI request.
2130
daae8f9e
VS
21312013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2134 command.
2135
6a7fb94b
VS
21362013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 Replace the region at 0 from coreboot tables to available in BSD
2139 memory map.
2140
ff99babd
VS
21412013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
2144 non-BIOS platforms.
2145
30d6b1b2
VS
21462013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
2149 platforms.
2150
6ccd0b31
VS
21512013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2154 handling of multi-device filesystems.
2155
23c9cc04
VS
21562013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
2159 platforms.
2160
ce50dbd7
VS
21612013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Add new 'proc' filesystem framework and put luks_script into it.
2164
d975e8d5
VS
21652013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
2168 and qemu.
2169
e73ba5e8
VS
21702013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
2173
92750e4c
VS
21742013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 Add ability to generate newc additions on runtime.
2177
0ec45a68
VS
21782013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2181 description.
2182
320abd43
VS
21832013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * po/POTFILES.in: Regenerate.
2186
d7a6506e
VS
21872013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/commands/verify.c (hashes): Add several hashes
2190 from the spec.
2191
8fe05def
VS
21922013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 Slight improve in USB-related boot-time checkpoints.
2195
524e2766
VS
21962013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/commands/boottime.c: Fix copyright header.
2199
cc19857a
VS
22002013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2203 coreboot tables content. Support for cbmemc.
2204
ef8810e9
VS
22052013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 Fix a conflict between ports structures with 2 controllers of
2208 same kind.
2209
e9dabdfa
VS
22102013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * include/grub/boottime.h: Add missing file.
2213
f6df57d2
VS
22142013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 Initialize USB ports in parallel to speed-up boot.
2217
d745dda7
VS
22182013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 Fix USB devices not being detected when requested
2221 due to delayed attach.
2222
e5a2dd7b
VS
22232013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2224
e744219b
VS
2225 Implement boot time analysis framework.
2226
22272013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2230 descriptor to just receive it as argument rather than endpoint
2231 address.
2232
5dd6f587
VS
22332013-03-19 Aleš Nesrsta <starous@volny.cz>
2234
2235 Better estimate the maximum USB transfer size.
2236
2f1071d5
VS
22372013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 Resend a packet if we got the wrong buffer in status.
2240
46ecfc49
VS
22412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2244 multiplication rather than division.
2245
ea811130
VS
22462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2249 than divisions.
2250
d2789cf0
VS
22512013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2254 operations to have intended shifts and not divisions.
2255
a9c94590
VS
22562013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2259 intended shifts rather than division.
2260
84cfe81b
VS
22612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2264 computation for some years before epoch. Avode confusing division
2265 while on it.
2266
21344ef6
VS
22672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/video/i386/pc/vbe.c
2270 (grub_video_vbe_print_adapter_specific_info): Replace division by
2271 shifts.
2272
3f2b4d1a
VS
22732013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 Adjust types in gdb module to have intended unsigned shifts rather than
2276 signed divisions.
2277
3dac5878
VS
22782013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2281 maximum size is 4G - 1 on hfs
2282
5341c0fb
VS
22832013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2286
fc3ff2a2
VS
22872013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2290 function.
2291
81455e8e
AB
22922013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2293
2294 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2295 causing gcc error with gcc 4.7.1.
2296
efd4f117
NZ
22972013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2298
2299 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2300 dereference null pointer. While the code is technically correct, gcc
2301 may eliminate a null check if pointer is already dereferenced.
2302
e11645f4
NZ
23032013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2304
2305 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2306 OOM check.
2307 * grub-core/normal/term.c (read_terminal_list): Likewise.
2308
77468368
VS
23092013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Lift up core size limits on some platforms. Fix potential memory
2312 corruption with big core on small memory systems. Document remaining
2313 limits.
2314
f6b58fe5
VS
23152013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2318 gotoxy to 0,0.
2319
19ce697d
VS
23202013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Remove all trampoline support. Add -Wtrampolines when
2323 present. Remove symbols used for trampolines to make
2324 link fail if trampolines are present.
2325
73b5d90f
VS
23262013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2329 append out of its parent.
2330
cb758e96
VS
23312013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2334 parent.
2335
3188131f
VS
23362013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2339 all vars to a macro. All users updated.
2340
e42b2514
VS
23412013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2344 i386-ieee1275.
2345
83e1a1a1
VS
23462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2349
1d5a880f
VS
23502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2353
6e4146c4
VS
23542013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 Move to more hookless approach in IEEE1275 devices handling.
2357
99fcda8a
VS
23582013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/kern/term.c (grub_term_normal_color),
2361 (grub_term_highlight_color): Add back lost defaults.
2362
73bf57e2
VS
23632013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 Make elfload not use hooks. Opt for flags and iterators instead.
2366
7f8c105f
VS
23672013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2370 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2371
396d4091
VS
23722013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2375
23762013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2379 hook pass-through parameter. All users updated and unnested.
2380
74a27421
VS
23812013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2384 out of its parent.
2385
b46d4213
VS
23862013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * grub-core/fs/hfs.c: Remove nested functions.
2389
e114c3cc
VS
23902013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2393 the context through.
2394 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2395
f9b7d780
VS
23962013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/grub-editenv.c (list_variables): Move print_var out of its
2399 parent.
2400
ca9c2608
VS
24012013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2404 function.
2405
5d983f5f
VS
24062013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/gentrigtables.c: Make tables const.
2409
3056d3e7
VS
24102013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Remove nested functions from videoinfo iterators.
2413
e2303774
VS
24142013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2417 for 64-bit platforms.
2418
f42e3a2f
VS
24192013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2422 a FOR_CHILDREN macro.
2423
be174e5e
VS
24242013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2427 platform from firmware path.
2428
0789b672
VS
24292013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 Enable linux16 on non-BIOS systems for i.a. memtest.
2432
2433 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2434 correctly.
2435 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2436
005a9c32
VS
24372013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2440 Fix end of table condition.
2441
ff2b3cd9
VS
24422013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2445 out of its parent.
2446
4fc40ff8
VS
24472013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/fs/jfs.c: Remove nested functions.
2450
be42d97a
VS
24512013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/fs/minix.c: Remove nested functions.
2454
99373ce4
VS
24552013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/fs/iso9660.c: Remove nested functions.
2458
5aec2afe
VS
24592013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2462 of parent function.
2463
6c69e691
VS
24642013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * util/grub-fstest.c: Remove nested functions.
2467
43c91882
VS
24682013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/loader/machoXX.c: Remove nested functions.
2471
4eb8b756
CW
24722013-02-27 Colin Watson <cjwatson@ubuntu.com>
2473
2474 Remove nested functions from disk and file read hooks.
2475
2476 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2477 (struct grub_disk): Add read_hook_data member.
2478 * include/grub/file.h (struct grub_file): Likewise.
2479 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2480 argument.
2481
2482 Update all callers.
2483
df6da5a5
AB
24842012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2485
2486 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2487 Fix off by one error in enumerating extended partitions.
2488
21aecde5
AB
24892013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2490
2491 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2492 memory leak if device name is not found.
2493
f1a19118
AB
24942013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2495
2496 * grub-core/normal/menu_entry.c (update_screen): remove
2497 unused variable `off' which caused scroll down arrow to be always shown.
2498
958bfd20
AB
24992013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2500
2501 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2502 access to unallocated memory.
2503
b7b78edb
AB
25042013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2505
2506 * Makefile.util.def: Add partmap/msdos.c to common library.
2507 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2508 * grub-core/disk/ldm.c: Check for existence of
2509 GRUB_PC_PARTITION_TYPE_LDM.
2510
28d468d6
VS
25112013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2514 sizes and display sector size.
2515
d55ffb02
VS
25162013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Implement new command cmosdump.
2519
b5ea6ce0
VS
25202013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2521
2522 Support Openfirmware disks with non-512B sectors.
2523
2524 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2525 size of the disk.
2526 * (grub_ofdisk_get_block_size): New function.
2527 * (grub_ofdisk_prepare): Use the correct block size.
2528 * (grub_ofdisk_read): Likewise.
2529 * (grub_ofdisk_write): Likewise.
2530 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2531 New proto.
2532
cc0e476f
VS
25332013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2536
c5dbdc33
VS
25372013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2540 on first error.
2541
3f078c0f
VS
25422013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2545 freeing it.
2546
66a93674
VS
25472013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Implement USBDebug (full USB stack variant).
2550
c9f0c134
VS
25512013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2554 unless they have unexpected values.
2555
cfe1288b
VS
25562013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2559 grub_print_error.
2560
e42b9969
VS
25612013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2564 zero-out of port structure.
2565
cf94fd62
VS
25662013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2569 of extended attributes.
2570
f81ef4b5
AB
25712013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2572
2573 * util/grub-install.in: change misleading comment about
2574 device.map creation
2575
af18fdb4
VS
25762013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2579 when menu highlight color isn't set.
2580
08bcec50
M
25812013-01-27 C. Masloch <pushbx@38.de>
2582
2583 Improve FreeDOS direct loading support compatibility.
2584
2585 * include/grub/i386/relocator.h (grub_relocator16_state):
2586 New member ebp.
2587 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2588 variable.
2589 (grub_relocator16_boot): Handle %ebp.
2590 * grub-core/lib/i386/relocator16.S: Likewise.
2591 * grub-core/loader/i386/pc/freedos.c:
2592 Load BPB to pass kernel which partition to load from.
2593 Check that kernel file is not too large.
2594 Set register dl to BIOS unit number as well.
2595
7782b8a6
CW
25962013-01-22 Colin Watson <cjwatson@ubuntu.com>
2597
2598 * util/grub-reboot.in (usage): Document the need for
2599 GRUB_DEFAULT=saved.
2600 * util/grub-set-default.in (usage): Likewise.
2601 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2602
e661c180
VS
26032013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2606 than defining WORDS_BIGENDIAN manually.
2607
1c22ca9a
VS
26082013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2611 invariants.
2612
d44892fe
CW
26132013-01-21 Colin Watson <cjwatson@ubuntu.com>
2614
2615 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2616 nested.
2617 (blit_comb: add_device_width): Likewise.
2618
5fdbaed1
CW
26192013-01-21 Colin Watson <cjwatson@ubuntu.com>
2620
2621 Remove nested functions from USB iterators.
2622
2623 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2624 (grub_usb_controller_iterate_hook_t): Likewise.
2625 (grub_usb_iterate): Add hook_data argument.
2626 (grub_usb_controller_iterate): Likewise.
2627 (struct grub_usb_controller_dev.iterate): Likewise.
2628
2629 Update all implementations and callers.
2630
4250985a
VS
26312013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2634 margin when not needed.
2635
7d8848f3
VS
26362013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2637
bc136973 2638 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2639
26402013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2641
bc136973
VS
2642 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2643 asterisk.
7d8848f3 2644
ed12a003
CW
26452013-01-21 Colin Watson <cjwatson@ubuntu.com>
2646
2647 Fix powerpc and sparc64 build failures caused by un-nesting memory
2648 map iterators.
2649
6a0db449
CW
26502013-01-21 Colin Watson <cjwatson@ubuntu.com>
2651
2652 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2653 parameter declarations.
2654
ccd86b21
VS
26552013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2658
822b726b
VS
26592013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 Improve spkmomdem reliability by adding a separator between bytes.
2662
115c2cc1
CW
26632013-01-21 Colin Watson <cjwatson@ubuntu.com>
2664
2665 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2666 an Acer registration utility with several sightings in the wild.
2667 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2668
fc524edf
CW
26692013-01-21 Colin Watson <cjwatson@ubuntu.com>
2670
2671 Remove nested functions from filesystem directory iterators.
2672
2673 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2674 (struct grub_fs.dir): Add hook_data argument.
2675
2676 Update all implementations and callers.
2677
53d3e4e3
CW
26782013-01-21 Colin Watson <cjwatson@ubuntu.com>
2679
2680 * docs/grub.texi (Multi-boot manual config): Fix typo for
2681 "recommended".
2682
c821711f
LL
26832013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2684
2685 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2686 until after its use in generate_image.
2687
6a0debbd
CW
26882013-01-20 Colin Watson <cjwatson@ubuntu.com>
2689
2690 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2691 initrd size to addr_min, since the initrd will be allocated after
2692 this address.
2693
f41e08db
AB
26942013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2695
2696 * conf/Makefile.common: Fix autogen rules to pass definition
2697 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2698
77529e0f
LL
26992013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2700
2701 * include/grub/elf.h: Update ARM definitions based on binutils.
2702
b879aa7b
VS
27032013-01-20 Aleš Nesrsta <starous@volny.cz>
2704
2705 Split long USB transfers into short ones.
2706
8eb8284d
AB
27072013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2708
2709 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2710 is interrupted by ESC.
2711
08dad2dc
VS
27122013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * util/grub-script-check.c (main): Uniform the error message.
2715
6c724b85
CW
27162013-01-20 Colin Watson <cjwatson@ubuntu.com>
2717
2718 Remove nested functions from ELF iterators.
2719
25239370
CW
27202013-01-20 Colin Watson <cjwatson@ubuntu.com>
2721
2722 Remove nested functions from device iterators.
2723
2724 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2725 (grub_arc_iterate_devs): Add hook_data argument.
2726 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2727 (struct grub_ata_dev.iterate): Add hook_data argument.
2728 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2729 (grub_device_iterate): Add hook_data argument.
2730 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2731 (struct grub_disk_dev.iterate): Add hook_data argument.
2732 (grub_disk_dev_iterate): Likewise.
2733 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2734 Likewise.
2735 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2736 Likewise.
2737 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2738 type.
2739 (struct grub_partition_map.iterate): Add hook_data argument.
2740 (grub_partition_iterate): Likewise.
2741 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2742 (struct grub_scsi_dev.iterate): Add hook_data argument.
2743
2744 Update all callers.
2745
6c0314d6
CW
27462013-01-20 Colin Watson <cjwatson@ubuntu.com>
2747
2748 Fix typos for "developer" and "development".
2749
600dc5f1
VS
27502013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 Add license header to spkmodem-recv.c.
2753
17334a6b
VS
27542013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 Rewrite spkmodem to use PIT for timing. Double the speed.
2757
7d462559
VS
27582013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 Add new command pcidump.
2761
b78d6c32
VS
27622013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 New terminal outputs using serial: morse and spkmodem.
2765
34f71cb8
VS
27662013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 Improve bidi handling in entry editor.
2769
4542e71b
VS
27702013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2773 argument to prevent name collision.
2774
09fd6d82
CW
27752013-01-15 Colin Watson <cjwatson@ubuntu.com>
2776
2777 Remove nested functions from script reading and parsing.
2778
2779 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2780 getline_data argument, passed to getline.
2781 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2782 getline_data argument, passed to grub_parser_split_cmdline.
2783 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2784 lexerstate->getline_data to lexerstate->getline.
2785 (grub_script_lexer_init): Add getline_data argument, saved in
2786 lexerstate->getline_data.
2787 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2788 argument, passed to grub_script_parse.
2789 * grub-core/script/script.c (grub_script_parse): Add getline_data
2790 argument, passed to grub_script_lexer_init.
2791 * include/grub/parser.h (grub_parser_split_cmdline): Update
2792 prototype. Update all callers to pass appropriate getline data.
2793 (struct grub_parser.parse_line): Likewise.
2794 (grub_rescue_parse_line): Likewise.
2795 * include/grub/reader.h (grub_reader_getline_t): Add void *
2796 argument.
2797 * include/grub/script_sh.h (struct grub_lexer_param): Add
2798 getline_data member.
2799 (grub_script_parse): Update prototype. Update all callers to pass
2800 appropriate getline data.
2801 (grub_script_lexer_init): Likewise.
2802 (grub_normal_parse_line): Likewise.
2803
2804 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2805 data argument.
2806 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2807 static instead of nested. Rename to ...
2808 (grub_parser_execute_getline): ... this.
2809 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2810 data argument.
2811 * grub-core/normal/main.c (read_config_file: getline): Make static
2812 instead of nested. Rename to ...
2813 (read_config_file_getline): ... this.
2814 (grub_normal_read_line): Add unused data argument.
2815 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2816 getline): Make static instead of nested. Rename to ...
2817 (grub_script_execute_sourcecode_getline): ... this.
2818 * util/grub-script-check.c (main: get_config_line): Make static
2819 instead of nested.
2820
d0d4b8a0
CW
28212013-01-15 Colin Watson <cjwatson@ubuntu.com>
2822
2823 Remove nested functions from memory map iterators.
2824
2825 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2826 argument, passed to hook.
2827 * grub-core/kern/i386/coreboot/mmap.c
2828 (grub_linuxbios_table_iterate): Likewise.
2829 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2830 instead of nested.
2831 (grub_machine_mmap_iterate): Add hook_data argument.
2832 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2833 Add hook_data argument, passed to hook.
2834 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2835 Likewise.
2836 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2837 Likewise.
2838 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2839 Likewise.
2840 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2841 Likewise.
2842 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2843 Likewise.
2844 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2845 Likewise.
2846 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2847 (grub_machine_mmap_iterate): Likewise.
2848 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2849 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2850 prototype.
2851 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2852 Remove NESTED_FUNC_ATTR from here and from all users.
2853 (grub_mmap_iterate): Update prototype.
2854 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2855 pass appropriate hook data.
2856 (grub_machine_mmap_iterate): Likewise.
2857
2858 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2859 static instead of nested.
2860 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2861 Rename to ...
2862 (lsmmap_hook): ... this.
2863 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2864 Likewise.
2865 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2866 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2867 heap_init): Likewise.
2868 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2869 Rename to ...
2870 (mmap_iterate_hook): ... this.
2871 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2872 Likewise.
2873 * grub-core/lib/ieee1275/relocator.c
2874 (grub_relocator_firmware_get_max_events: count): Likewise.
2875 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2876 to ...
2877 (grub_relocator_firmware_fill_events_iter): ... this.
2878 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2879 hook): Likewise. Rename to ...
2880 (grub_relocator_alloc_chunk_align_iter): ... this.
2881 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2882 Rename to ...
2883 (generate_e820_mmap_iter): ... this.
2884 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2885 Rename to ...
2886 (count_hook): ... this.
2887 (grub_linux_boot: hook): Likewise. Rename to ...
2888 (grub_linux_boot_mmap_find): ... this.
2889 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2890 (grub_linux_boot_mmap_fill): ... this.
2891 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2892 hook): Likewise. Rename to ...
2893 (grub_fill_multiboot_mmap_iter): ... this.
2894 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2895 hook): Likewise. Rename to ...
2896 (count_hook): ... this.
2897 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2898 hook): Likewise. Rename to ...
2899 (grub_fill_multiboot_mmap_iter): ... this.
2900 * grub-core/loader/powerpc/ieee1275/linux.c
2901 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2902 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2903 Likewise. Rename to ...
2904 (alloc_phys_choose): ... this.
2905 (determine_phys_base: get_physbase): Likewise.
2906 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2907 find_hook): Likewise.
2908 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2909 (malloc_hook: count_hook): Likewise.
2910 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2911 Likewise. Rename to ...
2912 (lower_hook): ... this.
2913 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2914 (upper_hook): ... this.
2915 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2916 (post64_hook): ... this.
2917 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2918 Likewise. Rename to ...
2919 (lower_hook): ... this.
2920 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2921 (upper_hook): ... this.
2922 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2923 (grub_mmap_iterate: fill_hook): Likewise.
2924 (fill_mask): Pass addr and mask within a single struct.
2925 (grub_cmd_badram: hook): Make static instead of nested. Rename
2926 to ...
2927 (badram_iter): ... this.
2928 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2929 (cutmem_iter): ... this.
2930
22099030
VS
29312013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2934 delimit path in strings using quotes.
2935 * util/getroot.c (grub_guess_root_devices): Likewise.
2936 (grub_make_system_path_relative_to_its_root): Likewise.
2937 * util/grub-probe.c (probe): Likewise.
2938 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2939 (xrealpath): Likewise.
2940
4a9950ec
VS
29412013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2942
2943 Fix compilation with older compilers.
2944
2945 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2946 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2947 declarations.
2948 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2949 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2950 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2951 identifier with b.
2952 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2953 * include/grub/crypto.h: Add type defines.
2954 * util/import_gcrypth.sed: Remove duplicate type defines.
2955
adcc6020
VS
29562013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 New command list_trusted.
2959
2960 * grub-core/commands/verify.c (grub_cmd_list): New function.
2961
a4528937
CW
29622013-01-13 Colin Watson <cjwatson@ubuntu.com>
2963
2964 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2965 info message.
2966
ca3a7446
CW
29672013-01-13 Colin Watson <cjwatson@ubuntu.com>
2968
2969 Remove nested functions from PCI iterators.
2970
2971 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2972 passed to hook. Update all callers to pass appropriate hook data.
2973 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2974 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2975 Remove NESTED_FUNC_ATTR from here and from all users.
2976 (grub_pci_iterate): Update prototype.
2977 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2978 instead of nested. Rename to ...
2979 (grub_cs5536_find_iter): ... this.
2980 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2981 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2982 Likewise.
2983 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2984 Likewise.
2985 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2986 Likewise.
2987 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2988 Likewise.
2989 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2990 * grub-core/video/radeon_fuloong2e.c
2991 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2992 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2993 find_card): Likewise.
2994 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2995 Likewise.
2996
f8e98fee
VS
29972013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/commands/verify.c: Mark messages for translating.
3000
055b36b6
VS
30012013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3004 fatal.
3005
f7ff879b
VS
30062013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3009 fatal.
3010
30112013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3012
3013 * autogen.sh: Do not try to delete nonexistant files.
3014 * util/import_gcrypth.sed: Add some missing header removals.
3015
01323d49
CW
30162013-01-12 Colin Watson <cjwatson@ubuntu.com>
3017
3018 Clean up dangling references to grub-setup.
3019 Fixes Ubuntu bug #1082045.
3020
3021 * docs/grub.texi (Images): Refer generally to grub-install rather
3022 than directly to grub-setup.
3023 (Installing GRUB using grub-install): Remove direct reference to
3024 grub-setup.
3025 (Device map) Likewise.
3026 (Invoking grub-install): Likewise.
3027 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3028 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3029 * util/grub-install.in (usage): Likewise.
3030
3031 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3032 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3033 grub-setup.
3034 * configure.ac: Remove grub_setup output variable.
3035
3036 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3037 to grub-bios-setup.
3038 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3039 grub-setup to grub-sparc64-setup.
3040
5e3b8dcb
VS
30412013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 Import gcrypt public-key cryptography and implement signature checking.
3044
535714bd
VS
30452013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * grub-core/fs/ntfs.c: Ue more appropriate types.
3048 * grub-core/fs/ntfscomp.c: Likewise.
3049 * include/grub/ntfs.h: Likewise.
3050
3e4f3566
VS
30512013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 Support Apple FAT binaries on non-Apple platforms.
3054
3055 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3056 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3057 Likewise.
3058 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3059 Apple FAT binaries.
3060
4dedb13f
VS
30612013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3064 sector devices.
3065
f8861eaf
CW
30662013-01-07 Colin Watson <cjwatson@ubuntu.com>
3067
3068 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3069 explicitly zeroing elements.
3070 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3071 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3072 of elements in a structure already allocated using grub_zalloc.
3073 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3074
86065b0a
CW
30752013-01-07 Colin Watson <cjwatson@ubuntu.com>
3076
3077 * docs/grub.texi (grub_cpu): New subsection.
3078 (grub_platform): Likewise.
3079
c6f1e92f
VS
30802013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3083
f797ec85
VS
30842013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3087 divisions.
3088
033d0b4b
VS
30892013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3092 * grub-core/fs/ntfscomp.c: Likewise.
3093 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3094 (grub_ntfs_comp): Likewise.
3095
21d1b9a0
VS
30962013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3099 Rename to ...
3100 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3101 of groups_per_block. All users updated.
3102
10ca8645
VS
31032013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3106 grub_error properly.
3107 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3108 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3109
a4c3ed4c
VS
31102013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3113 always in /boot/zfs.
3114 Reported by: Yuta Satoh.
3115
0b716507
YS
31162013-01-03 Yuta Satoh <nigoro>
3117
3118 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3119 ${grub_probe}
3120
00c05e22
VS
31212013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * configure.ac: Extend -Wno-trampolines to host.
3124
dadddb76
VS
31252013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3128 entry->len = 0.
3129
54ce53ca
CW
31302013-01-03 Colin Watson <cjwatson@ubuntu.com>
3131
3132 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3133 (Invoking grub-script-check): Likewise.
3134
8912efca
CW
31352013-01-03 Colin Watson <cjwatson@ubuntu.com>
3136
3137 * docs/grub.texi (Invoking grub-mount): New section.
3138 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3139
c3fc8394
CW
31402013-01-02 Colin Watson <cjwatson@ubuntu.com>
3141
3142 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
3143 test failures, so that a failing unit test correctly causes 'make
3144 check' to fail.
3145
45d26abb
CW
31462013-01-02 Colin Watson <cjwatson@ubuntu.com>
3147
3148 Fix failing printf test.
3149
3150 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
3151 '$' in the correct order when collecting type information.
3152
971dd2c6
CW
31532013-01-02 Colin Watson <cjwatson@ubuntu.com>
3154
3155 * docs/grub.texi (configfile): Explain environment variable
3156 handling.
3157 (source): New section.
3158 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
3159
5c67ea6c
CW
31602012-12-31 Colin Watson <cjwatson@ubuntu.com>
3161
3162 Remove several trivially-unnecessary uses of nested functions.
3163
3164 * grub-core/commands/i386/pc/sendkey.c
3165 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
3166 instead of nested.
3167 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
3168 Rename to ...
3169 (legacy_file_getline): ... this.
3170 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
3171 Likewise.
3172 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
3173 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
3174 to ...
3175 (probe_dummy_iter): ... this.
3176 * grub-core/kern/i386/coreboot/mmap.c
3177 (grub_linuxbios_table_iterate: check_signature): Likewise.
3178 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3179 check_varstate): Likewise. Mark inline.
3180 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3181 an additional parameter.
3182 (find_long: fnd_long): Likewise. Pass two additional parameters.
3183 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3184 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3185 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3186 Likewise. Rename to ...
3187 (grub_cmos_find_port_iter): ... this.
3188 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3189 Rename to ...
3190 (find_rtc_iter): ... this.
3191
3192 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3193 function directly into the function body, since it is only called
3194 once.
3195
33a68ac6
CW
31962012-12-30 Colin Watson <cjwatson@ubuntu.com>
3197
3198 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3199 __attribute__ ((unused)).
3200 * grub-core/video/bochs.c (find_card): Likewise.
3201 * grub-core/video/cirrus.c (find_card): Likewise.
3202 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3203 * grub-core/video/sis315pro.c (find_card): Likewise.
3204 * grub-core/video/sm712.c (find_card): Likewise.
3205
608b647a
CW
32062012-12-28 Colin Watson <cjwatson@ubuntu.com>
3207
3208 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3209 Fixes Savannah bug #37821.
3210
fd49ceb3
CW
32112012-12-28 Colin Watson <cjwatson@ubuntu.com>
3212
3213 Apply program name transformations at build-time rather than at
3214 run-time. Fixes Debian bug #696465.
3215
3216 * acinclude.m4 (grub_TRANSFORM): New macro.
3217 * configure.ac: Create output variables with transformed names for
3218 most programs.
3219 * util/bash-completion.d/grub-completion.bash.in: Use
3220 pre-transformed variables for program names.
3221 * util/grub-install.in: Likewise.
3222 * util/grub-kbdcomp.in: Likewise.
3223 * util/grub-mkconfig.in: Likewise.
3224 * util/grub-mkconfig_lib.in: Likewise.
3225 * util/grub-mknetdir.in: Likewise.
3226 * util/grub-mkrescue.in: Likewise.
3227 * util/grub-mkstandalone.in: Likewise.
3228 * util/grub-reboot.in: Likewise.
3229 * util/grub-set-default.in: Likewise.
3230 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3231 * tests/util/grub-shell-tester.in: Remove unused assignment.
3232 * tests/util/grub-shell.in: Likewise.
3233 * util/grub.d/00_header.in: Likewise.
3234
7024b3c0
CW
32352012-12-28 Colin Watson <cjwatson@ubuntu.com>
3236
3237 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3238
3239 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3240 HAVE_RAW_DECL_GETS.
3241 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3242
e3501b13
VS
32432012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3246 Reported by: Eriks Latosheks <foresterlv>.
3247
b40c88a9
VS
32482012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * docs/grub.texi (Network): Update instructions on generating netboot
3251 image.
3252
ce96d01c
VS
32532012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3256 around device name if necessarry.
3257
0f596201
PFS
32582012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3259
3260 * util/grub-install.in: Follow the symbolic link parameter added
3261 to the file command.
3262
600d5bdb
AB
32632012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3264
3265 * util/grub-install.in: Remove stale TODO.
3266
64ebd2f4
PFS
32672012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3268
3269 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3270 dynamic allocation for the bootpath buffer.
3271
74b2fe3e
DTB
32722012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3273
3274 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3275 window too small.
3276
969b804f
VS
32772012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3280 argument rather than font name. All users updated.
3281 (grub_gfxterm_set_window): Likewise.
3282
b9f5ebd6
VT
32832012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3284
3285 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3286 from working.
3287
258f43b7
VS
32882012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * util/getroot.c (convert_system_partition_to_system_disk): Support
3291 nbd disks.
3292
cc1ce5f9
VS
32932012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3296 infinite loop on corrupted FS.
3297
e77a16ca
VS
32982012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 Fix big-endian mtime.
3301
3302 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3303 together sec and usec.
3304 (grub_ufs_dir): Use correct byteswapping for UFS time.
3305
d9c48c7b
VS
33062012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 Support big-endian UFS1.
3309
3310 * Makefile.util.def (libgrubmods): Add ufs_be.c
3311 * grub-core/Makefile.core.def (ufs1_be): New module.
3312 * grub-core/fs/ufs_be.c: New file.
3313 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3314 the file.
3315
2f9f40ba
LL
33162012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3317
3318 * include/grub/types.h: Fix functionality unaffecting typo in
3319 GRUB_TARGET_WORDSIZE conditional macro.
3320
48ff0889
PFS
33212012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3322
3323 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3324
03711240
GS
33252012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3326
3327 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3328 that /netbsd appears first (when it exists).
3329
a31b11bd
CJ
33302012-10-12 Christoph Junghans <ottxor@gentoo.org>
3331
3332 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3333 Fixes Savannah bug #37558.
3334
e8a5d5d4
CW
33352012-10-12 Colin Watson <cjwatson@ubuntu.com>
3336
3337 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3338 description of extract_entries_configfile.
3339
33402012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3341
3342 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3343 preferred_address.
3344 (grub_cmd_linux): Likewise.
3345 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3346 preferred_lifetime. Update all users.
3347
288c757d
CW
33482012-09-26 Colin Watson <cjwatson@ubuntu.com>
3349
3350 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3351 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3352
0d35da3f
CW
33532012-09-26 Colin Watson <cjwatson@ubuntu.com>
3354
3355 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3356 errors from grub-probe to /dev/null, not stdout.
3357
b78c3127
VS
33582012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3361 sector 1.
3362
473959f0
CW
33632012-09-24 Colin Watson <cjwatson@ubuntu.com>
3364
3365 * util/grub-install.in: Make the error message if $source_dir
3366 doesn't exist more useful.
3367
794c8c33
CW
33682012-09-22 Colin Watson <cjwatson@ubuntu.com>
3369
3370 Fix grub-emu build on FreeBSD.
3371
3372 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3373 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3374 headers on Linux.
3375 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3376 implementation is currently Linux-specific.
3377 * util/getroot.c (exec_pipe): Define only on Linux or when either
3378 libzfs or libnvpair is unavailable.
3379 (find_root_devices_from_poolname): Remove unused path variable.
3380
86d08fdb
CW
33812012-09-19 Colin Watson <cjwatson@ubuntu.com>
3382
3383 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3384 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3385 should fit before end == 63.
3386
735abf54
CW
33872012-09-19 Colin Watson <cjwatson@ubuntu.com>
3388
3389 * util/grub-setup.c (write_rootdev): Remove unused core_img
3390 parameter. Update all callers.
3391 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3392 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3393 GRUB_SETUP_BIOS.
3394
140acd3c
VS
33952012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3398 (grub_add_tab): New function.
3399 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3400 * util/grub.d/10_illumos.in: Likewise.
3401 * util/grub.d/10_kfreebsd.in: Likewise.
3402 * util/grub.d/10_linux.in: Likewise.
3403 * util/grub.d/10_netbsd.in: Likewise.
3404 * util/grub.d/10_windows.in: Likewise.
3405 * util/grub.d/10_xnu.in: Likewise.
3406 * util/grub.d/20_linux_xen.in: Likewise.
3407 * util/grub.d/30_os-prober.in: Likewise.
3408
7ddffdad
VS
34092012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3412 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3413 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3414 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3415 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3416 ieee1275-nocursor.
3417 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3418 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3419
4e092454
VS
34202012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3423 le-conversion.
3424 Reported by: BURETTE, Bernard.
3425
735abf54 34262012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3427
3428 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3429 from comment.
3430
dfd39dbd
CW
34312012-09-14 Colin Watson <cjwatson@ubuntu.com>
3432
3433 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3434 IEEE1275 machines. Fixes powerpc-emu compilation.
3435 * include/grub/terminfo.h: Likewise.
3436
3bfa763c
VS
34372012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3440 a const pointer.
3441 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3442 const pointer.
3443 (efiemu_set_variable): Make vendor_guid a const pointer.
3444
250e475b
VS
34452012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 Don't require grub-mkconfig_lib to generate manpages for programs.
3448
3449 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3450 dependencies, don't add grub-mkconfig_lib.
3451 (program): Pass empty adddeps.
3452 (script): Pass grub-mkconfig_lib as adddeps.
3453
592fd0e4
VS
34542012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3457 * util/getroot.c (grub_find_device): Likewise.
3458 (get_mdadm_uuid): Likewise.
3459 (grub_util_is_imsm): Likewise.
3460 (grub_util_pull_device): Likewise.
3461 * util/grub-probe.c (probe): Likewise.
3462
801a3027
BG
34632012-09-10 Benoit Gschwind <gschwind>
3464
3465 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3466 (devs): Add devpath_8.
3467
c5052c81
PJ
34682012-09-08 Peter Jones <pjones@redhat.com>
3469
3470 * grub-core/Makefile.core.def (efifwsetup): New module.
3471 * grub-core/commands/efi/efifwsetup.c: New file.
3472 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3473 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3474 New define.
3475 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3476
8e832f71
JS
34772012-09-05 Jiri Slaby <jslaby@suse.cz>
3478
3479 * configure.ac: Add SuSe path.
3480
f0f55752
CW
34812012-09-05 Colin Watson <cjwatson@ubuntu.com>
3482
3483 * NEWS: Fix typo.
3484
ecadc4c2
CW
34852012-09-05 Colin Watson <cjwatson@ubuntu.com>
3486
3487 * util/import_gcry.py: Sort cipher_files, to make build system
3488 generation more deterministic.
3489
64498f25
VS
34902012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3493 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3494 (grub_set_datetime): Likewise.
3495
9cc836a2
VS
34962012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3499 warnings.
3500
bcfcea01
VS
35012012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3504
a4099485
VS
35052012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3508
265c162a
CW
35092012-09-04 Colin Watson <cjwatson@ubuntu.com>
3510
3511 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3512 required for checkouts from bzr, but it may be useful for users or
3513 distributors wishing to update translations against a tarball
3514 distribution, and it can be helpful for the tarball to be a superset
3515 of what's in bzr.
3516
3d171e95
CW
35172012-09-04 Colin Watson <cjwatson@ubuntu.com>
3518
3519 * Makefile.am (EXTRA_DIST): Add
3520 grub-core/tests/boot/linux.init-mips.S,
3521 grub-core/tests/boot/linux.init-ppc.S, and
3522 grub-core/tests/boot/linux-ppc.cfg.
3523
f2c2503e
CW
35242012-09-04 Colin Watson <cjwatson@ubuntu.com>
3525
3526 * grub-core/mmap/mips/loongson: Remove empty directory.
3527
35282012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3529
3530 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3531 gone.
3532
ab2163d5
CW
35332012-09-04 Colin Watson <cjwatson@ubuntu.com>
3534
3535 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3536 grub-sparc64-setup.
3537
ce938140
GS
35382012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3539
3540 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3541
529f58a5
GS
35422012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3543
3544 * po/POTFILES.in: Regenerated.
3545
16cf79e9
GS
35462012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3547
3548 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3549 (NetBSD): New subsection.
3550
39b27f1e 35512012-07-22 Ales Nesrsta <starous@volny.cz>
3552
3553 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3554 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3555
a885261b
VS
35562012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3559 * util/grub.d/10_hurd.in: Add missing quoting.
3560 * util/grub.d/10_illumos.in: Likewise.
3561 * util/grub.d/10_kfreebsd.in: Likewise.
3562 * util/grub.d/10_linux.in: Likewise.
3563 * util/grub.d/20_linux_xen.in: Likewise.
3564
7bd29c01
VS
35652012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 New command `lsefi'.
3568
3569 * grub-core/Makefile.core.def (lsefi): New module.
3570 * grub-core/commands/efi/lsefi.c: New file.
3571 * include/grub/efi/api.h: Add more GUIDs.
3572
ac625d8f
VS
35732012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3576 (grub_bsd_elf32_hook): Likewise.
3577 (grub_bsd_elf64_size_hook): Likewise.
3578 (grub_bsd_elf64_hook): Likewise.
3579 (grub_bsd_load_elf): Likewise.
3580
e73bb801
VS
35812012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3584 if hash function is unavailable.
3585 (dec_stream_header): Likewise.
3586
e81db8b5
VS
35872012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3590 filter state.
3591
d187a1c3
VS
35922012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 Fix coreboot compilation.
3595
3596 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3597 (grub_vga_text_init_real): ... this.
3598 (grub_vga_text_fini): Rename to ...
3599 (grub_vga_text_fini_real): ... this.
3600
91a05f64
VS
36012012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3604
6af96df7
VS
36052012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/lib/legacy_parse.c: Support clear and testload.
3608
4d569e12
VS
36092012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3612
073b57bb
VS
36132012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3616
a706f4cc
VS
36172012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/net/tftp.c (ack): Fix endianness problem.
3620 (tftp_receive): Likewise.
3621 Reported by: Michael Davidsaver.
3622
e7850aa9
VS
36232012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3626
36272012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3630 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3631 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3632
35692881
VS
36332012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3636 efi_mmap_size.
3637 Reported by: Stuart Hayes.
3638
c35fc5bd
VS
36392012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3642
3643 * grub-core/Makefile.core.def (mda_text): New module.
3644 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3645 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3646 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3647 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3648 here.
3649 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3650 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3651 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3652 here.
3653 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3654 to ..
3655 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3656 ... here
3657 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3658 here.
3659 * grub-core/term/i386/vga_common.c: Removed.
3660 * include/grub/i386/vga_common.h: Likewise.
3661 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3662 (grub_vga_cr_bw_read): Likewise.
3663 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3664 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3665 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3666 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3667 grub_vga_cr_read/grub_vga_cr_write.
3668 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3669
5f91f701
VS
36702012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * configure.ac: Bump version to 2.00.
3673 * grub-core/normal/main.c (features): Add feature_200_final.
3674
0c4f85f6
VS
36752012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
36762012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3677
3678 * NEWS: Fix unclarity and language mistakes.
3679
f923ad22
VS
36802012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3683 additional size to 3 pages.
3684 Reported by: Stuart Hayes.
3685
d22029ba
VS
36862012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * NEWS: Add 2.00 entry.
3689
58eee08f
VS
36902012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3693 put explicit "/" for empty path.
3694 (wildcard_expand): Improve dprintf.
3695
c59bdff7
VS
36962012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3699 it's equal to currnode. This can happen with "" symlink.
3700
5e6a440a
YB
37012012-06-27 Yves Blusseau <blusseau@zetam.org>
3702
3703 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3704 echo shell command by printf command.
3705
73a68bcb
VS
37062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3709 the value returned by firmware is the maximal position, not diumension.
3710 (grub_terminfo_output_state): Use a more sane fallback.
3711
392a603b
VS
37122012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3715
42d0867f
VS
37162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3719 frequency to 150 MHz.
3720
489509f4
VS
37212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 Apple fixes.
3724
3725 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3726 __APPLE_
3727 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3728 definition.
3729 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3730
9f3fc883
VS
37312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 Handle slash in HFS label.
3734
3735 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3736 (grub_hfs_dir): Tanslate slash.
3737 (grub_hfs_label): Don't translate slash.
3738
54853fd7
VS
37392012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3742 network protocol listing since it introduces problematic dependency on
3743 net module.
3744
4dc02ddf
VS
37452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3748
c50c867d
VS
37492012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 Init video early on yeeloong to avoid being rebooted by watchdog.
3752
3753 * grub-core/Makefile.am (gensm712): New target.
3754 (sm712_start.S): Likewise.
3755 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3756 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3757 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3758 description.
3759 * include/grub/vga.h: Move registry definitions to...
3760 * include/grub/vgaregs.h: ... here.
3761
5f92c8a1
VS
37622012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3765 signedness.
3766
e9e6f111
VS
37672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3770 platforms with firmware disk drivers in the core.
3771
754ad9eb
VS
37722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3775 informative verbose message.
3776 (read_lv): Handle 64-bit segment size.
3777
315654c2
VS
37782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3781
fb022c79
VS
37822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3785 character but still remove trainling spaces.
3786 (grub_fat_label): Ignore archive flag.
3787
8645f72c
VS
37882012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3791 cast between linux_kernel_header and linux_kernel_params.
3792
36498496
VS
37932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3796 type for size.
3797 (grub_raid6_recover_func_t): Likewise.
3798 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3799 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3800
0b5ea6b8
VS
38012012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3804
650cfcfe
GS
38052012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3806
3807 Fix overflow.
3808
3809 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3810 [__NetBSD__]: Add explicit cast before bitshift.
3811
8a4d6a44
VS
38122012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * configure.ac: Bump to 2.00~rc1.
3815
2fb97ed3
VS
38162012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3819 half of $a0.
3820
1fa097dc
VS
38212012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
38222012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3823
3824 * docs/grub.texi: Fix search syntax.
3825 (Multi-boot manual config): Put msdos rather than GPT example.
3826 Grammar corrections.
3827
c890ba78
VS
38282012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3831
0f92dca7
VS
38322012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3835
3988c4a0
VS
38362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3839 message on double free. Put the value of magic in case of mismatch.
3840
9e86d4c5
VS
38412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 Speed-up video on yeeloong.
3844
3845 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3846 add cached_ptr.
3847 (grub_video_sm712_video_fini): Unmap cached_ptr.
3848 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3849 (grub_video_sm712_set_active_render_target): Removed.
3850 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3851 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3852 sync caches.
3853
ed24c312
VS
38542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 Avoid flushing the same line multiple times on loongson.
3857
3858 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3859 Step in 32 bytes and not 1 byte.
3860 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3861 Likewise.
3862
d1718e7d
VS
38632012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3866 subvolumes.
3867
982f1909
VS
38682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 Implement flow control for http.
3871
3872 * grub-core/net/http.c (parse_line): Handle response 206.
3873 (http_receive): Stall if too many packets are in the queue.
3874 (http_establish): Fix range header.
3875 (http_seek): Fix double free.
3876 (http_close): Likewise.
3877 (http_packets_pulled): New function.
3878 (grub_http_protocol): Set http_seek
3879 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3880 (ack_real): Set window depending on i_stall.
3881 (grub_net_send_tcp_packet): Likewise.
3882 (grub_net_tcp_stall): New function.
3883 (grub_net_tcp_unstall): Likewise.
3884 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3885 (grub_net_tcp_unstall): Likewise.
3886
bd407d6e
VS
38872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3890
c7564b8e
VS
38912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3894
a3706162
VS
38952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * tests/util/grub-shell.in: Fix a typo.
3898
b27069e0
VS
38992012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 Implement flow control for tftp.
3902
3903 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3904 packets but stop only if stop condition is satisfied.
3905 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3906 `stall' instead of `eof' as stop condition.
3907 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3908 (http_err): Likewise.
3909 * grub-core/net/tftp.c (ack): Replace the first argument with data
3910 instead of socket.
3911 (tftp_receive): Stall if too many packets are in wait queue.
3912 (tftp_packets_pulled): New function.
3913 (grub_tftp_protocol): Set packets_pulled.
3914 * include/grub/net.h (grub_net_packets): New field count.
3915 (grub_net_put_packet): Increment count.
3916 (grub_net_remove_packet): Likewise.
3917 (grub_net_app_protocol): New field `packets_pulled'.
3918 (grub_net): New field `stall'.
3919
6b9cfac6
VS
39202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3923 sync part to handle them.
3924
f35abd81
VS
39252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3928 * grub-core/net/drivers/ieee1275/ofnet.c
3929 (grub_ieee1275_net_config_real): Likewise.
3930
0e7ec820
VS
39312012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3934 the direct route for server/gateway.
3935
9d611a31
VS
39362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3939 IP address to server name since we may not hame the DNS.
3940
418f45ab
VS
39412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3944 freeing random buffer on failure.
3945 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3946
44a0efc1
VS
39472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3950
531e2241
VS
39512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3954 reserved bytes.
3955 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3956 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3957 Handle malloc error correctly.
3958
cde393c9
VS
39592012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3962 blocks.
3963
538478d0
VS
39642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3967 increment.
3968
9b55efe0
VS
39692012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3972 none is explicitly specified.
3973
9eb832c3
VS
39742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3977 while reallocating.
3978
d6b7c7c9
VS
39792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Respect netmask from bootp/dhcp.
3982
3983 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3984 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3985 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3986 into ...
3987 (grub_net_add_ipv4_local): ... this.
3988 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3989 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3990 (grub_net_add_ipv4_local): New proto.
3991
67caf9eb
VS
39922012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3995 determining EFI memory map size.
3996
43657558
VS
39972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4000
eb6d0dd3
VS
40012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4004 when looking for partition separator.
4005
31230544
VS
40062012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4009 Escape commas.
4010
918a2517
VS
40112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 Restructure FAT driver to avoid hook in label reading as it hits a
4014 GCC bug.
4015
4016 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4017 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4018 (grub_fat_iterate_dir): Split into ...
4019 (grub_fat_iterate_init): ... this, ...
4020 (grub_fat_iterate_fini): ... this, ...
4021 (grub_fat_iterate_dir_next): ... and this. All users updated.
4022
9f1d654e
VS
40232012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4026 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4027 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4028 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4029 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4030 New fields last_key and last_key_time.
4031 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4032 extended key-esc into extended key-extended key.
4033
52f0f643
VS
40342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 Avoid unnecessary memcpy of whole video buffer.
4037
4038 * grub-core/video/fb/video_fb.c (dirty): New struct.
4039 (framebuffer): Add members current_dirty and previous_dirty.
4040 (dirty): New function.
4041 (grub_video_fb_fill_rect): Update dirty.
4042 (common_blitter): Likewise.
4043 (grub_video_fb_scroll): Likewise.
4044 (doublebuf_blit_update_screen): Copy only dirty part.
4045 (doublebuf_pageflipping_update_screen): Likewise.
4046 (grub_video_fb_doublebuf_blit_init): Init dirty.
4047 (doublebuf_pageflipping_init): Likewise.
4048 (grub_video_fb_setup): Likewise.
4049
e169a180
VS
40502012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4053 poll rate.
4054
48556879
VS
40552012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Fix wildcard regexp dot and other special characters handling.
4058 Reported by: Robert Mabee.
4059
4060 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4061 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4062 (split_path): Trigger expansion on '?'.
4063 (unescape): New function.
4064 (wildcard_expand): Unescape parts copied without globbing.
4065 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4066 (grub_script_arglist_to_argv): Don't unescape expansions.
4067
0494408e
VS
40682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * include/grub/net.h (grub_net_card): New member txbufsize.
4071 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4072 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4073 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4074 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4075 txbufsize.
4076 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4077 compatible property to check for macs. Set
4078 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4079 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4080 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4081 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4082 (send_card_buffer): Use txbuf.
4083 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4084 nested function out of the parent while on it.
4085
cc35fe8f
VS
40862012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4089 presence check.
4090 (grub_ieee1275_net_config_real): Fix config pointer.
4091
970a0a09
VS
40922012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4095 filename parsing to non-block devices.
4096
3e19bf87
VS
40972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4100
c62d1a0c
VS
41012012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4104 All users updated.
4105
ef76bec3
VS
41062012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4109 UUID search command even if hints probing failed.
4110
41112012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4112
4113 * po/POTFILES.in: Regenerated.
4114
70aaf305
VS
41152012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 Speed-up video on fuloong.
4118
4119 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4120 New function.
4121 (grub_pci_device_unmap_range): Handle non-cached address.
4122 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4123 add direct_ptr.
4124 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4125 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4126 (grub_video_sis315pro_set_active_render_target): Removed.
4127 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4128 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4129 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4130 sync caches.
4131 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4132 New proto.
4133
10400f0b
VS
41342012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * docs/grub.texi (Multi-boot manual config): New section.
4137
ba67e2c6
VS
41382012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 Avoid slow read-back from VRAM.
4141
4142 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
4143 Move from here ...
4144 * grub-core/video/fb/video_fb.c
4145 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
4146 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
4147 (front_target): Remove front_target. Add pages.
4148 (grub_video_fb_init): Skip setting front_pages.
4149 (grub_video_fb_fini): Likewise.
4150 (doublebuf_blit_update_screen): Use pages.
4151 (grub_video_fb_doublebuf_blit_init): Likewise.
4152 (doublebuf_pageflipping_init): Allocate offscreen buffer.
4153 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
4154 (grub_video_fb_setup): Prefer doublebuffing.
4155
377c98cb
VS
41562012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
4159 gzio.
4160
eac49cff
VS
41612012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Add loongson tests.
4164
4165 * tests/util/grub-shell.in: Handle loongson.
4166 * tests/partmap_test.in: Add loongson to the list of platform using ATA
4167 drivers.
4168 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
4169 Reboot instead of shutdown if REBOOT is defined.
4170
0321415e
VS
41712012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
4174 sized ports since unlike on real hardware qemu supports only 32-bit
4175 regs.
4176
3f2bdd8f
VS
41772012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4180 * util/grub-mkrescue.in: Handle loongson.
4181
29a049c9
VS
41822012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4185 Set is_part appropriately.
4186 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4187 names. Canonicalize partition without full disk.
4188
4abde346
VS
41892012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 Revert usb-quiesce since it's wrong.
4192
4193 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4194 (grub_ofdisk_init): Don't do quiesce.
4195
61f1d93b
VS
41962012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4199 PowerMac workaround to Xserves as well.
4200 Information supplied by: Benjamin Herrenschmidt.
4201
a09eb541
VS
42022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 Don't assume that beginning address is also the entry point on ppc.
4205
4206 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4207 (grub_linux_boot): Use linux_entry.
4208 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4209 (grub_linux_load64): Likewise.
4210
505b3c9b
VS
42112012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4214
cbe0b4ef
VS
42152012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4218 needlessly lose the console.
4219
3006e981
VS
42202012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4223 space.
4224
4e5a96b0
VS
42252012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4226
7da036bb
VS
4227 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4228 than current grub_get_rtc() not implemented when booted with
4229 coreboot without TSC.
4230
4231 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4232 Add machine/time.h to kernel headers on loongson.
4233 * grub-core/Makefile.core.def (kernel): Remove
4234 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4235 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4236 (grub_get_rtc): Likewise.
4237 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4238 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4239 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4240 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4241 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4242 rather than installing known non-working time source.
4243 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4244 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4245 * include/grub/time.h: Don't include machine/time.h.
4246 * include/grub/efi/time.h: Removed.
4247 * include/grub/i386/efi/time.h: Likewise.
4248 * include/grub/i386/ieee1275/time.h: Likewise.
4249 * include/grub/powerpc/ieee1275/time.h: Likewise.
4250 * include/grub/sparc64/ieee1275/time.h: Likewise.
4251 * include/grub/x86_64/efi/time.h: Likewise.
4252
42532012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4256
4257 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4258 value.
4259 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4260 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4261 with dotless variants when any combining above is present.
4262
5561c22d
VS
42632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4266 text and not binary.
4267
96f7e60e
VS
42682012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Stop polling as soon as we have the packet we were waiting for.
4271
4272 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4273 All users updated.
4274 * grub-core/net/arp.c (have_pending): New var.
4275 (pending_req): Likewise.
4276 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4277 stop indicator.
4278 (grub_net_arp_receive): Set have_pending.
4279 * grub-core/net/dns.c (recv_data): New field stop.
4280 (recv_hook): Set stop.
4281 (grub_net_dns_lookup): Init stop and use as stop condition.
4282 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4283 condition.
4284 * grub-core/net/net.c (grub_net_poll_cards): New argument
4285 stop_condition. Stop when it goes true.
4286 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4287 indicator.
4288 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4289
3e747239
VS
42902012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 Keep TX and RX buffers on EFI rather than always allocate new ones.
4293
4294 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4295 card. All users updated.
4296 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4297 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4298 (get_card_packet): Likewise.
4299 (grub_efinet_findcards): Init new fields.
4300
f695e99a
VS
43012012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4304 compilation error on sparc64.
4305
9e5e66d1
VS
43062012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 Use ITC on IA64 rather than broken routine based on daytime.
4309
4310 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4311 ia64.
4312 (grub_get_rtc) [__ia64__]: Likewise.
4313 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4314 (get_itc): New function.
4315 (grub_rtc_get_time_ms): Likewise.
4316 (grub_machine_init): Calibrate ITC.
4317 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4318 Keep only on non-ia64. Don't export since it's broken and used only
4319 if TSC is unavailable.
4320
a1767404
VS
43212012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4324 even if it's used.
4325 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4326 Skip if parent is unused.
4327
34b2bced
VS
43282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4331
5e619f40
VS
43322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4333
4334 Fix wildcard escaping.
4335
4336 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4337 * grub-core/script/execute.c (wildcard_escape): .. to here.
4338 Don't escape dot.
4339 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4340 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4341 Don't escape dot.
4342 * grub-core/script/execute.c (gettext_append): Always escape.
4343 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4344 * grub-core/script/yylex.l: Don't cut away the escaping.
4345 * tests/grub_script_echo1.in: Add tests with wildcard.
4346
c8ca5855
VS
43472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4350 (ftdi_hw_configure): Likewise.
4351 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4352 define.
4353 (real_config): Handle 1.5 stop bits.
4354 (pl2303_hw_configure): Likewise.
4355
7183452c
VS
43562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * Makefile.am: Add ppc linux bootcheck.
4359 * grub-core/tests/boot/linux-ppc.cfg: New file.
4360 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4361
f57c84cd
VS
43622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * tests/grub_script_expansion.in: Skip network protocols.
4365
ecfc6207
VS
43662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4369
8d03d284
VS
43702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4373 --rom-directory.
4374 Add -graft-points.
4375
61c42af0
VS
43762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 ESCC serial driver for conducting sautomated tests in qemu.
4379 Not tested on real hardware.
4380
4381 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4382 * grub-core/term/ieee1275/escc.c: New file.
4383 * grub-core/Makefile.core.def (escc): New module.
4384
08fd1291
VS
43852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4388 invalid on error.
4389 (serial_hw_fetch): Don't read invalid handle.
4390 (serial_hw_put): Don't write into invalid handle.
4391
08dafeea
VS
43922012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4393
4394 Add a 1.5 stop bits value.
4395
4396 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4397 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4398 GRUB_SERIAL_STOP_BITS_1_5.
4399
9068fdcf
VS
44002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4403 value rather than let it uninited.
4404
f4d5820f
VS
44052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/commands/wildcard.c (+check_file): New function.
4408 (wildcard_expand): Don't expand to non-existing files, expand with
4409 suffix and not attempt to expand if not needed.
4410
3d2de9a7
VS
44112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4414 out of partitions containing other partitions.
4415
c5c81ff9
VS
44162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4419 on some qemu versions with GRUB.
4420
4421 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4422 define.
4423 (grub_openbsd_bootarg_pcibios): New struct.
4424 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4425 Add PCIINFO.
4426
08a14e0b
VS
44272012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * tests/util/grub-shell.in: Trim firmware output on EFI.
4430
cede3ca3
VS
44312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4434 and coreboot since it's already in kernel.
4435
558d3a60
VS
44362012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4439 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4440 to here. New return value start. All users updated.
4441 Recursively scan linear mappings.
4442 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4443 proto.
4444 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4445 Use grub_util_get_dm_node_linear_info.
4446 * util/getroot.c (convert_system_partition_to_system_disk): Use
4447 grub_util_info rather than grub_dprintf.
4448 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4449
60fde14d
VS
44502012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4453
4454 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4455 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4456
24bd8838
VS
44572012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * include/grub/types.h (grub_set_unaligned64): New function.
4460 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4461 (setup): Likewise.
4462
7bc06a49
VS
44632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4466 (grub_ofdisk_fini): Quiesce USB devices.
4467
49cea015
VS
44682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4471 caches.
4472
8dcbe03b
VS
44732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4476
5b258735
VS
44772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/disk/pata.c (grub_pata_pio_read)
4480 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4481 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4482
37ba07eb
VS
44832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 Extend automated tests to qemu-mips.
4486
4487 * Makefile.am: reorganise tests and enable qemu-mips.
4488 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4489 * grub-core/tests/boot/linux.init-mips.S: New file.
4490 * tests/partmap_test.in: Handle ata0 disks.
4491 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4492 non-pc i386.
4493
070038f8
VS
44942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4497 ia64.
4498 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4499 quotes while on it.
4500
004be2cd
VS
45012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4504 (grub_halt): Likewise.
4505 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4506
b1622487
VS
45072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/term/serial.c (grub_serial_register)
4510 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4511 the behaviour in line with x86 platforms.
4512
b7b4ab33
VS
45132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4516 (grub_ata_strncpy): Likewise.
4517 (grub_ata_identify): Add missing byteswaps.
4518
5e3535ae
VS
45192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4522 byte-swap.
4523 (screen_read_char): Likewise.
4524 (grub_vga_text_cls): Likewise.
4525
c21b17e6
VS
45262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4529 filenames.
4530 (make_file_path): Likewise.
4531
bf293dec
VS
45322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4535 machines.
4536 Tested by: Paulo Flabiano Smorigo.
4537 Crucial information about API supplied by: Coleen <Last name unknown>.
4538 Reviewed by: Coleen <Last name unknown>.
4539
81f6ef0e
VS
45402012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * util/grub-mkimage.c: Disable -Wcast-align.
4543
7284143a
VS
45442012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4547 as they are fatal.
4548
b99f3e00
VS
45492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4552
944f752d
VS
45532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * util/grub-probe.c (escape_of_path): Fix double free.
4556
6cce6f38
VS
45572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * grub-core/commands/videoinfo.c (hook): Show pitch.
4560
1e1eb50e
VS
45612012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4564
1c715b5a
VS
45652012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4568 (probe): Add ieee1275 to OFW devices.
4569
007ae52d
VS
45702012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4573
4557a36d
VS
45742012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 Handle IBM OFW path.
4577
4578 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4579 available.
4580 (of_path_of_scsi): Handle vdevice.
4581
efbeefe9
VS
45822012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4585 Allocate in multiples of 16 to avoid adding a few bytes free region the
4586 windows bugs upon.
4587
15a940bb
VS
45882012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4591 Allocate in multiples of 16 to avoid adding a few bytes free region the
4592 windows bugs upon.
4593 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4594
6e5efd60
VS
45952012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4598 resolutions.
4599 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4600 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4601
0d3d137e
IS
46022012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4603
4604 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4605
45dbe300
VS
46062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4609 resulted in \\ at the end of the line.
4610
6d8db947
VS
46112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4614 (grub_parser_cmdline_state): Likewise.
4615 (grub_parser_split_cmdline): Likewise.
4616
de89d338
VS
46172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4620 /dev/root and /dev/dm-*.
4621
00d41dee
VS
46222012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4625 fix partially stale display.
4626
f95d1f11
VS
46272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4630 substraction.
4631
6297e197
VS
46322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4635 Fix MBR remapping workaround.
4636 (grub_util_biosdisk_read) [__linux__]: Likewise.
4637
8a7ecad3
VS
46382012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4641
2b34f944
VS
46422012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * configure.ac: Bump to beta6.
4645
684aef11
CW
46462012-05-31 Christer Weinigel <christer@weinigel.se>
4647
4648 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4649
05b0bb91
VS
46502012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4653 (grub_cmd_linux): Likewise.
4654
bda36bfa
CW
46552012-05-31 Christer Weinigel <christer@weinigel.se>
4656
4657 Fix EHCI low-speed.
4658
4659 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4660 (GRUB_EHCI_MULT_TWO): Likewise.
4661 (GRUB_EHCI_MULT_THREE): Likewise.
4662 (GRUB_EHCI_CMASK_MASK): New enum value.
4663 (GRUB_EHCI_SMASK_MASK): Likewise.
4664 (GRUB_EHCI_CMASK_OFF): Likewise.
4665 (GRUB_EHCI_SMASK_OFF): Likewise.
4666 (grub_ehci_pci_iter): Enable periodic schedule.
4667 (grub_ehci_parse_notrun): Likewise.
4668 (grub_ehci_restore_hw): Likewise.
4669 (grub_ehci_setup_qh): Set flags for low speed transfers.
4670 (grub_ehci_find_qh): Use periodic list for low speed.
4671 (grub_ehci_setup_transfer): Check periodic queue as well.
4672 (grub_ehci_check_transfer): Likewise.
4673 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4674
e12bcb1c
PFS
46752012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4676
4677 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4678 parameter is used.
4679
bcc75fb3
PJ
46802012-05-31 Peter Jones <pjones@redhat.com>
4681
4682 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4683 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4684 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4685
f19cb95e
VS
46862012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4689 uninited variable. Allocate at least setup_sects.
4690
a4e5ca80
VS
46912012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 Fix handling of EFI with big memory maps.
4694
4695 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4696 (real_mode_mem): Likewise.
4697 (real_mode_target): Likewise.
4698 (real_mode_pages): Likewise.
4699 (prot_mode_pages): Likewise.
4700 (linux_params): New var.
4701 (linux_cmdline): Likewise.
4702 (free_pages): Don't set real mode variables.
4703 (allocate_pages): Don't allocate real mode memory.
4704 (grub_e820_add_region): Remove the limit.
4705 (grub_linux_boot): Allocate and copy real mode memory.
4706 (grub_linux_unload): Free linux_cmdline.
4707 (grub_cmd_linux): Use temporary storage for parameters.
4708 (grub_cmd_initrd): Likewise.
4709 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4710 (linux_kernel_params): Make it 1K big.
4711
ddb73558
VS
47122012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * Makefile.util.def: Remove -Wno-format.
4715 * grub-core/Makefile.core.def: Likewise.
4716
1c4afb60
VS
47172012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * tests/cmp_unit_test.c: Add missing failure message.
4720 * tests/example_unit_test.c: Likewise.
4721 * tests/printf_unit_test.c: Likewise.
4722
941e3a6d
VS
47232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4726 relaxation of protective MBR requirements.
4727
b105df76
VS
47282012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * configure.ac: Add condition for COND_HOST_XNU.
4731 * Makefile.util.def (10_xnu): New script.
4732 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4733
84e1569e
VS
47342012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4737 objconv bug.
4738
130c0f77
VS
47392012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4742 Binary on other platforms stays identical.
4743
6fd0b143
VS
47442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4747 Apple.
4748
0af1751d
VS
47492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4752
176d5f7d
VS
47532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4756 rather than defining size_t ourselves to avoid conflict.
4757
7de5e20a
VS
47582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4761 initialisation to avoid __bzero reference.
4762
f7143efe
VS
47632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4766 version.
4767 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4768 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4769 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4770 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4771 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4772
e6ad0555
VS
47732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4776 * grub-core/kern/misc.c: Likewise.
4777 * grub-core/loader/i386/xnu.c: Likewise.
4778 * include/grub/i386/tsc.h: Likewise.
4779 * include/grub/symbol.h: Likewise.
4780
4a5a3c4a
VS
47812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4784 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4785 on older compiler.
4786
037f6d90
VS
47872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4790 Implement Apple flavour.
4791 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4792
f7194551
VS
47932012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4796 (memmove) [__APPLE__]: Likewise.
4797 (memcpy) [__APPLE__]: Likewise.
4798 (memset) [__APPLE__]: Likewise.
4799 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4800 (memmove) [__APPLE__]: Likewise.
4801 (memcpy) [__APPLE__]: Likewise.
4802 (memset) [__APPLE__]: Likewise.
4803
85a730ca
VS
48042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4807 dependency discard.
4808
40e80b94
VS
48092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/normal/main.c (read_config_file): Provide config_file and
4812 config_directory.
4813 * util/grub.d/41_custom.in: Use config_directoy when available.
4814
9da59c32
VS
48152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4818 (grub_bfs_dir): Likewise.
4819
2787ae53
PJ
48202012-05-27 Peter Jones <pjones@redhat.com>
4821
4822 The old code gives arguments to a printf function which can't work
4823 correctly, and the compiler complains.
4824
4825 * grub-core/tests/example_functional_test.c (example_test): Add
4826 missing text.
4827 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4828 * include/grub/test.h (grub_test_assert_helper): New declaration.
4829 (grub_test_assert): Use grub_test_assert_helper.
4830
526ef13d
VS
48312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4834 (exfctest): ... this to avoid overlong filenames.
4835 All users updated.
4836
20dd511c
VS
48372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 Handle "." and ".." on squashfs.
4840
4841 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4842 Make inode numbers into stack.
4843 (grub_squash_read_symlink): Use stack.
4844 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4845 (make_root_node): Fill stack.
4846 (grub_squash_open): Use stack.
4847
1d80c62a
VS
48482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4851 freeing.
4852
d336f652
VS
48532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4856 stderr on test calls.
4857
8b43f587
VS
48582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4861
80a3dc3f
VS
48622012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4865
47e297d4
VS
48662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4869 "..".
4870
df042ccb
VS
48712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4874 (grub_hfsplus_iterate_dir): Add "." and "..".
4875
fc977f48
VS
48762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4879 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4880
f3250e5f
VS
48812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4884 (find_path): Handle "." and "..".
4885
fd8ed4c5
VS
48862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4889 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4890 (grub_affs_iterate_dir): Handle hardlinks.
4891
4ce776d2
MG
48922012-05-26 Matthew Garrett <mjg@redhat.com>
4893
4894 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4895 (grub_efi_console_fini): Likewise.
4896 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4897 (grub_video_gop_fill_mode_info): Rename to ...
4898 (grub_video_gop_fill_real_mode_info): ... this.
4899 (grub_video_gop_fill_mode_info): New function.
4900 (grub_video_gop_setup): Setup double framebuffer.
4901 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4902 Free offscreen.
4903 (grub_video_gop_swap_buffers): Copy framebuffer.
4904 (grub_video_gop_fini): Free offscreen buffer.
4905 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4906 New enum.
4907 (grub_efi_gop_blt_pixel): New struct.
4908
683031ba
VS
49092012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * gentpl.py: Remove error disabling for objconv.
4912
c2deb798
VS
49132012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * configure.ac: Remove -Wunitialized as it's not available on older
4916 compilers.
4917
49182012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4919
4920 Fix extent overflow comparator.
4921
4922 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4923 (grub_hfsplus_read_block): Set type.
4924 (grub_hfsplus_cmp_extkey): Compare type.
4925
d6b1fd36
VS
49262012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4929
0a9aa0f6
VS
49302012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4933 than 0.
4934
8360e159
VS
49352012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4938 (dejavu_bold_14.pf2): New target.
4939
501b9e4b
VS
49402012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * configure.ac: Fix djvu font detection.
4943
7026b0e2
VS
49442012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4947 ext* instead of ext2.
4948
c2a51ade
VS
49492012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4952 name with \0.
4953
8f803a5d
JU
49542012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4955
4956 * docs/grub-dev.texi: Remove dot from .png.
4957
13c6353f
VS
49582012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4961 protective entry in any slot.
4962 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4963 if protective entry is found in any slot.
4964
4965 Protective entry in non-first slot make no sense but is a widespread
4966 brain damage.
4967
4cf6be1b
VS
49682012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4971
937d1c44
VS
49722012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4975 with old reiserfs.
4976 (grub_reiserfs_open): Don't free root.
4977
021d90ec
VS
49782012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4981 after freeing for safety.
4982
967b2b64
VS
49832012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4986 Reported by: Jordan Uggla.
4987
34274d02
JU
49882012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4989
967b2b64
VS
4990 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4991 actual implementation. Specifically, clarify that the grub menu will
4992 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4993 passed.
34274d02 4994
dcaaae9d
BH
49952012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4996
4997 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4998 of r0.
4999
7086ad52
VS
50002012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 Remove unjustified hard dependency of normal.mod on gfxterm.
5003
5004 * include/grub/term.h (grub_term_output): New member fullscreen.
5005 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5006 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5007 (grub_gfxterm): Set .fullscreen.
5008 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5009 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5010
37ed2c9b
VS
50112012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5014 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5015 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5016
a4469c88
VS
50172012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5020
4e461486
VS
50212012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5024 a bad FS.
5025
aa78f5c4
VS
50262012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5029 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5030
197626b5
VS
50312012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5034 (grub_jfs_mount): Fill caseins.
5035 (grub_jfs_find_file): Respect caseins.
5036
8ad3f28c
VS
50372012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5040 through UTF-16.
5041
0c6c324e
VS
50422012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5045 New argument origpath. All users updated.
5046
c6666ba6
VS
50472012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5050 (read_attr): Ensure that we read start of possibly compressed block.
5051
e28e5fe5
VS
50522012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5055 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5056 All users updated.
5057
5fc23ab2
VS
50582012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5061 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5062 (dejavu.pf2): Replace with ...
5063 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5064 this.
5065
79dbc21c
VS
50662012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * util/grub.d/20_linux_xen.in: Add missing line.
5069
d2fcfb0c
VS
50702012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5073 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5074 (grub_utf16_to_utf8): Likewise.
5075
5560e9d6
VS
50762012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5079 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5080 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5081 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5082 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5083 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5084
50852012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5086
5087 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5088 a bad FS.
5089
5560e9d6 50902012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5091
5092 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5093 (grub_udf_read_symlink): Handle read_string failure.
5094
5eae3175
VS
50952012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5098 comment.
5099
c1ad82db
VS
51002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 Fix handling of UDF symlinks.
5103
5104 * grub-core/fs/udf.c (read_string): New argument outbuf.
5105 All users updated.
5106 (grub_ufs_read_symlink): Rename to ...
5107 (grub_udf_read_symlink): ... this. All users updated.
5108 Handle symlinks with more than one component.
5109
33eca6e0
VS
51102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5113 symlinks. Replace leading colon with a slash.
5114
57f4a70b
VS
51152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5118 filename.
5119
38c8ee20
VS
51202012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5123 match in inner node.
5124
2e57f28f
VS
51252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5128 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5129 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5130 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5131 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5132 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5133 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5134 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5135 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5136
fe8c2f11
VS
51372012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 Use grub-probe and not cmp to check that disk is empty.
5140
5141 * util/grub-install.in: Use grub-probe for zero-check.
5142 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
5143 (probe): Handle PRINT_ZERO_CHECK.
5144 (argp_parser): Handle -t zero_check.
5145
51462012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
5147
5148 Flush block cache on adding disk to device map.
5149
5150 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
5151 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
5152 adding.
5153 (read_device_map): Likewise.
5154 (open_device): Flush on opening.
5155
690434e8
VS
51562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
5159 (handle_symlink): Fix off-by-one error.
5160 Canonicalize the target.
5161 (grub_cpio_dir): Canonicalize the name.
5162 Fix memory leak.
5163 Set directory.
5164 (grub_cpio_open): Canonicalize the name.
5165
742d2be6
VS
51662012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
5169 handling.
5170
3244fe96
VS
51712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
5174 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
5175
8aeb1837
VS
51762012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5179 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5180 All users updated.
8aeb1837 5181
9133fd05
VS
51822012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5185 counterpart.
5186
6d521c5b
VS
51872012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 Fix UFS1 big file support.
5190
5191 * grub-core/fs/ufs.c (INODE): Removed.
5192 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5193 64-bit.
5194 (INODE_MODE): Simplify.
5195 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5196 (grub_ufs_lookup_symlink): Don't use INODE.
5197
21b82e17
VS
51982012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5201
5202 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5203 (grub_minix_data): Replace log_block_size with block_size.
5204 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5205 (grub_minix_mount): Fill block_size.
5206
52072012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5208
5209 * configure.ac: Bump to beta5.
5210
f417ed04
VS
52112012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Fix wrapped HFS+ handling.
5214
5215 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5216 blocks_start. All users updated.
5217 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5218 wrapping offset.
5219 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5220
607d282b
VS
52212012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 Fix long symlinks on reiserfs.
5224
5225 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5226 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5227 (grub_reiserfs_iterate_dir): Save size for non-directories.
5228 (grub_reiserfs_open): Don't reread stat block as we already know the
5229 size.
5230 (grub_reiserfs_read): Split into...
5231 (grub_reiserfs_read_real): ... and ...
5232 (grub_reiserfs_read): ...this.
5233
ae16024d
VS
52342012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 Fix non-indexed JFS.
5237
5238 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5239 (grub_jfs_data): New field namecomponentlen.
5240 (grub_jfs_mount): Fill namecomponentlen.
5241 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5242
eea1e26e
VS
52432012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5246 * tests/grub_script_echo1.in: Add tests.
5247
df760f77
VS
52482012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * util/grub-install.in: Ignore empty devicetree directory.
5251
5efb817d
B
52522012-05-08 Bean <bean123ch@gmail.com>
5253
5254 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5255 All users updated.
5256 (free_rsm): Free header as well.
5257 (free_old_fragments): Fix memory leak.
5258 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5259 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5260 (destroy_pq): Likewise.
5261 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5262
668ea6d2
VS
52632012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5266 resulting hash as a precaution.
5267
1739b1fe
VS
52682012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5271 '_' in variable names.
5272 * grub-core/net/net.c (grub_net_network_level_interface_register):
5273 Likewise.
5274
6ae485aa
VS
52752012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 Fix AFFS with non-512B blocks.
5278
5279 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5280 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5281 (grub_affs_data): Replace blocksize with log_blocksize.
5282 (grub_affs_read_block): Fix non-512B blocks.
5283 (grub_affs_read_symlink): Likewise.
5284 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5285 (grub_affs_read): Fix non-512B blocks.
5286 (grub_affs_label): Likewise.
5287 (grub_affs_mtime): Likewise.
5288 (grub_affs_mount): Fix block detection routine.
5289
d20fab84
VS
52902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 Add filesystem mtime to AFFS.
5293
5294 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5295 (aftime2ctime): New function.
5296 (grub_affs_dir): Use aftime2ctime.
5297 (grub_affs_label): Fix return value.
5298 (grub_affs_mtime): New function.
5299 (grub_affs_fs): Add mtime.
5300
e87b10f5
VS
53012012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5304 UTF-8.
5305
7dceec9b
VS
53062012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5309 UTF-8.
5310
2f48221f
VS
53112012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5314
dacd85cf
VS
53152012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5318 flags.
5319 (FLAGS_CASE_SENSITIVE): New enum value.
5320 (cache_entry): New struct.
5321 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5322 cache_size and cache.
5323 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5324 Add log_blocksize and fshelp_flags.
5325 (grub_sfs_read_extent): Handle non-512 blocks.
5326 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5327 (grub_sfs_read_file): Handle non-512 blocks.
5328 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5329 fshelp_flags.
5330 (grub_sfs_read_symlink): Handle non-512 blocks.
5331 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5332 (grub_sfs_dir): Free cache.
5333 (grub_sfs_close): Likewise.
5334
24e9a854
VS
53352012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5338 filesystems.
5339
62ace64d
VS
53402012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5343
83b2e89c
VS
53442012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5347
75ccaea3
VS
53482012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5351 (grub_sfs_read_extent): Likewise.
5352 (grub_sfs_read_block): Likewise.
5353 (grub_sfs_mount): Likewise.
5354 (grub_sfs_iterate_dir): Likewise.
5355 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5356 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5357
1b8463f2
VS
53582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 Fix errors on compressed NTFS with 512B clusters.
5361
5362 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5363 types.
5364 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5365 not 0.
5366 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5367 Relax check for inline extents.
5368 (ntfscomp): Return correct -1 on error and not 0.
5369
4f8e368f
VS
53702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/grub-install.in: Fix handling of prefix containing spaces.
5373
6f5d5ee8
VS
53742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5377 (grub_squash_read_data): Fix offset byte-swapping.
5378
ce41ab7a
VS
53792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5382 per common usage and preffered in several parts of code.
5383 (grub_memcmp): Likewise.
5384 (grub_strncmp): Likewise.
5385 * include/grub/misc.h (grub_strcasecmp): Likewise.
5386 (grub_strncasecmp): Likewise.
5387 * Makefile.util.def (cmp_test): New test.
5388 (grub_script_strcmp): Likewise.
5389 * tests/cmp_unit_test.c: New file.
5390 * tests/grub_script_strcmp.in: Likewise.
5391 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5392
49717bf4
VS
53932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * include/grub/pci.h: Move enums into no-asm part.
5396
0a308f64
VS
53972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5400
1796965f
ST
54012012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5402
5403 * util/getroot.c (find_hurd_root_device): Try to make error message
5404 and comments to translators clearer.
5405
4e9b2819
VS
54062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5409
076aeb50
VS
54102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5413 btrfs.
5414
19424d94
VS
54152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * docs/grub.cfg: Update.
5418
ebb73076
VS
54192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * docs/grub.texi (PXE): Remove not present variables.
5422
9a1b669c
VS
54232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/net/net.c (defserver_set_env): New function.
5426 (defserver_get_env): Likewise.
5427 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5428
d38bf7d3
VS
54292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5432 entries.
5433
54342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5435
5436 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5437 * grub-core/kern/emu/hostdisk.c: Likewise.
5438
e5e4ca48
ST
54392012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5440
5441 Handle hurd userspace partitions.
5442
5443 * util/getroot.c (find_hurd_root_device): New function.
5444 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5445
56bb5dd5
VS
54462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5449 names.
5450 Reported by: Bastian Blank.
5451
9e8bc27a
VS
54522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5455 crossing page boundary.
5456
aa01499d
VS
54572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Fix B-tree search in BFS, especially in presence of non-ASCII
5460 characters.
5461
5462 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5463 (find_in_b_tree): Use standard bsearch + btree algorithm.
5464
57006035
VS
54652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5468 and so on.
5469
9d34bb85
MG
54702012-05-03 Matthew Garrett <mjg@redhat.com>
54712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 Suspend broadcom cards in order to stop their DMA.
5474
5475 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5476 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5477 (pci): Don't build on x86 EFI.
5478 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5479 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5480 New function.
5481 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5482 stop_broadcom if running on EFI.
5483 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5484 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5485 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5486 (grub_pci_find_capability): New proto.
5487
01aab997
VS
54882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * docs/grub.texi: Remove dot from the extension as it apparently
5491 doesn't work with some makeinfo versions.
5492
fbd8dca6
VS
54932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5496 with GRUB expectance.
5497
dab797f4
VS
54982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5501
1516bfb4
VS
55022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5505 zero after directory block since last entry may be not 0-terminated if
5506 it ends on block boundary. Use continue instead of if spanning whole
5507 loop.
5508
a3a0eace
VS
55092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 Support 4K sectors UDF inline files.
5512
5513 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5514 (grub_udf_extended_file_entry): Likewise.
5515 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5516 All users updated.
5517 (get_fshelp_size): New function.
5518 (grub_udf_read_icb): Read whole block.
5519 (grub_udf_iterate_dir): Likewise.
5520 (grub_udf_dir): Likewise.
5521 (grub_udf_open): Likewise.
5522
c82f16c1
VS
55232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5526
59fd2aac
VS
55272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5530 inline symlinks in addition to workaround.
5531
3b4afb4d
VS
55322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5535
f45c794a
VS
55362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5539
f25cecbd
VS
55402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5543
bb9a34e8
VS
55442012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 Fix reiserfs big seek times.
5547
5548 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5549 exact. All users updated.
5550 (grub_reiserfs_read): Use nearest btree search for seeking.
5551 Fix return value on error.
5552
dc478aea
VS
55532012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5556 entries.
5557 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5558 * docs/grub.texi: Update menuentry description.
5559
8db10f47
VS
55602012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5563 crash when embedding onto filesystem.
5564
bcb288ed
VS
55652012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5568 name.
5569
a626fdd7
VS
55702012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5573
b2f68477
VS
55742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5577 commit.
5578
ba15b2af
B
55792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
55802012-05-01 Bean <bean123ch@gmail.com>
5581
5582 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5583
a188012e
VS
55842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5587 Special behaviour for len = 0 to read whole file isn't used anywhere and
5588 can cause buffer ovewrflows in several places.
5589
f0a53ed2
VS
55902012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5593
5ed554f0
VS
55942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 Handle RAIDZ on non-512B sectors.
5597
5598 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5599 max_children_ashift.
5600 (fill_vdev_info_real): Fill max_children_ashift.
5601 (read_device): Use max_children_ashift.
5602
ddc58357
VS
56032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5606
e3282399
VS
56072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5610 disk names.
5611 * docs/grub.texi: Update device.map parts.
5612
ee618bd4
VS
56132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 Don't scan into non-diskfilter devices having diskfilter names.
5616
5617 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5618 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5619 handling.
5620 (scan_disk_hook): New function.
5621
bdf88864
B
56222012-04-29 Bean <bean123ch@gmail.com>
5623
5624 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5625 allocation.
5626
32745f51
MK
56272012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5628
5629 * configure.ac: Detect starfield theme font path
5630 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5631
bc95c8c0
VS
56322012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5635 geometry on serial consoles.
5636
147fbcab
VS
56372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5640 because of network consoles.
5641
0f42c889
VS
56422012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5645 handling.
5646
4a3594c9
VS
56472012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5648
5649 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5650 falls on Q syndrom.
5651
5cb53879
VS
56522012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5655 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5656
b282dfe5
VS
56572012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5660 Allocate at lest 8192 for temporary buffer as required for lzo.
5661
daa59f47
VS
56622012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5663
5664 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5665 to cluster_bits, since it's already added in.
5666 (grub_fat_read_data): Likewise.
5667
986748ce
VS
56682012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5671 as long as cluster size is multiple of 512 bytes.
5672
a20f6ad0
VS
56732012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * util/grub-mkrescue.in: Fix locale directory.
5676
385f9abb
VS
56772012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/kern/emu/hostdisk.c (map): Make static.
5680
1c557d30
B
56812012-04-23 Bean <bean123ch@gmail.com>
5682
5683 * util/grub-fstest.c (fstest): Add missing break.
5684
524b5d3a
ST
56852012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5686
5687 Fix hurd build.
5688
5689 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5690 not define nr variable.
fe4824e9 5691 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5692 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5693 grub_find_device): Do not define.
524b5d3a 5694
9a06490c
VS
56952012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 Fix kfreebsd compile and behaviour.
5698
5699 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5700 format-security.
5701 * util/getroot.c: Fix wait.h include.
5702 (grub_guess_root_devices): Error if grub_find_device fails.
5703 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5704 (grub_util_get_dev_abstraction): Likewise.
5705 (grub_util_pull_device): Likewise.
5706 (grub_util_get_grub_dev): Likewise.
5707 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5708
48143d96
VS
57092012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 Fix and unify wholedisk detection.
5712
5713 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5714 is_part. All users updated.
5715 (device_is_wholedisk): Removed.
5716 (grub_util_biosdisk_get_grub_dev): Use is_part.
5717
ebbd24f3
VS
57182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5719
5720 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5721 mode.
5722
56f7aa1e
VS
57232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * configure.ac: Bump to beta4.
5726
9c815e01
VS
57272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5730 --fs-uuid --set UUID syntax.
5731
59e2651a
VS
57322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5735 disunification.
5736
54e03cfc
VS
57372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5740
81092a75
MK
57412012-04-18 Mads Kiilerich <mads@kiilerich.com>
5742
5743 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5744
f8315e14
MG
57452012-04-18 Mike Gilbert <floppym@gentoo.org>
5746
5747 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5748
1501ac21
B
57492012-04-18 Bean <bean123ch@gmail.com>
5750
5751 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5752 place.
5753
cb7f944e
VS
57542012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5757 users updated.
5758 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5759 corresponding to GRUB partitions.
5760 (grub_util_biosdisk_write): Likewise.
5761
b72d44a1
VS
57622012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 Scan mdraid before LVM.
5765
5766 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5767 (grub_diskfilter_register_front): ... this.
5768 (grub_diskfilter_register_back): New function.
5769 All users of grub_diskfilter_register updated.
5770
33d918b8
VS
57712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * util/grub-install.in: Fix an automatic target detection bug.
5774
c6ca973d
VS
57752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * util/grub-install.in: New option --efi-directory.
5778
b41be562
VS
57792012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5782 boot services if we have no other choice.
5783
57842012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5787 document it.
5788 * tests/util/grub-shell.in: Update to --directory.
5789
e0595a73
VS
57902012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5793
4ed80652
VS
57942012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5797 (grub_minix_read_file): Likewise.
5798 (grub_minix_read_inode): Likewise.
5799 (grub_minix_find_file): Likewise.
5800 (grub_minix_dir): Likewise.
5801
56008077
VS
58022012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * util/grub-setup.c (setup): Fix partition handling and blocklist
5805 check.
5806
ee520775
VS
58072012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5810 redundant buggy overlap check.
5811
16fc9293
VS
58122012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5815 and grub-mknetdir.
5816
9bab65c4
VS
58172012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5820 kh.loadflags on pre-2.00 kernels.
5821
3c491b47
VS
58222012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Terminate UNDI and PXE before launching the payload to avoid problems
5825 with DMA.
5826
5827 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5828 (grub_loader_flags): ... this. All users updated.
5829 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5830 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5831 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5832 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5833 function.
5834 (grub_pxe_restore): Likewise.
5835 (fini_hnd): New var.
5836 (GRUB_MOD_INIT): Register shutdown hook.
5837 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5838 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5839 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5840 (grub_loader_set): Rename second argument to flags.
5841
851ffada
VS
58422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5845 written bytes.
5846 (grub_get_num_of_utf8_bytes): New function.
5847 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5848 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5849 executing it.
5850 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5851 (grub_ucs4_to_utf8): Change return type.
5852
491c57a8
VS
58532012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5856 warning.
851ffada
VS
5857 * grub-core/fs/bfs.c (hop_level): Likewise.
5858 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5859
756773df
VS
58602012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/lib/adler32.c: Recode due to license unclearness.
5863
fd556a96
VS
58642012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5865
5866 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5867 (test_header): Likewise.
5868
9f9d3f69
VS
58692012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 Fix --help formatting.
5872
5873 * util/grub-mkconfig_lib.in (print_option_help): New function.
5874 (grub_fmt): Likewise.
5875 * util/grub-install.in: Use print_option_help and grub_fmt.
5876 * util/grub-kbdcomp.in: Likewise.
5877 * util/grub-mkconfig.in: Likewise.
5878 * util/grub-mknetdir.in: Likewise.
5879 * util/grub-mkrescue.in: Likewise.
5880 * util/grub-mkstandalone.in: Likewise.
5881 * util/grub-reboot.in: Likewise.
5882 * util/grub-set-default.in: Likewise.
5883 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5884
561ec77e
VS
58852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * linguas.sh: Remove autogenerated *.po.
5888
7ec2b021
VS
58892012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * po/README: Move language fetcing to ...
5892 * linguas.sh: ... here.
5893 * po/README: Point to linguas.sh.
5894
a88f3270
VS
58952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * po/README: Exclude ko.po due to disclaimer problems.
5898
d61357ce
VS
58992012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5902 len = 0.
5903 (grub_gettext_translate_real): Handle 0th string.
5904 (grub_gettext_translate): Ensure that "" isn't translated.
5905
505e41dc
VS
59062012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5909 TRANSLATORS comment.
5910 (grub_diskfilter_print_partmap): Propagate changing of error into
5911 warning.
5912
e44092db
VS
59132012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5914
5915 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5916 to uint64_t to prevent overflow.
5917 (grub_diskfilter_lv): Increase start_extent and extent_count
5918 to uint64_t to prevent overflow.
5919
9b83956a
VS
59202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * configure.ac: Increase version.
5923
da0d5b3f
VS
59242012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5927
5928 * po/Rules-translit: New file.
5929 * po/arabic.sed: Likewise.
5930 * po/cyrillic.sed: Likewise.
5931 * po/greek.sed: Likewise.
5932 * po/hebrew.sed: Likewise.
5933 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5934 * po/Makefile.in.in: Add extra_dist4.
5935
ac66b453
VS
59362012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5939
5940 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5941 modify names. Introduce MODE_BIGENDIAN.
5942 * grub-core/fs/minix_be.c: New file.
5943 * grub-core/fs/minix2_be.c: Likewise
5944 * grub-core/fs/minix3_be.c: Likewise.
5945 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5946 minix3_be.
5947 * grub-core/Makefile.core.def (minix_be): New module.
5948 (minix2_be): Likewise.
5949 (minix3_be): Likewise.
5950
59512012-04-01 Felix <email@hamburg.de>
5952
5953 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5954 (devs): Add MBP 2011.
5955
0a2d5a82
VS
59562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5959
d1625889
VS
59602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * grub-core/normal/cmdline.c (print_completion): New field
5963 prompt_len.
5964 (grub_cmdline_get): Handle width properly.
5965
6d36a236
VS
59662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5969
9576977e
VS
59702012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5973 after 29th of February.
9576977e 5974
d73ff15d
VS
59752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 Fix exfat endianness handling.
5978
5979 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5980 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5981 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5982 Byte-swap utf16 when necessary.
5983 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5984
bbb39a45
AB
59852012-03-31 Anton Blanchard <anton@samba.org>
59862012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 Fix btrfs endianness handling.
5989
5990 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5991 (lower_bound): Make root uint64_t. Use root in le.
5992 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5993 (find_path): Fix template key init.
5994 (grub_btrfs_dir): Fix mtime byteswap.
5995 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5996
354e0af7
VS
59972012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6000 recursion_depth. Break infinite resursions. All users updated.
6001
4e75f21c
VS
60022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6005 after free.
6006 Reported by: Peter Jones.
6007
25581802
AB
60082012-03-31 Anton Blanchard <anton@samba.org>
6009
6010 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6011 8 bit values.
6012
08fbf92e
VS
60132012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * util/grub-install.in: Fix nvram call for PreP.
6016
5d1182a6
VS
60172012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6020 the error when some elements are missing into a warning.
6021
3f8cdd90
VS
60222012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6025
51006716
CW
60262012-03-28 Colin Watson <cjwatson@ubuntu.com>
6027
6028 * docs/grub.texi (Invoking grub-probe): New section.
6029 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6030
e1bd676b
VS
60312012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 Fix tab and wide character handling in editor and menu.
6034
6035 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6036 agglomerate control characters with combining marks.
6037 (bidi_line_wrap): Allow break on tab.
6038 (grub_unicode_get_comb_start): New function.
6039 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6040 and tab correctly.
6041 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6042 with a space.
6043 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6044 fixed_tab_size. All users updated.
6045 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6046 (grub_term_getcharwidth): Handle \t.
6047 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6048 and copy.
6049
22e6a774
VS
60502012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Handle big-endian mdraid.
6053
6054 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6055 * grub-core/Makefile.core.def (mdraid09_be): New module.
6056 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6057 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6058 * grub-core/disk/mdraid_linux_be.c: New file.
6059
3c0eae66
VS
60602012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6063
b6cf74c9
VS
60642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6067 missing quotes which caused confusion among translators.
6068
83c93b9c
VS
60692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * util/grub-mkconfig_lib.in: Fix typo.
6072
ac6fd218
VS
60732012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6076 spaces.
6077 * tests/grub_script_leading_whitespace.in: New file.
6078 * Makefile.util.def (grub_script_leading_whitespace): New test.
6079
ba287dd8
VS
60802012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6081
6082 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6083 to work.
6084
d2d58d0a
VS
60852012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6088 starts with control character.
6089
0382d9bb
VS
60902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6091
6092 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6093 overflow.
6094 (grub_gdb_outbuf): Likewise.
6095
d83ff9f9
VS
60962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6099 zero terminator. Fixes a crash.
6100
2282da4a
VS
61012012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6104 beyond 4 GiB.
6105 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6106 images independently of preffered adderss field.
6107
0ae4f0bd
VS
61082012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6111 * grub-core/commands/regexp.c: Likewise.
6112 * grub-core/loader/i386/linux.c: Likewise.
6113 * grub-core/partmap/msdos.c: Likewise.
6114 * grub-core/script/execute.c: Likewise.
6115 * grub-core/term/gfxterm.c: Likewise.
6116
546fbe9b
VS
61172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 Add variable parsing in $"..." and fix several mismatches with bash.
6120
6121 * Makefile.util.def (grub_script_gettext): New test.
6122 * grub-core/script/execute.c (parse_string): New function.
6123 (gettext_append): Likewise.
6124 (grub_script_arglist_to_argv): Use gettext_append.
6125 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6126 * tests/grub_script_gettext.in: New file.
6127
9fdb2d7b
VS
61282012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 Fix handling of leading spaces in scripts.
6131
6132 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6133 spaces.
6134 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6135 other than skipping \r. All users updated.
6136 * tests/grub_script_echo1.in: Add space-related tests.
6137 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6138
1a1ac4f6
VS
61392012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6142
b63d89b6
VS
61432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * configure.ac: Bump up the version to beta2.
6146
17f38c0f
VS
61472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 Fix gettext reload bugs (e.g. inability to disable gettext
6150 once enabled).
6151
6152 * grub-core/gettext/gettext.c: Encapsulate all static variables in
6153 main_context and secondary_context. All functions updated.
6154 (grub_gettext_translate): Rename to ...
6155 (grub_gettext_translate_real): ... this. Return NULL on failed
6156 translate.
6157 (grub_gettext_translate): Handle secondary context.
6158 (grub_gettext_delete_list): Close file and zero-out the context.
6159 (grub_mofile_open): Don't call grub_gettext_delete_list.
6160 Don't close file.
6161 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
6162 if locale="" to avoid pointless error message.
6163 (grub_gettext_env_write_lang): Update lang even if load fails.
6164 Handle secondary context.
6165 (grub_gettext_reread_prefix): New function.
6166 (read_main): Likewise.
6167 (read_secondary): Likewise.
6168 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
6169 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
6170 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
6171 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
6172
8e56f870
VS
61732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * configure.ac: Decrease warning level to avoid spurious warnings and
6176 to be able to compile with GCC 4.2.
6177 * Makefile.util.def: Remove -Wno-error=logical-op.
6178
82f6d455
WB
61792012-03-10 William Bittner <william.bittner@gmail.com>
6180
6181 * util/import_unicode.py: Add missing brackets around string for
6182 python 3 support.
6183
1ecd61a4
VS
61842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 Fix efi chainloader on network root.
6187
6188 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6189 network devices.
6190 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6191 New function.
6192
14361ee8
VS
61932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6196 unused show_text member.
6197 * docs/grub.texi: Document "text" property.
6198
922aabf3
VS
61992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6202 in dprintf.
6203
ec316771
VS
62042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 Fix IMSM handling on Fedora.
6207
6208 * util/getroot.c (grub_util_is_imsm): New function.
6209 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6210
0f021838
VS
62112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * Makefile.am: Strip gold section.
6214 * conf/Makefile.common: Likewise.
6215 * gentpl.py: Likewise.
6216 * grub-core/Makefile.core.def: Likewise.
6217 * grub-core/genmod.sh.in: Likewise.
6218
1039c8eb
VS
62192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6222 * util/grub.d/20_linux_xen.in: Likewise.
6223 Based on Debian patch.
6224
6dd412cd
VS
62252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * util/grub.d/10_linux.in: Fix syntax error resulting in
6228 Richard Laager's patch.
6229 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6230
3fd8bae5
VS
62312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6234 dependencies.
6235
7eea1671
RL
62362012-03-10 Richard Laager <rlaager@wiktel.com>
6237
6238 * util/grub.d/10_linux.in: Fix ZFS root passing.
6239
e8e0566b
VS
62402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6243 * grub-core/commands/xnu_uuid.c: Likewise.
6244 * grub-core/loader/efi/appleloader.c: Likewise.
6245 * grub-core/script/execute.c: Likewise.
6246 * grub-core/script/main.c: Likewise.
6247 * util/grub-mkfont.c: Likewise.
6248
1acc5b1f
VS
62492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * util/grub-mkfont.c (options): Use more appropriate "select" that
6252 "set" for face index.
6253
35d70620
VS
62542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * util/grub-editenv.c (options): Gettextize command summaries.
6257
c9eb96b5
VS
62582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6261 "out of memory" error messagge.
6262
1f493136
VS
62632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6266 of diskfilter for diskfilter on diskfilter support.
6267
6d790129
VS
62682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6271
005f46c9
VS
62722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6275 themes/starfield.
6276
c8f778a0
VS
62772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6280
de1e64eb
VS
62812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6284
c6d54211
VS
62852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6288 of error message.
6289
dd390777
VS
62902012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6293
5fd1c522
VS
62942012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6297 message.
c6d54211 6298 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6299
fae01f6c
VS
63002012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6303 Gettextize.
6304 * util/grub-mount.c (options): Likewise.
6305
292fdaff
VS
63062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6309 gettextize.
6310 * grub-core/commands/search_wrap.c (options): Likewise.
6311
ecdbae77
VS
63122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6315
52bfedfa
VS
63162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6319 size calculation.
6320 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6321 none is known.
6322
55b20e58
VS
63232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6326 "temporary" since it's used in identifier and is limited in space.
6327
fda9d101
VS
63282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * po/POTFILES.in: Regenerate. Include *.h since they contain
6331 translatable strings as well.
6332
6a0295e2
VS
63332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6336 byte-swap on big-endian.
6337 Reported by: Lennart Sorensen
6338
807fb77c
VS
63392012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6342 (allocate_pages): Improve dprintf.
6343 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6344 code32_start. Fill code32_start and kernel_alignment in params.
6345 (grub_cmd_initrd): Use prot_init_space.
6346
61ac50ba
VS
63472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6350
abdd26dd
VS
63512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * util/grub-install.in: Add missing dot at the end of sentence.
6354
6e69da9c
VS
63552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6358 * grub-core/commands/videotest.c: Likewise.
6359 * grub-core/loader/i386/linux.c: Likewise.
6360
4a929343
VS
63612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6364 sentence.
6365 Reported by: Milo Casagrande.
6366
bb51c6c6
VS
63672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6370 * grub-core/commands/gptsync.c: Likewise.
6371 * grub-core/commands/hashsum.c: Likewise.
6372 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6373 * grub-core/commands/legacycfg.c: Likewise.
6374 * grub-core/io/gzio.c: Likewise.
6375 * grub-core/net/net.c: Likewise.
6376 * grub-core/term/gfxterm.c: Likewise.
6377 * grub-core/term/terminfo.c: Likewise.
6378 * grub-core/tests/test_blockarg.c: Likewise.
6379 * grub-core/video/video.c: Likewise.
6380 * util/grub-install.in: Likewise.
6381 * util/grub-mkfont.c: Likewise.
6382
b2b149cb
VS
63832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6386
c7c080ad
VS
63872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6390 Reported by: David Prévot.
c7c080ad 6391
f2e243c0
VS
63922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6395 description.
6396
09963c76
VS
63972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * util/grub-script-check.c (main): Fix a syntax error message which was
6400 unclear.
6401
a50514a8
VS
64022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6405
4650daec
VS
64062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6409 messages.
6410
64112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6412
6413 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6414 without argument.
6415 * util/grub-mount.c (options): Likewise.
6416
bbc5a342
VS
64172012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6420
ef292a87
VS
64212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * grub-core/net/http.c: Add TRANSLATORS comments.
6424 * grub-core/normal/cmdline.c: Likewise.
6425 * grub-core/normal/misc.c: Likewise.
6426 * grub-core/partmap/msdos.c: Likewise.
6427 * grub-core/parttool/msdospart.c: Likewise.
6428 * grub-core/script/execute.c: Likewise.
6429 * grub-core/script/main.c: Likewise.
6430 * grub-core/term/terminfo.c: Likewise.
6431 * grub-core/video/bitmap.c: Likewise.
6432 * util/grub-install.in: Likewise.
6433 * util/grub-mkimage.c: Likewise.
6434 * util/grub-mklayout.c: Likewise.
6435 * util/grub-setup.c: Likewise.
6436
0fc19bd0
VS
64372012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6440 with similar messages in grub-fstest.
6441
d95862ef
VS
64422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * util/grub-install.in: Unify "option requires an argument" message
6445 with similar messages in other files.
6446 * util/grub-mkconfig.in: Likewise.
6447
b7308f90
VS
64482012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * util/grub-set-default.in: Replace printf with gettext_printf (the
6451 string in in question is already translated from grub-reboot)
6452
559dc587
VS
64532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * configure.ac: Bump up the version to beta1.
6456
1a11761f
VS
64572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6460 case when min_align = 0.
6461
24539abd
VS
64622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6465 and fix a case when line_start overflows.
6466
32bd735b
VS
64672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * util/grub-reboot.in (usage): Mention id posibility.
6470 * util/grub-set-default.in (usage): Likewise.
6471
1a2fd1e6
VS
64722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6475 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6476 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6477 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6478 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6479 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6480 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6481
90eeab76
VS
64822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/commands/menuentry.c (options): Remove
6485 GRUB_ARG_OPTION_REPEATABLE.
6486 Reported by: Andreas Vogel
6487
5ad1be82
AV
64882012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6489
6490 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6491
cb055286
HE
64922012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6493
6494 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6495 error.
6496
93b1cd79
VS
64972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 Use sort -V by the idea of Georgi Georgiev.
6500
6501 * util/grub-mkconfig_lib.in (version_sort): New function.
6502 (version_test_numeric): Use version_sort.
6503
0cdc126c
VS
65042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 Use submenus in grub-mkconfig.
6507
6508 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6509 * util/grub-mkconfig_lib.in (grub_quote): New function.
6510 (gettext_printf): Use gettext and not gettext_quoted to fix several
6511 messages.
6512 * util/grub.d/10_hurd.in: Use submenus.
6513 * util/grub.d/10_kfreebsd.in: Likewise.
6514 * util/grub.d/10_linux.in: Likewise.
6515 * util/grub.d/10_netbsd.in: Likewise.
6516 * util/grub.d/20_linux_xen.in: Likewise.
6517 * util/grub.d/30_os-prober.in: Likewise.
6518 * util/grub.d/10_illumos.in: Add missing quoting.
6519 * util/grub.d/10_windows.in: Likewise.
6520
d9bef9bc
VS
65212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6522
6523 Fix menu title instability bug.
6524
6525 * grub-core/commands/menuentry.c (options): New option --id.
6526 (grub_normal_add_menu_entry): New argument id. All users updated.
6527 (grub_cmd_menuentry): Handle --id.
6528 (grub_menu_init): Accept unknown arguments.
6529 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6530 feature_menuentry_options.
6531 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6532 saved_entry.
6533 (get_entry_number): Match with id as well.
6534 * include/grub/menu.h (grub_menu_entry): New member id.
6535 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6536 * util/grub.d/00_header.in: Define menuentry_id_option.
6537 * util/grub.d/10_hurd.in: Define id.
6538 * util/grub.d/10_illumos.in: Likewise.
6539 * util/grub.d/10_kfreebsd.in: Likewise.
6540 * util/grub.d/10_linux.in: Likewise.
6541 * util/grub.d/10_netbsd.in: Likewise.
6542 * util/grub.d/10_windows.in: Likewise.
6543 * util/grub.d/20_linux_xen.in: Likewise.
6544 * util/grub.d/30_os-prober.in: Likewise.
6545
65462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6547
6548 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6549 "scope" with "body".
6550
7c8d0ce7
VS
65512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6554 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6555 prot_size and prot_file_size.
6556
49de079b
VS
65572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6560 All users updated. If easily=1 require raid-5/-6 to be full.
6561 (is_node_readable): Likewise.
6562 (scan_devices): Scan incomplete but readable LVs at the end.
6563 (grub_diskfilter_memberlist): Pull missing devices.
6564 (insert_array): Skip scanning until device is complete or scan is
6565 done otherwise.
6566 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6567 check.
6568 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6569 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6570
aff05d45
MG
65712012-03-03 Matthew Garrett <mjg@redhat.com>
65722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 Avoid EFI boot services when loading Linux.
6575
6576 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6577 avoid_efi_bootservices. All users updated.
6578 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6579 argument avoid_efi_bootservices. All users updated.
6580 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6581 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6582 align, min_align, relocatable, prefered_address. All users updated.
6583 Allocate avoiding boot services if kernel is relocatable.
6584 (grub_cmd_linux): Check if kernel is relocatable.
6585 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6586 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6587 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6588 avoid_efi_boot_services.
6589 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6590 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6591 (linux_kernel_params): Likewise.
6592
3935dde2
MG
65932012-03-03 Matthew Garrett <mjg@redhat.com>
65942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 Use EDID on EFI.
6597
6598 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6599 datasize_out.
6600 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6601 modes. Set gop_handle.
6602 (grub_video_gop_get_edid): New function.
6603 (grub_gop_get_preferred_mode): Likewise.
6604 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6605 (grub_video_efi_gop_adapter): Set .get_edid.
6606 * include/grub/efi/edid.h: New file.
6607 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6608
32107ec0
VS
66092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * util/grub-install.in: Load efivars unconditionally.
6612
e70a2c50
VS
66132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * po/Rules-piglatin: Change suffix from .po-update-en to
6616 .po-update-en-piglatin.
6617
8f9cace1
VS
66182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Add a pig farm.
6621
6622 * po/piglatin.sed: New file.
6623 * po/en@piglatin.header: Likewise.
6624 * po/Rules-piglatin: Likewise.
6625 * po/README: Add en@piglatin to autogenerated languages.
6626
8f95d002
VS
66272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6630 "Command for ...".
6631 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6632 "Check" since we don't check anything.
6633 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6634 is 64-bit one.
6635 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6636 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6637 (grub_md_sha512_real): Likewise.
6638
805a8dcc
VS
66392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/commands/gptsync.c: Fix typographic quoting.
6642 * grub-core/commands/ieee1275/suspend.c: Likewise.
6643 * grub-core/commands/parttool.c: Likewise.
6644 * grub-core/commands/search_wrap.c: Likewise.
6645 * grub-core/commands/videoinfo.c: Likewise.
6646 * grub-core/gfxmenu/gui_label.c: Likewise.
6647 * grub-core/hello/hello.c: Likewise.
6648 * grub-core/kern/emu/main.c: Likewise.
6649 * grub-core/net/net.c: Likewise.
6650 * grub-core/normal/menu.c: Likewise.
6651 * grub-core/normal/menu_text.c: Likewise.
6652 * grub-core/normal/misc.c: Likewise.
6653 * util/grub-editenv.c: Likewise.
6654 * util/grub-install.in: Likewise.
6655 * util/grub-kbdcomp.in: Likewise.
6656 * util/grub-mkconfig.in: Likewise.
6657 * util/grub-mknetdir.in: Likewise.
6658 * util/grub-mkrescue.in: Likewise.
6659 * util/grub-mkstandalone.in: Likewise.
6660 * util/grub-reboot.in: Likewise.
6661 * util/grub-set-default.in: Likewise.
6662 * util/grub-setup.c: Likewise.
6663 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6664
40211ab8
VS
66652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6668 * grub-core/commands/keystatus.c: Likewise.
6669 * grub-core/commands/loadenv.c: Likewise.
6670 * grub-core/commands/probe.c: Likewise.
6671 * grub-core/commands/regexp.c: Likewise.
6672 * grub-core/commands/true.c: Likewise.
6673 * grub-core/commands/videoinfo.c: Likewise.
6674 * grub-core/disk/cryptodisk.c: Likewise.
6675 * grub-core/disk/ldm.c: Likewise.
6676 * grub-core/disk/loopback.c: Likewise.
6677 * grub-core/disk/luks.c: Likewise.
6678 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6679 * grub-core/kern/disk.c: Likewise.
6680 * grub-core/kern/emu/hostdisk.c: Likewise.
6681
0c7d99c7
VS
66822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6685 * util/grub-install.in: Add missing quote in the comment.
6686
e7d2559b
VS
66872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6690 * grub-core/commands/lsmmap.c: Likewise.
6691 * grub-core/commands/minicmd.c: Likewise.
6692 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6693 * grub-core/commands/regexp.c: Likewise.
6694 * grub-core/gdb/gdb.c: Likewise.
6695 * grub-core/term/gfxterm.c: Likewise.
6696 * util/grub-mkconfig.in: Likewise.
6697 * util/grub-mkfont.c: Likewise.
6698 * util/grub-mklayout.c: Likewise.
6699 * util/grub-mknetdir.in: Likewise.
6700 * util/grub-mkrescue.in: Likewise.
6701 * util/grub.d/30_os-prober.in: Likewise.
6702
49ce9e50
VS
67032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6706 with "Direct color" and "Packed" with "Packed pixel".
6707 (grub_cmd_videoinfo): Simplify legend.
6708
e4b791fa
VS
67092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6710
6711 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6712 absolutely unclear error message.
6713
fd1265cb
VS
67142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * util/grub-mkstandalone.in: Remove confusing leftover print.
6717
8822a8a0
VS
67182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6721 comments.
6722 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6723 (GRUB_MOD_INIT): Likewise.
6724 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6725 VGA mode.
6726 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6727 comments.
6728 * util/grub-install.in (usage): Likewise.
6729 Spell ID in whole letters.
6730 Add missing ending dot.
6731 Quote variables.
6732 * util/grub-reboot.in: Fix capitalisation.
6733 * util/grub-set-default.in: Likewise.
6734
937fd0cc
VS
67352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6738 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6739 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6740 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6741 Disable -Werror for -Wdeprecated-declarations.
6742 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6743 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6744 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6745 (grub_util_get_grub_dev): Make luks handling dependent on
6746 HAVE_DEVICE_MAPPER and not __linux__.
6747 (get_win32_path): Fix format security.
6748 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6749 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6750 Don't try grub_find_zpool_from_dir.
6751 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6752 #ifdef-out paresdir.
6753
1bab1ae3
VS
67542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * util/grub-pe2elf.c (usage): Add missing noreturn.
6757 (write_section_data): Rename name to shname to avoid shadowing.
6758 (write_symbol_table): Rename name to symname to avoid shadowing.
6759 Fix write_reloc_section call.
6760
ef023e42
VS
67612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6764 to ensure that it's after the last byte of .text.
6765
48afcb75
VS
67662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * util/ieee1275/ofpath.c (my_isdigit): New function.
6769 (trailing_digits): Use my_isdigit.
6770 (strip_trailing_digits): Likewise.
6771
88d51eff
VS
67722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6775 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6776
17edc2ba
VS
67772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * grub-core/kern/i386/pc/startup.S: Define __start.
6780
ad5518d7
VS
67812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6784 strip already transforms he format.
6785
9e95e1bf
VS
67862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6789
9cc3ee5c
VS
67902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * util/grub-install.in: Add missing gettext init.
6793 * util/grub-kbdcomp.in: Likewise.
6794 * util/grub-mkconfig.in: Likewise.
6795 * util/grub-mknetdir.in: Likewise.
6796 * util/grub-mkrescue.in: Likewise.
6797 * util/grub-mkstandalone.in: Likewise.
6798 * util/grub-reboot.in: Likewise.
6799 * util/grub-set-default.in: Likewise.
6800 * util/grub.d/00_header.in: Likewise.
6801 * util/grub.d/10_hurd.in: Likewise.
6802 * util/grub.d/10_windows.in: Likewise.
6803 * util/grub.d/30_os-prober.in: Likewise.
6804 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6805
49e08a06
VS
68062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * po/Rules-swiss: Fix header comment.
6809
3809cb41
AV
68102012-02-29 Andreas Vogel <anvoit>
6811
6812 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6813 resulted in leak of arguments.
6814
fa6ec573
VS
68152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6818 reed_solomon_size const definition instead of computing it since
6819 Apple assembler doesn't support the later.
6820
22899b9c
VS
68212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * gentpl.py (kernel): Rewrite Apple part.
6824
a132afc3
VS
68252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6828
9d742bd4
VS
68292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6830
6831 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6832 ELF section gap.
6833 (load_image): Likewise.
6834
f04a9a21
VS
68352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * configure.ac: Fix a typo in previous commit.
6838
46cf439c
VS
68392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 Don't add -Wl,-N on Apple platform.
6842
6843 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6844 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6845
c4c48c54
VS
68462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/Makefile.core.def (lzma_decompress): Use
6849 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6850
31a12124
VS
68512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/genmod.sh.in: Rewrite the Apple part.
6854
4f3aa1af
VS
68552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6858 comparison.
6859
7bd8b0c7
VS
68602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * acinclude.m4 (grub_CHECK_PIC): New test.
6863 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6864
97304d7c
VS
68652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6868 to avoid the warning.
6869
fb883812
VS
68702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6873 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6874 after. All users updated.
6875
a121c964
VS
68762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 Use the common size routine in hostfs so we can read disks as well.
6879
6880 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6881 (grub_util_get_fd_size): ... this. Return size in bytes.
6882 All users updated.
6883 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6884 grub_util_get_fd_size.
6885
c66d6410
VS
68862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6889 Add blocksize retrieval.
6890
dfc8aeb0
VS
68912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * configure.ac: Restore CFLAGS after efiemu check.
6894
403e25a5
VS
68952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6898 Apple bug.
6899
382775d1
VS
69002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6903
6fd4e6e4
VS
69042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6907 (grub_cmd_halt): Likewise.
6908
bea359d6
VS
69092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6912 for local arithmetics.
6913 Break %sp init into 2 instructions.
6914 Add 0 byte at the end.
6915
32eb6ee1
VS
69162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6919 before loops.
6920
e8377389
VS
69212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6924 for context.
6925
8cb17de7
VS
69262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * grub-core/disk/ldm.c (make_vg): Init part.name.
6929 (grub_ldm_detect): Silence spurious warning.
6930 (grub_util_is_ldm): Likewise.
6931
595717e6
VS
69322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6935 sane value to avoid a spurious warning.
6936
c4b7e588
VS
69372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6940 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6941
59824957
VS
69422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6945 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6946
70115b99
VS
69472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6950 hardcoding the relevant info.
6951
56733740
VS
69522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6955 missing const qualifiers.
6956 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6957
43481481
VS
69582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * util/getroot.c [__APPLE__]: Add missing includes.
6961 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6962
3cb38f01
VS
69632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6966
d9dbf11e
VS
69672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6970 avoid conflicts.
6971
0c42a45d
VS
69722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6975
46c34eb0
VS
69762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6979 and grub_file_close call.
6980
99ce1597
VS
69812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 Add LZSS Mach-O support (needed for new xnu kernelcache).
6984
6985 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6986 * grub-core/loader/lzss.c: New file.
6987 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6988 on Mach-O open failure.
6989 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6990 Don't free cmdsXX in uncompressedXX is set.
6991 (grub_macho_file): Init new fields.
6992 New argument is_64bit. All users updated.
6993 Handle compressed. Error out if no suitable architecture is found.
6994 Don't close file.
6995 (grub_macho_open): New argument is_64bit. All users updated.
6996 * grub-core/loader/macho32.c: Add defines for new fields.
6997 * grub-core/loader/macho64.c: Likewise.
6998 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6999 (grub_macho_parse): Handle compressed.
7000 Defer actual processing if compressed.
7001 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7002 "filename". All users updated.
7003 (grub_macho_size): New argument "filename". All users updated.
7004 (grub_macho_get_entry_point): Likewise.
7005 (grub_macho_load): Handle compressed.
7006 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7007 (GRUB_MACHO_LZSS_OFFSET): New define.
7008 (grub_decompress_lzss): New proto.
7009 * include/grub/machoload.h (grub_macho_file): New fields to handle
7010 compressed.
7011 (grub_macho_contains_macho64): Remove proto.
7012 (grub_macho_contains_macho32): Likewise.
7013 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7014
ebd17d6f
VS
70152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7018
2702b4e4
VS
70192012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7020
7021 Fix make dist.
7022
7023 * Makefile.am (starfield_theme_files): New var.
7024 (starfield_DATA): Use starfield_theme_files.
7025 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7026 Add bootcheck-related files.
7027 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7028 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7029 and font_char_metrics.txt.
7030 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7031 (setjmp): Add lib/ia64/longjmp.S.
7032 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7033 * po/POTFILES.in: Regenerate.
7034 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7035 DISTFILES.common.extra1.
7036 * util/devicemap.c: Removed.
7037 * grub-core/lib/i386/relocator_backward.S: Likewise.
7038 * util/import_gcry.py: Remove unused files. Add extra_dist for
7039 ChangeLog.
7040
cf1adfdf
VS
70412012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7044 grub_gettext_delete_list before changing grub_gettext_max to avoid
7045 running out of array bounds.
7046
70472012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7048
7049 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7050 grub_vga_text_init/grub_vga_text_fini.
7051
cf1adfdf 70522012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7053
7054 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7055
541d92e9
VS
70562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * configure.ac: Bump to 2.00~beta0.
7059
7931dddf
VS
70602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7063 missing initialisation.
7064
f1b16fa3
VS
70652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7068
83ddae23
VS
70692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 Support v2 xnu boot arguments.
7072
7073 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7074 New argument fsbfreq_out.
7075 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7076 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7077 be used.
7078 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7079 darwin_version.
7080 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7081 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7082 (grub_xnu_boot_params): Rename to ...
7083 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7084 (grub_xnu_boot_params_v2): New struct.
7085
dc693fe6
VS
70862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7089 zeroing of CRC field before computing CRC.
7090
5a6e39c2
VS
70912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7094 Change order of allocations to decrease fragmentation.
7095
6c21f5d7
VS
70962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7099
cfe456dc
CW
71002012-02-27 Colin Watson <cjwatson@ubuntu.com>
7101
7102 Use write-combining MTRR to speed up video with buggy BIOSes.
7103
7104 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7105 (cpuid): New define.
7106 (rdmsr): Likewise.
7107 (wrmsr): Likewise.
7108 (mtrr_base): Likewise.
7109 (mtrr_mask): Likewise.
7110 (grub_vbe_enable_mtrr_entry): New function.
7111 (grub_vbe_enable_mtrr): Likewise.
7112 (grub_vbe_disable_mtrr): Likewise.
7113 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7114 control off to BIOS.
7115 (grub_video_vbe_init): Fill mtrr.
7116 (grub_video_vbe_fini): Disable mtrr.
7117 (grub_video_vbe_get_info_and_fini): Likewise.
7118 (grub_video_vbe_setup): Enable mtrr.
7119
e3c78337
CW
71202012-02-27 Colin Watson <cjwatson@ubuntu.com>
7121
7122 * include/grub/partition.h (grub_partition_map): Change prototype of
7123 embed to take a maximum value for nsectors.
7124 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7125 * include/grub/fs.h (grub_fs): Likewise.
7126 * grub-core/partmap/msdos.c (embed_signatures): New array.
7127 (pc_partition_map_embed): Check for and avoid sectors matching any
7128 of the signatures in embed_signatures, up to max_nsectors.
7129 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7130 returned sector map to max_nsectors.
7131 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7132 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7133 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7134 * util/grub-setup.c (setup): Allow for the embedding area being
7135 split into multiple blocklists. Tell dest_partmap->embed the
7136 maximum number of sectors we care about.
7137
71382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7141 Specify blocklist_install and reserver_first_sector for all fs.
7142 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
7143 blocklists.
7144
984b973f
VS
71452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * util/grub-install.in: Clarify strings.
7148 Fix source dir check.
7149
f122e0d6
RL
71502012-02-27 Richard Laager <rlaager@wiktel.com>
7151
7152 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
7153 "zfs" and "fuse.zfs" as synonyms.
7154
071114bb
VS
71552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * configure.ac: Put platform and target_cpu substitutions back since
7158 they are used for directories.
7159
817e6abc
RL
71602012-02-27 Richard Laager <rlaager@wiktel.com>
71612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * util/grub.d/10_linux.in: Add ZFS-related arguments.
7164 * util/grub.d/20_linux_xen.in: Likewise.
7165
897b7419
RL
71662012-02-27 Richard Laager <rlaager@wiktel.com>
7167
7168 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
7169 with full paths.
7170
a414bd15
RL
71712012-02-27 Richard Laager <rlaager@wiktel.com>
7172
7173 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
7174 unescape.
7175
30ac48c4
VS
71762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 Don't use insecure popen in getroot.
7179
7180 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7181 (exec_pipe): ... here.
7182 (find_root_devices_from_poolname): Use exec_pipe.
7183
53f13848
VS
71842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Remove platform and target_cpu replacement.
7187
7188 * configure.ac: Remove platform and target_cpu substitutions.
7189 * tests/util/grub-shell.in: Use modinfo.
7190 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7191 explicitly.
7192
90cb2803
VS
71932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Autodetect platform in grub-install but allow override.
7196
7197 * util/grub-install.in: Autodetect platform. Support --target and
7198 --directory. Read platform from modinfo.sh.
7199
b9136427
VS
72002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Support btrfs multi-volume probe.
7203
7204 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7205 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7206 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7207 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7208 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7209 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7210 grub_find_root_devices_from_btrfs if on btrfs.
7211
c36e5cd1
VS
72122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Remove any awareness of *.c util files about target.
7215
7216 * Makefile.util.def (grub-setup): Split to ...
7217 (grub-bios-setup): ... and this.
7218 (grub-sparc64-setup): ... and this.
7219 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7220 * docs/man/grub-setup.h2m: Split into ...
7221 * docs/man/grub-sparc64-setup.h2m: ... this.
7222 * docs/man/grub-bios-setup.h2m: ... and this.
7223 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7224 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7225 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7226 (grub_target_addr_t): Remove.
7227 (grub_target_size_t): Remove.
7228 (grub_target_ssize_t): Remove.
7229 * util/grub-install.in: Use new grub-*-setup.
7230 * util/grub-mkimagexx.c (Elf_Word): New define.
7231 (Elf_Half): Likewise.
7232 (Elf_Section): Likewise.
7233 (ELF_ST_TYPE): Likewise.
7234 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7235 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7236
584b2f8a
VS
72372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 Replace grub_target_addr with more appropriate types.
7240
7241 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7242 grub_target_addr with grub_addr.
7243 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7244 grub_target_addr with grub_port.
7245 (grub_cmd_write): Likewise.
7246 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7247 grub_target_addr with grub_addr.
7248 (grub_cmd_write): Likewise.
7249 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7250
5a0dc6fb
VS
72512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7252
7253 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7254 const qualifier for vendor_guid.
7255
786aff6e
VS
72562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7259 const qualifier.
7260 (efiemu_memequal): Likewise.
7261 (find_variable): Likewise.
7262
49017b17
VS
72632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 Fix missing console prototype on qemu-mips.
7266
7267 * include/grub/mips/qemu_mips/console.h: New file.
7268
c5988629
MG
72692012-02-27 Matthew Garrett <mjg@redhat.com>
72702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7273 * include/grub/efi/efi.h: Likewise.
7274 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7275 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7276 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7277 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7278 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7279 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7280
e33f8d69
MG
72812012-02-27 Matthew Garrett <mjg@redhat.com>
7282
7283 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7284
fb312cd9
VS
72852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7288 error.
7289
7134247c
VS
72902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 * configure.ac: Remove inappropriate use of program_transform_name
7293 on grubdir and bootdir but allow explicit specification of those
7294 variables.
7295
6a313124
VS
72962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * util/grub-mknetdir.in (grub_prefix): Removed.
7299 (subdir): Use @bootdirname@ and @grubdirname@.
7300
2311c5ca
VS
73012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7304
7d5d60f7
VS
73052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * po/POTFILES.in: Regenerated.
7308
8151bc82
VS
73092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 Remove improper use of program_transform_name on pkglibrootdir.
7312
7313 * configure.ac (pkglibrootdir): Removed.
7314 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7315 * util/grub-mkimage.c: Likewise.
7316
b4a6a533
VS
73172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7320 warning.
7321
668f304f
VS
73222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * util/grub-install.in: Use file identifier if no UUID is available
7325 or user explicitly prompted for it.
7326
665f2341
NP
73272012-02-27 Navdeep Parhar <nparhar@gmail.com>
7328
7329 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7330 (freebsd_get_zfs): New function.
7331 (grub_freebsd_boot): Pass zfs UUID.
7332 (grub_cmd_freebsd): Set zfs UUID.
7333
8151bc82 73342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7335
7336 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7337 pkglibrootdir.
7338
e4c498a1
MG
73392012-02-27 Mike Gilbert <floppym@gentoo.org>
7340
7341 Add configure flag to control libzfs integration.
7342
7343 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7344
1e9a9a3f
VS
73452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7348 device.
7349 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7350 small devices.
7351
036985b8
VS
73522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7355 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7356 be used on non-modules.
7357
7358 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7359 Rename to grub_boot_init.
7360 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7361 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7362 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7363 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7364 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7365 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7366 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7367 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7368 includes.
7369 (grub_machine_init): Remove empty inits.
7370 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7371 includes.
7372 (grub_machine_init): Remove empty inits.
7373 * grub-core/term/arc/console.c: Remove explicit proto.
7374 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7375 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7376 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7377 grub_at_keyboard_fini.
7378 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7379 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7380 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7381 grub_gfxterm_fini.
7382 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7383 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7384 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7385 grub_vgatext_fini.
7386 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7387 * grub-core/term/serial.c (GRUB_MOD_INIT)
7388 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7389 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7390 grub_serial_fini.
7391 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7392 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7393 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7394 grub_terminfo_fini.
7395 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7396 (GRUB_MOD_FINI): Likewise.
7397 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7398 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7399 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7400 grub_video_radeon_fuloong2e_fini.
7401 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7402 [LOONGSON]: Rename to grub_video_sis315pro_init.
7403 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7404 grub_video_sis315pro_fini.
7405 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7406 [LOONGSON]: Rename to grub_video_sm712_init.
7407 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7408 grub_video_sm712_fini.
7409 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7410 (grub_at_keyboard_fini): Likewise.
7411 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7412 Don't declare grub_{modname}_init.
7413 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7414 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7415 New proto.
7416 (grub_keylayouts_fini) [!EMU]: Likewise.
7417 * include/grub/serial.h (grub_serial_init) [!EMU]:
7418 New proto.
7419 (grub_serial_fini) [!EMU]: Likewise.
7420 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7421 New proto.
7422 (grub_terminfo_fini) [!EMU]: Likewise.
7423 * include/grub/video.h (grub_font_init) [!EMU]:
7424 New proto.
7425 (grub_font_fini) [!EMU]: Likewise.
7426 (grub_gfxterm_init) [!EMU]: Likewise.
7427 (grub_gfxterm_fini) [!EMU]: Likewise.
7428 (grub_video_sm712_init) [!EMU]: Likewise.
7429 (grub_video_sm712_fini) [!EMU]: Likewise.
7430 (grub_video_sis315pro_init) [!EMU]: Likewise.
7431 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7432 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7433 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7434
d5534665
VS
74352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 Make nand a prefix for nand devices.
7438
7439 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7440
10133b5f
VS
74412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7444 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7445
8e307a62
VS
74462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * include/grub/env.h (grub_env_find): Remove prototype.
7449 * grub-core/kern/env.c (grub_env_find): Make static.
7450 (grub_env_set): Remove useless set.
7451
a4c65f34
VS
74522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/kern/i386/realmode.S: Remove useless align.
7455
d87893d5
VS
74562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * include/grub/dl.h (grub_dl_load_file): Don't export.
7459
50159add
VS
74602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7463 grub_dprintf.
7464
b2582b84
VS
74652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7468 grub_errors.
7469 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7470 not reloading whole superblock but only the part which is really needed.
7471 Remove useless grub_errors.
7472 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7473 grub_errors.
7474
e2a83395
VS
74752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 Don't export grub_get_rtc.
7478
7479 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7480 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7481
e7d2a906
VS
74822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7485
6cf1363b
VS
74862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7489 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7490
eece3349
VS
74912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 Remove prio_list.
7494
7495 * include/grub/list.h (grub_prio_list): Removed.
7496 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7497 GRUB_COMMAND_PRIO_MASK.
7498 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7499 GRUB_COMMAND_FLAG_ACTIVE.
7500 (grub_prio_list_insert): Removed.
7501 (grub_prio_list_remove): Likewise.
7502 (GRUB_AS_PRIO_LIST): Likewise.
7503 (GRUB_AS_PRIO_LIST_P): Likewise.
7504 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7505 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7506 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7507 * grub-core/kern/command.c (grub_register_command_prio): Inline
7508 the prio_list code.
7509 (grub_unregister_command): Likewise.
7510
94f064b4
VS
75112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 Fix interrupt mixup from previous commit.
7514
7515 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7516 (grub_realidt): New var.
7517 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7518 Load idt.
7519 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7520 New declaration.
7521 (grub_relocator16_boot): Set grub_relocator16_idt.
7522 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7523 (LOCAL(realidt)): ... this.
7524 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7525 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7526 (grub_realidt): New variable.
7527
27317084
VS
75282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7531 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7532 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7533 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7534 Gettextize.
7535 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7536 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7537 * po/POTFILES.in: Regenerate.
7538
47b40053
VS
75392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7542 errors.
7543
2b343101
VS
75442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7547 \0.
7548 (add_length): Likewise.
7549
ff27c3dd
LK
75502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
75512012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7552
7553 GDB serial and backtrace support.
7554
7555 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7556 (prot_to_real): Likewise.
7557 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7558 * grub-core/Makefile.core.def (backtrace): New module.
7559 (gdb): Likewise.
7560 * grub-core/gdb/cstub.c: New file.
7561 * grub-core/gdb/gdb.c: Likewise.
7562 * grub-core/gdb/i386/idt.c: Likewise.
7563 * grub-core/gdb/i386/machdep.S: Likewise.
7564 * grub-core/gdb/i386/signal.c: Likewise.
7565 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7566 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7567 * include/grub/backtrace.h: Likewise.
7568 * include/grub/gdb.h: Likewise.
7569 * include/grub/i386/gdb.h: Likewise.
7570
75712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7572
7573 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7574 New function.
7575 (add_length): Likewise.
7576 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7577 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7578 proto.
7579 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7580 __argp_get_display_len.
7581
ff27c3dd 75822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7583
7584 $"..." support in scripts.
7585
7586 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7587 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7588 * grub-core/script/yylex.l: Likewise.
7589 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7590 value.
7591
ff27c3dd 75922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7593
7594 * gentpl.py: Remove obsolete pkglib_DATA handling.
7595
ff27c3dd 75962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7597
7598 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7599 mailing list.
7600
7601 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7602 * util/grub-kbdcomp.in: Likewise.
7603 * util/grub-mkconfig.in: Likewise.
7604 * util/grub-mkconfig_lib.in: Likewise.
7605 * util/grub-mknetdir.in: Likewise.
7606 * util/grub-mkrescue.in: Likewise.
7607 * util/grub-mkstandalone.in: Likewise.
7608 * util/grub-reboot.in: Likewise.
7609 * util/grub-set-default.in: Likewise.
7610 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7611
ff27c3dd 76122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7613
7614 Remove GRUB_PREFIX.
7615
7616 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7617 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7618 used for backward compatibility.
7619
ff27c3dd 76202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7621
7622 Add new all_video module.
7623
7624 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7625 * grub-core/Makefile.core.def (all_video): New module.
7626 * grub-core/genmoddep.awk: Generate dependency of all_video from
7627 video.lst.
7628 * grub-core/lib/fake_module.c: New file.
7629 * grub-core/normal/main.c (features): Add feature_all_video_module.
7630 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7631 don't do explicit search again.
47454da5 7632 insmod all_video in load_video if available.
22c7ce85 7633
ff27c3dd 76342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7635
7636 Another round of string clarification and adding TRANSLATORS comments.
7637
ff27c3dd 76382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7639
7640 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7641
ff27c3dd 76422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7643
7644 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7645 to grub_ssize_t.
7646 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7647 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7648
ff27c3dd 76492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7650
7651 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7652 trailing newline implicitly. All users updated.
7653
ff27c3dd 76542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7655
7656 Implement serial on IEEE1275 and EFI.
7657
7658 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7659 on emu. Mention arc and emu as the only platforms without serial
7660 support.
7661 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7662 ieee1275 platforms.
7663 * grub-core/term/efi/serial.c: New file.
7664 * grub-core/term/ieee1275/serial.c: Likewise.
7665 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7666 specification if no ns8250 driver is available.
7667 (grub_cmd_serial): Likewise.
7668 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7669 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7670 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7671 (grub_efi_parity_type_t): New type.
7672 (grub_efi_stop_bits_t): Likewise.
7673 (grub_efi_serial_io_interface): New struct.
7674 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7675 available for all interfaces.
7676 Add EFI and IEEE1275 fields.
7677 (grub_ofserial_init): New proto.
7678 (grub_efiserial_init): Likeiwse.
7679 * util/grub.d/00_header.in: Don't check for the presence of serial
7680 module.
7681
ff27c3dd 76822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7683
7684 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7685 name as if it was an alias.
7686
114076ef
VS
76872012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * grub-core/commands/lsacpi.c (options): Fix typo.
7690
6a656b0e
VS
76912012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 Convert grub-emu to argp.
7694
7695 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7696 emu.
7697 * util/argp_common.c: Rename to ...
7698 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7699 Add missing includes.
7700 * grub-core/kern/emu/main.c: Convert to argp.
7701 * po/POTFILES.in: Regenerate.
7702 * util/grub-install.in (usage): Make first letter lowcase in messages
7703 for uniformity.
7704 * util/grub-setup.c (options): Likewise.
7705
1e3f8ae8
VS
77062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7709 Put back accidently commented-out code.
7710
ed167a80
VS
77112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7714 loop check using Brent algorithm.
7715 (grub_hfsplus_btree_search): Likewise.
7716
6753c0ec
VS
77172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * util/grub-install.in: Fix usage of wrong device for PreP install.
7720
4e27343f
VS
77212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * conf/Makefile.common (CFLAGS_GNULIB): Add
7724 -Wno-unsafe-loop-optimizations.
7725 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7726 on tools.
7727 * grub-core/commands/legacycfg.c: Add pragma to skip
7728 -Wunsafe-loop-optimizations.
7729 (check_password_md5_real): Fix loop counter type.
7730 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7731 reading.
7732 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7733 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7734 loop condition.
7735 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7736 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7737 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7738 condition.
7739 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7740 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7741 avoid possible infinite loops.
7742 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7743 and -Wunsafe-loop-optimizations.
7744 * grub-core/script/yylex.l: Likewise.
7745 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7746 (print_glyphs): Avoid infinite loops.
7747 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7748
697f18b0
GS
77492012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7750
7751 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7752 to avoid infinite loop.
7753 (disp_acpi_rsdt_table): Likewise.
7754
274416e8
VS
77552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/font/font.c (grub_font_load): Add support for default
7758 path for fonts ($prefix/fonts).
7759 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7760 for checking if string is a path.
7761 * grub-core/normal/main.c (features): Add feature_default_font_path.
7762 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7763 * util/grub.d/00_header.in: Use default directory if possible.
7764 * util/grub-install.in: Install unicode.pf2.
7765
b3e08622
VS
77662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7769 * po/Rules-swiss: New file.
7770 * po/swiss.sed: Likewise.
7771
fe42ce09
VS
77722012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * grub-core/fs/btrfs.c (find_device): Fix typos.
7775 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7776 * util/grub-mkrelpath.c (argp_parser): Likewise.
7777 Reported by: Yuri Chornoivan.
7778
72f1d065
DO
77792012-02-23 Dalet Omega <daletomega@gmail.com>
7780
7781 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7782 for usual informative messages.
7783
c5884973
DO
77842012-02-23 Dalet Omega <daletomega@gmail.com>
7785
7786 Starfield theme.
7787
7788 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7789 * conf/Makefile.common: Define starfielddir.
7790 * configure.ac: Configure starfield.
7791 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7792 * themes/starfield/README: Likewise.
7793 * themes/starfield/blob_w.png: Likewise.
7794 * themes/starfield/boot_menu_c.png: Likewise.
7795 * themes/starfield/boot_menu_e.png: Likewise.
7796 * themes/starfield/boot_menu_n.png: Likewise.
7797 * themes/starfield/boot_menu_ne.png: Likewise.
7798 * themes/starfield/boot_menu_nw.png: Likewise.
7799 * themes/starfield/boot_menu_s.png: Likewise.
7800 * themes/starfield/boot_menu_se.png: Likewise.
7801 * themes/starfield/boot_menu_sw.png: Likewise.
7802 * themes/starfield/boot_menu_w.png: Likewise.
7803 * themes/starfield/slider_c.png: Likewise.
7804 * themes/starfield/slider_n.png: Likewise.
7805 * themes/starfield/slider_s.png: Likewise.
7806 * themes/starfield/src/blob_nw.xcf: Likewise.
7807 * themes/starfield/src/bootmenu/: Likewise.
7808 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7809 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7810 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7811 * themes/starfield/src/slider_c.xcf: Likewise.
7812 * themes/starfield/src/slider_n.xcf: Likewise.
7813 * themes/starfield/src/slider_s.xcf: Likewise.
7814 * themes/starfield/src/terminalbox/: Likewise.
7815 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7816 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7817 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7818 * themes/starfield/starfield.png: Likewise.
7819 * themes/starfield/terminal_box_c.png: Likewise.
7820 * themes/starfield/terminal_box_e.png: Likewise.
7821 * themes/starfield/terminal_box_n.png: Likewise.
7822 * themes/starfield/terminal_box_ne.png: Likewise.
7823 * themes/starfield/terminal_box_nw.png: Likewise.
7824 * themes/starfield/terminal_box_s.png: Likewise.
7825 * themes/starfield/terminal_box_se.png: Likewise.
7826 * themes/starfield/terminal_box_sw.png: Likewise.
7827 * themes/starfield/terminal_box_w.png: Likewise.
7828 * themes/starfield/theme.txt: Likewise.
7829
17d73325
VS
78302012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * util/grub.d/00_header.in: Add missing export theme.
7833
dbebaf92
VS
78342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7837 already included.
7838 Reported by: Eren D.
7839
3d68bffb
VS
78402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * conf/Makefile.common (grubdatadir): Removed.
7843 (Makefile.am): Move eveything grubdata to pkgdata.
7844
4b59234d
VS
78452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/commands/acpihalt.c (get_sleep_type):
7848 Remove unused variable.
7849
463dcadc
VS
78502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7853 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7854 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7855 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7856 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7857 i18n with gettext no-op.
7858 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7859 GRUB_ACPI_OPCODE_STRING_CONST.
7860 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7861 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7862
e5b90c82
VS
78632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * po/POTFILES.in: Regenerate.
7866
2a704ca9
VS
78672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7870 -Wno-error=missing-noreturn.
7871
84f9d341
VS
78722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7875 condition to avoid possibly infinite loops.
7876 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7877 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7878
d46683f9
VS
78792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7882 condition to avoid possibly infinite loops.
7883
c44866b2
VS
78842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7887 on show_error.
7888
96790539
VS
78892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7892
1ba7e295
VS
78932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7896
21ffe8f1
VS
78972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * util/bin2h.c (usage): Add missing attribute noreturn.
7900
0ccb6b3c
VS
79012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7904 if the size isn't divisible by 512.
7905
b00d7fb6
VS
79062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Make list_push and list_remove functions rather than inline functions
7909 to decrease size and avoid aliasing violations.
7910
7911 * include/grub/list.h (grub_list_push): Move to ...
7912 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7913 * include/grub/list.h (grub_list_remove): Move to ...
7914 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7915
9d369087
VS
79162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7919 and -Wunused-result.
7920
af0250d9
VS
79212012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7924 Reported by: Seth Goldberg
7925
aad32b14
VS
79262012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7929
ac96441c
ST
79302012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7931
7932 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7933 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7934 command line.
7935 * docs/grub.texi (Simple configuration): Document
7936 GRUB_CMDLINE_GNUMACH.
7937
79382012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7939
7940 * conf/Makefile.common (platform_SCRIPTS): New variable.
7941 (platform_PROGRAMS): Likewise.
7942 * gentpl.py: Mark *,module and *.image for install.
7943 * grub-core/gdb_grub.in: Add a notice of expected environment.
7944 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7945 (gmodule.pl): Likewise.
7946
ac96441c 79472012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7948
7949 Replace grub_checkkey with grub_getkey_noblock.
7950
7951 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7952 (grub_getkey_noblock): ... this. All users updated.
7953
ac96441c 79542012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7955
7956 * grub-core/kern/emu/console.c: Move to ...
7957 * grub-core/term/emu/console.c: ...here.
7958 (grub_ncurses_getkey): Fix return value if no key is detected.
7959
e51b5666
VS
79602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7963 (grub_unit_test_fini): Likewise.
7964 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7965
79662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * include/grub/test.h (GRUB_UNIT_TEST)
7969
d9a62292
VS
79702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7973 Better error handling.
7974 (grub_script_return): Likewise.
7975 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7976
77c9182f
VS
79772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7980 rimplicit redifinition.
7981
edb13cf9
VS
79822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7985 GRUB.
7986
a9e9dc7c
VS
79872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7990 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7991 prompt here.
7992
b4ba8e02
VS
79932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7996 as GRUB_ERR_BUG. Don't malloc if no device is available.
7997
dded5540
VS
79982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8001 Mark calling with invalid term as GRUB_ERR_BUG.
8002
0cf69874
VS
80032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8006 packets rather than raising an error.
8007
59bfe502
VS
80082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8011 in if.
8012
db5fc596
VS
80132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8016 diagnostic to dprintf.
8017 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8018
e4b7f404
VS
80192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8022 device name.
8023
e7b02f9e
VS
80242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8027 (grub_ntfs_iterate_dir): Likewise.
8028
0331e102
VS
80292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8030
8031 Efiemu stylistic fixes and gettext.
8032
8033 * grub-core/efiemu/i386/loadcore32.c
8034 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8035 * grub-core/efiemu/i386/loadcore64.c
8036 (grub_arch_efiemu_relocate_symbols64): Likewise.
8037 * grub-core/efiemu/i386/pc/cfgtables.c
8038 (grub_machine_efiemu_init_tables): Likewise.
8039 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8040 (grub_efiemu_loadcore_initXX): Add a filename argument.
8041 All users updated.
8042 Improved error message.
8043 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8044 Add a filename argument.
8045 All users updated.
8046 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8047 Reclassify double relocation as GRUB_ERR_BUG.
8048
306fc074
VS
80492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8052 handling.
8053
794d8ef2
VS
80542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8057 on partition.
8058
80592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8060
8061 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8062
794d8ef2 80632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8064
8065 Improve string. Gettextize.
8066
78dde88e
VS
80672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8070 utils.
8071 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8072
4786a90f
VS
80732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8076 [GRUB_UTIL]: New function.
8077 (insert_array) [GRUB_UTIL]: Store partmaps.
8078 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8079 partmaps.
8080 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8081 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8082 (probe_abstraction): Print diskfilter and not raid.
8083 Reported by: Lennart Sorensen
8084
0b6225bd
VS
80852012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8088 * util/grub-mkimagexx.c (MASK3): New define.
8089 (add_value_to_slot_20b): Use MASK3.
8090 (add_value_to_slot_21): Likewise.
8091 (relocate_addresses): Fix format specification.
8092 (load_image): Explicitly init symtab_section.
8093
b055f8f6
VS
80942012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8097 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8098
b77c2fb7
VS
80992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8102 on powerpc.
8103 Reported by: Lennart Sorensen
8104
e3ec28ab
VS
81052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * gentpl.py: Add missing license header.
8108 * docs/grub.texi: Update copyright year.
8109
c8d9ead6
GS
81102012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8111
8112 Source grub-mkconfig_lib from the build directory at build time.
8113 Suggested by: Vladimir Serbinenko.
8114
8115 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8116 * util/grub-install.in: Define pkgdatadir if not already set, and source
8117 grub-mkconfig_lib from there.
8118 * util/grub-kbdcomp.in: Likewise.
8119 * util/grub-mkconfig.in: Likewise.
8120 * util/grub-mknetdir.in: Likewise.
8121 * util/grub-mkrescue.in: Likewise.
8122 * util/grub-mkstandalone.in: Likewise.
8123 * util/grub-reboot.in: Likewise.
8124 * util/grub-set-default.in: Likewise.
8125 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8126
ebcecdf1
VS
81272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 Increase warning level.
8130
8131 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8132 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8133 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8134 (TARGET_CFLAGS): Likewise.
8135 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8136 * grub-core/Makefile.core.def (decompressor_xz): Add
8137 -Wno-unreachable-code.
8138 (normal): Add -Wno-redundant-decls.
8139 (xzio): Add -Wno-unreachable-code.
8140 (lzopio): Add -Wno-redundant-decls -Wno-error.
8141 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8142 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
8143 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
8144 * grub-core/kern/dl.c: Add exception to -Wcast-align.
8145 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
8146 * grub-core/kern/i386/coreboot/init.c: Add exception to
8147 -Wsuggest-attribute=noreturn.
8148 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
8149 * grub-core/kern/ia64/dl_helper.c: Likewise.
8150 * grub-core/kern/mips/dl.c: Likewise.
8151 * grub-core/kern/sparc64/dl.c: Likewise.
8152 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
8153 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
8154 (memcmp): Likewise.
8155 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
8156 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
8157 * grub-core/loader/mips/linux.c: Likewise.
8158 * grub-core/loader/multiboot_elfxx.c: Likewise.
8159 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
8160 * grub-core/video/sm712.c: Add exception to -Wcast-align.
8161 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
8162 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
8163 fixme.
8164 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
8165 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
8166 Fix prototype.
8167
37bb97fe
VS
81682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
8171 address.
8172
29a3550b
VS
81732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8176 Avoid improper use of strings.
8177 (grub_cmd_legacy_initrdnounzip): Likewise.
8178
dfdffd0d
VS
81792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8182 attribute.
8183 (grub_util_info): Likewise.
8184 (grub_util_error): Likewise.
8185
102fae4a
VS
81862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8189 * util/grub-fstest.c (fstest): Likewise.
8190
7e94d044
VS
81912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8194 (grub_md_sha512_real): Likewise.
8195 (grub_util_get_geli_uuid): Likewise.
8196 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8197 (grub_util_biosdisk_open): Fix format specification.
8198 Respect format security.
8199 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8200 (xrealloc): Likewise.
8201 (xasprintf): Likewise.
8202
5ebd9769
VS
82032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * util/import_gcry.py: Include grub/crypto.h in init.c.
8206
495fc8c1
VS
82072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8210 (generate_image): Make prefix a const char *.
8211 Fix format specifications. Respect format security.
8212 Avoid void * arithmetics.
8213 Avoid shadowing.
8214 (argp_parser): Remove unused variable. Respect format security.
8215 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8216 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8217 (count_funcs): Remove unused variable.
8218 (relocate_addresses): Fix format specification.
8219 Disable x86-64 with elf32. Remove unused variables.
8220 (add_fixup_entry): Avoid shadowing.
8221 (make_reloc_section): Fix format specification.
8222 Use assert.
8223 (locate_sections): Fix format specifications.
8224 (load_image): Avoid shadowing.
8225
043c2ea3
VS
82262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8229 Fix format specifications. Respect format security.
8230 Don't translate already translated grub_errmsg.
8231 (argp_parser): Remove unused variable
8232
3ec65a81
VS
82332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8236
a4d9fe4a
VS
82372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8240 (main): Likewise. Use xmalloc. Respect format security.
8241
15b81d49
VS
82422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8245 a const char *.
8246 (argp_parser): Remove unused variable.
8247
31731fc0
VS
82482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8251 (add_pixel): Make static.
8252 (add_font): Likewise.
8253 (write_string_section): Make name and str a const char *.
8254 (write_be16_section): Make name a const char *.
8255 (print_glyphs): Make static.
8256 (write_font_ascii_bitmap): Likewise.
8257 (write_font_width_spec): Likewise.
8258 (write_font_pf2): Likewise.
8259 (argp_parser): Remove unused variable.
8260 Respect format security.
8261 (main): Avoid shadowing. Respect format security.
8262
0809527b
VS
82632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * util/grub-editenv.c (argp_parser): Make static.
8266 (create_envblk_file): Use xmalloc.
8267 (open_envblk_file): Likewise.
8268 Resepect format security.
8269 (set_variables): Respect format security.
8270
45b0c8b7
VS
82712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * util/getroot.c (grub_find_device): Respect format security.
8274 (get_mdadm_uuid): Remove unused variable.
8275 (grub_util_pull_device): Dont call gettext on already translated
8276 grub_errmsg.
8277 (find_system_device): Remove unused variable.
8278 (grub_util_get_grub_dev): Likewise.
8279 (grub_make_system_path_relative_to_its_root): Respect format security.
8280
1b024b4e
VS
82812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * util/grub-fstest.c (execute_command): Make first argument
8284 a const char *.
8285 (read_file): Avoid shadowing.
8286 Reuse underlying error message if device open fails.
8287 (cmd_cmp): Respect format security.
8288 (root): Make const char *.
8289 (fstest): Remove args argument and use global copy.
8290 Respect format security.
8291 (argp_parser): Make static.
8292 (main): Make default_root const char *.
8293
5d1d4e28
VS
82942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * util/grub-mount.c (root): Make const char *.
8297 (execute_command): Make first argument a const char *.
8298 (fuse_init): Respect format security.
8299 (argp_parser): Make static. Remove unused variable.
8300 (main): Make default_root a const char *.
8301 Respect format security.
8302
36eb7379
VS
83032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * util/grub-probe.c (probe): Don't call gettext on already translated
8306 grub_errmsg.
8307 Remove unused variables.
8308 (argp_parser): Remove unused variable.
8309
76fb2ea9
VS
83102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * util/grub-script-check.c (argp_parser): Remove unused variable.
8313 (main): Rename read to curread to avoid shadowing.
8314
56c98584
VS
83152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * util/misc.c (grub_util_write_image_at): Fix format specification.
8318 (grub_util_write_image): Likewise.
8319 (grub_script_execute_argument_to_string): Removed (unused).
8320 (grub_script_execute_menuentry): Likewise.
8321 (grub_putchar): Likewise.
8322
164ebb48
VS
83232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8326 (FUNCTION) [GRUB_UTIL]: Likewise.
8327 (VARIABLE) [GRUB_UTIL]: Likewise.
8328
44318d61
VS
83292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8332 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8333
31a26002
VS
83342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8337 buffer.
8338
83392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8342 (LzmaEnc_SaveState): Removed (unused).
8343 (LzmaEnc_RestoreState): Likewise.
8344 (LzmaEnc_InitPriceTables): Made static.
8345 (LzmaEnc_Construct): Likewise.
8346 (LzmaEnc_FreeLits): Likewise.
8347 (LzmaEnc_Destruct): Likewise.
8348 (LzmaEnc_Init): Likewise.
8349 (LzmaEnc_InitPrices): Likewise.
8350 (LzmaEnc_Finish): Likewise.
8351 (LzmaEnc_PrepareForLzma2): Removed (unused).
8352 (LzmaEnc_MemPrepare): Likewise.
8353 (LzmaEnc_GetNumAvailableBytes): Likewise.
8354 (LzmaEnc_GetCurBuf): Likewise.
8355 (LzmaEnc_CodeOneMemBlock): Likewise.
8356
6fa67967
VS
83572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8360 (grub_util_ldm_embed): Likewise.
8361
9a7428e6
VS
83622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * util/grub-editenv.c (print_var): Rename name to varname to
8365 avoid shadowing.
8366 (main): Rename index to curindex to avoid shadowing.
31a26002 8367 Make filename a const char *.
9a7428e6 8368
4f96abd1
VS
83692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8372 to arg_getline to avoid shadowing.
8373
44d10dad
VS
83742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8377 disk_ to avoid shadowing.
8378
340ba63e
VS
83792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8382 curindex to avoid shadowing.
8383 Make static.
8384 (MatchFinder_GetNumAvailableBytes): Make static.
8385
22965bce
VS
83862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8389 avoid shadowing.
8390
7b5784d4
VS
83912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8394 argument from encrypt to do_encrypt to avoid shadowing.
8395
6f48ca01
VS
83962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8399 incorrect nesting of #if's.
8400
a4ea2dff
VS
84012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8404 checks which are always false on some platforms.
8405 (grub_cmd_lsacpi): Likewise.
8406 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8407 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8408 Likewise.
8409
def9fc1b
VS
84102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8413 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8414
a67b2a04
VS
84152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8418 re_dfa_t to avoid breaking alignment invariants.
8419 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8420 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8421
44c6828d
VS
84222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8425 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8426
bebe0dd0
VS
84272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8430 Fix declaration.
8431
a9cdb3cf
VS
84322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8435 conserve alignment invariants.
8436 (grub_ehci_ehcc_read16): Likewise.
8437 (grub_ehci_oper_read32): Likewise.
8438 (grub_ehci_oper_write32): Likewise.
8439 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8440 Conserve alignment invariants.
8441
ccc3b1b8
VS
84422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8445 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8446 declarations.
8447
987fbd95
VS
84482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8451 Remove unused variable.
8452
0df363f3
VS
84532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8456 Remove set in if.
8457
b2c0c4a6
VS
84582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * include/grub/net.h: Remove double declarations.
8461
690c531f
VS
84622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 Remove "payload" command in ia64 Linux loader since I couldn't
8465 find any evidence of it being used for anything.
8466 Replace "relocate" command with an environment variable
8467
8468 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8469 fields.
8470 (ia64_boot_payload): Removed.
8471 (last_payload): Likewise.
8472 (RELOCATE_OFF): Likewise.
8473 (RELOCATE_ON): Likewise.
8474 (RELOCATE_FORCE): Likewise.
8475 (relocate): Likewise.
8476 (free_pages): Don't free payloads.
8477 (grub_load_elf64): Use common error messages.
8478 Use "linux_relocate" variable.
8479 Increase the space after boot_params.
8480 (grub_cmd_payload): Removed.
8481 (grub_cmd_relocate): Likewise.
8482 (grub_cmd_fpswa): Improve messages.
8483 (cmd_payload): Removed.
8484 (cmd_relocate): Likewise.
8485 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8486 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8487
01783768
VS
84882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 Convert UHCI to DMA framework.
8491
8492 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8493 (grub_uhci_pci_iter): Fill new members
8494 (grub_alloc_td): Use P2V and V2P functions.
8495 (grub_free_queue): Likewise.
8496 (grub_alloc_qh): Likewise.
8497 (grub_uhci_setup_transfer): Likewise.
8498 (grub_uhci_check_transfer): Likewise.
8499
43206939
VS
85002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8503 Remove assignment in if while on it.
8504
571e140e
VS
85052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * util/grub-mkstandalone.in: Fix modules directory.
8508
a9d96eeb
VS
85092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8510
8511 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8512 on i386-pc target.
8513 (argp_parser): Accept "auto" as compression specification.
8514
e4e37e8d
VS
85152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 Fix `help' with unloaded modules.
8518
8519 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8520 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8521 (grub_dyncmd_dispatcher): Small stylistic fix.
8522 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8523 explicit help is requested.
8524
e1ea3ade
VS
85252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8528 Explicitly init restart while on it.
8529
27556881
VS
85302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8533 uninited variable.
8534
d65f6b36
VS
85352012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * util/grub-mknetdir.in: Use . rather than source for POSIX
8538 compatibility.
8539
0a1e473c
VS
85402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8543
ce6647c8
VS
85442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8547 variable.
8548
66747894
VS
85492012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8552 without quotes.
8553
71645f6e
VS
85542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8557
0e1c1f61
VS
85582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8561 iteration of partitions.
8562
9c4b5c13
VS
85632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 Improve gettext support. Stylistic fixes and error handling fixes while
8566 on it.
8567
215c90cb
VS
85682012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8571 part. Instead setup the correct stack in RM.
8572 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8573 for stack.
8574 * include/grub/i386/relocator_private.h: New file.
8575
b5c1f9bf
VS
85762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8579 argument.
8580 * util/grub-fstest.c (options): Add missing DEVICE part.
8581
b525fd83
VS
85822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Clarify and unify messages.
8585
8586 * grub-core/commands/hashsum.c (options): Unify messages.
8587 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8588 literal-only message as translatable.
8589 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8590 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8591 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8592 commands.
8593 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8594 key, not the key used to unlock. Clarify what it's used for.
8595 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8596 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8597 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8598 * util/grub-editenv.c (options): Unify "verbose" message.
8599 * util/grub-fstest.c (read_file): Unify error message.
8600 (fstest): Add quotes around commands.
8601 (options): Unify "verbose" message.
8602 * util/grub-install.in: Add quotes around variable name.
8603 * util/grub-kbdcomp.in: Unify error message.
8604 * util/grub-mkfont.c (main): Likewise.
8605 * util/grub-mkrescue.in: Likewise.
8606 * util/grub-mklayout.c (options): Unify "verbose" message.
8607 * util/grub-mkstandalone.in: Unify help and verbose messages.
8608 * util/grub-mount.c (options): Unify "verbose" message.
8609 * util/grub-probe.c (options): Likewise.
8610 * util/grub-script-check.c (options): Likewise.
8611 * util/grub-setup.c (setup): Unify no-terminator message.
8612 (options): Use DEVICE and not DEV.
8613 Unify "verbose" message.
8614 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8615
0ae70393
VS
86162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 Improve and unify messages.
8619
8620 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8621 name. All users updated.
8622 Print filename in error.
8623 (read_device_map): Print filename in error.
8624 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8625 (grub_util_get_os_disk): Likewise.
8626 (grub_util_biosdisk_get_grub_dev): Likewise.
8627 (grub_util_check_block_device): Likewise.
8628 (grub_util_check_char_device): Likewise.
8629 (grub_make_system_path_relative_to_its_root): Likewise.
8630 * util/grub-editenv.c (create_envblk_file): Likewise.
8631 (open_envblk_file): Likewise.
8632 (write_envblk): Likewise.
8633 * util/grub-fstest.c (cmd_cp): Likewise.
8634 (cmd_cat): Likewise.
8635 (cmd_cmp): Likewise.
8636 * util/grub-menulst2cfg.c (main): Likewise.
8637 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8638 (write_font_width_spec): Likewise.
8639 (write_font_pf2): Likewise.
8640 * util/grub-mkimage.c (generate_image): New argument outname.
8641 All users updated.
8642 Remove unreacheable message.
8643 (options): Unify messages.
8644 (help_filter): Likewise.
8645 * util/grub-mklayout.c (usage): Removed (unused).
8646 (main): Print filename in error.
8647 * util/grub-mkrescue.in: Fix wrong quoting.
8648 * util/grub-setup.c (setup): Print filename in error.
8649 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8650 (check_sas): Likewise.
8651 * util/misc.c (grub_util_get_fp_size): Removed.
8652 (grub_util_get_image_size): Print filename in error.
8653 (grub_util_read_at): Removed.
8654 (grub_util_read_image): Print filename in error.
8655 (grub_util_load_image): Likewise.
8656 (grub_util_write_image_at): New argument filename. All users updated.
8657 Print filename in error.
8658 (grub_util_write_image): New argument filename. All users updated.
8659 Print filename in error.
8660 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8661 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8662
0a96117d
VS
86632012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/Makefile.core.def (pxechain): New module.
8666 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8667 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8668 function.
8669 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8670 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8671
aca002f7
VS
86722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8675 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8676 * include/grub/err.h (grub_error_saved): New struct.
8677 (grub_errmsg): Make array size explicit.
8678 * include/grub/misc.h (grub_error_save): New function.
8679 (grub_error_load): Likewise.
8680 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8681 (grub_error_push): Update `errno' member name.
8682 (grub_error_pop): Likewise
8683 * grub-core/net/tftp.c (tftp_data): New member save_err.
8684 (tftp_receive): Save error.
8685 (tftp_open): Restore error.
8686
a51dab13
VS
86872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8690 to real mode down to execute A20-related code in protected mode as
8691 intended.
8692
eb6e6649
GS
86932012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8694
8695 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8696 NULL when the argument `level' has an unexpected value.
8697
92cd0f6e
VS
86982012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 Move platform-dependent files from $prefix to $prefix/$platform.
8701
8702 * config.h.in (GRUB_TARGET_CPU): New definition.
8703 (GRUB_PLATFORM): Likewise.
8704 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8705 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8706 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8707 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8708 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8709 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8710 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8711 * grub-core/normal/term.c (read_terminal_list): Likewise.
8712 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8713 $prefix/locale.
8714 (grub_gettext_init_ext): Likewise.
8715 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8716 grub_platform.
8717 * util/grub-install.in: Update directories.
8718 * util/grub-mknetdir.in: Likewise.
8719 * util/grub-mkrescue.in: Likewise.
8720
db606889
VS
87212012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8724 grub_error framework. All users updated.
8725
c39992a4
VS
87262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8729 lists (by always binsearching), improve caching (cache strings
8730 used for binsearch, not only results), improve
8731 maintainability (by using more structured binary search) and correct
8732 error handling.
8733
1e5ec32f
VS
87342012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/script/execute.c (grub_script_return): Fix warning.
8737
ac576cde
VS
87382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * grub-core/script/execute.c (grub_script_return): Fix potential
8741 NULL-dereference.
8742 Reported by: Jim Meyering.
8743
498453f6
VS
87442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * po/POTFILES.in: Regenerate.
8747 * util/grub-install.in: Gettextize the strings missed in first pass.
8748
8be63f2e
VS
87492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * Makefile.util.def (grub-mkdevicemap): Removed.
8752 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8753 * include/grub/util/deviceiter.h: Removed.
8754 * util/deviceiter.c: Likewise.
8755 * util/getroot.c (grub_util_get_os_disk): New function.
8756 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8757 replacement for EFI.
8758 * util/grub-mkdevicemap.c: Removed.
8759 * util/grub-probe.c (probe): Handle PRINT_DISK.
8760 (argp_parser): Handle -t disk.
8761
8e1e4e39
VS
87622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * util/grub-mkfont.c: Migrate to argp.
8765 * util/grub-mklayout.c: Likewise.
8766 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8767 * util/grub-mkrelpath.c: Likewise.
8768 * util/grub-probe.c: Likewise.
8769 * util/grub-script-check.c: Likewise.
8770
4459819a
VS
87712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * util/grub-reboot.in: Add missing datarootdir.
8774 Add missing newline.
8775 * util/grub-set-default.in: Add missing datarootdir.
8776 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8777 * util/grub-mkrescue.in: Likewise.
8778
f65741c7
VS
87792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8782
c1a33466
VS
87832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * util/grub-kbdcomp.in: Add decent help and gettextize.
8786 * docs/man/grub-kbdcomp.h2m: New file.
8787
c76899a0
VS
87882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 Migrate grub-mkimage.c to argp.
8791
8792 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8793 (grub-setup): Likewise.
8794 * util/grub-setup.c (print_version): Move to ...
8795 * util/argp_common.c (print_version): ... here.
8796 * util/grub-setup.c (argp_program_version_hook): Move to ...
8797 * util/argp_common.c (argp_program_version_hook): ... here.
8798 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8799 safety.
8800 * util/grub-mkimage.c (main): Migrate to argp.
8801
57db0757
VS
88022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * util/grub-mkrescue.in: Use same message as
8805 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8806 for better translations.
8807
18534ad9
VS
88082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8811 options with generic grub-mkrescue.in with the goal of future
8812 merge.
8813
c84ba308
VS
88142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/kern/mm.c: Add missing include of i18n.h
8817 * grub-core/lib/relocator.c: Likewise.
8818
347998c2
VS
88192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8822 error.
8823 (allocate_pages): Check return value.
8824 Replace fatal with error.
8825 (grub_linux_boot): Replace printf with dprintf.
8826 Check find_mmap_size return value.
8827 Replace fatal with error.
8828 Don't call grub_machine_fini.
8829 (grub_load_elf64): Replace printf with dprintf.
8830 (grub_cmd_linux): Likewise.
8831 (grub_cmd_initrd): Likewise.
8832 (grub_cmd_payload): Likewise.
8833
c779226e
VS
88342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8837 message.
8838 * grub-core/video/radeon_fuloong2e.c
8839 (grub_video_radeon_fuloong2e_setup): Likewise.
8840 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8841 * grub-core/video/video.c (grub_video_set_mode): Don't override
8842 standard out of memory message.
8843
dc87d45a
GS
88442012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8845
8846 NetBSD disk wedge support.
8847
8848 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8849 [__NetBSD__]: Handle NetBSD disk wedges.
8850 * util/getroot.c (convert_system_partition_to_system_disk)
8851 [__NetBSD__]: Likewise.
8852
055f856f
MW
88532012-02-03 Mark Wooding <mdw@distorted.org.uk>
8854
8855 * util/grub-mkconfig.in: Use umask rather than chmod to create
8856 grub.cfg.new to avoid insecure grub.cfg.
8857
4a9f8346
VS
88582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/commands/ls.c: Gettextize.
8861 * grub-core/commands/setpci.c: Likewise.
8862 * grub-core/commands/videotest.c: Likewise.
8863 * grub-core/disk/geli.c: Likewise.
8864 * grub-core/kern/mm.c: Likewise.
8865 * grub-core/lib/relocator.c: Likewise.
8866 * grub-core/loader/efi/appleloader.c: Likewise.
8867 * grub-core/loader/i386/xnu.c: Likewise.
8868 * grub-core/loader/ia64/efi/linux.c: Likewise.
8869 * grub-core/loader/xnu.c: Likewise.
8870 * grub-core/net/dns.c: Likewise.
8871 * grub-core/net/net.c: Likewise.
8872 * grub-core/script/lexer.c: Likewise.
8873 * grub-core/script/parser.y: Likewise.
8874 * grub-core/script/yylex.l: Likewise.
8875 * util/getroot.c: Likewise.
8876 * util/grub-setup.c: Likewise.
8877
a646a366
VS
88782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8881 number.
8882
54e2be26
VS
88832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8886
f7c71e68
VS
88872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8890 macro.
8891 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8892 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8893
a32d5c71
VS
88942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8897 * util/grub-install.in: Gettextize.
8898 * util/grub-mkconfig.in: Likewise.
8899 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8900 if not available.
8901 (grub_warn): Gettextize.
8902 * util/grub-mknetdir.in: Gettextize.
8903 * util/grub-mkrescue.in: Likewise.
8904 * util/grub-mkstandalone.in: Likewise.
8905 * util/grub-reboot.in: Likewise.
8906 * util/grub-set-default.in: Likewise.
8907 * util/grub.d/00_header.in: Likewise.
8908 * util/grub.d/10_hurd.in: Likewise.
8909 * util/grub.d/10_kfreebsd.in: Likewise.
8910 * util/grub.d/10_linux.in: Likewise.
8911 * util/grub.d/10_netbsd.in: Likewise.
8912 * util/grub.d/10_windows.in: Likewise.
8913 * util/grub.d/20_linux_xen.in: Likewise.
8914 * util/grub.d/30_os-prober.in: Likewise.
8915 * po/POTFILES-shell.in: Regenerate.
8916
69edd81a
RL
89172012-02-03 Richard Laager <rlaager@wiktel.com>
8918
8919 * util/grub-mkimage.c (main): Fix format-security warning.
8920 * util/grub-mkrelpath.c (main): Likewise.
8921 * util/grub-probe.c (main): Likewise.
8922
65f08dbf
RL
89232012-02-03 Richard Laager <rlaager@wiktel.com>
8924
8925 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8926 failure.
8927 Put back lost PRINT_DRIVE.
8928
e9084abe
RL
89292012-02-03 Richard Laager <rlaager@wiktel.com>
8930
8931 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8932 (grub_guess_root_devices): Replace strlen with sizeof.
8933 Avoid crash.
8934 (find_root_devices_from_poolname): Remove unused variable.
8935 Handle raidzN.
8936
cf5f7ee7
VS
89372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 Support install on multi-device filesystems.
8940
8941 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8942 (grub_guess_root_devices): ...this. Return char **. All users updated.
8943 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8944 Removed.
8945 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8946 (find_root_devices_from_poolname): ... here.
8947 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8948 Support zfs-fuse.
8949 (grub_guess_root_device): Rename to ...
8950 (grub_guess_root_devices): ... this. Return char **. All users updated.
8951 * util/grub-install.in: Handle multi-device filesystems.
8952 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8953 argument. All users updated.
8954 Handle multi-device filesystems.
8955 Use 'delim' as separator.
8956 Remove device check to allow filesystems on file.
8957 (main): Support -0 argument. Handle multi-device.
8958 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8959 Fix a cross-device check while on it.
8960 (arguments): Remove root_dev.
8961 (argp_parser): Remove -r.
8962 (main): Remove root_dev.
8963
2f53a9ed
VS
89642012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8967
17e1d934
VS
89682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8971 symbol.
8972 Reported by: NODA, Kai <nodakai>.
8973
d3e3fab5
VS
89742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8975
8976 Fix ehci on amd64.
8977
8978 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8979 pointers.
8980 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8981 (grub_ehci_setup_qh): Likewise.
8982 (grub_ehci_find_qh): Likewise.
8983 (grub_ehci_transaction): Likewise.
8984 (grub_ehci_setup_transfer): Likewise.
8985 (grub_ehci_check_transfer): Likewise.
8986 (grub_ehci_portstatus): Likewise.
8987 (grub_ehci_detect_dev): Likewise.
8988 (grub_ehci_transfer_controller_data): New field td_last_phys.
8989 (grub_ehci_setup_transfer): Fill td_last_phys.
8990 (grub_ehci_check_transfer): Use td_last_phys.
8991
3008675b
SG
89922012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8993
8994 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8995 if no submenu is present.
8996
fc9b5652
AN
89972012-02-01 Aleš Nesrsta <starous@volny.cz>
8998
8999 CBI support.
9000
9001 * include/grub/usb.h (grub_usbms_protocol_t): New values
9002 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9003 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9004 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9005 (grub_usbms_dev): Add subclass, protocol and intrpt.
9006 Remove in_maxsz and out_maxsz.
9007 (grub_usbms_reset): Rename to ...
9008 (grub_usbms_bo_reset): .. this.
9009 (grub_usbms_cbi_cmd): New function.
9010 (grub_usbms_cbi_reset): Likewise.
9011 (grub_usbms_reset): Likewise.
9012 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9013 (grub_usbms_transfer): Rename to ...
9014 (grub_usbms_transfer_bo): ... this.
9015 (grub_usbms_transfer_cbi): Likewise.
9016 (grub_usbms_transfer): Likewise.
9017
a2b81d53
AN
90182012-02-01 Aleš Nesrsta <starous@volny.cz>
90192012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9022 the support for the CS5536 modification thereos and few bugfixes.
9023
9024 * grub-core/Makefile.core.def (ehci): New module.
9025 * grub-core/bus/usb/ehci.c: New file.
9026 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9027 port and hubaddr. All users updated.
9028 Save port and hubaddr into dev structure.
9029 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9030 define.
9031 * include/grub/pci.h (grub_dma_phys2virt): New function.
9032 (grub_dma_virt2phys): Likewise.
9033 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9034
b1d51f02
VS
90352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9038 check as some mkfs implementations omit it.
9039
fc694106
VS
90402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9043
6c0920e3
VS
90442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9047 Add new member volname2.
9048 (grub_jfs_label): Use volname2 if available.
9049
d1a46f9a
VS
90502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9053 over last_mounted as seen in image generated by mkfs.nilfs2.
9054 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9055
dec8ed14
VS
90562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9059 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9060 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9061
7397c69b
VS
90622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9065 over the sector.
9066
b3fe42ad
VS
90672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9070 subvolume name (by removing a bogus and useless check).
9071
10476bb0
VS
90722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9075 sizeof while on it.
9076
9c08ad87
VS
90772012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9080 (grub_scsi_read_capacity10): ... this.
9081 (grub_scsi_read_capacity16): New function.
9082 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9083 0xffffffff.
9084 Fix off-by-one error.
9085 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9086 64-bit unsigned.
9087 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9088 (grub_scsi_read_capacity10): ... this.
9089 (grub_scsi_read_capacity_data): Rename to ...
9090 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9091 (grub_scsi_read_capacity16): New struct.
9092 (grub_scsi_read_capacity16_data): Likewise.
9093 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9094 grub_scsi_cmd_read_capacity10.
9095 New command grub_scsi_cmd_read_capacity16.
9096
bc8d0f45
VS
90972012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 SCSI >2TiB support.
9100
9101 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9102 (grub_scsi_write16): Likewise.
9103 (grub_scsi_read): Use read16 when necessary.
9104 (grub_scsi_write): Likewise.
9105 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9106 (grub_scsi_write16): Likewise.
9107 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9108
cc774926
VS
91092012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 SCSI write support (for usbms mainly).
9112
9113 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9114 a const pointer.
9115 (grub_scsi_write): Implement.
9116 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9117
67639fd7
VS
91182012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9121 variable.
9122
9079d3ed
VS
91232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9126
c6a6f204
VS
91272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * po/POTFILES.in: Regenerate.
9130
ecbf8cd1
VS
91312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9134 with grub_printf to avoid unnecessary fatal failure.
9135
0b3b3b38
VS
91362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9139 (INT_MAX): Likewise.
9140 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9141 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9142 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
9143 (strcpy): Likewise.
9144 (strstr): Likewise.
9145 (strchr): Likewise.
9146 (strncpy): Likewise.
9147 (strcat): Likewise.
9148 (strncat): Likewise.
9149 (strcoll): Likewise.
9150 * include/grub/types.h (GRUB_SHRT_MAX): New define.
9151 (GRUB_INT_MAX): Likewise.
9152
db7337a3
VS
91532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
9156 unexpected error.
9157 (optimize_utf8): Likewise.
9158 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
9159
f37c87e1
VS
91602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/boot/i386/pc/lnxboot.S: Use
9163 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
9164 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
9165 location.
9166 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
9167 definition.
9168 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
9169
63fe43f3
VS
91702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9171
9172 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
9173 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
9174 now to avoid double free.
9175 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9176 hostdisk.
9177 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9178 * util/grub-probe.c (escape_of_path): Always return a new copy.
9179 (print_full_name): Escape path.
9180 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9181 Fix hints on abstractions.
9182
ebe2c961
VS
91832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9186 Don't add "root" line if no compatibility hont is available.
9187 Suggested by: Seth Goldberg.
9188
2b5336a2
VS
91892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9192 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9193 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9194 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9195
74310bd8
VS
91962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9199
c30582ba
VS
92002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * util/grub-pe2elf.c (ehdr): Make static.
9203 (shdr): Likewise.
9204 (num_sections): Likewise.
9205 (offset): Likewise.
9206
5f47782c
VS
92072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 Eliminate ofpath limits and possible overflows.
9210
9211 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9212 (OF_PATH_MAX): Removed.
9213 (MAX_DISK_CAT): New const.
9214 (find_obppath): Use allocated rather than preallocated buffer.
9215 Return result. Argument of_path removed. All users updated.
9216 Add missing fdstat.
9217 (xrealpath): New function.
9218 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9219 Allocate rather than use preallocated buffer. All users updated.
9220 (__of_path_common): Use allocated rather than preallocatecd buffer.
9221 Return result. Argument of_path removed. All users updated.
9222 (vendor_is_ATA): Read only needed part form the file.
9223 (check_sas): Allocate depending on contents rather than fixed.
9224 (main) [STANDALONE]: Handle NULL result.
9225
f990cbf9
VS
92262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9229
9c6e84b8
VS
92302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 Cryptodisk write support.
9233
9234 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9235 (grub_cryptodisk_decrypt): Moved logic to ...
9236 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9237 (grub_cryptodisk_write): Implement.
9238 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9239 (grub_util_fd_write): ... this. Make global.
9240 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9241
87cf9744
VS
92422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * include/grub/list.h (grub_list_remove): Don't crash if element is
9245 removed twice.
9246
ca8c0baf
VS
92472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 Rename ofconsole to console.
9250
9251 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9252 as sysnonym to console.
9253 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9254 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9255 Rename grub_ofconsole_ to grub_console_. All users updated
9256 (grub_console_term_output): Rename "ofconsole" to "console".
9257 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9258 as "console".
9259
64c8b8f6
VS
92602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9263 handling.
9264 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9265 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9266 GRUB_DISK_DEVICE_FILE_ID.
9267
f6c434d5
VS
92682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9271 and improve performance.
9272
5858b42d
VS
92732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9276 missing ieee1275/ prefix on whole disk.
9277
4ed3c26b
VS
92782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9281 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9282
df71143e
VS
92832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9286
076e7c0f
VS
92872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 Merge common RAID and LVM logic to an abstract diskfilter.
9290 Add LDM support using the same framework.
9291
9292 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9293 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9294 (libgrubmods): Remove grub-core/disk/raid.c and
9295 grub-core/partmap/gpt.c.
9296 * grub-core/Makefile.core.def (ldm): New module.
9297 (raid): Renamed to diskfilter. All users updated.
9298 * grub-core/disk/raid.c: Moved to ...
9299 * grub-core/disk/diskfilter.c: ... here.
9300 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9301 (lv_num): New var.
9302 (find_array): Renamed to ...
9303 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9304 (grub_is_array_readable): Renamed to ...
9305 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9306 (insert_array): New argument id.
9307 (is_node_readable): New function.
9308 (scan_device): Rename to ...
9309 (scan_disk): .. this. Restrict to one disk.
9310 (scan_devices): New function.
9311 (grub_diskfilter_iterate): Support multi-LV.
9312 Skip invisible and nameless LVs.
9313 (grub_diskfilter_memberlist): Support multi-LV.
9314 (grub_diskfilter_read_node): New function.
9315 (grub_raid_read): Most of logic moved to ...
9316 (read_segment): ... here
9317 (read_lv): New function.
9318 (grub_diskfilter_get_vg_by_uuid): New function.
9319 (grub_diskfilter_make_raid): Likewise.
9320 * grub-core/disk/ldm.c: New file.
9321 * grub-core/disk/lvm.c (vg_list): Removed.
9322 (lv_count): Likewise.
9323 (scan_depth): Likewise.
9324 (is_lv_readable): Likewise.
9325 (grub_lvm_getvalue): Advance pointer past the number.
9326 (find_lv): Removed.
9327 (do_lvm_scan): Refactored into ...
9328 (grub_lvm_detect): ... this. Support raid.
9329 (grub_lvm_iterate): Removed.
9330 (grub_lvm_memberlist): Likewise.
9331 (grub_lvm_open): Likewise.
9332 (grub_lvm_close): Likewise.
9333 (read_lv): Likewise.
9334 (read_node): Likewise.
9335 (is_node_readable): Likewise.
9336 (is_lv_readable): Likewise.
9337 (grub_lvm_read): Likewise.
9338 (grub_lvm_write): Likewise.
9339 (grub_lvm_dev): Use diskfilter
9340 (GRUB_MOD_INIT): Likewise.
9341 (GRUB_MOD_FINI): Likewise.
9342 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9343 new interface.
9344 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9345 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9346 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9347 grub_diskfilter_read_node.
9348 Fix a bug with xor.
9349 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9350 grub_diskfilter_read_node.
9351 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9352 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9353 (grub_disk_dev_iterate): Move from here...
9354 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9355 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9356 Make global.
9357 (grub_hostdisk_find_partition_start): Likewise.
9358 (grub_hostdisk_os_dev_to_grub_drive): New function.
9359 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9360 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9361 * util/getroot.c (make_device_name): ... here.
9362 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9363 Move to ...
9364 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9365 * grub-core/kern/emu/hostdisk.c
9366 (convert_system_partition_to_system_disk): Move to ...
9367 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9368 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9369 * util/getroot.c (device_is_wholedisk): ... here.
9370 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9371 * util/getroot.c (find_system_device): ... here.
9372 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9373 Move to ...
9374 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9375 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9376 Move to ...
9377 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9378 Handle LDM.
9379 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9380 Move to ...
9381 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9382 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9383 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9384 DISKFILTER.
9385 * include/grub/raid.h: Renamed to ...
9386 * include/grub/diskfilter.h: ... this.
9387 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9388 (GRUB_RAID_LAYOUT_*): Make into array.
9389 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9390 (grub_diskfilter_vg): New struct.
9391 (grub_diskfilter_pv_id): Likewise.
9392 (grub_raid_member): Removed.
9393 (grub_raid_array): Likewise.
9394 (grub_diskfilter_pv): New struct.
9395 (grub_diskfilter_lv): Likewise.
9396 (grub_diskfilter_segment): Likewise.
9397 (grub_diskfilter_node): Likewise.
9398 (grub_diskfilter_get_vg_by_uuid): New proto.
9399 (grub_raid_register): Inline.
9400 (grub_diskfilter_unregister): Likewise.
9401 (grub_diskfilter_make_raid): New proto.
9402 (grub_diskfilter_vg_register): Likewise.
9403 (grub_diskfilter_read_node): Likewise.
9404 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9405 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9406 (grub_util_is_ldm): Likewise.
9407 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9408 (grub_hostdisk_find_partition_start): Likewise.
9409 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9410 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9411 New definition.
9412 (grub_gpt_partition_map_iterate): New proto.
9413 * include/grub/lvm.h (grub_lvm_vg): Removed.
9414 (grub_lvm_pv): Likewise.
9415 (grub_lvm_lv): Likewise.
9416 (grub_lvm_segment): Likewise.
9417 (grub_lvm_node): Likewise.
9418 * util/getroot.c [...]
9419 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9420 (probe_abstraction): Likewise.
9421 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9422 (main): Remove dead logic.
9423
8a7f9b9c
VS
94242012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 Simplify root device discover and don't fail when trying to open
9427 incorrect devices.
9428
9429 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9430 function.
9431 (get_diskname_from_path): Likewise.
9432 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9433 of iterating.
9434
30545b85
VS
94352012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9438
28ea58cf
VS
94392012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9442 pastthe end.
9443
692dabca
VS
94442012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * util/grub-install.in: Add missing \.
9447 Reported by: gentoofan
9448
f6e4ea70
VS
94492012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9452 (direct_read): Use correct compressed size.
9453 (grub_squash_read_data): Likewise.
9454
94552012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9456
9457 * docs/grub.texi (Platform limitations): New section.
9458 (Platform-specific operations): Likewise.
9459 * docs/grub-dev.texi (Porting): Likewise.
9460
76261110
VS
94612012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 IEEE1275 disk write support.
9464
9465 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9466 const void *.
9467 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9468 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9469 and seek loginc to ...
9470 (grub_ofdisk_prepare): ... here.
9471 (grub_ofdisk_write): Implement.
9472
fc36d603
VS
94732012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 ARC disk write support.
9476
9477 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9478 (reopen): New argument writable. All users updated.
9479 Handle required access mode.
9480 (grub_arcdisk_write): Implement.
9481 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9482 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9483
e06c2e7a
VS
94842012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9487 (read_sblock): Don't attempt to read superblocks outside the disk size.
9488
ff447958
VS
94892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9492 first superblock to find the second one when possible.
9493
9e88df39
VS
94942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * util/grub-install.in: Fix an ARC bug.
9497 Print a warning if no platform-specific setup is available.
9498
bb26e4ff
VS
94992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 Use static allocation rather than scratch pointer in reed_solomon.
9502 It decreases its size significantly and avoids a variable in .text.
9503
9504 * grub-core/lib/reed_solomon.c (scratch): Removed.
9505 (chosenstat): New const or static array.
9506 (sigma): Likewise.
9507 (errpot): Likewise.
9508 (errpos): Likewise.
9509 (sy): Likewise.
9510 (mstat): Likewise.
9511 (errvals): Likewise.
9512 (eqstat): Likewise.
9513 (pol_evaluate): Replace x with log_x argument. All users updated.
9514 (syndroms): Removed.
9515 (gauss_solve): Use statically allocated arrays.
9516 (rs_recover): Likewise.
9517 Calculate syndroms directly.
9518 (decode_block): Use statically allocated arrays.
9519 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9520 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9521
2e13ede5
VS
95222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 Eliminate fixed limit on reed solomon decoder length.
9525
9526 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9527 rather than hardcoding the address.
9528 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9529 no_reed_solomon_length.
9530 Move gate_a20 to no-reed-solomon part.
9531 Don't force a particular size of no reed-solomon part.
9532 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9533 Removed.
9534 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9535 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9536
f8a9ab12
VS
95372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * grub-core/commands/wildcard.c (match_files): Handle filenames
9540 without explicit device.
9541 (wildcard_expand): Don't add explicit device if not already present.
9542 * tests/grub_script_echo1.in: Add a new expansion test.
9543
87edb894
VS
95442012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 Replace single-linked with double-linked lists. It results in more
9547 compact and more efficient code.
9548
9549 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9550 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9551 (grub_list_remove): Moved from here ...
9552 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9553 (grub_prio_list_insert): Set prev.
9554 * include/grub/list.h (grub_list): Add prev. All users updated.
9555
48b391e9
VS
95562012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 Handle newer autotools. Add some missing quotes while on it.
9559
9560 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9561 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9562 (pkgdata_DATA): ... here.
9563 * Makefile.util.def (update-grub_lib): Removed.
9564 * conf/Makefile.common (pkglib_DATA): Removed.
9565 (pkglib_SCRIPTS): Likewise.
9566 (pkgdata_DATA): New variable.
9567 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9568 needed.
9569 Add missing quotes.
9570 Remove unused variable while on it.
9571 * tests/util/grub-shell.in: Likewise.
9572 * util/grub-install.in: Likewise.
9573 * util/grub-mkconfig.in: Likewise.
9574 * util/grub-mknetdir.in: Likewise.
9575 * util/grub-mkrescue.in: Likewise.
9576 * util/grub-mkstandalone.in: Likewise.
9577 * util/grub.d/00_header.in: Likewise.
9578 * util/grub.d/10_hurd.in: Likewise.
9579 * util/grub.d/10_illumos.in: Likewise.
9580 * util/grub.d/10_kfreebsd.in: Likewise.
9581 * util/grub.d/10_linux.in: Likewise.
9582 * util/grub.d/10_netbsd.in: Likewise.
9583 * util/grub.d/10_windows.in: Likewise.
9584 * util/grub.d/20_linux_xen.in: Likewise.
9585 * util/grub.d/30_os-prober.in: Likewise.
9586 * util/update-grub_lib.in: Removed.
9587
95882012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9589
9590 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9591 a workaround for intel problem.
9592
66832792
PRP
95932012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
95942012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
95952012-01-23 pfsmorigo
9596
9597 * util/grub-install.in: Support dd'in into PreP partition.
9598 * util/grub-probe.c (probe): Support discovering partition type.
9599 (main): Support -t msdos_parttype.
9600
7816a17e
VS
96012012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9604 infinite recursion using counter.
9605 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9606 init to skip it if the magic check fails.
9607 (dec_stream_header): Init s->crc32.
9608
8f9d3a8c
ZB
96092012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
96102012-01-22 Zachary Bedell <pendorbound@gmail.com>
96112012-01-22 Richard Laager <rlaager@wiktel.com>
9612
9613 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9614 All users updated.
9615 (find_bestub): Determine correct size.
9616 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9617 (scan_disk): Align the size down.
9618 Call check pool before find_bestub to have ashift.
9619
b055dd32
VS
96202012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9621
9622 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9623 dprintf in no-malloc zone.
9624
d779e9bd
ML
96252012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9626
9627 * configure.ac: Add back in test for limits.h.
9628
b508af69
VS
96292012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 Support 4K-sector NTFS.
9632
9633 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9634 (grub_ntfs_data): Remove blocksize.
9635 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9636 Remove data argument. All users updated.
9637
dad9c8b5
VS
96382012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9641 being in .text to avoid dprel references.
9642 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9643 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9644 (grub_arch_highmemsize): Likewise.
9645 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9646 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9647 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9648
d43a777e
VS
96492012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9652
9653 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9654 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9655
34e4208f
VS
96562012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9659 GRUB_UTIL.
9660 (grub_set_datetime_cmos): Likewise.
9661
3ec0fc1c
VS
96622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 Make XZ compression parameters dependent on target and not host CPU.
9665
9666 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9667 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9668
22489834
VS
96692012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9672 set but not used variable.
9673
8502fbca
VS
96742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9675
9676 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9677 created when no uuid support is compiled into mkfs.reiser.
9678
76df2068
VS
96792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9682 (utf8_to_macroman): Do the opposite.
9683 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9684
64e3f8f6
VS
96852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * configure.ac: Refise build qemu_mips w/o unifont.
9688
9c271078
VS
96892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 Eliminate grub_min/grub_max prone to overflow usage.
9692
9693 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9694 (poll_nonroot_hub): Likewise.
9695 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9696 (grub_affs_label): Likewise.
9697 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9698 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9699 (grub_hfs_label): Likewise.
9700 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9701 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9702 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9703 (zap_leaf_array_get): Likewise.
9704 (dnode_get_path): Likewise.
9705 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9706 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9707 * grub-core/script/execute.c (grub_script_break): Likewise.
9708 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9709 grub_max.
9710 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9711 * include/grub/misc.h (grub_min): Removed.
9712 (grub_max): Likewise.
9713
80662dbc
VS
97142012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9715
9716 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9717 direct.inode = 0.
9718
e6da1467
VS
97192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9722
b1ac4cb1
VS
97232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9726
b4bf7c3b
VS
97272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9730 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9731
8ee1101a
VS
97322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9735 rather than a hack for grub_strncasemap.
9736
97372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 Support multiple initrds
9740 Note: part of this was accidently committed in r3739.
9741
9742 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9743 initrd.
9744 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9745 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9746 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9747 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9748 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9749
4d1e2bc9
VS
97502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9753 disks with unknown size.
9754 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9755
75b49ebe
VS
97562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 Remove defines pertaining to arbitrary limits not affecting GRUB
9759 anymore.
9760
9761 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9762 (EXT2_MAX_SYMLINKCNT): Likewise.
9763 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9764 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9765 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9766 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9767 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9768 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9769 (DN_MAX_OBJECT_SHIFT): Likewise.
9770 (DN_MAX_OFFSET_SHIFT): Likewise.
9771 (DN_MAX_OBJECT): Likewise.
9772 (DNODES_PER_LEVEL_SHIFT): Likewise.
9773 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9774 (SPA_MAXBLOCKSIZE): Likewise.
9775 (SPA_BLOCKSIZES): Likewise.
9776 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9777 (MZAP_MAX_BLKSZ): Likewise.
9778
74a1dce7
VS
97792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9782 handle NULL appropriately.
9783 Remove MIN.
9784
30c7d3ce
VS
97852012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 Fix efiemu.
9788
9789 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9790 cpu/types.h.
9791 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9792 * configure.ac: Fix efiemu check.
9793
3c76ea0c
VS
97942012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9797 grub_probe.
9798 Reported by: adamwill
9799
7e532280
SG
98002012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9801
9802 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9803
30492374
VS
98042012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 Fix handling of wide characters in gfxterm.
9807
9808 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9809 (clear_char): Likewise.
9810 (paint_char): Skip code == NULL chars.
9811 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9812
e70cb72f
VS
98132012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 * grub-core/normal/charset.c: Move comment to right place.
9816
5c827cf9
VS
98172012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9820 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9821 (grub_affs_mount): Revert the correct version checking.
9822
53603892
VS
98232012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * docs/grub.texi (Unicode): Mention several other unsupported features.
9826
ff094b9b
VS
98272011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9830 case statements as compile-time one.
9831 (direct_read): Prevent spurious warnings.
9832 (grub_squash_read_data): Likewise.
9833
c029da8a
VS
98342011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 Various squash4 fixes and LZO and XZ support.
9837
9838 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9839 Add xzembed source files.
9840 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9841 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9842 (grub_squash_inode): New subtype long_dir.
9843 (SQUASH_TYPE_LONG_DIR): New inode type.
9844 (COMPRESSION): New enum.
9845 (XZBUFSIZ): New const.
9846 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9847 (read_chunk): Use data->decompress.
9848 (zlib_decompress): New function.
9849 (lzo_decompress): Likewise.
9850 (xz_decompress): Likewise.
9851 (squash_mount): Set new data fields.
9852 (grub_squash_iterate_dir): Handle long dir.
9853 (squash_unmount): Free xzdec and xzbuf.
9854 (grub_squash_open): Check ino type.
9855 (direct_read): Stylistic fixes. Use data->decompress.
9856 (grub_squash_read_data): Likewise.
9857 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9858 (get_byte): Likewise.
9859 (grub_zlib_disk_read): Removed.
9860 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9861 (GRUB_POSIX_BOOL_DEFINED): New define.
9862 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9863 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9864 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9865 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9866
7a45a539
VS
98672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Don't override more informative errors.
9870
9871 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9872 * grub-core/font/font.c (open_section): Likewise.
9873 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9874 filename. Don't override errors.
9875 (grub_cmd_openbsd_ramdisk): Don't override errors.
9876 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9877 (grub_cmd_initrd): Likewise.
9878 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9879 (grub_cmd_initrd): Likewise.
9880 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9881 (grub_cmd_linux): Likewise.
9882 (grub_cmd_initrd): Likewise.
9883 (grub_cmd_payload): Likewise.
9884 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9885 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9886 (grub_cmd_module): Likewise.
9887 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9888 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9889 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9890 (grub_cmd_xnu_mkext): Likewise.
9891 (grub_cmd_xnu_ramdisk): Likewise.
9892 (grub_xnu_check_os_bundle_required): Likewise.
9893 (grub_xnu_load_kext_from_dir): Likewise.
9894 (grub_cmd_xnu_kextdir): Likewise.
9895 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9896
b2d004db
VS
98972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9900 as 1024 in block size field. Found on one of my test images.
9901 Small optimisation while on it.
9902
ec000eac
VS
99032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9904
9905 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9906 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9907 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9908 performance fixes while on it.
9909 (grub_sfs_close): Fix memory leak while on it.
9910 (grub_sfs_label): Convert Latin1 to UTF-8.
9911
f50e1165
VS
99122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9915 space to avoid overflows.
9916 (grub_hfs_label): Convert from macroman to UTF-8.
9917
2ae254de
VS
99182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9921
0108f491
VS
99222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9925
f45f5f89
VS
99262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * unicode: Import Unicode 6.0 data.
9929
4d8c4765
VS
99302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9931
63fa8ef9
VS
9932 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9933 outside of range.
9934
99352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9938
9939 * include/grub/charset.h (grub_getend): New function.
9940 * grub-core/script/function.c (grub_script_function_find): Use
9941 grub_getend.
9942 * grub-core/normal/completion.c (add_completion): Likewise.
9943
f3cb4a4e
VS
99442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9947 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9948 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9949 (GRUB_UNICODE_TAG_END): Likewise.
9950 (GRUB_UNICODE_LAST_VALID): Likewise.
9951
5da8dbc5
VS
99522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9955 len and make it smaller. All users updated.
9956 * util/import_unicode.py: Put length and not end character.
9957 Check length.
9958
8569f13d
VS
99592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 Make better Unicode-compliant and unify some UTF-8 code pathes.
9962
9963 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9964 valid character.
9965 (grub_is_valid_utf8): Use grub_utf8_process.
9966 Check resulting code range.
9967 (grub_utf8_to_ucs4): Use grub_utf8_process.
9968 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9969 valid character.
9970
cc4fddf5
VS
99712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9974
bbc47747
VS
99752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * docs/grub.texi (Filesystems): Mention AFS.
9978
f63d6bf4
VS
99792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 * docs/grub.texi (Filesystems): Clarify restrictions.
9982 (Regexp): Mention non-Unicode regexp behaviour.
9983 (Other): Mention non-Unicode matching behaviour.
9984
74bbf0db
VS
99852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9986
f63d6bf4 9987 Make HFS implementation use MacRoman.
74bbf0db
VS
9988
9989 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9990 (macroman): New const array.
9991 (macroman_to_utf8): New function.
9992 (utf8_to_macroman): Likewise.
9993 (grub_hfs_find_dir): Use utf8_to_macroman.
9994 (grub_hfs_dir): Use macroman_to_utf8.
9995 Set case_insensitive.
9996
4ea0316e
VS
99972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10000
d3c13cbd
VS
100012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 Integrate hints into autogeneration scripts.
10004
10005 * docs/grub.texi (Filesystems): Add a hostdisk example.
10006 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10007 (grub-probe): Add ofpath.
10008 * gentpl.py: Remove group nosparc64.
10009 * grub-core/commands/search.c (cache_entry): New struct.
10010 (cache): New var.
10011 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10012 * grub-core/commands/search_wrap.c (options): Add platform-specific
10013 hint options.
10014 (grub_cmd_search): Handle platform-specific hints.
10015 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10016 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10017 (grub_util_biosdisk_data): Likewise.
10018 (grub_util_biosdisk_open): Set device_map.
10019 (read_device_map): Handle "" as indication of no map.
10020 Set device_map.
10021 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10022 (grub_util_biosdisk_get_compatibility_hint): New function.
10023 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10024 * include/grub/emu/hostdisk.h
10025 (grub_util_biosdisk_get_compatibility_hint): New proto.
10026 * util/grub-install.in: Don't call grub-mkdevicemap.
10027 Add platform-specific hint to load.cfg.
10028 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10029 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10030 hints. Set root preliminary to compatibility hint, not to OS name.
10031 * util/grub-probe.c (PRINT_*): Add hints.
10032 (print): Make static.
10033 (escape_of_path): New function.
10034 (guess_bios_drive): Likewise.
10035 (guess_efi_drive): Likewise.
10036 (guess_baremetal_drive): Likewise.
10037 (print_full_name): Likewise.
10038 (probe): Handle hints.
10039 (main): Likewise.
10040 * util/ieee1275/devicemap.c: Removed.
10041 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10042 updated.
10043 (grub_util_devname_to_ofpath): Return NULL on failure.
10044
10045 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10046 resource leak.
10047 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10048
10049 * po/POTFILES.in: Regenerated.
10050
10051 Allow purely long options
10052
10053 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10054 (SHORT_ARG_USAGE): Likewise.
10055 (grub_arg_show_help): Compare opt with help_options.
10056 (parse_option): Receive opt as argument. If makes big simplificatons.
10057 All users updated
10058
00ce2df3
VS
100592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10062 Restructure to avoid warning.
10063
e77e325f
VS
100642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * util/grub-install.in: Account for possible escaped comma in device
10067 name.
10068
165099ea
VS
100692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10072 channel.
10073
ce4a999d
VS
100742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10077 allocation and zero-setting.
10078 (grub_ieee1275_get_devname): Check that alias is complete.
10079
379586ad
VS
100802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10083 unaligned segments.
10084
9197b0ad
VS
100852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10088 prefix.
10089 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10090 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10091 Add ieee1275 prefix.
10092
edddb7f9
VS
100932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * docs/grub.texi (Filesystems): Update.
10096
a1a8b1b9
VS
100972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 Support odc, newc and bigendian cpio formats.
10100
10101 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10102 * grub-core/Makefile.core.def (newc): New module.
10103 (odc): Likewise.
10104 (cpio_be): Likewise.
10105 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10106 (MAGIC): Likewise.
10107 (MAGIC2): Likewise.
10108 (head) [MODE_ODC]: Adapt for the format.
10109 (head) [MODE_NEWC]: Likewise.
10110 (head) [!MODE_*]: Write fields of interest as arrays.
10111 (MAGIC_USTAR): Removed.
10112 (read_number) [MODE_NEWC]: Change to hex.
10113 (read_number) [!MODE_*]: Parse binary arrays.
10114 (grub_cpio_find_file): Factor out the code for better structure and
10115 always use read_number.
10116 (grub_cpio_mount): Use MAGIC and MAGIC2.
10117 (grub_cpio_dir): Exit on first hook non-0 return.
10118 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10119 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10120 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10121 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10122 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10123 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10124 * grub-core/fs/newc.c: New file.
10125 * grub-core/fs/odc.c: Likewise.
10126 * grub-core/fs/cpio_be.c: Likewise.
10127
58eba9ee
VS
101282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 Fix handling of tar numbers occupying the whole field.
10131
10132 * grub-core/fs/cpio.c (read_number): New function.
10133 (grub_cpio_find_file): Use read_number instead of strtoull.
10134
a54a0e12
VS
101352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10138 occupying the whole field size.
10139
a6120aca
LA
101402011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10141
10142 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
10143
a93964ce
VS
101442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
10147
3ea1ca46
SG
101482011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
10149
10150 * grub-core/Makefile.core.def (lzma_decompress): Add missing
10151 TARGET_IMG_LDFLAGS.
10152
b87f7ef2
VS
101532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 * util/getroot.c (ESCAPED_PATH_MAX): New define.
10156 (mountinfo_entry): Increase the field size to take escaping into
10157 account.
10158 (find_root_device_from_libzfs): Add one byte to size of strings for
10159 security.
10160
62092395
VS
101612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10162
10163 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
10164 an assert.
10165 * util/grub-setup.c (setup): Likewise.
10166
1f0b1a77
VS
101672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
10170 _LzmaDecodeA.
10171
8eba9997
VS
101722011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 * docs/grub.texi (Internationalisation): New section.
10175
dd0c91e9
VS
101762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * docs/grub.texi (Loopback booting): New section.
10179
101802011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10181
10182 * util/grub-mkstandalone.in: Fix minor typo errors.
10183
198e150a
VS
101842011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10187
10188 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10189 net/icmp.c and net/icmp6.c.
10190 (http): New module.
10191 (priority_queue): Likewise.
10192 * grub-core/io/bufio.c: Rewritten.
10193 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10194 TYPE_WITH_CONFIGFILE_OPTION.
10195 (legacy_commands): Add bootp and dhcp.
10196 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10197 (grub_legacy_parse): Likewise.
10198 * grub-core/lib/priority_queue.c: New file.
10199 * grub-core/net/arp.c: Add missing license header.
10200 (arp_find_entry): Removed.
10201 (arp_find_entry): Likewise.
10202 (grub_net_arp_resolve): Rename to ...
10203 (grub_net_arp_send_request): ...this.
10204 (grub_net_arp_receive): New card argument.
10205 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10206 Set router and DNS server.
10207 (grub_net_configure_by_dhcp_ack): Handle routing information.
10208 (grub_cmd_bootp): Set checksum.
10209 (grub_bootp_init): Remove net_dhcp.
10210 * grub-core/net/dns.c: New file.
10211 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10212 completion.
10213 (get_card_packet): Handle allocation.
10214 (grub_efinet_findcards): Set mtu.
10215 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10216 (get_card_packet): Handle allocation.
10217 (emucard): Set mtu.
10218 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10219 (GRUB_MOD_INIT): Set mtu.
10220 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10221 mtu.
10222 (get_card_packet): Handle allocation.
10223 (grub_ofnet_findcards): Set mtu.
10224 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10225 assert.
10226 (grub_net_recv_ethernet_packet): Handle IPv6.
10227 * grub-core/net/http.c: New file.
10228 * grub-core/net/icmp.c: Likewise.
10229 * grub-core/net/icmp6.c: Likewise.
10230 * grub-core/net/ip.c (ip6addr): New type.
10231 (ip6hdr): Likewise.
10232 (reassemble): Likewise.
10233 (cmp): New function.
10234 (reassembles): New variable.
10235 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10236 (id): New variable.
10237 (send_fragmented): New function.
10238 (grub_net_send_ip_packet): Rename to ...
10239 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10240 Handle non-UDP.
10241 (grub_net_recv_ip_packets): Rename to ...
10242 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10243 (free_rsm): New function.
10244 (free_old_fragments): Likewise.
10245 (grub_net_recv_ip4_packets): New function.
10246 (grub_net_send_ip6_packet): Likewise.
10247 (grub_net_send_ip_packet): Likewise.
10248 (grub_net_recv_ip6_packets): Likewise.
10249 (grub_net_recv_ip_packets): Likewise.
10250 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10251 (LINK_LAYER_CACHE_SIZE): New const.
10252 (link_layer_find_entry): New function.
10253 (grub_net_link_layer_add_address): Likewise.
10254 (grub_net_link_layer_resolve_check): Likewise.
10255 (grub_net_link_layer_resolve): Likewise.
10256 (grub_net_ipv6_get_slaac): Likewise.
10257 (grub_net_ipv6_get_link_local): Likewise.
10258 (grub_cmd_ipv6_autoconf): Likewise.
10259 (parse_ip): Handle one number representation.
10260 (parse_ip6): New functoion.
10261 (match_net): Handle IPv6.
10262 (grub_net_resolve_address): Handle IPv6 and DNS.
10263 (grub_net_resolve_net_address): Handle IPv6.
10264 (route_cmp): New function.
10265 (grub_net_route_address): Find best route.
10266 (grub_net_addr_to_str): Handle IPv6.
10267 (grub_net_addr_cmp): New function.
10268 (grub_net_add_addr): Register local route.
10269 (print_net_address): Handle net address.
10270 (grub_net_poll_cards): Retransmit TCP.
10271 (grub_net_poll_cards_idle_real): Likewise.
10272 (have_ahead): New function.
10273 (grub_net_seek_real): Use underlying seek.
10274 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10275 * grub-core/net/tcp.c: New file.
10276 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10277 (cmp): New function.
10278 (ack): Likewise.
10279 (tftp_receive): Handle unordered input.
10280 (destroy_pq): New function.
10281 (tftp_close): Close pq.
10282 * grub-core/net/udp.c: Put missing license header.
10283 (grub_net_udp_socket): New function.
10284 (udp_socket_register): Likewise.
10285 (grub_net_udp_close): Likewise.
10286 (grub_net_recv_udp_packet): Check checksum.
10287 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10288 * include/grub/misc.h (grub_memchr): New function.
10289 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10290 (grub_net_card_driver): Return buf in recv.
10291 (grub_net_slaac_mac_list): New struct.
10292 (grub_network_level_protocol_id): Add ipv6.
10293 (grub_net_network_level_addr): Likewise.
10294 (grub_net_network_level_net_addr): Likewise.
10295 (grub_net_app_protocol): Add seek.
10296 (grub_net_socket): Removed.
10297 (grub_net_sockets): Likewise.
10298 (grub_net_socket_register): Likewise.
10299 (grub_net_socket_unregister): Likewise.
10300 (FOR_NET_SOCKETS): Likewise.
10301 (grub_net_add_addr): Add const.
10302 (GRUB_NET_BOOTP_*): New enum.
10303 (grub_net_addr_cmp): New proto.
10304 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10305 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10306 (grub_net_hwaddr_to_str): NEw proto.
10307 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10308 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10309 (grub_dns_init): New proto.
10310 (grub_dns_fini): Likewise.
10311 (grub_net_tcp_retransmit): Likewise.
10312 (grub_net_link_layer_add_address): Likewise.
10313 (grub_net_link_layer_resolve_check): Likewise.
10314 (grub_net_link_layer_resolve): Likewise.
10315 (grub_net_dns_lookup): Likewise.
10316 (grub_net_add_dns_server): Likewise.
10317 (grub_net_remove_dns_server): Likewise.
10318 (GRUB_NET_TRIES): New const.
10319 (GRUB_NET_INTERVAL): Likewise.
10320 * include/grub/net/arp.h: Mostly rewritten.
10321 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10322 * include/grub/net/ip.h: Mostly rewritten.
10323 * include/grub/net/netbuff.h: Indent.
10324 * include/grub/net/tcp.h: New file.
10325 * include/grub/net/udp.h: Mostly rewritten.
10326 * include/grub/priority_queue.h: New file.
10327 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10328 (grub_swap_bytes64_compile_time): Likewise.
10329 (grub_cpu_to_be16_compile_time): Likewise.
10330 (grub_cpu_to_be32_compile_time): Likewise.
10331 (grub_cpu_to_be64_compile_time): Likewise.
10332 (grub_be_to_cpu64_compile_time): Likewise.
10333
215c1800
VS
103342011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10337 UINT_TO_PTR with cast.
10338
c17e546c
VS
103392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10342 don't use them.
10343
ff6b18b6
VS
103442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10347 already there.
10348
70ffcc93
VS
103492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10352 confusing ipxe.
10353
e5f4d260
VS
103542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10355
10356 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10357 Add missing const attribute.
10358 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10359 Likewise.
10360 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10361 Likewise.
10362
8e54b4b7
VS
103632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10366 misaligned access.
10367 (serpent_setkey): Likewise.
10368 (serpent_encrypt_internal): Likewise.
10369 (serpent_decrypt_internal): Likewise.
10370 (serpent_encrypt): Don't put an alignment-increasing cast.
10371 (serpent_decrypt): Likewise.
10372 (serpent_test): Likewise.
10373
813c0a2b
VS
103742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10377
f2b60fbd
VS
103782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10381
10382 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10383 grub_addr_t casts.
10384 (PTR_TO_UINT64): Likewise.
10385 (PTR_TO_UINT32): Likewise.
10386
5ef5c511
VS
103872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10390 because of stack.
10391 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10392 limit.
10393
c476e6df
VS
103942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10397 text_width > available width a bit more gracefully.
10398
384ad7cc
VS
103992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10402 current address calculation.
10403
96f8caf8
VS
104042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10407 stack.
10408 (encode_block): Likewise.
10409
276b7a8b
VS
104102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10413 certainety.
10414
e3fd394a
VS
104152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10418 non-RS part to avoid RS messing with GDT.
10419 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10420 Increase to suit in realmode routines.
10421
104222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 * grub-core/kern/i386/realmode.S: Increase alignment.
10425 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10426
ee9c2e7a
VS
104272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10430 be deterministic.
10431 (syndroms): Compute 0 syndrom.
10432 (rs_recover): Use 0 syndrom.
10433
7a7f7cc9
VS
104342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10437
a14b16d1
VS
104382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10441 brackets.
10442
9f59e9fc
VS
104432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10444
ca1b552c
VS
10445 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10446 account.
10447 (get_top_pad): Likewise.
10448 (get_right_pad): Likewise.
10449 (get_bottom_pad): Likewise.
10450
104512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10454
e739d698
VS
104552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10458 attribute as the structure isn't guaranteed to be properly aligned.
10459 (grub_efi_pci_device_path): Likewise.
10460 (grub_efi_pccard_device_path): Likewise.
10461 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10462 specify the size of `memory_type'.
10463 (grub_efi_vendor_device_path): Likewise.
10464 (grub_efi_controller_device_path): Likewise.
10465 (grub_efi_acpi_device_path): Likewise.
10466 (grub_efi_expanded_acpi_device_path): Likewise.
10467 (grub_efi_atapi_device_path): Likewise.
10468 (grub_efi_scsi_device_path): Likewise.
10469 (grub_efi_fibre_channel_device_path): Likewise.
10470 (grub_efi_1394_device_path): Likewise.
10471 (grub_efi_usb_device_path): Likewise.
10472 (grub_efi_usb_class_device_path): Likewise.
10473 (grub_efi_i2o_device_path): Likewise.
10474 (grub_efi_mac_address_device_path): Likewise.
10475 (grub_efi_ipv4_device_path): Likewise.
10476 (grub_efi_ipv6_device_path): Likewise.
10477 (grub_efi_infiniband_device_path): Likewise.
10478 (grub_efi_uart_device_path): Likewise.
10479 (grub_efi_vendor_messaging_device_path): Likewise.
10480 (grub_efi_hard_drive_device_path): Likewise.
10481 (grub_efi_cdrom_device_path): Likewise.
10482 (grub_efi_vendor_media_device_path): Likewise.
10483 (grub_efi_file_path_device_path): Likewise.
10484 (grub_efi_protocol_device_path): Likewise.
10485 (grub_efi_piwg_device_path): Likewise.
10486 (grub_efi_bios_device_path): Likewise.
10487
cb8f88ea
VS
104882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10491 (grub_ucs4_to_utf8_alloc): Likewise.
10492 (grub_ucs4_to_utf8): Likewise.
10493 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10494 (grub_ucs4_to_utf8_alloc): Likewise.
10495
309e5352
VS
104962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 AFFS never uses unicode.
10499
10500 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10501 (grub_latin1_to_utf8): New inline function.
10502 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10503
e7987e1b
VS
105042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10507 overflow.
10508
efc2616e
VS
105092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10512 (grub_squash_dirent_header): Likewise.
10513 (read_chunk): Don't double swap.
10514 (grub_squash_iterate_dir): Fix swap sizes.
10515
3c349f5a
VS
105162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10519
b453412d
VS
105202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10523 (grub_hfs_iterate_dir): Likewise.
10524
12e9d4d1
VS
105252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 Fix video on platforms where unaligned access is forbidden.
10528 Make several optimisations while on it.
10529
10530 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10531 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10532 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10533 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10534 Disable.
10535 (grub_video_fbblit_replace_16bit_1bit):
10536 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10537 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10538 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10539 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10540 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10541 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10542 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10543 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10544 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10545 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10546 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10547 (grub_video_fbblit_replace_index_RGB888): Likewise.
10548 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10549 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10550 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10551 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10552 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10553 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10554 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10555 Disable.
10556 (grub_video_fbblit_blend_XXX565_1bit):
10557 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10558 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10559 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10560 void *.
10561 * grub-core/video/fb/video_fb.c (common_blitter)
10562 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10563 (grub_video_fb_create_render_target_from_pointer)
10564 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10565 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10566 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10567 definition.
10568 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10569
ace96609
VS
105702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10573 HH22 and HM10 relocations.
10574
fd261d73
VS
105752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10578
e59b7857
VS
105792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10582 allocation succeeded.
10583
9b4baaa4
VS
105842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10587 argument a u8 pointer. All users updated.
10588 Handle unaligned buffers.
10589
dc713193
VS
105902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10593 add_part to workaround compiler bug.
10594
30dd48c2
VS
105952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10598
0c6087a8
VS
105992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10602 Reserve alignment invariants.
10603 (grub_multiboot_load): Likewise.
10604 (retrieve_video_parameters): Likewise.
10605 (grub_multiboot_make_mbi): Likewise.
10606
c2e77777
VS
106072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10610 incorrect pointer.
10611
b70b6d11
VS
106122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10615 (grub_pata_pio_write): Likewise.
10616
02a2bf83
VS
106172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 Add noreturn attributes and remove unreachable code.
10620
10621 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10622 code.
10623 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10624 code. Mark as noreturn.
10625 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10626 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10627 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10628 unreachable code.
10629 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10630 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10631 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10632 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10633 * include/grub/kernel.h (grub_main): Mark as noreturn.
10634 * include/grub/reader.h (grub_rescue_run): Likewise.
10635
2019d09e
VS
106362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10639 redundant declaration.
10640
d1c501ee
VS
106412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10644 redundant declaration.
10645 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10646
61664420
VS
106472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10650 to ensure alignment.
10651 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10652 alignment. Ensure tmp alignment.
10653 (grub_cmd_hdparm): Ensure buf alignment.
10654 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10655 to ensure alignment.
10656 (grub_ata_dumpinfo): Ensure text alignment.
10657 (grub_atapi_identify): Preserve alignment invariant.
10658 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10659
0d51ee20
VS
106602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10663 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10664 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10665 * include/grub/misc.h (grub_reboot)
10666 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10667 (grub_halt) [__mips__]: Likewise.
10668
753ef8c1
VS
106692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10672 Remove redundant declaration.
10673 (grub_mmap_get_post64): Likewise.
10674 (grub_mmap_get_upper): Likewise.
10675 (grub_mmap_get_lower): Likewise.
10676
85c85365
VS
106772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10680 uint32_t * to ensure alignment.
10681 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10682
a23f2cc4
VS
106832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10684
93018f64
VS
10685 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10686 uint16_t * to ensure alignment.
10687 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10688 alignment.
10689
106902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10693 to ensure alignment.
10694 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10695
58acccd6
VS
106962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10699 Handle unaligned pointers.
10700 (u32at): Likewise.
10701 (u64at): Likewise.
10702 (fixup): Use byte access instead of v16at.
10703 (find_attr): Fix imporper usage of v32at.
10704 (read_data): Likewise.
10705 (list_file): Handle byte-swapping and unaligned strings.
10706 (grub_ntfs_label): Likewise.
10707
9b05cad7
VS
107082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10711 as it's not necessarily aligned.
10712
b3950b84
VS
107132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10716 redundant declaration.
10717 (grub_serial_init): Likewise.
10718 (grub_terminfo_init): Likewise.
10719
fcd232b7
VS
107202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10723 function.
10724 (ZAP_HASH_IDX): Likewise.
10725 (ZAP_LEAF_HASH_SHIFT): Likewise.
10726 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10727 (LEAF_HASH): Likewise.
10728 (ZAP_LEAF_NUMCHUNKS): Likewise.
10729 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10730 alignment invariants. Return pointer. All users updated.
10731 (ZAP_LEAF_ENTRY): Make into inline function.
10732 (NBBY): Removed.
10733 (xor): LIkewise.
10734 (xor_out): Use grub_crypto_xor.
10735 (dnode_get_path): Use grub_get_unaligned.
10736 (nvlist_find_value): Likewise.
10737 (grub_zfs_nvlist_lookup_uint64): Likewise.
10738 (grub_zfs_nvlist_lookup_string): Likewise.
10739 (get_nvlist_size): Likewise.
10740 (grub_zfs_open): Likewise.
10741 (fill_fs_info): Likewise.
10742 (grub_zfs_dir): Likewise.
10743 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10744 alignment invariants.
10745 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10746 necessarily aligned.
10747
f138623a
VS
107482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10751
564840dc
VS
107522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10753
10754 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10755 arithmetic to conserve alignment invariants.
10756
9b40df20
VS
107572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10760 redundant declaration.
10761 (grub_efiemu_mm_obtain_request): Likewise.
10762 (grub_efiemu_prepare): Likewise.
10763
d1c930f9
VS
107642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10767 to match types.
10768
4c5f3056
VS
107692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10772 case of aunaligned recptr.
10773 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10774 alignment.
10775 (grub_hfsplus_btree_search): Handle unaligned index.
10776
728cba91
VS
107772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10780 to get freetag and skip.
10781
eb561f31
VS
107822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10783
10784 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10785 array.
10786 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10787 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10788
20993fbb
VS
107892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10792 name for checksum and fix allocation algorithm.
10793
1f313b94
VS
107942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * include/grub/types.h (grub_properly_aligned_t): New type.
10797 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10798 (grub_get_unaligned16): Add explicit casts.
10799 (grub_get_unaligned32): Likewise.
10800 (grub_get_unaligned64): Likewise.
10801 (grub_set_unaligned16): New function.
10802 (grub_set_unaligned32): Likewise.
10803
47ae27ec
VS
108042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10807
78c2cd1c
VS
108082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10811 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10812 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10813
53072f9b
VS
108142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10817 conditionals.
10818
055dc239
VS
108192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10822 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10823
496bd074
VS
108242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 Unify and improve RAID and crypto xor.
10827
10828 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10829 changed to grub_crypto_xor
10830 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10831 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10832 Use bigger types when possible.
10833
ef6e4335
VS
108342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * grub-core/disk/raid.c (scan_devices): Fix condition.
10837
5d048bf2
VS
108382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10839
10840 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10841 Make name a const ptr.
10842
ee533335
VS
108432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10846 first argument a const pointer.
10847 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10849 proto.
10850 (grub_children_iterate): Likewise.
10851 (grub_machine_mmap_iterate): Remove redundant declaration.
10852
cc8f3668
VS
108532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10856 (grub_cmd_acpi) [!x86]: Disable EBDA.
10857
c5fc563a
VS
108582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Enable UTF8 in gnulib regexp.
10861
10862 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10863 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10864 (isupper): Use grub_isupper.
10865 (isascii): New inline function.
10866 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10867 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10868 * grub-core/normal/charset.c (grub_utf8_process): New function.
10869 (grub_utf8_to_utf16): Use grub_utf8_process.
10870 (grub_encode_utf8_character): New function.
10871 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10872 * include/grub/charset.h (grub_utf8_process): New declaration.
10873 (grub_encode_utf8_character): Likewise.
10874 * include/grub/misc.h (grub_islower): New inline function.
10875 (grub_isupper): Likewise.
10876 (grub_strchrsub): Moved down to fix the definitions.
10877
0af2346f
VS
108782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10881 specification.
10882
74dbd244
VS
108832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * include/grub/loader.h (grub_loader_register_preboot_hook):
10886 Use struct preboot * and not void * for handle. All users updated.
10887 (grub_loader_unregister_preboot_hook): Likewise.
10888
1bc8f60d
VS
108892011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10892 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10893 UTF-16-BE. All users updated.
10894 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10895 (grub_hfsplus_iterate_dir): Likewise.
10896 (grub_hfsplus_label): Likewise.
10897
48d6e456
VS
108982011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10901
bf3a3857
VS
109022011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 Add missing const qualifiers.
10905
10906 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10907 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10908 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10909 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10910 (grub_lvm_check_flag): Likewise.
10911 * grub-core/efiemu/i386/coredetect.c
10912 (grub_efiemu_get_default_core_name): Likewise
10913 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10914 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10915 * grub-core/fs/ntfs.c (fixup): Likewise.
10916 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10917 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10918 (fzap_lookup): Likewise.
10919 (zap_lookup): Likewise.
10920 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10921 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10922 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10923 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10924 (grub_freebsd_add_meta_module): Likewise.
10925 (grub_cmd_freebsd_module): Likewise.
10926 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10927 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10928 (grub_xnu_writetree_get_size): Likewise.
10929 (grub_xnu_writetree_toheap_real): Likewise.
10930 (grub_xnu_find_key): Likewise.
10931 (grub_xnu_create_key): Likewise.
10932 (grub_xnu_create_value): Likewise.
10933 (grub_xnu_register_memory): Likewise.
10934 (grub_xnu_check_os_bundle_required): Likewise.
10935 (grub_xnu_scan_dir_for_kexts): Likewise.
10936 (grub_xnu_load_kext_from_dir): Likewise.
10937 * grub-core/normal/color.c (color_list): Likewise.
10938 * grub-core/normal/completion.c (current_word): Likewise.
10939 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10940 * grub-core/term/serial.c (grub_serial_find): Likewise.
10941 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10942 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10943 Likewise.
10944 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10945 (grub_freebsd_add_meta_module): Likewise.
10946 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10947 * include/grub/net.h (grub_net_card_driver): Likewise.
10948 (grub_net_card): Likewise.
10949 (grub_net_app_protocol): Likewise.
10950 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10951 * include/grub/serial.h (grub_serial_find): Likewise.
10952 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10953 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10954 (grub_xnu_create_value): Likewise.
10955 (grub_xnu_find_key): Likewise.
10956 (grub_xnu_scan_dir_for_kexts): Likewise.
10957 (grub_xnu_load_kext_from_dir): Likewise.
10958
10959 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10960 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10961 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10962 Moved from here ...
10963 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10964
112b4837
CW
109652011-11-28 Colin Watson <cjwatson@ubuntu.com>
10966
10967 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10968
49e891ac
VS
109692011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10972 (read_device): Fix size calculation.
10973
fd258e5c
RM
109742011-11-25 Robert Millan <rmh@gnu.org>
10975
10976 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10977 (find_root_device_from_libzfs): Add zpool output parser to be used
10978 as fallback when libzfs isn't available.
10979
78845dc2
SG
109802011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10981
10982 * po/Makefile.in.in: Add missing escape-continuation.
10983
adac5211
VS
109842011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10987
10b64f1c
VS
109882011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10991
bb416954
VS
109922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10995
bdfe9eeb
VS
109962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10999
581ffa8a
VS
110002011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * grub-core/lib/adler32.c: Add missing license specification.
11003 * grub-core/lib/crc64.c: Likewise.
11004 * grub-core/loader/i386/pc/plan9.c: Likewise.
11005 * grub-core/partmap/plan.c: Likewise.
11006
2536cf64
LK
110072011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11008
11009 Add facility to debug GRUB with gdb under qemu.
11010
11011 * grub-core/gdb_grub.in: New file.
11012 * grub-core/gmodule.pl.in: Likewise.
11013 * grub-core/Makefile.core.def (gmodule.pl): New script.
11014 (gdb_grub): Likewise.
11015
bc108a4a
VS
110162011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 * util/grub-mount.c (argp_parser): Accept relative pathes.
11019 * util/grub-fstest.c (argp_parser): Likewise.
11020
111c1778
VS
110212011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 Plan9 support.
11024
11025 * Makefile.util.def (libgrubmods): Add
11026 grub-core/partmap/plan.c.
11027 * docs/grub.texi: Notice Plan9 support.
11028 * grub-core/Makefile.core.def (plan9): New module.
11029 (part_plan): Likewise.
11030 * grub-core/loader/i386/pc/plan9.c: New file.
11031 * grub-core/partmap/plan.c: Likewise.
11032 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11033 define.
11034 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11035 * include/grub/mm.h (grub_extend_alloc): New inline function.
11036
c30be3b6
VS
110372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 Make Reed-Solomon faster by using power of generator representation of
11040 GF(256)*.
11041
11042 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11043 (gf_double_t): Likewise.
11044 (gf_invert): Removed.
11045 (gf_powx): New array.
11046 (gf_powx_inv): Likewise.
11047 (scratch): Move higher.
11048 (gf_reduce): Removed.
11049 (gf_mul): Use powx.
11050 (gf_invert): Likewise.
11051 (init_inverts): Replaced with ...
11052 (init_powx): ...this. All users updated.
11053 (pol_evaluate): Replace multiplications with additions.
11054 (rs_encode): Likewise.
11055 (gauss_eliminate): Call gf_invert.
11056 (grub_reed_solomon_add_redundancy): Call init_powx.
11057 (grub_reed_solomon_recover): Call init_powx unconditionally.
11058
fa5aeffc
VS
110592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11062
a346b81c
VS
110632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11066 disk->partiton for safety.
11067
d89ee414
VS
110682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11071 Fix a memory leak.
11072 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11073
91ee7b6d
VS
110742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11077
91e5a33d
VS
110782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11079
11080 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11081
9edd7be2
VS
110822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 Fix spaces handling in proc/self/mountinfo.
11085
11086 * util/getroot.c (unescape): New function.
11087 (grub_find_root_device_from_mountinfo): Use unescape.
11088
ba102053
VS
110892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 Support ZFS embedding.
11092
11093 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11094 (grub_zfs_fs): Register grub_zfs_embed.
11095
aa94b870
VS
110962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 Fix MIPS compilation.
11099
11100 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11101 * include/grub/offsets.h: Rename decompressor fields from
11102 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11103 * util/grub-mkimage.c (image_targets): Use new names.
11104
5fbdac14
VS
111052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 Defer multiboot device parsing until we're in compressed part.
11108
11109 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11110 bsd_part. setdevice has fallen into disuse.
11111 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11112 (bsd_part): Likewise.
11113 (boot_dev): New variable.
11114 (multiboot_trampoline): Don't parse multiboot device.
11115 Pass multiboot device in %edx.
11116 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11117 grub_boot_device.
11118 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11119 Likewise.
11120 * grub-core/kern/i386/pc/startup.S: Save edx.
11121 (grub_boot_drive): Removed.
11122 (grub_install_dos_part): Likewise.
11123 (grub_install_bsd_part): Likewise.
11124 (grub_boot_device): New variable.
11125 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11126 (grub_install_bsd_part): Likewise.
11127 (grub_boot_drive): Likewise.
11128 (grub_boot_device): New variable.
11129 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11130 Removed.
11131 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11132 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11133 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11134 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11135 * util/grub-install.in: Remove redundant condition.
11136
691cbb58
VS
111372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 Fix bug introduced by previous commit.
11140
11141 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11142
60240b8b
VS
111432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 Use decompressors framework on i386-pc. It increases core size
11146 by 46 bytes but improves compatibility and maintainability.
11147
11148 * grub-core/Makefile.core.def (lzma_decompress): New image.
11149 (kernel): Add i386_pc_ldflags.
11150 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
11151 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
11152 to real_to_prot, prot_to_real and device info.
11153 * include/grub/offsets.h: Renamed decompressor offsets.
11154 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
11155 (image_target_desc): Remove raw_size and rename decompressor fields.
11156 (compress_kernel): Handle lzma.
11157 (generate_image): Handle decompressors on i386-pc.
11158
e9d3421c
VS
111592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * configure.ac: Add -fno-asynchronous-unwind-tables.
11162
2b23074a
VS
111632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 Move assembly code to C by using intwrap. It increases core size
11166 by 88 bytes but improves compatibility and maintainability.
11167
11168 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
11169 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
11170 ... here. Translated to C.
11171 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
11172 * grub-core/term/i386/pc/console.c (grub_console_getkey):
11173 ... here. Translated to C.
11174 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
11175 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11176 ... here. Translated to C.
11177 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11178 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11179 ... here. Translated to C.
11180 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11181 * grub-core/term/i386/pc/console.c (grub_console_cls):
11182 ... here. Translated to C.
11183 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11184 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11185 ... here. Translated to C.
11186 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11187 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11188 Translated to C.
11189 * grub-core/term/i386/pc/console.c (int10_9): New function.
11190 (grub_console_putchar): Likewise.
11191 * include/grub/i386/pc/console.h: Removed the not anymore shared
11192 functions.
11193
678f4b67
VS
111942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 Move grub_chainloader_real_boot out of the kernel.
11197
11198 * grub-core/Makefile.am: Remove machine/loader.h.
11199 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11200 Removed.
11201 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11202 variable.
11203 (grub_relocator16_keep_a20_enabled): Likewise.
11204 (grub_relocator16_boot): Fill new variables.
11205 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11206 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11207 relocator.
11208 (grub_chainloader_unload): Likewise.
11209 (grub_chainloader_cmd): Likewise.
11210 * include/grub/i386/pc/loader.h: Removed.
11211 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11212 and esi. All initialisers updated.
11213
4626edf6
VS
112142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
112152011-11-12 Colin Watson <cjwatson@ubuntu.com>
11216
11217 * Makefile.util.def (grub-mount): New util.
11218 * .bzrignore: Add grub-mount.
11219 * configure.ac: Check for fuse and enable grub-mount if available.
11220 * docs/man/grub-mount.h2m: New file.
11221 * util/grub-mount.c: Likewise.
11222
10f0117b
VS
112232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 * grub-core/commands/efi/fixvideo.c: Gettextize.
11226 * grub-core/commands/hashsum.c: Likewise.
11227 * grub-core/commands/i386/cmostest.c: Likewise.
11228 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11229 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11230 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11231 * grub-core/commands/lsmmap.c: Likewise.
11232 * grub-core/commands/menuentry.c: Likewise.
11233 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11234 * grub-core/commands/setpci.c: Likewise.
11235 * grub-core/loader/i386/bsd.c: Likewise.
11236 * grub-core/loader/i386/linux.c: Likewise.
11237 * util/getroot.c: Likewise.
11238 * util/grub-editenv.c: Likewise.
11239 * util/grub-fstest.c: Likewise.
11240 * util/grub-mkfont.c: Likewise.
11241 * util/grub-mkimage.c: Likewise.
11242 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11243 * util/grub-pe2elf.c: Likewise.
11244 * util/grub-probe.c: Likewise.
11245 * util/grub-setup.c: Likewise.
11246 * util/ieee1275/ofpath.c: Likewise.
11247 * util/misc.c: Likewise.
11248 * util/raid.c: Likewise.
11249
566f779b
RM
112502011-11-11 Robert Millan <rmh@gnu.org>
11251
11252 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11253 __attribute__((unused)) from `os_dev', which *is* being used.
11254
b50787de
VS
112552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11258 forgotten define.
11259 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11260 GRUB_IA64_DL_GOT_ALIGN.
11261 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11262 GRUB_IA64_DL_TRAMP_ALIGN.
11263
119d11c8
VS
112642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 Replace grub_fatal with normal errors in i386 linux loader.
11267
11268 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11269 (allocate_pages): Check find_efi_mmap_size return value.
11270 (grub_e820_add_region): Return error.
11271 (grub_linux_boot): Check mmap return value.
11272
6e0632e2
VS
112732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/commands/acpihalt.c: Gettextized.
11276 * grub-core/commands/cacheinfo.c: Likewise.
11277 * grub-core/commands/cmp.c: Likewise.
11278 * grub-core/commands/efi/loadbios.c: Likewise.
11279 * grub-core/commands/gptsync.c: Likewise.
11280 * grub-core/commands/ieee1275/suspend.c: Likewise.
11281 * grub-core/commands/legacycfg.c: Likewise.
11282 * grub-core/commands/memrw.c: Likewise.
11283 * grub-core/commands/minicmd.c: Likewise.
11284 * grub-core/commands/parttool.c: Likewise.
11285 * grub-core/commands/time.c: Likewise.
11286 * grub-core/commands/videoinfo.c: Likewise.
11287 * grub-core/disk/geli.c: Likewise.
11288 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11289 * grub-core/disk/luks.c: Likewise.
11290 * grub-core/disk/lvm.c: Likewise.
11291 * grub-core/font/font_cmd.c: Likewise.
11292 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11293 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11294 * grub-core/gfxmenu/view.c: Likewise.
11295 * grub-core/kern/emu/hostdisk.c: Likewise.
11296 * grub-core/kern/emu/main.c: Likewise.
11297 * grub-core/kern/emu/misc.c: Likewise.
11298 * grub-core/kern/emu/mm.c: Likewise.
11299 * grub-core/kern/mips/arc/init.c: Likewise.
11300 * grub-core/kern/mips/loongson/init.c: Likewise.
11301 * grub-core/kern/partition.c: Likewise.
11302 * grub-core/lib/i386/halt.c: Likewise.
11303 * grub-core/lib/mips/arc/reboot.c: Likewise.
11304 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11305 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11306 * grub-core/loader/i386/xnu.c: Likewise.
11307 * grub-core/loader/multiboot.c: Likewise.
11308 * grub-core/net/bootp.c: Likewise.
11309 * grub-core/net/net.c: Likewise.
11310 * grub-core/normal/term.c: Likewise.
11311 * grub-core/partmap/bsdlabel.c: Likewise.
11312 * grub-core/parttool/msdospart.c: Likewise.
11313 * grub-core/term/gfxterm.c: Likewise.
11314 * grub-core/term/terminfo.c: Likewise.
11315 * grub-core/video/i386/pc/vbe.c: Likewise.
11316 * util/grub-menulst2cfg.c: Likewise.
11317 * util/grub-mkdevicemap.c: Likewise.
11318 * util/grub-mklayout.c: Likewise.
11319 * util/grub-mkrelpath.c: Likewise.
11320 * util/grub-script-check.c: Likewise.
11321 * util/ieee1275/grub-ofpathname.c: Likewise.
11322 * util/resolve.c: Likewise.
11323
073aa7a9
VS
113242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 Support %1$d syntax.
11327
11328 * tests/printf_unit_test.c: New file.
11329 * Makefile.util.def (printf_test): New test.
11330 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11331
c76b5417
VS
113322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11335 fix.
11336
df067ad1
VS
113372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11340 dprintf.
11341 * grub-core/font/font.c (grub_font_load): Likewise.
11342
5b289bc5
VS
113432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * util/grub-macho2img.c: Add comment concerning gettext.
11346 * grub-core/lib/legacy_parse.c: Likewise.
11347
c1860f87
VS
113482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11351 (grub_xvasprintf): Likewise.
11352
d35d0d37
VS
113532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 Add const keyword to grub_env_get and gettextize week days.
11356
11357 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11358 (grub_read_hook_datetime): Return const char *.
11359 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11360 updated.
11361 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11362 Mark for gettext.
11363 (grub_get_weekday_name): Return const char *. Call gettext.
11364 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11365 char * and len as the argument. All users updated.
11366 (grub_script_argv_split_append): Receive const char *.
11367 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11368 * include/grub/env.h (grub_env_get): Likewise.
11369 (grub_env_read_hook_t): Return const char *.
11370 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11371 (grub_script_argv_split_append): Likewise.
11372
9aed8a71
VS
113732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11376
067fdf00
VS
113772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11380 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11381
a8bd9d39
VS
113822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11385 Fix prototype.
11386
f7ce5baf
VS
113872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 Fix mips compilation.
11390
11391 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11392 normal decoder.
11393 (hashes): Use in embed decoder as well (for sizes).
11394 (dec_stream_header): Fix embed decompressor logic.
11395 (dec_stream_footer): Likewise.
11396
9bb182f3
VS
113972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11400 an error and not a fatal on unrecognised relocation types.
11401
63a9e6f6
VS
114022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11405 Issue error rather than printf on unknown arguments.
11406
4c458569
VS
114072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11410 Make buf a const.
11411
e2d22baf
VS
114122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11415 Fix module name.
11416
53dc8590
VS
114172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11420 leftover debug printf.
11421
6c189294
VS
114222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11425
f7688369
VS
114262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11429 A stylistic fix.
11430
11a775a3
VS
114312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11434
33f784e8
SL
114352011-11-10 Shea Levy <slevy@tieronedesign.com>
11436
11437 Allow all modules to perform serial IO
11438
11439 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11440 * include/grub/serial.h (grub_serial_port_configure): New inline
11441 function.
11442 (grub_serial_port_fetch): Likewise.
11443 (grub_serial_port_put): Likewise.
11444 (grub_serial_port_fini): Likewise.
11445 (grub_serial_find): New proto.
11446
f6276525
VS
114472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 Put symlink at the end of the node and fix a potential
11450 memory corruption.
11451
11452 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11453 Make symlink into an array.
11454 (set_rockridge): Set have_symlink and alloc_dirents.
11455 (grub_iso9660_read_symlink): Use new layout.
11456 (grub_iso9660_iterate_dir): Fix memory corruption.
11457 Use new layout.
11458 (grub_iso9660_dir): Set have_symlink.
11459 (grub_iso9660_open): Likewise.
11460
c3591189
VS
114612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 Remove local keyword.
11464
11465 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11466 (version_test_gt): Likewise.
11467 (version_find_latest): Likewise.
11468 (gettext_printf): Likewise.
11469 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11470
cb544caa
VS
114712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11474
45bd824d
VS
114752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 Fix ZFS memory and resource leaks.
11478
11479 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11480 All users updated.
11481 Free type on exit.
11482 (fill_vdev_info): New parameter inserted. All users updated.
11483 (check_pool_label): Likewise.
11484 (scan_disk): Likewise.
11485 (scan_devices): Close non-inserted disks.
11486 (fzap_iterate): Free l.
11487 (unmount_device): Free children descripto memory.
11488
ad9a2f44
VS
114892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11492 argument (access out of bounds).
11493
6b68db81
VS
114942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11497 >= 6 drives.
11498
28840fda
VS
114992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11502 Fix declaration.
11503
8a5a3a5b
VS
115042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 Fix several memory leaks.
11507
11508 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11509 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11510 (grub_cpio_dir): Likewise.
11511 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11512 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11513 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11514 (grub_romfs_label): Likewise.
11515 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11516 (squash_unmount): New function.
11517 (grub_squash_dir): Fix memory leak.
11518 (grub_squash_open): Likewise.
11519 (grub_squash_read): Likewise.
11520 (grub_squash_mtime): Likewise.
11521 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11522 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11523 * util/grub-fstest.c (fstest): Likewise.
11524
57b01250
VS
115252011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11528 avoid accessing beyond the array.
11529
19e81ba7
VS
115302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11533
52b656c0
VS
115342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 Several AFFS fixes.
11537
11538 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11539 (GRUB_AFFS_FLAG_FFS): Removed.
11540 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11541 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11542 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11543 (grub_fshelp_node): Make block 32-bit.
11544 Add block_cache and last_block_cache.
11545 (grub_affs_read_block): Fill and use block cache.
11546 (grub_affs_read_file): Removed.
11547 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11548 boot block.
11549 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11550 safety.
11551 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11552 space.
11553 (grub_affs_close): Free block cache.
11554 (grub_affs_read): Use grub_fshelp_read_file directly.
11555
438a746a
VS
115562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11559 with no error set.
11560
49a45021
VS
115612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11564 used variable.
11565 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11566 Likewise.
11567
3ae17eb8
VS
115682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11571
11572 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11573 byteswap when needed.
11574
27610c38
VS
115752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 Fix FreeBSD compilation.
11578
11579 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11580 to avoid circular dependency.
11581 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11582 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11583 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11584
4a19b601
VS
115852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11586
11587 Fix ZFS crypto error types.
11588
11589 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11590 (grub_gcm_decrypt): Likewise.
11591 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11592 from PBKDF2.
11593
958ee221
VS
115942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 Illumos support.
11597
11598 * Makefile.util.def (10_illumos): New script.
11599 * configure.ac: Set COND_HOST_ILLUMOS.
11600 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11601 Support Illumos calls.
11602 (find_partition_start) [__sun__]: Likewise.
11603 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11604 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11605 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11606 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11607 device.
11608 * util/grub-probe.c (probe) [__sun__]: Do character check.
11609 * util/grub.d/10_illumos.in: New file.
11610
cac14fb6
VS
116112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 Support escaped commas in hostdisk.
11614
11615 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11616 (find_grub_drive): Use unescape_cmp.
11617 (make_device_name): Escape commas.
11618
78e08dc3
VS
116192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11622
9f421dd1
VS
116232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11626 variable.
11627
ed64e9e2
VS
116282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 Support trampoline jumps on powerpc.
11631
11632 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11633 __ia64__ path.
11634 (grub_dl_load_segments): Set mod->sz.
11635 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11636 segments.
11637 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11638 (jump): Likewise.
11639 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11640 function.
11641 (trampoline): New struct.
11642 (trampoline_template): New const.
11643 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11644 * include/grub/dl.h (grub_dl): Add sz element.
11645 [__powerpc__]: Follow __ia64__.
11646 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11647 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11648 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11649 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11650
3084ede4
VS
116512011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 ZFS crypto support.
11654
11655 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11656 * grub-core/Makefile.core.def (zfscrypt): New module.
11657 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11658 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11659 it. All users updated.
11660 (grub_zfs_decrypt): New var.
11661 (grub_zfs_load_key): Likewise.
11662 (zio_checksum_functions): Add SHA256+MAC.
11663 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11664 (zio_read): Handle encrypted blocks.
11665 (zap_verify): Remove incorrect check.
11666 (fzap_iterate): Handle non-standard fzap.
11667 (zap_iterate): Likewise.
11668 (zap_iterate_u64): New function.
11669 (dnode_get_fullpath): Load keys.
11670 * grub-core/fs/zfs/zfscrypt.c: New file.
11671 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11672 (grub_crypto_ecb_encrypt): Make input const.
11673 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11674 (grub_crypto_ecb_encrypt): Make input const.
11675 (GRUB_CIPHER_AES): New macro.
11676 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11677 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11678 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11679 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11680 prefix. All users updated.
11681 (grub_zfs_add_key): New proto.
11682 (grub_zfs_decrypt): Likewise.
11683 (grub_zfs_load_key): Likewise.
11684 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11685 * util/grub-fstest.c (options): Add -K option.
11686 (argp_parser): Likewise.
11687
b632b404
VS
116882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 Support zle compression on ZFS.
11691
11692 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11693 (decomp_table): Add zle.
11694 * include/grub/zfs/zio.h (zio_compress): Add zle.
11695
c7ba4f69
VS
116962011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 Support BtrFS embedding.
11699
11700 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11701 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11702 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11703 * util/grub-setup.c (setup): Use fs embedding if available.
11704 Add additional sanity check.
11705
455377d9
VS
117062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * util/grub-install.in: Fix condition for config_opt.
11709
c2fd16ca
VS
117102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 Support third redundancy strip on raidz3.
11713
11714 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11715 Return error on singularity. All users updated.
11716 (read_device): Don't stop on 3rd failure on raidz3.
11717
8622923b
VS
117182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 Support case-insensitive ZFS subvolumes.
11721
11722 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11723 All users updated.
11724 (zap_hash): Likewise.
11725 (name_cmp): New function.
11726 (zap_leaf_array_equal): New parameter case_insensitive.
11727 All users updated.
11728 (zap_leaf_lookup): Likewise.
11729 (fzap_lookup): Likewise.
11730 (zap_lookup): Likewise.
11731 (dnode_get_path): New parameter case_insensitive. Retrieve case
11732 sensitiviness of a volume. All users updated.
11733 (dnode_get_fullpath): New parameter case_insensitive.
11734 All users updated.
11735 (grub_zfs_dir): Set info.case_insensitiveness.
11736
95f2e860
VS
117372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 Support second redundancy strip on raidz(2,3).
11740
11741 * grub-core/fs/zfs/zfs.c (powx): New array.
11742 (powx_inv): Likewise.
11743 (poly): New const.
11744 (xor_out): New function.
11745 (gf_mul): Likewise.
11746 (recovery): Likewise.
11747 (read_device): Use second redundancy strip.
11748
11ee4389
VS
117492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 Use a power of generator representation of GF(256) multiplication group
11752 to save space time and complexity.
11753
11754 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11755 (raid6_table2): Likewise.
11756 (powx): New array.
11757 (powx_inv): Likewise.
11758 (poly): New const.
11759 (grub_raid_block_mul): Replace with ...
11760 (grub_raid_block_mulx): ...this.
11761 (grub_raid6_init_table): Rewritten.
11762 (grub_raid6_recover): Use power of generator representation.
11763
09e2763f
VS
117642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11767 for the right device.
11768
8bec9a28
VS
117692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11770
11771 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11772 expected by grub-mkimage and it's more clear since there is no implicit
11773 padding.
11774
dbd3a32e
VS
117752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11776
11777 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11778 disk.
11779 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11780
182c872a
PMH
117812011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11782
11783 * util/grub-mkrescue.in: Fix handling xorriso option.
11784
1e51cabd
VS
117852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11788 NULL.
11789
9cc3581d 117902011-11-03 crocket <crockabiscuit@gmail.com>
11791
11792 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11793
158dc1ea
VS
117942011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 XZ CRC64 and SHA256 support.
11797
11798 * Makefile.util.def (libgrubmods): Add crc64.c.
11799 * grub-core/Makefile.core.def (crc64): New module.
11800 * grub-core/lib/crc64.c: New file.
11801 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11802 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11803 Fix the type.
11804 (MAX_HASH_SIZE): New define.
11805 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11806 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11807 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11808 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11809 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11810 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11811 Handle non-crc32 hashes.
11812 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11813 (dec_stream_header): Handle non-crc32 hashes.
11814 (dec_stream_footer): Likewise.
11815 (dec_block_header): Likewise.
11816 (dec_main): Likewise.
11817 (xz_dec_init): Likewise.
11818 (xz_dec_reset): Likewise.
11819 (xz_dec_end): Likewise.
11820 * util/import_gcry.py: Add CRC64 line.
11821
9d9b3d2f
VS
118222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11825 as well.
11826
7d0ac931
VS
118272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 Make reiserfs label retrieval similar to other *_label functions.
11830
11831 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11832 (REISERFS_MAX_LABEL_LENGTH): Removed.
11833 (REISERFS_LABEL_OFFSET): Likewise.
11834 (grub_reiserfs_label): Rewritten.
11835
118362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11839 field.
11840
cf5ba824
VS
118412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11844
17744004
VS
118452011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11848 drive failure on both raidz and raidz2.
11849
aca5aefc
VS
118502011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 Fix RAIDZ(2) for >= 5 devices.
11853
11854 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11855 asize argument. All users updated.
11856
ce8ca56e
VS
118572011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 Fix RAIDZ(2).
11860
11861 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11862 (fill_vdev_info_real): Set ashift.
11863 (read_device): Rewrite RAIDZ part based on reverse engineering.
11864
7c01e783
VS
118652011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11868 don't report potentially unavialiable fields in debug output.
11869 (find_path): Fix double-free and memory leak.
11870
ce109e84
VS
118712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 Read label on UFS1.
11874
11875 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11876 (grub_ufs_fs): Always set .label.
11877
87661123
VS
118782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 Use shifts in UFS.
11881
11882 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11883 (grub_ufs_data): New field log2_blksz.
11884 (grub_ufs_read_file): Use shifts.
11885 (grub_ufs_mount): Check block size and logarithm it.
11886
46bc1dc2
VS
118872011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11890 long symlinks.
11891
19ee2987
VS
118922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11893
11894 Handle symlinks and long names on tar and cpio.
11895
11896 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11897 (ATTR_FILE): Likewise.
11898 (ATTR_DIR): Likewise.
11899 (ATTR_LNK): Likewise.
11900 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11901 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11902 L and K entries.
11903 (grub_cpio_mount): Zero-fill data.
11904 (handle_symlink): New function.
46bc1dc2
VS
11905 (grub_cpio_dir): Handle symlinks.
11906 (grub_cpio_open): Likewise.
11907 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11908
c83a08d8
VS
119092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 Fix iso9660 filename limitations and fix memory leaks.
11912
11913 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11914 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11915
45cdd3ea
VS
119162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 Fix JFS file name length limitations.
11919
11920 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11921 (grub_jfs_diropen): Fix maximum filename length.
11922 (grub_jfs_getent): Fix filename length.
11923 (grub_jfs_lookup_symlink): Fix size checks.
11924
94ef05c2
VS
119252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11928 string.
11929
785ab8c7
VS
119302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11931
eb0b6b45
VS
11932 Leverage BFS implementation to read AFS.
11933
11934 * Makefile.util.def (libgrubmods): Add afs.c.
11935 * grub-core/Makefile.core.def (afs): New module
11936 * grub-core/fs/afs.c: New file.
11937 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11938
119392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11942
c4a1628f
VS
119432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 * grub-core/fs/bfs.c: Run indent.
11946
5825b379
VS
119472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 BFS implementation based on the specification.
11950
11951 * grub-core/fs/bfs.c: New file.
11952 * Makefile.util.def (libgrubmods): Add bfs.c.
11953 * grub-core/Makefile.core.def (bfs): New module.
11954
42b2a706
VS
119552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * util/grub-fstest.c (cmd_cp): Clarify error message.
11958 (cmd_cmp): Likewise.
11959
61b99bfc
YB
119602011-10-30 Yves Blusseau <blusseau@zetam.org>
11961
11962 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11963 and befs_be.
11964
faba3d16
VS
119652011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 Remove afs and befs because of copyright problem.
11968
11969 * grub-core/fs/afs.c: Removed.
11970 * grub-core/fs/afs_be.c: Removed.
11971 * grub-core/fs/befs.c: Removed.
11972 * grub-core/fs/befs_be.c: Removed.
11973 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11974 * grub-core/Makefile.core.def (afs): Removed.
11975 (afs_be): Likewise.
11976 (befs): Likewise.
11977 (befs_be): Likewise.
11978
c39224b0
VS
119792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 Prefer rockridge over Joliet.
11982
11983 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11984 to ...
11985 (set_rockridge): ... here.
11986 (grub_iso9660_mount): Check rockridge on the primary label when
11987 discovering. Ignore Joliet if Rockridge is present.
11988
e551115a
VS
119892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 Use shifts in nilfs2.
11992
11993 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11994 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11995 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11996 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11997 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11998 (grub_nilfs2_entries_per_block): Replaced with ...
11999 (grub_nilfs2_log_entries_per_block_log): ... this.
12000 (grub_nilfs2_blocks_per_group): Replaced with ...
12001 (grub_nilfs2_blocks_per_group_log): ... this.
12002 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12003 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12004 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12005 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12006 (grub_nilfs2_palloc_entry_offset): Replaced ...
12007 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12008 (grub_nilfs2_dat_translate): Use shifts.
12009 (grub_nilfs2_read_inode): Likewise.
12010 (GRUB_MOD_INIT): Ensure that logs are correct.
12011
564dd58c
VS
120122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 Use shifts in minix filesystem.
12015
12016 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12017 (GRUB_MINIX_ZONE2SECT): Likewise.
12018 (grub_minix_data): Replace block_size with log_block_size.
12019 (grub_minix_read_file): Use shifts.
12020 (grub_minix_mount): Check block size and take a logarithm.
12021
ed9ba06d
VS
120222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 Use shifts in squash4.
12025
12026 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12027 (squash_mount): Check block size and take logarithm.
12028 (direct_read): Use shifts.
12029
ad03fe76
VS
120302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 Correct befs block counting logic.
12033
12034 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12035 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12036 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12037 (grub_afs_read_inode): Use block_shift.
12038 (RANGE_SHIFT): New definition.
12039 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12040 unexpected conditions, use shifts and appropriate types.
12041 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12042
6563f63d
VS
120432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * grub-core/disk/raid.c (scan_devices): Check partition.
12046 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12047
5b1ae25f
VS
120482011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 Support BFS (befs) UUID.
12051
12052 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12053 (grub_afs_small_data_element_header): New struct.
12054 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12055 (grub_afs_read_attribute) [MODE_BFS]: New function.
12056 (grub_afs_iterate_dir): Allocate for complete inode.
12057 (grub_afs_mount): Likewise.
12058 (grub_afs_uuid) [MODE_BFS]: New function.
12059 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12060
f8d82408
VS
120612011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12064 (zfs_unmount): Fix memory leak.
12065
5773fb64
VS
120662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 Support NTFS reparse points.
12069
12070 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12071 (symlink_descriptor): New struct.
12072 (grub_ntfs_read_symlink): New function.
12073 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12074 (grub_ntfs_open): Likewise.
12075
91c3fdde
VS
120762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12079
3be82e10
VS
120802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 fstest xnu_uuid subcommand.
12083
12084 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12085 grub-core/commands/xnu_uuid.c.
12086 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12087 (fstest): Handle xnu_uuid.
12088 (options): Document xnu_uuid.
12089 (argp_parser): Parse xnu_uuid.
12090
8e32442e
VS
120912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12092
12093 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12094 -l argument. Add newline at the end if printing.
12095 (GRUB_MOD_INIT): Document -l.
12096
52a05075
VS
120972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12100
1869edb5
VS
121012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 ZFS multi-device and version 33 support.
12104
12105 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12106 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12107 (grub_zfs_data): Add multidev-ice-related fields.
12108 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12109 (dva_get_offset): Make dva const.
12110 (zfs_fetch_nvlist): New function.
12111 (fill_vdev_info_real): Likewise.
12112 (fill_vdev_info): Likewise.
12113 (check_pool_label): Likewise.
12114 (scan_disk): Likewise.
12115 (scan_devices): Likewise.
12116 (read_device): Likewise.
12117 (read_dva): Likewise.
12118 (zio_read_gang): Use read_dva.
12119 (zio_read_data): Likewise.
12120 (zap_leaf_lookup): Add missing endian conversion.
12121 (zap_verify): Add missing endian conversion. All users updated.
12122 (fzap_lookup): Likewise.
12123 (fzap_iterate): Likewise.
12124 (dnode_get_path): Handle SA bonus.
12125 (nvlist_find_value): Make input const. All users updated.
12126 (unmount_device): New function.
12127 (zfs_unmount): Use unmount_device.
12128 (zfs_mount): Use scan_disk.
12129 (zfs_mtime): New function.
12130 (grub_zfs_open): Handle system attributes.
12131 (fill_fs_info): Likewise.
12132 (grub_zfs_dir): Likewise.
12133 (grub_zfs_fs): Add mtime.
12134 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12135 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12136 (SA_MTIME_OFFSET): Likewise.
12137 (SA_SYMLINK_OFFSET): Likewise.
12138 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12139 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12140 (fstest): Support zfsinfo.
12141 (argp_parser): Likewise.
12142
186b4028
VS
121432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
12146 error.
12147
121482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
12149
12150 ZFS fixes.
12151
12152 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
12153 sharing the same block. Iterate over correct number of indices.
12154 (dnode_get_path): Handle symlinks correctly.
12155
c0584900
VS
121562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
12159
67e2bd71
VS
121602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 Read label on HFS+.
12163
12164 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
12165 (grub_hfsplus_btree_search): Fix types.
12166 (grub_hfsplus_label): Implement.
12167
e9cc6b7b
VS
121682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
12171
19832ddb
VS
121722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12173
12174 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
12175
66b40850
VS
121762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 Fix symlink handling on iso9660.
12179
12180 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12181 All users updated.
12182 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12183 (grub_iso9660_read_symlink): Moved most of code ...
12184 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12185
db821363
VS
121862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12189 Use union to avoid breaking strict-aliasing rules.
12190
e1211949
VS
121912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 Support multi-extent iso files.
12194
12195 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12196 Add node.
12197 (grub_fshelp_node): Revamp. All users updated.
12198 (FLAG_*): New enum.
12199 (read_node): New function.
12200 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12201 All users updated.
12202 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12203 (get_node_size): New function.
12204 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12205 entries.
12206 Fix memory leak on . and ..
12207 (grub_iso9660_read): Use read_node.
12208 (grub_iso9660_close): Free node.
12209
d4888031
VS
122102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 Fix tar 4G limit and handle paths containing dot.
12213
12214 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12215 (canonicalize): New function.
12216 (grub_cpio_find_file): Use canonicalize. Store offs in
12217 grub_disk_addr_t.
12218 (grub_cpio_dir): Use grub_disk_addr_t.
12219 (grub_cpio_open): Likewise.
12220
9f12e664
VS
122212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12224
12225 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12226 unused flags.
12227 (grub_squash_inode): Add long_file and block_size.
12228 (grub_squash_cache_inode): New struct.
12229 (grub_squash_dirent): Make types into enum.
12230 (SQUASH_TYPE_LONG_REGULAR): New type.
12231 (grub_squash_frag_desc): Add field size.
12232 (SQUASH_BLOCK_FLAGS): New enum.
12233 (grub_squash_data): Use grub_squash_cache_inode.
12234 (grub_fshelp_node): Make ino_chunk 64-bit.
12235 (read_chunk): Minor argument change. All users updated.
12236 (squash_mount): Use correct le_to_cpu.
12237 (grub_squash_open): Handle LONG_REGULAR.
12238 (direct_read): New function.
12239 (grub_squash_read_data): Handle blocks correctly.
12240
9f326fba
VS
122412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12244
f4d9b64b
VS
122452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12248
5bbd28b8
VS
122492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 Fix 2G limit on ZFS.
12252
12253 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12254 types.
12255 (uberblock_verify): Likewise.
12256 (dmu_read): Likewise.
12257 (grub_zfs_read): Likewise. Remove invalid cast.
12258
68c72069
VS
122592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12262 (grub_jfs_blkno): Fix incorrect shift.
12263 (grub_jfs_read_file): Use more appropriate types.
12264
6e536dc8
VS
122652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 Support triple indirect on minix2 and minix3.
12268
12269 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12270 Declare triple_indir_zone.
12271 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12272 indirect.
12273
e0864e7a
VS
122742011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 Minix FS fixes.
12277
12278 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12279 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12280 Rename ctime to mtime. All users updated.
12281 (grub_minix_get_file_block): Fix types and double indirect computations.
12282
89481cab
VS
122832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12286 if no label is found.
12287 (grub_fat_iterate_dir): Fix file size type.
12288 (grub_fat_iterate_dir): Likewise.
12289
f646e143
VS
122902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12293 save some space.
12294 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12295 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12296
534d769e
VS
122972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12300
e084ba18
VS
123012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 * util/import_gcry.py: Accept space between # and include.
12304
3471ecdf
VS
123052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12308
124df5f6
VS
123092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12312
12313 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12314 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12315 yylex_strncpy.
12316 * grub-core/script/yylex.l: Add fine-grained #pragma.
12317
4defb8d5
VS
123182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12321 New inline function.
12322 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12323 Likewise.
12324 (memset) [GRUB_UTIL]: Likewise.
12325 (memcmp) [GRUB_UTIL]: Likewise.
12326
4e94ae65
VS
123272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12330 inline function rather than a define.
12331
18c575e5
VS
123322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * util/grub-setup.c: Add missing include.
12335
f8bc22a8
VS
123362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 * util/ieee1275/grub-ofpathname.c: Add missing include.
12339
3ce69fc9
VS
123402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12343 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12344 Likewise.
12345
d1e293bb
VS
123462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12349 grub_memcmp usage.
12350
7a5c54a4
VS
123512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * util/grub-install.in: Add datarootdir as per automake manual
12354 suggestion.
12355 * util/grub-mknetdir.in: Likewise.
12356
123572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12358
12359 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12360 suggestion.
12361 * util/grub.d/10_kfreebsd.in: Likewise.
12362 * util/grub.d/10_linux.in: Likewise.
12363 * util/grub.d/10_netbsd.in: Likewise.
12364 * util/grub.d/10_windows.in: Likewise.
12365 * util/grub.d/20_linux_xen.in: Likewise.
12366
766f7d08
VS
123672011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 Remove redundant grub_kernel_image_size.
12370
12371 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12372 _edata and _start.
12373 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12374 the small code. It moves it only by few bytes but simplifies the code.
12375 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12376 _start.
12377 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12378 (grub_kernel_image_size): Removed.
12379 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12380 (grub_kernel_image_size): Removed.
12381 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12382 compiled with Apple toolchain.
12383 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12384 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12385 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12386 (grub_total_module_size): Likewise.
12387 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12388 Removed.
12389 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12390 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12391 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12392 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12393 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12394 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12395 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12396 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12397 Removed.
12398 (grub_total_module_size): Removed.
12399 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12400 (image_targets): Likewise.
12401 Set .compressed_size to no field on sparc.
12402 (generate_image): Remove kernel_image_size handling.
12403
fcf1d672
SJ
124042011-10-19 Szymon Janc <szymon@janc.net.pl>
12405
12406 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12407 NULL pointer dereference.
12408
de9c615e
VS
124092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12412 done with a dedicated section.
12413
12414 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12415 Ensure the correct position of boot_path.
12416 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12417 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12418 other fields.
12419 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12420 * include/grub/boot.h: Removed. All references removed.
12421 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12422 Removed.
12423 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12424
e55599dc
VS
124252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12428 name.
12429
36dd20ad
VS
124302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12433
f8f72eb8
VS
124342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12437 Don't add the bogus brackets.
12438
a374751b
VS
124392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12440
12441 ExFAT support.
12442
12443 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12444 * grub-core/Makefile.core.def (exfat): New module.
12445 * grub-core/fs/exfat.c: New file.
12446 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12447 (GRUB_FAT_ATTR_*): Make into an enum.
12448 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12449 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12450 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12451 (GRUB_FAT_MAXFILE): Removed.
12452 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12453 (grub_current_fat_bpb_t): New type.
12454 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12455 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12456 (grub_fat_dir_node_t): New type.
12457 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12458 (fat_log2) [MODE_EXFAT]: Removed.
12459 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12460 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12461 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12462 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12463 (grub_fat_label) [MODE_EXFAT]: New function.
12464 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12465 reserved_first_sector to 0.
12466
544c2487
VS
124672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 Move grub_reboot out of the kernel.
12470
12471 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12472 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12473 * grub-core/lib/efi/reboot.c: ... here.
12474 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12475 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12476 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12477 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12478 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12479 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12480 * grub-core/lib/ieee1275/reboot.c: ... here.
12481 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12482 * grub-core/lib/mips/arc/reboot.c: ... here.
12483 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12484 * grub-core/lib/mips/loongson/reboot.c: ...here.
12485 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12486 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12487 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12488 * include/grub/i386/reboot.h: New file.
12489 * include/grub/mips/loongson/ec.h: Fix includes.
12490 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12491 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12492 * grub-core/lib/i386/reboot.c: New file.
12493
a97501d2
VS
124942011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 Make grub_prefix into module to fix the arbitrary limit and save
12497 some space.
12498
12499 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12500 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12501 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12502 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12503 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12504 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12505 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12506 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12507 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12508 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12509 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12510 * include/grub/ia64/efi/kernel.h: Removed.
12511 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12512 (grub_prefix): Removed.
12513 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12514 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12515 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12516 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12517 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12518 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12519 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12520 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12521 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12522 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12523 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12524 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12525 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12526 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12527 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12528 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12529 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12530 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12531 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12532 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12533 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12534 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12535 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12536 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12537 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12538 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12539 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12540 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12541 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12542 from module.
12543 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12544 prefix_end.
12545 (image_targets): Likewise.
12546 (generate_image): Put prefix as a module.
12547
39705fad
VS
125482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 Replace grub_module_iterate with FOR_MODULES.
12551
12552 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12553 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12554 (grub_efi_modules_addr): ...this.
12555 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12556 (grub_efi_init): Set grub_modbase.
12557 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12558 (grub_modbase): New variable.
12559 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12560 (grub_modbase): New variable.
12561 (grub_machine_init): Set grub_modbase.
12562 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12563 (grub_modbase): New variable.
12564 (grub_machine_init): Set grub_modbase.
12565 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12566 (grub_modbase): New variable.
12567 (grub_machine_init): Set grub_modbase.
12568 * grub-core/kern/main.c (grub_module_iterate): Remove.
12569 (grub_modules_get_end): Use grub_modbase.
12570 (grub_load_modules): Use FOR_MODULES.
12571 (grub_load_config): Likewise.
12572 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12573 (grub_modbase): New variable.
12574 (grub_machine_init): Set grub_modbase.
12575 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12576 (grub_modbase): New variable.
12577 (grub_machine_init): Set grub_modbase.
12578 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12579 Removed.
12580 (grub_modbase): New variable.
12581 (grub_machine_init): Set grub_modbase.
12582 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12583 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12584 (grub_module_iterate): Likewise.
12585 (grub_modbase): New variable declaration.
12586 (FOR_MODULES): New macro.
12587
2afb7f6c
VS
125882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12591 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12592
366e34fa
VS
125932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 Fix few obvious type discrepancies.
12596
12597 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12598 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12599 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12600 variable.
12601 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12602 and connected types.
12603 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12604 offset.
12605 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12606 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12607 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12608 and connected types.
12609
177b960e
VS
126102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 Fix python 3.x incompatibilities.
12613
12614 * gentpl.py: Put brackets around print strings.
12615 * util/import_gcry.py: Open explicitly as utf-8.
12616 Use in instead of has_key.
12617
3b619ae1
VS
126182011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12621 (GRUB_XFS_INO_AGBITS): Make into inline function.
12622 (GRUB_XFS_INO_INOINAG): Likewise.
12623 (GRUB_XFS_INO_AG): Likewise.
12624 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12625 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12626 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12627 (GRUB_XFS_EXTENT_SIZE): Likewise.
12628 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12629 (GRUB_XFS_NEXT_DIRENT): Likewise.
12630 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12631 (grub_xfs_read_file): Fix offset type.
12632
8bcebcb8
RM
126332011-10-15 Robert Millan <rmh@gnu.org>
12634
12635 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12636
0017e5ef
RM
126372011-10-15 Robert Millan <rmh@gnu.org>
12638
12639 Fix build problem on FreeBSD and GNU/kFreeBSD.
12640
12641 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12642
d8919552
VS
126432011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12646
12647 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12648 types.
12649 (grub_hfsplus_btree_recoffset): Likewise.
12650 (grub_hfsplus_btree_recptr): Likewise.
12651 (grub_hfsplus_find_block): Likewise.
12652 (grub_hfsplus_btree_search): Likewise.
12653 (grub_hfsplus_read_block): Likewise.
12654 (grub_hfsplus_read_file): Likewise.
12655 (grub_hfsplus_mount): Likewise.
12656 (grub_hfsplus_btree_iterate_node): Likewise.
12657 (grub_hfsplus_btree_search): Likewise.
12658 (grub_hfsplus_iterate_dir): Likewise.
12659 (grub_hfsplus_read): A small code simplification.
12660
c81296b6
VS
126612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * grub-core/kern/emu/hostdisk.c
12664 (convert_system_partition_to_system_disk): Don't assume that children
12665 of mapper nodes are mapper nodes.
12666
0eb8ffb1
VS
126672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12670 * include/grub/misc.h (grub_isxdigit): New function.
12671 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12672 switched to grub_isxdigit.
12673 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12674 number starting with a letter.
12675
a98f4a08
RM
126762011-10-09 Robert Millan <rmh@gnu.org>
12677
12678 LVM support for FreeBSD and GNU/kFreeBSD.
12679
12680 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12681 GNU/kFreeBSD.
12682 (LVM_DEV_MAPPER_STRING): Move from here ...
12683 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12684 * util/getroot.c: Include `<grub/util/lvm.h>'.
12685 (grub_util_get_dev_abstraction): Enable
12686 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12687 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12688 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12689 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12690 support it.
12691 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12692 GNU/kFreeBSD.
12693 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12694 when LVM abstraction is required for ${GRUB_DEVICE}.
12695
050e8e90
SJ
126962011-10-06 Szymon Janc <szymon@janc.net.pl>
12697
12698 Add support for LZO compression in GRUB:
12699 - import of minilzo library,
12700 - LZO decompression for btrfs,
12701 - lzop files decompression.
12702
12703 * grub-core/io/lzopio.c: New file.
12704 * grub-core/lib/adler32.c: Likewise.
12705 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12706 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12707 * grub-core/lib/minilzo/minilzo.c: Likewise.
12708 * grub-core/lib/minilzo/minilzo.h: Likewise.
12709 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12710 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12711 grub-core/lib/minilzo/minilzo.c to common.
12712 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12713 cflags in cppflags.
12714 * grub-core/Makefile.core.def (btrfs): Likewise.
12715 * grub-core/Makefile.core.def (lzopio): New module.
12716 (adler32): Likewise.
12717 * grub-core/fs/btrfs.c: Include minilzo.h.
12718 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12719 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12720 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12721 (grub_btrfs_lzo_decompress): New function.
12722 (grub_btrfs_extent_read): Add support for LZO compression type.
12723 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12724 (GRUB_USHRT_MAX): Likewise.
12725 (GRUB_UINT_MAX): Likewise.
12726 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12727 (UINT_MAX): Likewise.
12728 (CHAR_BIT): Likewise.
12729 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12730 grub-core/lib/posix_wrap/limits.h
12731 (UCHAR_MAX): Likewise.
12732 * include/grub/file.h (grub_file_filter_id): New compression filter
12733 GRUB_FILE_FILTER_LZOPIO.
12734 * include/grub/file.h (grub_file_filter_id): Set
12735 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12736 * include/grub/types.h (grub_get_unaligned16): New function.
12737 (grub_get_unaligned32): Likewise.
12738 (grub_get_unaligned64): Likewise.
12739 * util/import_gcry.py (cryptolist): Add adler32.
12740
0eb8ffb1
VS
127412011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12744 in perspective decreases the complexity of build system and fixes
12745 compilation right now.
12746
ce79cc99 127472011-10-01 Ales Nesrsta <starous@volny.cz>
12748
12749 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12750 (fixed problem related to using UHCI with coreboot).
12751
8667a314
BC
127522011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12753
12754 * gentpl.py: Use Autogen macros so that the output template file
12755 (Makefile.tpl) size is reduced.
12756
fc5efcc0
MK
127572011-09-29 Mads Kiilerich <mads@kiilerich.com>
12758
12759 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12760 extra_dist.
12761
d1ab689d
ML
127622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12763
12764 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12765 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12766
c05de032
ML
127672011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12768
12769 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12770 _fullpath.
12771
cca7ccd8
ML
127722011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12773
12774 Remove extra declaration of sleep for mingw32.
12775
12776 * util/misc.c (sleep) [__MINGW32__]: Removed.
12777 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12778
e0b0dc83
GS
127792011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12780
12781 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12782 type and packname.
12783 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12784 Resurrected.
12785 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12786 (grub_netbsd_btinfo_bootwedge): New struct.
12787 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12788 New function.
12789 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12790
91a1a164
TH
127912011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12792
12793 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12794 loader.
12795
2ded951e
AB
127962011-09-28 Andreas Born <futur.andy@googlemail.com>
12797
12798 Fix incorrect identifiers in bash-completion.
12799
12800 * util/bash-completion.d/grub-completion.bash.in
12801 (_grub_mkpasswd-pbkdf2): Rename to ...
12802 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12803 (_grub_script-check): Rename to ...
12804 (_grub_script_check): ... this. All users updated.
12805
69915030
VS
128062011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12809 Return 0 if disk isn't biosdisk.
12810
20fd15f9
GS
128112011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12812
12813 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12814 on NetBSD.
12815 * Makefile.util.def (grub-fstest): Likewise.
12816
1a7d7db9
GS
128172011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12818
12819 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12820 Get sector size from disk label.
12821
2221ab6c
CW
128222011-09-05 Colin Watson <cjwatson@ubuntu.com>
12823
12824 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12825 */README* as well as README*.
12826 Reported by: Axel Beckert.
12827
ca51c4a0
VS
128282011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12831 case of less than 256 MiB of RAM.
12832
ab80f326
VS
128332011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 * grub-core/commands/wildcard.c (make_regex): Handle @.
12836
4155e697
VS
128372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12840
ab178c08
SJ
128412011-08-21 Szymon Janc <szymon@janc.net.pl>
12842
12843 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12844 AC_LANG_CONFTEST macros.
12845
7dc3c686
SJ
128462011-08-20 Szymon Janc <szymon@janc.net.pl>
12847
12848 Add grub-fstest option to uncompress data for commands.
12849
12850 * util/grub-fstest.c (uncompress): New var.
12851 (options): New option -u.
12852
fe8d4a7b
SJ
128532011-08-20 Szymon Janc <szymon@janc.net.pl>
12854
12855 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12856 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12857
a5219af1
SJ
128582011-08-20 Szymon Janc <szymon@janc.net.pl>
12859
12860 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12861 file type was not recognized correctly (not gzip or corrupted).
12862
f87abff5
VS
128632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12866 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12867
d94497ea
VS
128682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12871 loongson.
12872 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12873 video_radeon_fuloong2e.
12874 * grub-core/video/radeon_fuloong2e.c: New file.
12875 * include/grub/video.h (grub_video_id_t): Add new ID
12876 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12877
0d1fd011
VS
128782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12881 define.
12882 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12883 that PRID matches the detected subplatform and reset the subplatform
12884 if it doesn't.
12885
84beb0ee
VS
128862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12889
1227c133
VS
128902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 Fix PCI iterating on functions >= 4.
12893
12894 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12895 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12896 Removed.
12897 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12898 (grub_pci_read): Fix bitmask.
12899 (grub_pci_read_word): Likewise.
12900 (grub_pci_read_byte): Likewise.
12901 (grub_pci_write): Likewise.
12902 (grub_pci_write_word): Likewise.
12903 (grub_pci_write_byte): Likewise.
12904
9594c689
VS
129052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12908 can still be specified in TARGET_CFLAGS)
12909
14a2562c
VS
129102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12913
12914 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12915 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12916 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12917 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12918 (FULOONG): Rename to ...
12919 (FULOONG2F): ... this. All users updated.
12920 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12921 (machtype_fuloong2f_str): ... this.
12922 (machtype_fuloong2e_str): New string.
12923 Check for machtype_fuloong2e_str.
12924 * grub-core/loader/mips/linux.c (loongson_machtypes)
12925 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12926 * grub-core/term/serial.c (loongson_defserial)
12927 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12928 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12929 loongson_defserial.
12930 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12931 Rename to ...
12932 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12933 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12934 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12935 to IMAGE_FULOONG2F_FLASH. All users updated.
12936 (image_targets): Rename images.
12937 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12938
b526cbb6
SJ
129392011-08-19 Szymon Janc <szymon@janc.net.pl>
12940
12941 Make enable of disk cache statistics code configurable.
12942
12943 * configure.ac: --enable-cache-stats added.
12944 * config.h.in (DISK_CACHE_STATS): New define.
12945 * grub-core/Makefile.core.def (cacheinfo): New command.
12946 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12947 * grub-core/commands/cacheinfo.c: New file.
12948 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12949 moved to cacheinfo.c.
12950 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12951 debug code.
12952 * include/grub/disk.h: Likewise.
12953
fb739ccd
SJ
129542011-08-19 Szymon Janc <szymon@janc.net.pl>
12955
12956 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12957 * grub-core/Makefile.am: Likewise.
12958
2bba8cfd
VS
129592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12962 non-zero pull.
12963
43526629
VS
129642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12967 All users updated.
12968 (grub_jfs_lookup_symlink): Use correct starting inode.
12969
5c144cc8
VS
129702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * util/grub-setup.c (main): Add missing gcry initialisation.
12973
b1257f65
VS
129742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 Don't accept text modes on EFI when booting Linux.
12977
12978 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12979 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12980
828bc390
ML
129812011-08-15 Mario Limonciello <mario_limonciello@dell.com>
129822011-08-15 Colin Watson <cjwatson@ubuntu.com>
12983
12984 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12985 use of "/path/.." as in grub-install for EFI as well as handling
12986 symlinks correctly.
12987 Fixes Debian bug #637768.
12988
5f60ccac
CW
129892011-08-15 Colin Watson <cjwatson@ubuntu.com>
12990
12991 * util/grub-probe.c: Remove duplicate #include.
12992
6dc212f9
RM
129932011-08-10 Robert Millan <rmh@gnu.org>
12994
12995 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12996
12997 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12998 function.
12999 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13000 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13001
66816d85
RM
130022011-08-03 Robert Millan <rmh@gnu.org>
13003
13004 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13005 la_array as packed.
13006 Reported by: Zachary Bedell
13007
20168fca
CW
130082011-07-26 Colin Watson <cjwatson@ubuntu.com>
13009
13010 * configure.ac: The Loongson port requires grub-mkfont due to its
13011 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13012 be built.
13013
303b6246
CW
130142011-07-26 Colin Watson <cjwatson@ubuntu.com>
13015
13016 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13017 processing arguments (otherwise help2man fails when GRUB has not yet
13018 been installed).
13019
6795300e
VS
130202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13021
41aa28ea
VS
13022 New script grub-mkstandalone.
13023
13024 * Makefile.util.def (grub-mkstandalone): New script.
13025 * docs/man/grub-mkstandalone.h2m: New file.
13026 * util/grub-mkstandalone.in: Likewise.
13027
130282011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 Support ATA disks with 4K sectors.
6795300e
VS
13031
13032 * include/grub/ata.h (grub_ata): New member log_sector_size.
13033 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13034 (grub_ata_identify): Read sector size.
13035 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13036
92227597
VS
130372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * util/grub-install.in: Don't use uhci outside of x86.
13040
c77069f5
VS
130412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * util/grub-mkrescue.in: Add missing quotes.
13044
130452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13046
13047 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13048 dereference.
13049
583168a2
VS
130502011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13053
6be1c01f
VS
130542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * include/grub/video.h: add missing EXPORT_FUND on
13057 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13058
a1167439
VS
130592011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * include/grub/mips/kernel.h: Fix define conflict.
13062
bf66054f
VS
130632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13066 all four ways.
13067
8fc4fa45
CW
130682011-07-21 Colin Watson <cjwatson@ubuntu.com>
13069
13070 Preferred resolution detection for VBE.
13071
13072 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13073 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13074 the Flat Panel extension, in line with the X.org VESA driver.
13075 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13076 New function.
13077 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13078 (grub_vbe_bios_read_edid): Likewise.
13079 (grub_vbe_get_preferred_mode): Likewise.
13080 (grub_video_vbe_setup): When the mode is "auto", try to get the
13081 preferred mode from VBE, and use the largest mode that is no larger
13082 than the preferred mode (some BIOSes expose a preferred mode that is
13083 not in their mode list!). If this fails, fall back to 640x480 as a
13084 safe conservative choice.
13085 (grub_video_vbe_get_edid): New function.
13086 (grub_video_vbe_adapter): Add get_edid.
13087 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13088 (struct grub_video_adapter): Add get_edid.
13089 (grub_video_edid_checksum): Add prototype.
13090 (grub_video_edid_preferred_mode): Likewise.
13091 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13092 structure.
13093
13094 * grub-core/commands/videoinfo.c (print_edid): New function.
13095 (grub_cmd_videoinfo): Print EDID if available.
13096
13097 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13098 is more appropriate on a wider range of platforms than 640x480.
13099 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13100 documentation.
13101
ca5572a9
VS
131022011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13105
e4bcf625
VS
131062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 * po/POTFILES.in: Regenerate.
13109
c4edd548
VS
131102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13113 incorrect memory usage.
13114
16a2bab0
VS
131152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * util/grub-install.in: Source grub-mkconfig_lib.
13118
2e418de6
VS
131192011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 Remove getroot.c from core on emu platform.
13122
13123 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13124 kern/emu/raid.c.
13125 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13126 useless.
13127 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13128 * util/getroot.c (get_win32_path): ... here.
13129 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13130 * util/getroot.c (fini_libzfs): ... here.
13131 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13132 * util/getroot.c (grub_get_libzfs_handle): ... here.
13133 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13134 Moved from here...
13135 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13136 * grub-core/kern/emu/misc.c
13137 (grub_make_system_path_relative_to_its_root): Moved from here...
13138 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13139 * grub-core/kern/emu/getroot.c: Moved from here ...
13140 * util/getroot.c: ... here. All users updated.
13141 * grub-core/kern/emu/raid.c: Moved from here ...
13142 * util/raid.c: ... here. All users updated.
13143
def9832a
VS
131442011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13145
13146 * po/POTFILES.in: Regenerate.
13147
cd8fe79a
VS
131482011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 Fix compilation on GNU/Linux.
13151
13152 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
13153 Disable geli.
13154 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
13155 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
13156 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
13157
a251b719
VS
131582011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
131592011-07-07 Michael Gorven <michael@gorven.za.net>
131602011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
13161
13162 LUKS and GELI support.
13163
13164 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
13165 grub-core/disk/luks.c, grub-core/disk/geli.c,
13166 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
13167 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
13168 grub-core/lib/arg.c.
13169 (libgrubmods.a): Remove gcrypts cflags and cppflags.
13170 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
13171 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
13172 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
13173 (grub-bin2h): Add libgcry.a.
13174 (grub-mkimage): Likewise.
13175 (grub-mkrelpath): Likewise.
13176 (grub-script-check): Likewise.
13177 (grub-editenv): Likewise.
13178 (grub-mkpasswd-pbkdf2): Likewise.
13179 (grub-pe2elf): Likewise.
13180 (grub-fstest): Likewise.
13181 (grub-mkfont): Likewise.
13182 (grub-mkdevicemap): Likewise.
13183 (grub-probe): Likewise.
13184 (grub-ofpath): Likewise.
13185 (grub-mklayout): Likewise.
13186 (example_unit_test): Likewise.
13187 (grub-menulst2cfg): Likewise.
13188 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13189 * grub-core/Makefile.core.def (cryptodisk): New module.
13190 (luks): Likewise.
13191 (geli): Likewise.
13192 * grub-core/disk/AFSplitter.c: New file.
13193 * grub-core/disk/cryptodisk.c: Likewise.
13194 * grub-core/disk/geli.c: Likewise.
13195 * grub-core/disk/luks.c: Likewise.
13196 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13197 grub_util_is_lvm.
13198 (grub_util_get_dm_abstraction): New function.
13199 (grub_util_follow_gpart_up): Likewise.
13200 (grub_util_get_geom_abstraction): Likewise.
13201 (grub_util_get_dev_abstraction): Use new functions.
13202 (grub_util_pull_device): Pull GELI and LUKS.
13203 (grub_util_get_grub_dev): Handle LUKS and GELI.
13204 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13205 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13206 (follow_geom_up): Removed.
13207 (grub_util_fd_seek): New function.
13208 (open_device): Use grub_util_fd_seek.
13209 (nread): Rename to ..
13210 (grub_util_fd_read): ... this. All users updated.
13211 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13212 (grub_crypto_cbc_decrypt): Likewise.
13213 (grub_crypto_hmac_write): Likewise.
13214 (grub_crypto_hmac_buffer): Likewise.
13215 (grub_password_get): Extend to util.
13216 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13217 New member modname.
13218 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13219 * include/grub/cryptodisk.h: New file.
13220 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13221 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13222 LUKS and GELI.
13223 (grub_util_follow_gpart_up): New proto.
13224 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13225 (grub_util_fd_read): Likewise.
13226 (grub_cryptodisk_cheat_mount): Likewise.
13227 (grub_util_cryptodisk_print_uuid): Likewise.
13228 (grub_util_get_fd_sectors): Likewise.
13229 * util/grub-fstest.c (mount_crypt): New var.
13230 (fstest): Mount crypto if requested.
13231 (options): New option -C.
13232 (argp_parser): Parse -C.
13233 (main): Init and fini gcry.
13234 * util/grub-install.in: Support cryptodisk install.
13235 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13236 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13237 cryptodisk.
13238 (prepare_grub_to_access_device): Likewise.
13239 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13240 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13241 (probe_cryptodisk_uuid): New function.
13242 (probe_abstraction): Likewise.
13243 (probe): Use new functions.
13244 * util/import_gcry.py: Create Makefile.utilgcry.def.
13245 Add modname member.
13246
9bfdcbbc
VS
132472011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 Lazy device scanning.
13250
13251 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13252 (grub-setup): Remove util/raid.c.
13253 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13254 * grub-core/disk/lvm.c (scan_depth): New variable.
13255 (grub_lvm_iterate): Rescan if necessary.
13256 (find_lv): New function based on grub_lvm_open.
13257 (grub_lvm_open): Use find_lv. Rescan on error.
13258 (is_node_readable): New function.
13259 (is_lv_readable): Likewise.
13260 (grub_lvm_scan_device): Skip already found disks.
13261 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13262 Stop if searched device is found and readable.
13263 * grub-core/disk/raid.c (inscnt): New variable.
13264 (scan_depth): Likewise.
13265 (scan_devices): New function based on grub_raid_register. Abort if
13266 looked for device is found.
13267 (grub_raid_iterate): Rescan if needed.
13268 (find_array): NEw function based on -grub_raid_open.
13269 (grub_raid_open): Use find_array and rescan.
13270 (insert_array): Set became_readable_at.
13271 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13272 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13273 New function.
13274 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13275 (grub_util_pull_device): New function.
13276 (grub_util_get_grub_dev): Call grub_util_pull_device.
13277 * util/raid.c: Moved to ..
13278 * grub-core/kern/emu/raid.c: ... here.
13279 (grub_util_raid_getmembers): New parameter "bootable".
13280 All users updated. Support 1.x.
13281 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13282 All users updated.
13283 * include/grub/disk.h (grub_disk_pull_t): New enum.
13284 (grub_disk_dev): Change iterate prototype.
13285 All users updated.
13286 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13287 New proto.
13288 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13289 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13290 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13291 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13292 All users updated.
13293 * include/grub/util/raid.h: Removed.
13294
1c358e59
VS
132952011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13296
13297 * po/POTFILES.in: Regenerate.
13298
abee94ed
VS
132992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 Unify sparc init with other ieee1275.
13302
13303 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13304 instead of kern/sparc64/ieee1275/init.c.
13305 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13306 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13307 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13308 grub/machine/kernel.h.
13309 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13310 (grub_claim_heap) [__sparc__]: Use sparc version.
13311 (grub_machine_init): Moved args parsing to
13312 (grub_parse_cmdline): ...this.
13313 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13314 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13315 New definition.
13316 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13317
13318 Move BOOTP to separate file.
13319
13320 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13321 * grub-core/net/net.c: Move all BOOTP functions to
13322 * grub-core/net/bootp.c: ... here.
13323
13324 Use frame interface on PXE.
13325
13326 * grub-core/Makefile.core.def (pxecmd): Removed.
13327 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13328 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13329 * grub-core/i386/pc/pxe.c: Moved from here ...
13330 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13331 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13332 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13333
13334 EFI network support.
13335
13336 * grub-core/Makefile.core.def (efinet): New module.
13337 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13338 here...
13339 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13340 All users updated.
13341 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13342 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13343 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13344 * grub-core/net/drivers/efi/efinet.c: New file.
13345 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13346 (grub_efi_net_config): New extern var.
13347
13348 Various cleanups and bugfixes.
13349
13350 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13351 error.
13352 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13353 disk declared as partition.
13354 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13355 leak on failure.
13356 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13357 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13358 (grub_debug_zalloc): Likewise.
13359 (grub_debug_realloc): Likewise.
13360 (grub_debug_memalign): Likewise.
13361 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13362 Check that target is IPv4.
13363 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13364 local-mac-address as fallback.
13365 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13366 memory leak.
13367 * grub-core/net/ip.c (ipchksum): Rename to ...
13368 (grub_net_ip_chksum): ... this. All users updated.
13369 (grub_net_recv_ip_packets): Special handling for DHCP.
13370 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13371
13372 Unify prefix handling
13373
13374 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13375 (grub_machine_get_bootlocation): ... this.
13376 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13377 (grub_machine_get_bootlocation): ... this.
13378 (grub_prefix): New variable.
13379 (prefix): Removed.
13380 (root_dev): New variable.
13381 (dir): Likewise.
13382 (main): Use new variables.
13383 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13384 Revamped into ...
13385 (grub_machine_get_bootlocation): ... this.
13386 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13387 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13388 (grub_machine_get_bootlocation): ... this.
13389 (grub_machine_set_prefix): Removed.
13390 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13391 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13392 Revamped into ...
13393 (grub_machine_get_bootlocation): ... this.
13394 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13395 (grub_set_prefix_and_root): ... this. All users updated.
13396 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13397 Revamped into ...
13398 (grub_machine_get_bootlocation): ... this.
13399 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13400 (grub_machine_get_bootlocation): New proto.
13401 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13402
13403 Less intrusive and more reliable seek on network implementation.
13404
13405 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13406 (grub_file_seek): Don't call grub_file_net_seek.
13407 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13408 (grub_net_fs_read_real): .. this.
13409 (grub_net_seek_real): Use net->offset.
13410 (grub_net_fs_read): Seek if necessary.
13411
13412 Unify IEEE1275 netwotk config with the other platforms.
13413
13414 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13415 New variable.
13416 (grub_machine_get_bootlocation): Support network.
13417 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13418 Support type and device parsing.
13419 (grub_ieee1275_get_device_type): New function.
13420 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13421 into ...
13422 (grub_ieee1275_net_config_real): ... this.
13423 (grub_ofnet_probecards): Removed.
13424 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13425 * include/grub/ieee1275/ofnet.h: Removed.
13426 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13427 extern var.
13428 (grub_ieee1275_get_device_type): New function.
13429
13430 Unify network device closing across platforms and make more robust.
13431
13432 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13433 grub_grubnet_fini.
13434 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13435 already.
13436 * grub-core/net/net.c (grub_net_network_level_interface_register):
13437 Update num_ifaces.
13438 (grub_net_card_unregister): Close all interfaces.
13439 (receive_packets): Don't poll if no iterfaces are registered.
13440 Open if necessary.
13441 (grub_net_fini_hw): New function.
13442 (grub_net_restore_hw): Likewise.
13443 (fini_hnd): New variable.
13444 (GRUB_MOD_INIT): Register preboot hook.
13445 (GRUB_MOD_FINI): Run and unregister preboot hook.
13446
13447 Poll network cards when idle.
13448
13449 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13450 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13451 * grub-core/net/net.c (receive_packets): Save last poll time.
13452 (grub_net_poll_cards_idle_real): New function.
13453 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13454 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13455 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13456
13457 Rename ofnet interfaces.
13458
13459 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13460 (grub_ofnet_findcards): Use ofnet_%s names.
13461
13462 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13463
13464 Cleanup socket opening.
13465
13466 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13467 (grub_net_fs_close): Likewise.
13468 (grub_net_fs_read_real): Use eof member.
13469 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13470 (+grub_net_udp_close): New inline function.
13471
13472 * include/grub/net/tftp.h: Moved to the top of ...
13473 * grub-core/net/tftp.c: ... here.
13474 * include/grub/net/ip.h: Moved mostly to the top of ...
13475 * grub-core/net/ip.c: ... here.
13476 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13477 * grub-core/net/ethernet.c: ... here.
13478
13479 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13480
13481 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13482 FS name.
13483
13484 * include/grub/net/ip.h (ipv4_ini): Removed.
13485 (ipv4_fini): Likewise.
13486
13487 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13488 (grub_net_send_ip_packets): Likewise.
13489
cf1337aa
VS
134902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13493 grub_read_cmos prototype.
13494
93c06ff9
VS
134952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 VGA text support in qemu-mips
13498
13499 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13500 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13501 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13502 text.
13503 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13504 * grub-core/kern/vga_init.c: ... this.
13505 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13506 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13507 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13508 Adjust.
13509 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13510 GRUB_MACHINE_PCI_IO_BASE.
13511
748ccabe
VS
135122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 MIPS qemu flash support.
13515
13516 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13517 magic.
13518 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13519 (grub_machine_init): Probe memory if its size isn't known.
13520 * util/grub-mkimage.c (image_targets): Add flash targets.
13521 (generate_image): Handle flash targets.
13522
d7345994
VS
135232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 MIPS qemu at_keyboard support.
13526
13527 * gentpl.py (videoinkernel): Add qemu-mips.
13528 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13529 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13530 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13531 modules.
13532 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13533 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13534 * grub-core/term/serial.c (grub_serial_register)
13535 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13536
a07a81b3
VS
135372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 CMOS support on sparc.
13540
13541 * gentpl.py (cmos): Add powerpc and sparc.
13542 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13543 powerpc and sparc.
13544 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13545 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13546 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13547 grub_set_datetime_cmos.
13548 * grub-core/lib/ieee1275/cmos.c: New file.
13549 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13550 (find_rtc): Set no_ieee1275_rtc on error.
13551 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13552 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13553 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13554 fail. Move value to argument. All users updated
13555 (grub_cmos_write): Likewise.
13556 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13557 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13558 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13559 grub_get_datetime_cmos and grub_set_datetime_cmos.
13560
77546584
GS
135612011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13562
13563 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13564 sourcing grub-mkconfig_lib.
13565 * util/update-grub_lib.in: Likewise.
13566 * util/grub.d/00_header.in: Likewise.
13567 * util/grub.d/10_hurd.in: Likewise.
13568 * util/grub.d/10_kfreebsd.in: Likewise.
13569 * util/grub.d/10_linux.in: Likewise.
13570 * util/grub.d/10_netbsd.in: Likewise.
13571 * util/grub.d/10_windows.in: Likewise.
13572 * util/grub.d/20_linux_xen.in: Likewise.
13573 * util/grub.d/30_os-prober.in: Likewise.
13574
54894791
CW
135752011-06-28 Colin Watson <cjwatson@ubuntu.com>
13576
13577 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13578 default_bg_color rather than black.
13579 (grub_gfxterm_fullscreen): Likewise.
13580 (grub_gfxterm_background_color_cmd): Save new background color in
13581 default_bg_color.
13582
8d5d8444
VS
135832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13586
5afeb5bd
VS
135872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13590 mismerge.
13591
ba7df45e
VS
135922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 Chainloading on coreboot support.
13595
13596 * grub-core/Makefile.core.def (chain): Add coreboot.
13597 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13598
d0b526b2
VS
135992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13602 if it happens.
13603
5ff1d945
VS
136042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 Implement time command.
13607
13608 * grub-core/Makefile.core.def (time): New module.
13609 * grub-core/commands/time.c: New file.
13610 * grub-core/script/parser.y: Remove "time" keyword.
13611 * grub-core/script/yylex.l: Likewise.
13612
5ebaad7e
VS
136132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13616
bdea3798
VS
136172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13620 when handling leftovers.
13621
b28c5655
VS
136222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13625 so that help2man doesn't fail.
13626
b6f945dc
VS
136272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13628
13629 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13630 type in pointers on sparc64.
13631 (get_card_packet): Likewise.
13632
f9b75e8a
CW
136332011-06-27 Colin Watson <cjwatson@ubuntu.com>
13634
13635 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13636 with `*'.
13637 (grub_cmd_videoinfo): Fetch current video mode.
13638
1e3d9b86
VS
136392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13642 because of underlying system restrictions.
13643
efff4b1c
VS
136442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13647 necessary.
13648
9fc9ce37
VS
136492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 Coreboot video support.
13652
13653 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13654 (vbe): Likewise.
13655 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13656 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13657 here ...
13658 * grub-core/kern/i386/int.S: ... here.
13659 * grub-core/video/i386/pc/vbe.c: Updated includes.
13660 * grub-core/video/i386/pc/vga.c: Likewise.
13661 * include/grub/i386/coreboot/memory.h
13662 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13663 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13664 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13665 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13666 Disable interrupts.
13667 * include/grub/i386/pc/vga.h: Removed. All users updated.
13668
41bec7fe
VS
136692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13672 definitions for dprintf.
13673 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13674
ca80309d
VS
136752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13676
13677 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13678 prototype.
13679 (get_card_packet): Likewise.
13680
9e322ce8
YB
136812011-06-26 Yves Blusseau <blusseau@zetam.org>
13682
13683 Display the path of the file when file is not found
13684
13685 * grub-core/fs/fat.c: Display the filename when file is not found.
13686 * grub-core/fs/fshelp.c: Likewise.
13687 * grub-core/fs/hfs.c: Likewise.
13688 * grub-core/fs/jfs.c: Likewise.
13689 * grub-core/fs/minix.c: Likewise.
13690 * grub-core/fs/ufs.c: Likewise.
13691 * grub-core/fs/btrfs.c: Likewise.
13692 * grub-core/commands/i386/pc/play.c: Likewise.
13693
cbf597af
SJ
136942011-06-26 Szymon Janc <szymon@janc.net.pl>
13695
13696 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13697 pointer checks before calling grub_free().
13698 * grub-core/commands/wildcard.c (match_devices): Likewise.
13699 * grub-core/commands/wildcard.c (match_files): Likewise.
13700 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13701 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13702 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13703 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13704 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13705 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13706 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13707 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13708 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13709
6295b32f
P
137102011-06-25 Patrick <p55@mailinator.com>
13711
13712 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13713
77c0840b
VS
137142011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13717 (grub_pxe_send): Likewise.
13718 (GRUB_MOD_INIT): Fix types.
13719
40ea05de
SJ
137202011-06-24 Szymon Janc <szymon@janc.net.pl>
13721
13722 * grub-core/io/xzio.c: Fix code style issues
13723
90162423
MRA
137242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
137252011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13726
13727 Network infrastructure.
13728 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13729
13730 * include/grub/net/arp.h: New file.
90162423
MRA
13731 * include/grub/net/device.h: Likewise.
13732 * include/grub/net/ethernet.h: Likewise.
13733 * include/grub/net/ip.h: Likewise.
13734 * include/grub/net/netbuff.h: Likewise.
13735 * include/grub/net/tftp.h: Likewise.
13736 * include/grub/net/udp.h: Likewise.
13737 * include/grub/ieee1275/ofnet.h: Likewise.
13738 * include/grub/emu/export.h: Likewise.
13739 * include/grub/net.h: Likewise.
13740 * grub-core/net/arp.c: Likewise.
13741 * grub-core/net/ethernet.c: Likewise.
13742 * grub-core/net/ip.c: Likewise.
13743 * grub-core/net/udp.c: Likewise.
13744 * grub-core/net/tftp.c: Likewise.
13745 * grub-core/net/netbuff.c: Likewise.
13746 * grub-core/net/net.c: Likewise.
13747 * grub-core/net/drivers/emu/emunet.c: Likewise.
13748 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13749 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13750 export.h.
13751 * grub-core/Makefile.core.def (net): New module.
13752 (tftp): Likewise.
13753 (ofnet): Likewise.
13754 (emunet): Likewise.
13755 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13756 network protocols.
13757 * grub-core/kern/device.c (grub_net_open) : New variable.
13758 (grub_device_open): Handle network device.
13759 (grub_device_close): Likewise.
13760 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13761 (grub_grubnet_fini): Likewise.
13762 (grub_file_seek): Seek in network device.
13763 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13764 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13765 network root.
13766 (grub_machine_fini): Call grub_grubnet_fini.
13767 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13768 network.
13769 (grub_ieee1275_get_aliasdevname): New function.
13770 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13771 Add unofficial Solaris network info.
13772 (grub_multiboot_make_mbi): Likewise.
13773 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13774 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13775 * include/grub/device.h (grub_fs): Removed.
13776 * include/grub/err.h (grub_err_t): Add network-related values.
13777 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13778 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13779 (grub_ieee1275_get_aliasdevname): New proto.
13780 * include/grub/net.h: Rewritten.
423a1849 13781
031f22a0
VS
137822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13785 names.
13786
4388ca72
VS
137872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13790 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13791 it truncates the output.
13792 Reported by: Ximin Luo.
13793
98e2f506
VS
137942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13797
2a5e94d8
VS
137982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13801 partmap before abstraction.
13802
535c1910
AK
138032011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13804
13805 * util/grub-mkconfig_lib.in: Add missing quotes.
13806
bc09e1a2
VS
138072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13810 old method if mountinfo would return /dev/root and /dev/root doesn't
13811 exist.
13812
290766fb
VS
138132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 ZFS zlib support
13816
13817 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13818 (decomp_table): Add zlib entries.
13819 (zio_read): USe 8 bits for compression function rather than 3.
13820 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13821
138222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/disk/ahci.c: Add missing license statements.
13825 * grub-core/fs/romfs.c: Likewise.
13826 * grub-core/lib/ia64/setjmp.S: Likewise.
13827 * grub-core/loader/i386/pc/freedos.c: Likewise.
13828 * grub-core/loader/ia64/efi/linux.c: Likewise.
13829 * grub-core/video/colors.c: Likewise.
13830 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13831
5ab3f48a
VS
138322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 AHCI support.
13835
13836 * grub-core/Makefile.core.def (ata_pthru): Removed.
13837 (ahci): New module.
13838 (pata): Likewise.
13839 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13840 on unload.
13841 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13842 readwrite.
13843 (grub_hdparm_do_check_powermode_cmd): Likewise.
13844 (grub_hdparm_do_smart_cmd): Likewise.
13845 (grub_hdparm_set_val_cmd): Likewise.
13846 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13847 * grub-core/disk/ahci.c: New file.
13848 * grub-core/disk/ata.c: Factor out the low-level part into ...
13849 * grub-core/disk/pata.c: ... here.
13850 * grub-core/disk/ata_pthru.c: Contents moved to ...
13851 * grub-core/disk/pata.c: ... here.
13852 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13853 (grub_scsi_iterate): Use grub_scsi_names.
13854 (grub_scsi_open): Likewise.
13855 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13856 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13857 (grub_ata_regs_t): New struct.
13858 (grub_disk_ata_pass_through_parms): Likewise.
13859 (grub_ata_device): Renamed to ...
13860 (grub_ata): ... this.
13861 (grub_ata_dev): New struct.
13862 Removed all low-level inline functions.
13863 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13864 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13865 iterate hooks and open. All users updated.
13866 * util/grub-install.in: Handle AHCI disk module.
13867
c31dc5f5
SJ
138682011-06-23 Szymon Janc <szymon@janc.net.pl>
13869
13870 Add support for DRI and RSTn markers in JPEG files.
13871
13872 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13873 (JPEG_MARKER_RST0): Likewise.
13874 (JPEG_MARKER_RST1): Likewise.
13875 (JPEG_MARKER_RST2): Likewise.
13876 (JPEG_MARKER_RST3): Likewise.
13877 (JPEG_MARKER_RST4): Likewise.
13878 (JPEG_MARKER_RST5): Likewise.
13879 (JPEG_MARKER_RST6): Likewise.
13880 (JPEG_MARKER_RST7): Likewise.
13881 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13882 (grub_jpeg_decode_dri): New function.
13883 (grub_jpeg_decode_sos): Move image data related part into
13884 grub_jpeg_decode_data function.
13885 (grub_jpeg_decode_data): New function.
13886 (grub_jpeg_reset): New function.
13887 (grub_jpeg_decode_jpeg): Handle new markers.
13888
fe12fd5b
VS
138892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 * util/ieee1275/ofpath.c (check_sas): Close fd.
13892 (main): Free of_path.
13893 Reported by: David Volgyes <dvolgyes>.
13894
03147f46
VS
138952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13898 Reported by: David Volgyes <dvolgyes>.
13899
cad3237f
VS
139002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13903 file after stat.
13904 Reported by: David Volgyes <dvolgyes>.
13905
13548d26
VS
139062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13909
13910 Reported by: David Volgyes <dvolgyes>.
13911
e061a1b5
VS
139122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13915 Prevent memory leak.
13916
1abe47dc
VS
139172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13920 (main): Close file.
e061a1b5 13921 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13922
fbc62666
VS
139232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13926 to continue if allocation is failed.
13927
13928 Reported by: David Volgyes <dvolgyes>.
13929
e98c83e9
DV
139302011-06-23 David Volgyes <dvolgyes>
13931
13932 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13933 dereference.
13934
a199a8cd
VS
139352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 Fix spurious warning.
13938
13939 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13940 (acorn_partition_map_find): Use .bin member.
13941
e2d1dba0
VS
139422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13945 /dev/root as a valid device.
13946
8a5d6919
JM
139472011-06-23 Jim Meyering <meyering@redhat.com>
13948
e2d1dba0
VS
13949 Avoid NULL deref in grub_device_open.
13950
8a5d6919
JM
13951 * grub-core/kern/device.c (grub_device_open): Don't dereference
13952 a NULL pointer upon failed grub_env_get.
13953
f7db6f4a
VS
139542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 Support non-512B sectors and agglomerate reads.
13957
13958 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13959 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13960 (disk_io_guid): Removed.
13961 (make_devices): Locate solely by BlockIO.
13962 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13963 (grub_efidisk_read): Use read_blocks.
13964 (grub_efidisk_write): Use write_blocks.
13965 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13966 log_sector_size.
13967 (get_safe_sectors): Handle non-512B sectors.
13968 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13969 sectors.
13970 (grub_biosdisk_write): Handle non-512B sectors.
13971 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13972 (grub_scsi_read): Remove special non-512B block handling (now handled
13973 one level up).
13974 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13975 and do sanity checks.
13976 (grub_disk_adjust_range): Handle non-512B sectors.
13977 (transform_sector): New function.
13978 (grub_disk_read_small): Likewise.
13979 (grub_disk_read): Rewritten.
13980 (grub_disk_write): Handle non-512B sectors.
13981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13982 log_sector_size.
13983 (open_device): Use log_sector_size.
13984 (grub_util_biosdisk_read): Likewise.
13985 (grub_util_biosdisk_write): Likewise.
13986 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13987 non-512B sectors.
13988 (pc_partition_map_embed): Likewise.
13989 * include/grub/disk.h (grub_disk): New field log_sector_size.
13990 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13991 (GRUB_DISK_CACHE_BITS): Increased to 6.
13992 * util/grub-fstest.c (fstest): New command testload.
13993 (argp_parser): Likewise.
13994
881ac815
RM
139952011-06-16 Robert Millan <rmh@gnu.org>
13996
13997 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13998 `ata' driver on kernel of FreeBSD 9.
13999
14000 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14001 (get_ataraid_disk_name): New functions.
14002 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14003 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14004 get_ataraid_disk_name() and get_ada_disk_name().
14005
1e9aef7d
CW
140062011-06-13 Colin Watson <cjwatson@ubuntu.com>
14007
14008 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14009 input format.
14010
351c7c8a
CW
140112011-05-29 Colin Watson <cjwatson@ubuntu.com>
14012
14013 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14014 `ftp.gnu.org' for `alpha.gnu.org'.
14015
6b4e6430
CW
140162011-05-27 Colin Watson <cjwatson@ubuntu.com>
14017
14018 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14019 partitions under /dev/disk/by-id/.
14020
c64db050
CW
140212011-05-27 Colin Watson <cjwatson@ubuntu.com>
14022
14023 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14024 after ten consecutive open failures. Scanning all the way up to
14025 10000 is excessive and can cause serious performance problems in
14026 some configurations.
14027 Fixes Ubuntu bug #787461.
14028
245f4aba
VS
140292011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14032 opening new one.
14033
f767c929
VS
140342011-05-21 Colin Watson <cjwatson@ubuntu.com>
140352011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 Don't stat devices unless we have to.
14038
14039 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14040 dir == /dev/mapper.
14041 (grub_guess_root_device): Use already known os_dev if possible.
14042 * grub-core/kern/emu/hostdisk.c
14043 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14044 if device is known to be a dm one.
14045
f35fa3a6
CW
140462011-05-20 Colin Watson <cjwatson@ubuntu.com>
14047
14048 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14049 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14050 Reported by: Pawel Tecza.
14051
9a79fcf2
VS
140522011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14055 (lsefisystab): Likewise.
14056 (lssal): Likewise.
14057 (lsefimmap): Likewise.
14058 (hdparm): Enable on qemu-mips.
14059 (setjmp): Add ia64 nodist.
14060 (serial): Simplify tags.
14061
63e3eea9
CW
140622011-05-18 Colin Watson <cjwatson@ubuntu.com>
14063
14064 * Makefile.util.def (grub-ofpathname): Install manual page.
14065
09728256
CW
140662011-05-18 Colin Watson <cjwatson@ubuntu.com>
14067
14068 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14069
8b63a142
CW
140702011-05-18 Colin Watson <cjwatson@ubuntu.com>
14071
14072 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14073
e775d8ed
VS
140742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14077 into dprintf.
14078
bf947d36
VS
140792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 Use full 64-bit division.
14082
14083 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14084 (grub_divmod64): ... this.
14085 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14086 version.
14087
b84f26c5
CW
140882011-05-18 Colin Watson <cjwatson@ubuntu.com>
14089
14090 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14091 `source'.
14092
5626056f
CW
140932011-05-18 Colin Watson <cjwatson@ubuntu.com>
14094
14095 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14096 to avoid accidents when debugging with 'sh -x'.
14097 * grub-core/gensyminfo.sh.in: Likewise.
14098 * tests/example_scripted_test.in: Likewise.
14099 * tests/grub_cmd_regexp.in: Likewise.
14100 * tests/grub_script_blanklines.in: Likewise.
14101 * tests/grub_script_dollar.in: Likewise.
14102 * tests/grub_script_expansion.in: Likewise.
14103 * tests/grub_script_final_semicolon.in: Likewise.
14104 * tests/partmap_test.in: Likewise.
14105 * tests/util/grub-shell-tester.in: Likewise.
14106 * tests/util/grub-shell.in: Likewise.
14107
e2965f4a
CW
141082011-05-18 Colin Watson <cjwatson@ubuntu.com>
14109
14110 Move gfxmenu color handling to video, so that gfxterm can use it
14111 too.
14112
14113 * grub-core/gfxmenu/named_colors.c: Move to ...
14114 * grub-core/video/colors.c: ... here. Rename
14115 grub_gui_get_named_color to grub_video_get_named_color.
14116 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14117 * grub-core/video/colors.c (my_isxdigit): ... here.
14118 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14119 Move to ...
14120 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14121 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14122 to ...
14123 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14124
14125 * include/grub/gui.h (grub_gui_color_t): Move to ...
14126 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14127 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14128 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14129 * include/grub/gui.h (grub_gui_map_color): Move to ...
14130 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14131 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14132 to ...
14133 * include/grub/video.h (grub_video_get_named_color): ... here.
14134 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14135 * include/grub/video.h (grub_video_parse_color): ... here.
14136
14137 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14138 video/colors.c.
14139 (gfxmenu): Remove gfxmenu/named_colors.c.
14140 (video) [videomodules]: Add video/colors.c.
14141
14142 Add a background_color command.
14143
14144 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
14145 function.
14146 (GRUB_MOD_INIT): Register background_color command.
14147 (GRUB_MOD_FINI): Unregister background_color command.
14148 (redraw_screen_rect): Allow blend/replace of text layer to be
14149 controlled independently from whether there is a background bitmap.
14150 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
14151 changing bitmap.
14152
1e4b4390
VS
141532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14154
26618ff0
VS
14155 Patch BPB in ntldr and chainloader --bpb.
14156
1e4b4390
VS
14157 * grub-core/fs/fat.c: Include grub/fat.h.
14158 (grub_fat_bpb): Moved to ...
14159 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
14160 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
14161 grub/ntfs.h.
14162 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
14163 Moved from here...
14164 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
14165 here.
14166 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
14167 New function.
14168 (grub_chainloader_cmd): Patch BPB if --bpb is given.
14169 (GRUB_MOD_INIT): Show --bpb.
14170 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
14171 * grub-core/normal/main.c (features): New variable.
14172 (GRUB_MOD_INIT): Set feature_* variables.
14173 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
14174 proto.
14175 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14176
cf02731e
VS
141772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14180 for cleanness.
14181
e3a1073f
VS
141822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 FreeDOS direct loading support.
14185
14186 * docs/grub.texi (Supported OS): Add FreeDOS.
14187 * grub-core/Makefile.core.def (freedos): New module.
14188 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14189 variable.
14190 (grub_relocator16_boot): Handle %ebx.
14191 * grub-core/lib/i386/relocator16.S: Likewise.
14192 * grub-core/loader/i386/pc/freedos.c: New file.
14193
05caa461
VS
141942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 Long Linux command line support.
14197
14198 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14199 (maximal_cmdline_size): New variable.
14200 (allocate_pages): Use maximal_cmdline_size.
14201 (grub_cmd_linux): Set and use maximal_cmdline_size.
14202 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14203 (allocate_pages): Use maximal_cmdline_size.
14204 (grub_cmd_linux): Set and use maximal_cmdline_size.
14205 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14206 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14207 and cmdline_size.
14208
a2491e23
VS
142092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
142102011-05-18 Colin Watson <cjwatson@ubuntu.com>
14211
14212 Improve devmapper support
14213
14214 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14215 (grub_util_is_lvm): New function.
14216 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14217 than lvm if not dmraid.
14218 Handle mapped md nodes.
14219 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14220 (grub_util_device_is_mapped): ... this. Make always available. All users
14221 updated.
14222 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14223 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14224 dmraid nodes.
14225 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14226
6ad6223e
VS
142272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14230
14231 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14232 * grub-core/modinfo.sh.in: New file.
14233 * grub-core/Makefile.core.def (modinfo.sh): New script.
14234 * util/grub-mknetdir.in: Use modinfo.sh.
14235 * util/grub-mkrescue.in: Likewise.
14236
543a8f6e
VS
142372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14240 Fix potential usage of Elf32 instead of Elf64 when compiling on
14241 32-bit architecture. Add endianness macros while on it.
14242
4959e111
VS
142432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14244
14245 Use mipsel- rather than mips- in directories involving mipsel ports to
14246 allow both endiannesses coexist.
14247
14248 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14249 mips. All conditions adjusted.
14250 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14251 variable.
14252 * util/grub-install.in: Adjust conditions to take renaming into account.
14253 * util/grub-mkimage.c (image_targets): Likewise. New target
14254 mips-qemu_mips-elf for bigendian mips.
14255
35341bbc
VS
142562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 Avoid unnecessary copying on MIPS.
14259
14260 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14261 early if src == dest.
14262 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14263 compression is none.
14264
b772baed
VS
142652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14266
14267 Reduce memory footprint on SGI by putting modules before the kernel
14268 as opposed to after.
14269
14270 * grub-core/Makefile.core.def (kernel): Increase linking address.
14271 (none_decompress): Likewise.
14272 (xz_decompress): Likewise.
14273 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14274 address.
14275 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14276 layout change.
14277 (grub_arch_modules_addr): New function.
14278 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14279 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14280 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14281 here.
14282 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14283 (grub_total_modules_size): ... this. Make global.
14284 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14285 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14286 New definition.
14287 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14288 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14289 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14290 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14291 * util/grub-mkimage.c (image_target_desc): New flag
14292 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14293 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14294 (generate_image): Handle images with modules before kernel.
14295
566a1917
VS
142962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 Prevent potential loss of memory map by overwrite on qemu-mips.
14299
14300 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14301 Save ram size in $s4.
14302 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14303 All users changed to grub_arch_memsize.
14304 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14305 Loongson.
14306 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14307 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14308 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14309 external variable.
14310
5d420cd9
CW
143112011-05-17 Colin Watson <cjwatson@ubuntu.com>
14312
14313 * .bzrignore: Remove grub-dumpbios.
14314
d064b830
CW
143152011-05-17 Colin Watson <cjwatson@ubuntu.com>
14316
14317 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14318 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14319 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14320 existing options which append).
14321 * docs/grub.texi (Simple configuration): Document new options.
14322 Reported by: Ian Jackson. Fixes Debian bug #617538.
14323
3ca2b466
CW
143242011-05-17 Colin Watson <cjwatson@ubuntu.com>
14325
14326 * util/grub-fstest.c (cmd_cat): New function.
14327 (fstest): Handle CMD_CAT.
14328 (options): Add cat.
14329 (argp_parser): Handle cat.
14330
24c9143a
CW
143312011-05-17 Colin Watson <cjwatson@ubuntu.com>
14332
14333 * Makefile.util.def (grub-bin2h): Don't install.
14334 * docs/man/grub-bin2h.h2m: Remove.
14335
90f7ac19
VS
143362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14339 place.
14340
8d4a5178
VS
143412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14342
14343 Reenable qemu-mips port.
14344
14345 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14346 Fix small arc bug while on it.
14347 * gentpl.py: Handle qemu_mips.
14348 * grub-core/Makefile.am: Likewise.
14349 * grub-core/Makefile.core.def: Likewise.
14350 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14351 inappropriate includes.
14352 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14353 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14354 * grub-core/kern/main.c (grub_modules_get_end)
14355 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14356 * grub-core/kern/mips/qemu-mips: Moved to ..
14357 * grub-core/kern/mips/qemu_mips: ... this.
14358 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14359 (grub_machine_init): Call terminfo_init and serial_init.
14360 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14361 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14362 New variable.
14363 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14364 parameter passing.
14365 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14366 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14367 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14368 * include/grub/mips/qemu_mips/cmos.h: New file.
14369 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14370 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14371 Removed.
14372 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14373 Use correct mips-style address.
14374 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14375 (GRUB_TICKS_PER_SECOND): Removed.
14376 (grub_get_rtc): Likewise.
14377 (grub_cpu_idle): Likewise.
14378 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14379 New definition.
14380 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14381 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14382 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14383 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14384 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14385 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14386 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14387 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14388
400b9371
VS
143892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 SGI ARCS port.
14392
14393 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14394 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14395 platforms.
14396 * configure.ac: New target mips-arc.
14397 * gentpl.py: Likewise.
14398 * grub-core/Makefile.am: Likewise.
14399 * grub-core/Makefile.core.def: Likewise.
14400 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14401 (none_decompress): Likewise.
14402 (lsdev): New module.
14403 (datetime): Use lib/arc/datetime.c on ARC.
14404 (part_dvh): New module.
14405 * grub-core/commands/arc/lsdev.c: New file.
14406 * grub-core/disk/arc/arcdisk.c: Likewise.
14407 * grub-core/kern/mips/arc/init.c: Likewise.
14408 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14409 aligned addresses.
14410 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14411 support.
14412 (grub_arch_dl_relocate_symbols): Likewise.
14413 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14414 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14415 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14416 platforms.
14417 * grub-core/lib/arc/datetime.c: New file.
14418 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14419 pci.h on non-loongson.
14420 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14421 (grub_linux_boot): Set unused registers to 0.
14422 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14423 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14424 * grub-core/mmap/mips/uppermem.c: ...here.
14425 * grub-core/partmap/dvh.c: New file.
14426 * grub-core/term/arc/console.c: Likewise.
14427 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14428 (grub_terminfo_set_current): Add terminal "arc".
14429 (grub_terminfo_readkey): Support ARC sequences.
14430 * include/grub/arc/arc.h: New file.
14431 * include/grub/arc/console.h: Likewise.
14432 * include/grub/disk.h (grub_disk_dev_id): Add
14433 GRUB_DISK_DEVICE_ARCDISK_ID.
14434 * include/grub/mips/arc/kernel.h: New file.
14435 * include/grub/mips/arc/memory.h: Likewise.
14436 * include/grub/mips/arc/time.h: Likewise.
14437 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14438 * include/grub/mips/kernel.h (grub_halt): ... here.
14439 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14440 here...
14441 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14442 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14443 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14444 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14445 proto.
14446 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14447 from here ...
14448 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14449 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14450 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14451 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14452 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14453 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14454 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14455 (grub_phys_addr_t): Moved from here ...
14456 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14457 (grub_vtop): Moved from here ...
14458 * include/grub/mips/memory.h (grub_vtop): ... here.
14459 (grub_map_memory): Moved from here ...
14460 * include/grub/mips/memory.h (grub_map_memory): ... here.
14461 (grub_unmap_memory): Moved from here ...
14462 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14463 (grub_machine_mmap_iterate): Moved from here ...
14464 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14465 (grub_mmap_get_lower): Moved from here ...
14466 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14467 (grub_mmap_get_upper): Moved from here ...
14468 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14469 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14470 here ...
14471 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14472 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14473 here ...
14474 * include/grub/mips/time.h (grub_get_rtc): ... here.
14475 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14476 here ...
14477 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14478 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14479 here ...
14480 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14481 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14482 definition.
14483 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14484 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14485 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14486 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14487 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14488 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14489 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14490 (GRUB_MACHINE_LINK_ADDR): Likewise.
14491 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14492 to 6.
14493 * util/grub-install.in: Run dvhtool on ARC.
14494 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14495 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14496
c8ecc840
VS
144972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14500 blocks.
14501
153a4b55
VS
145022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14503
14504 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14505 after enabling port.
14506
ff44d107
VS
145072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 Skip incorrect USB devices.
14510
14511 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14512 configcnt == 0.
14513 * include/grub/usb.h (grub_usb_err_t): New enum value
14514 GRUB_USB_ERR_BADDEVICE.
14515
638dbe4f
VS
145162011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 Fuloong video init support.
14519
14520 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14521 well.
14522 (grub_vga_read_arx): New function.
14523 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14524 definition.
14525 (framebuffer): New members io, mmioptr and mmiobase.
14526 (read_sis_cmd): New function.
14527 (write_sis_cmd): Likewise.
14528 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14529 rather than 640x400.
14530 * grub-core/video/sis315_init.c: New file.
14531
c3fc520c
VS
145322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14535 non-loongson.
14536 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14537 to grub_dl_register_symbol.
14538
67b1e5c9
VS
145392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 Fix compilation errors.
14542
14543 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14544 potentially unused.
14545 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14546 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14547 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14548 to loongson machines.
14549
b756f75f
VS
145502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14551
14552 Several FS mtime support.
14553
14554 * grub-core/fs/affs.c (grub_affs_time): New struct.
14555 (grub_affs_file): New field mtime.
14556 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14557 type. Removed 'size'. New field 'di'. All users updated.
14558 (grub_affs_mount): Simplify checsum checking.
14559 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14560 (grub_affs_dir): Handle mtime.
14561 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14562 (grub_cpio_dir): Likewise.
14563 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14564 (grub_hfs_filerec): New field mtime.
14565 (grub_hfs_dir): Handle mtime.
14566 (grub_hfs_mtime): New function.
14567 (grub_hfs_fs): Register grub_hfs_mtime.
14568 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14569 (grub_iso9660_dir): New field mtime.
14570 (grub_fshelp_node): New field dirent.
14571 (iso9660_to_unixtime): New function.
14572 (iso9660_to_unixtime2): Likewise.
14573 (grub_iso9660_read_symlink): Use node->dirent.
14574 (grub_iso9660_iterate_dir): Likewise.
14575 (grub_iso9660_dir): Set mtime.
14576 (grub_iso9660_mtime): New function.
14577 (grub_iso9660_fs): Register grub_iso9660_mtime.
14578 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14579 (grub_jfs_inode): New fields atime, ctime and mtime.
14580 (grub_jfs_dir): Set mtime.
14581 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14582 * grub-core/fs/ntfs.c (list_file): Set mtime.
14583 (grub_ntfs_dir): Likewise.
14584 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14585 (grub_reiserfs_iterate_dir): Set mtime.
14586 (grub_reiserfs_dir): Likewise.
14587 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14588 (grub_fshelp_node): Likewise.
14589 (grub_sfs_iterate_dir): Set mtime.
14590 (grub_sfs_dir): Likewise.
14591 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14592 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14593 (grub_xfs_inode): New fields atime, mtime, ctime.
14594 (grub_xfs_dir): Set mtime.
14595 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14596 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14597 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14598
14599 Support UDF symlinks.
14600
14601 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14602 (grub_ufs_read_symlink): New function. All users updated.
14603
14604 Check amiga partmap checksum.
14605
14606 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14607 (grub_amiga_partition): Likewise.
14608 (amiga_partition_map_checksum): New function.
14609 (amiga_partition_map_iterate): Check checksum.
14610
5470225d
VS
146112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 ROMFS support.
14614
14615 * Makefile.util.def (libgrubmods.a): Add romfs.
14616 * grub-core/Makefile.core.def (romfs): New module.
14617 * grub-core/fs/romfs.c: New file.
14618
d4680a35
VS
146192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 Squashfs v4 support.
14622
14623 * Makefile.util.def (libgrubmods.a): Add squash4.
14624 * grub-core/Makefile.core.def (squash4): New module.
14625 * grub-core/fs/squash4.c: New file.
14626 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14627 disk_input_start, disk_input.
14628 (get_byte): Handle disk_input.
14629 (grub_zlib_disk_read): New function.
14630 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14631
bcb18e74
FZ
146322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
146332011-05-15 Feiran Zheng <famcool@gmail.com>
14634
14635 * Makefile.util.def (libgrubmods.a): Add minix3.
14636 * grub-core/Makefile.core.def (minix3): New module.
14637 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14638 (GRUB_MINIX_BSIZE): Removed.
14639 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14640 (grub_minix_ino_t): New type.
14641 (grub_minix_le_to_cpu_ino): New macro.
14642 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14643 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14644 (grub_minix_data): New field block_size.
14645 (grub_minix_read_file): Handle 64-bit correctly.
14646 * grub-core/fs/minix3.c: New file.
14647
32297d5f
TG
146482011-05-15 Tristan Gingold <gingold@free.fr>
146492011-05-15 Robert Millan <rmh.grub@aybabtu.com>
146502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 IA64 support.
14653
14654 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14655 * configure.ac: Add ia64-efi target.
14656 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14657 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14658 * gentpl.py: Add ia64_efi platform.
14659 Rename x86_efi to efi and Add ia64-efi. All users updated.
14660 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14661 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14662 Remove kern/generic/rtc_get_time_ms.c on EFI.
14663 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14664 kern/ia64/dl_helper.c on ia64-efi.
14665 Add kern/emu/cache.c on emu.
14666 (linux): Use on loader/ia64/efi/linux.c on ia64.
14667 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14668 whether symbol is a function.
14669 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14670 (grub_symbol): New field 'isfunc'.
14671 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14672 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14673 (grub_dl_load_segments): Place all sections into the same region.
14674 [__ia64__]: Create trampolines and got.
14675 [GRUB_MACHINE_EMU]: Call mprotect.
14676 (grub_dl_resolve_symbols): Resolve symbol type as well.
14677 [__ia64__]: Create function descriptors.
14678 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14679 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14680 (grub_get_rtc): New function.
14681 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14682 * grub-core/kern/emu/cache.S: Renamed to ...
14683 * grub-core/kern/emu/cache_s.S: ... this.
14684 [__ia64__]: Add a nop.
14685 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14686 [__ia64__]: New function.
14687 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14688 * grub-core/kern/ia64/dl.c: New file.
14689 * grub-core/kern/ia64/dl_helper.c: Likewise.
14690 * grub-core/kern/ia64/efi/init.c: New file.
14691 * grub-core/kern/ia64/efi/startup.S: Likewise.
14692 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14693 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14694 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14695 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14696 * grub-core/loader/ia64/efi/linux.c: New file.
14697 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14698 (GRUB_MOD_DEP): Likewise.
14699 (grub_dl) [__ia64__]: New fields got and tramp.
14700 (grub_dl): New field 'base'.
14701 (grub_dl_register_symbol): New argument isfunc. All users updated.
14702 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14703 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14704 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14705 (grub_ia64_dl_get_tramp_got_size): New proto.
14706 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14707 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14708 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14709 * include/grub/efi/api.h: Skip call wrappers on ia64.
14710 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14711 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14712 * include/grub/elf.h (ELF_ST_INFO): New definition.
14713 * include/grub/ia64/efi/kernel.h: New file.
14714 * include/grub/ia64/efi/memory.h: Likewise.
14715 * include/grub/ia64/efi/time.h: Likewise.
14716 * include/grub/ia64/kernel.h: Likewise.
14717 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14718 * include/grub/ia64/time.h: New file.
14719 * include/grub/ia64/types.h: Likewise.
14720 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14721 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14722 New protos.
14723 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14724 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14725 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14726 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14727 All users updated.
14728 (EFI64_HEADER_SIZE): New definition. All users updated.
14729 (image_targets): Add ia64-efi.
14730 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14731 jumpers_addr. All users updated.
14732 Create function descriptors.
14733 (count_funcs): New function.
14734 (unaligned_uint32): New struct.
14735 (MASK20): New definition.
14736 (MASK19): Likewise.
14737 (MASKF21): Likewise.
14738 (add_value_to_slot_20b): New function.
14739 (add_value_to_slot_21_real): Likewise.
14740 (add_value_to_slot_21): Likewise.
14741 (ia64_kernel_trampoline): New struct.
14742 (nopm): New variable.
14743 (jump): Likewise.
14744 (make_trampoline): New function.
14745 (relocate_addresses): Handle ia64.
14746 (make_reloc_section): Likewise.
14747 (load_image): Likewise.
14748
983b414d
VS
147492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14752 warning. Move variables before code while on it.
14753
5d063cdc
VS
147542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 Fuloong support.
14757
14758 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14759 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14760 * grub-core/boot/mips/loongson/fuloong.S: New file.
14761 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14762 Explicitly init CS5536.
14763 [FULOONG]: Don't use serial until CS5536 is available.
14764 Set GPIO based on dumps.
14765 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14766 [FULOONG]: Handle GPIO and memory controller differences.
14767 Parse machine type in $a2.
14768 * grub-core/boot/mips/startup_raw.S: Determine and save the
14769 architecture.
14770 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14771 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14772 init on architecture type.
14773 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14774 SIS315E. Don't init at_keyboard on fuloong.
14775 (grub_halt): Support Fuloong.
14776 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14777 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14778 (loongson_machtypes): New array.
14779 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14780 type.
14781 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14782 config. All users updated. Handle CS5536 serial.
14783 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14784 default port on machine type. Register serial as inactive.
14785 * grub-core/video/sis315pro.c: New file.
14786 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14787 definition.
14788 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14789 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14790 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14791 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14792 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14793 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14794 to ...
14795 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14796 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14797 definition.
14798 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14799 (grub_arch_machine): New extern var.
14800 * include/grub/mips/loongson/serial.h
14801 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14802 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14803 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14804 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14805 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14806 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14807 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14808 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14809 * include/grub/term.h (grub_term_register_input_inactive): New inline
14810 function.
14811 (grub_term_register_output_inactive): Likewise.
14812 * include/grub/video.h (grub_video_driver_id): New value
14813 GRUB_VIDEO_DRIVER_SIS315PRO.
14814 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14815 New field "names". All users updated.
14816 New field value IMAGE_FULOONG_FLASH.
14817 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14818
6ada82d1
JU
148192011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14820
14821 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14822 and add some clarification.
14823
90c571a4
VS
148242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14827 platforms if kernel is compressed.
14828
de04eecf
VS
148292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14832 unused modules since currently referrence counter isn't reliable and
14833 there isn't much memory to recover there anyway.
14834
57688121
VS
148352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14838 rather than resetting it to allow modules to reference themselves
14839 in init.
14840
3d2c7e35
VS
148412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14844 counter on dependencies since grub_dl_unref already handles this.
14845
b25db218
VS
148462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14849 on error if not already done.
14850
25a45338
VS
148512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 Fix few potential memory misusage.
14854
14855 * grub-core/font/font.c (load_font_index): Don't free char_index to
14856 avoid double free.
b25db218
VS
14857 (grub_font_load): Zero-fill font at alloc for safety.
14858 Close file on error.
14859 (free_font): Free bmp_idx.
25a45338 14860
0cac83df
VS
148612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * docs/grub.texi (Installation): Fix several outdated claims.
14864
2217a143
VS
148652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 Handle module_license on windows.
14868
14869 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14870 sections shifted.
14871 (insert_string): Make argument const char * instead of char *.
14872 (write_section_data): Handle long section names.
14873 Handle module_license.
14874
d4de6b01
VS
148752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14878 handle class-free menuentries.
14879 (grub_normal_add_menu_entry): Add a check to be sure.
14880
4c2a3b43
VS
148812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14884 PgUp and PgDown.
14885
85c6210f
VS
148862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * configure.ac: Bump version to 1.99.
14889
36084912
VS
148902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 Give ATA device a bit more time on first try in order to allow disks
14893 to spin up.
14894
14895 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14896 if dev->present is 1. Reset dev->present on failure.
14897 (grub_ata_device_initialize): Set dev->present to 1.
14898 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14899 (grub_ata_device): New member 'present'.
14900
bda0e219
VS
149012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 * util/grub-mkimage.c (generate_image): Update hash.
14904
19e1c41b
VS
149052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 Flush caches on DMA memory.
14908
14909 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14910 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14911 (grub_dma_free): Likewise.
14912 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14913
91bbcc0c
VS
149142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14917 to avoid asm treating ld and sd as macros.
14918
60ddfad3
VS
149192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14922 decompressor.
14923
a298aa04
VS
149242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14927 grub_decompress_core since later would fail if grub_decompress_core
14928 is too far.
14929
9b44feca
VS
149302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14933 R_MIPS_JALR since it's used by newer compiler.
14934
56dbe7b4
VS
149352011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14938
52856af2
VS
149392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14942 file_path to 0 for surety.
14943 (grub_chainloader_boot): Set exit_data to NULL.
14944 Unset the loader once done.
14945 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14946
9c9bfc6d
VS
149472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14950 unknown key into a dprintf.
14951
dd94a3df
VS
149522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14955 on first non-existant partition.
14956
fa68d99c
VS
149572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14960 openning fails.
14961 Reported by: Mark Korenberg.
14962
157effb7
VS
149632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14966 overflow.
14967
ea75312f
VS
149682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14971 before closing to ensure that it will be readable by grub-setup.
14972
072b5d31
VS
149732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14976 (devpath_1): Use MAKE_PIWG_PATH.
14977 (devpath_2): Likewise.
14978 (devpath_3): Likewise.
14979 (devpath_4): Likewise.
14980 (devpath_5): Likewise.
14981 (devpath_6): Likewise.
14982
14983 The appleldr.mod was checked that to be binary identical to previous
14984 version.
14985
7fae0051
Z
149862011-05-05 Zach <mikezackles>
14987
14988 Support 2010 Macbooks.
14989
14990 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14991 (devs): Add devpath_6.
14992
7c515bee
VS
149932011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14996 /dev/random. /dev/urandom is good enough for our purposes (salting).
14997
ed660bd8
VS
149982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14999
15000 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15001
ee5614b7
VS
150022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15003
15004 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15005 hexadecimal.
15006
664889a6
VS
150072011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15010 and not 0 on failure.
15011
bd405bbc
CW
150122011-05-03 Colin Watson <cjwatson@ubuntu.com>
15013
15014 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15015 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15016 disk; otherwise grub_fs_probe will not fall back to the next
15017 filesystem.
15018 (grub_pxefs_open): Likewise, for consistency.
15019 Reported and tested by: Ezekiel Grave.
15020
4ebff753
CW
150212011-05-03 Colin Watson <cjwatson@ubuntu.com>
15022
15023 * tests/partmap_test.in: Don't hardcode path to parted.
15024 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15025
8f942553
CW
150262011-05-01 Colin Watson <cjwatson@ubuntu.com>
15027
15028 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15029 of `ls' to find out which devices are available.
15030
3c62402d
VS
150312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15034 than source address for efi mmap buffer.
15035
723f63f2
VS
150362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15039 wrong action on non-detecting the magic.
15040
68797f92
VS
150412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15044 already supplied by another part of the module (fixes compilation on
15045 FreeBSD).
15046
6be8715d
VS
150472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15050 match the one used by mdadm.
15051
e91dba5b
CW
150522011-04-21 Colin Watson <cjwatson@ubuntu.com>
15053
15054 * po/README: Add instructions for creating po/LINGUAS.
15055
c85140b3
CW
150562011-04-21 Colin Watson <cjwatson@ubuntu.com>
15057
15058 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15059 #551428.
15060
15061 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15062 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15063 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15064 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15065 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15066 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15067 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15068 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15069 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15070 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15071 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15072 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15073 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15074 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15075 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15076 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15077 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15078 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15079 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15080 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15081 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15082 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15083
92051871
CW
150842011-04-21 Colin Watson <cjwatson@ubuntu.com>
15085
15086 * grub-core/kern/emu/getroot.c
15087 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15088 test that was incorrectly reintroduced in r3214.
15089 Reported by: Ian Dall. Fixes Savannah bug #33133.
15090
b13f79a4
CW
150912011-04-21 Colin Watson <cjwatson@ubuntu.com>
15092
15093 Fix stack pointer handling in 16-bit relocator.
15094
15095 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15096 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15097 Fixes Ubuntu bug #683904.
15098
9b710a88
VS
150992011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 * configure.ac: Bump version to 1.99~rc2.
15102
d97e7b59
VS
151032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15106 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15107 * grub-core/lib/x86_64/setjmp.S: Likewise.
15108 * grub-core/lib/mips/setjmp.S: Likewise.
15109 * grub-core/lib/powerpc/setjmp.S: Likewise.
15110 * grub-core/lib/sparc64/setjmp.S: Likewise.
15111
0624551c
VS
151122011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15115 * grub-core/lib/efi/datetime.c: Likewise.
15116
e8f28d4c
VS
151172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15120 New function.
15121 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15122 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15123 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15124
bba79a15
VS
151252011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15126
15127 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15128 bitmap.
15129 (grub_gfxterm_term_init): Likewise.
15130
abc474ef
VS
151312011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 Take into account the decorations the computing menu entry width.
15134
15135 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15136 (grub_gfxmenu_create_box): Register get_border_width.
15137 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15138 if available.
15139 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15140 get_border_width.
15141
e74b3947
EP
151422011-04-18 Endres Puschner <code@e7p.de>
15143
15144 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
15145 Don't skip first class.
15146
34faa595
VS
151472011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
15150 chunks.
15151 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
15152
93a777e3
VS
151532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 Complete 64-bit division support.
15156
15157 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
15158 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
15159 * include/grub/misc.h (grub_divmod64): Rename to ...
15160 (grub_divmod64_full): ... this.
15161 (grub_divmod64): New inline function.
15162
a5102d94
VS
151632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15164
15165 * util/grub-mkimage.c (generate_image): Add forgotten comma.
15166
f3fb7b36
VS
151672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
15170 performing the necessary test.
15171
9ac718b0
VS
151722011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
15175 (kfreebsd.elf): Likewise.
15176 (pc-chainloader.elf): Likewise.
15177 (ntldr.elf): Likewise.
15178
50d2cc5a
VS
151792011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 Identify RAID by its UUID rather than (guessed) name.
15182
15183 * grub-core/disk/raid.c (ascii2hex): New function.
15184 (grub_raid_open): Accept mduuid/%s specification.
15185 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15186 (get_mdadm_uuid): ... this.
15187 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15188
e03f7bea
VS
151892011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15192 to negative size.
15193
e74c3112
CW
151942011-04-13 Colin Watson <cjwatson@ubuntu.com>
15195
15196 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15197 btrfs subvolume.
15198 * util/grub.d/20_linux_xen.in: Likewise.
15199
78fa584f
CW
152002011-04-13 Colin Watson <cjwatson@ubuntu.com>
15201
15202 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15203 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15204
15205 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15206 Build a list of relevant visible mounts using the mnt_id and
15207 parent_mnt_id fields, and then scan that list at the end.
15208
9d5f8162
CW
152092011-04-12 Colin Watson <cjwatson@ubuntu.com>
15210
15211 * docs/grub.texi (normal): New section.
15212 (normal_exit): New section.
15213 (Embedded configuration): Add reference to normal.
15214 (GRUB only offers a rescue shell): Likewise.
15215 * docs/grub-dev.texi (Error Handling): Fix typo.
15216
09a9d66f
CW
152172011-04-12 Colin Watson <cjwatson@ubuntu.com>
15218
15219 * NEWS: Drop obsolete entry about probe-only btrfs support.
15220
0c676933
CW
152212011-04-12 Colin Watson <cjwatson@ubuntu.com>
15222
15223 * util/import_gcry.py: Fix typo.
15224
ec9f5e0d
VS
152252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 * NEWS: Add btrfs support.
15228
fe6b2cba
VS
152292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
152302011-04-11 Colin Watson <cjwatson@ubuntu.com>
15231
15232 BtrFS support. Written by me (Vladimir) with important bugfixes and
15233 even more important testing by Colin.
15234
15235 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15236 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15237 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15238 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15239 mem_input_off and mem_input. All users updated to accept in-RAM input.
15240 (gzio_seek): New function.
15241 (test_zlib_header): Likewise.
15242 (grub_gzio_read): Likewise.
15243 (grub_zlib_decompress): Likewise.
15244 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15245 Accept partial and non-virtual mounts.
15246 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15247 avoid receiving /dev/dm-X as device.
15248 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15249 Handle bind and partial mounts.
15250 * grub-core/lib/crc.c: New file.
15251 * include/grub/deflate.h: Likewise.
15252 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15253 proto.
15254 * include/grub/lib/crc.h: New file.
15255
e745cf0c
VS
152562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 Implement automatic module license checking according to new GNU
15259 guidelines.
15260
15261 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15262 (grub_dl_load_core): Use grub_dl_check_license.
15263 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15264 (GRUB_MOD_LICENSE): Likewise.
15265 (GRUB_MOD_DUAL_LICENSE): Likewise.
15266 All modules updated.
15267
2a9bc016
CW
152682011-04-11 Colin Watson <cjwatson@ubuntu.com>
15269
15270 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15271 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15272 loaders.
15273 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15274
8a3bc88e
VS
152752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15278
af869a4a
VS
152792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15282 failed.
15283
9ee8d94f
VS
152842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15285
15286 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15287 parenthesis in the middle of the filename.
15288
b01abe3e
VS
152892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15292 rather than trying to put initrd way too high.
15293 Reported by: Ryan Lortie <desrt@desrt.ca>
15294
335bda1e
VS
152952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15298 improperly removed string.
15299
5ca1a64d
VS
153002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15301
15302 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15303 is_disk.
15304 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15305 (open_device) Likewise.
15306 (grub_util_biosdisk_close): Likewise.
d8ce9995 15307 Reported by: Mark Korenberg.
5ca1a64d 15308
cbac5b1e
AK
153092011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15310
15311 * util/grub-mkconfig_lib.in: Add missing quotes.
15312
088cdb65
CW
153132011-04-10 Colin Watson <cjwatson@ubuntu.com>
15314
15315 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15316 is NULL.
15317
8b8a81fa
VS
153182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15319
15320 Dynamically count the number of lines for the lower banner.
15321
15322 * grub-core/normal/menu_entry.c (per_term_screen): New member
15323 num_entries.
15324 (print_down): Use num_entries.
15325 (update_screen): Likewise.
15326 (grub_menu_entry_run): Set num_entries.
15327 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15328 num_entries.
15329 (grub_print_message_indented): Move real part to ...
15330 (grub_print_message_indented_real): ... here. Additional argument
15331 dry_run.
15332 (draw_border): Additional argument num_entries.
15333 (print_message): Additional argument dry_run.
15334 (print_entries): Receive menu viewer data.
15335 (grub_menu_init_page): New argment num_entries.
15336 (menu_text_set_chosen_entry): Use num_entries.
15337 (grub_menu_try_text): Likewise.
15338 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15339 All users updated.
15340 (grub_ucs4_count_lines): New function.
15341 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15342 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15343 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15344 (grub_term_border_height): Likewise.
15345 (grub_term_num_entries): Likewise.
15346
277f955b
VS
153472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15348
15349 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15350 Remove now unused string.
15351
536ce85a
CW
153522011-04-09 Colin Watson <cjwatson@ubuntu.com>
15353
15354 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15355 build system.
15356 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15357
15358 (Comment): Fix typo.
15359 (Getting started): General copy-editing.
15360 (Typical Development Experience): Likewise.
15361 (Error Handling): Likewise.
15362 (Video API): Likewise.
15363
2cf09e32
CW
153642011-04-09 Colin Watson <cjwatson@ubuntu.com>
15365
15366 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15367 throughout.
15368
1ec652f4
VS
153692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15372 directory.
15373
2c583728
CW
153742011-04-08 Colin Watson <cjwatson@ubuntu.com>
15375
15376 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15377 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15378 "development".
15379
d7a565e9
VS
153802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15383 grub_strcpy since the lines aren't necessarily 0-terminated.
15384
7c2e4909
VS
153852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15388 root on legacy.
15389
34c09785
VS
153902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15393 (GRUB_MOD_INIT): DEVICE isn't optional.
15394
6a6f8058
VS
153952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15398 word on new line if it's too long anyway. Fixes a hang.
15399
2e335e90
VS
154002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15403 const.
15404 * util/grub-setup.c (main): Reuse md device name if available.
15405 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15406 not GRUB name as argument.
15407 Based on patch by: Florian Wagner <fwagner>.
15408
10a7a867
VS
154092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15412 Place mbi on low memory for better compatibility.
15413
7a3d6cd9
VS
154142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15417
18dd6b47
VS
154182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
154192011-04-08 Colin Watson <cjwatson@ubuntu.com>
15420
15421 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15422 * conf/Makefile.common: Likewise.
18dd6b47 15423
3c0e3f14
VS
154242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15425
f7148863
VS
15426 * grub-core/normal/menu.c: Add missing include.
15427
154282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15431
6d1fa41f
MZ
154322011-04-08 Martin Zuther <mzuther@mzuther.de>
15433
15434 * util/grub-mkconfig.in: Ignore emacsen backup.
15435
478182a8
VS
154362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15439 on open.
15440 (grub_util_biosdisk_close): Likewise.
15441
72a89a54
VS
154422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15445 const attribute and use grub_isdigit.
15446
b5ebecfa
A
154472011-04-06 Andrey <dev_null@ukr.net>
15448
15449 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15450 gcc warning.
15451
7755f66e
VS
154522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15455 useful grub_dprintf's.
15456
461121ff
VS
154572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15460
2a961775
VS
154612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15464
adf594cc
VS
154652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 Output errors if theme loading failed.
15468
15469 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15470 grub_gfxterm_fullscreen on error paths to ...
15471 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15472 theme loading error.
15473
665900a3
VS
154742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15477 space for older compilers.
15478 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15479
a562b479
VS
154802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15483 and report them as not RAID members since they are useless for GRUB.
15484 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15485
850e9373
VS
154862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 Increase LVM implementation robustness in order not to crash on
15489 configurations like pvmove. Previously code assumed that in some places
15490 only lvs or only pvs are used whereas it seems that they are used
15491 interchangeably.
15492
15493 * grub-core/disk/lvm.c (read_node): New function.
15494 (read_lv): Use read_node.
15495 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15496 Match volumes only at the end when all lvs are found. Take both
15497 pvs (first) and lvs (second) into account.
15498 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15499 mirror_* into node_*. All users updated.
15500 (grub_lvm_stripe): Merge this ...
15501 (grub_lvm_mirror): ... and this ...
15502 (grub_lvm_node): ... into this. All users updated.
15503
6f332153
VS
155042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15507 of function to allow further scanning for LVMs.
15508
829ea451
VS
155092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15512 on failed seek as it breaks open fd reusage.
15513
09ceb9a5
VS
155142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * util/grub-install.in: Add a recommendation to use --recheck before
15517 reporting bugs.
15518
67e11623
VS
155192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15522 are obtained.
15523
caee5efd
VS
155242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15525
15526 GRUB developper manual based on existing Internals section and
15527 contributions by the various authors with active copyright assignment.
15528
15529 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15530 * docs/font_char_metrics.png: New file.
15531 * docs/font_char_metrics.txt: Likewise.
15532 * docs/grub-dev.texi: Likewise.
15533 * docs/grub.texi (Internals): Move from here ...
15534 * docs/grub-dev.texi: ... here.
15535
2cccc747
CW
155362011-04-01 Colin Watson <cjwatson@ubuntu.com>
15537
15538 Store the loopback device as data on loopback grub_disk structures,
15539 rather than the file it points to. This fixes use of freed memory
15540 if an existing loopback device is replaced.
15541
15542 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15543 disk->data, not dev->file.
15544 (grub_loopback_read): Adjust file assignment to match.
15545 Fixes Ubuntu bug #742967.
15546
186ae367
CW
155472011-04-01 Colin Watson <cjwatson@ubuntu.com>
15548
15549 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15550 when replacing an existing device.
15551
cfed2ad0
VS
155522011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15555 memory corruptions.
15556
15557 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15558 unsigned.
15559 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15560 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15561 (grub_jfs_read_inode): Likewise.
15562 (grub_jfs_opendir): Likewise. Remove now useless casts.
15563 (grub_jfs_getent): Likewise.
15564 Make ino a grub_uint32_t rather than int.
15565 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15566 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15567 division and module with bit operations.
15568 (grub_jfs_find_file): Make ino a grub_uint32_t.
15569 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15570
05d2ed32
CW
155712011-04-01 Colin Watson <cjwatson@ubuntu.com>
15572
15573 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15574 warning. (This was in fact always initialised before use, but GCC
15575 wasn't smart enough to prove that.)
15576 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15577
91dc6073
VS
155782011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15581 stack alignment.
15582 (efi_wrap_1): Likewise.
15583 (efi_wrap_2): Likewise.
15584 (efi_wrap_3): Likewise.
15585 (efi_wrap_4): Likewise.
15586 (efi_wrap_5): Likewise.
15587 (efi_wrap_6): Likewise.
15588 (efi_wrap_10): Likewise.
15589 Based on information by: Red Hat/Peter Jones.
15590
a8afc1d1
CW
155912011-03-31 Colin Watson <cjwatson@ubuntu.com>
15592
15593 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15594 set-but-not-used variable.
15595
a826cc7d
CW
155962011-03-31 Colin Watson <cjwatson@ubuntu.com>
15597
15598 * docs/grub.texi (Simple configuration): Be more explicit about
15599 GRUB_DEFAULT, and add an example.
15600 Reported by: Leslie Rhorer.
15601
875b67ba
CW
156022011-03-30 Colin Watson <cjwatson@ubuntu.com>
15603
15604 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15605 shell".
15606
fd7cd914
AS
156072011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15608
15609 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15610 * util/grub.d/20_linux_xen.in: Likewise.
15611
090b1b6a
VS
156122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15613
15614 * util/grub.d/10_linux.in: Try alternative config filenames where
15615 we parse config file.
15616 * util/grub.d/20_linux_xen.in: Likewise.
15617
baad885c
AS
156182011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15619
15620 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15621 * util/grub.d/20_linux_xen.in: Likewise.
15622
241e41f5
VS
156232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 * grub-core/disk/raid.c (insert_array): Add few potentially
15626 useful grub_util_info.
15627 (grub_raid_register): Likewise.
15628
56445fb2
VS
156292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15632 Preserve partition number in mdadm code path.
15633
c871b1c6
VS
156342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15637 few potentially useful grub_util_info.
15638
5e631b4f
CW
156392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15642
2d5d0333
CW
156432011-03-30 Colin Watson <cjwatson@ubuntu.com>
15644
15645 * docs/grub.texi (default): Use @example rather than nested
15646 itemized lists to avoid breaking gendocs.
15647
3d7ed04e
CW
156482011-03-30 Colin Watson <cjwatson@ubuntu.com>
15649
15650 * docs/grub.texi (Future): Update.
15651
abf04200 156522011-03-30 Colin Watson <cjwatson@ubuntu.com>
15653
15654 * docs/grub.texi (Environment): New chapter.
15655 (Changes from GRUB Legacy): Link to "Environment block" section for
15656 details of limitations.
15657 (Simple configuration): Likewise. Link to documentation of gfxmode
15658 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15659 respectively.
15660 (Shell-like scripting): Note that normal variables are stored in the
15661 environment.
15662 (gettext): Link to documentation of lang and locale_dir.
15663 (list_env): New section.
15664 (load_env): New section.
15665 (save_env): New section.
15666
15667 (Reporting bugs): Fix typo.
15668
e1ad0edd
VS
156692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15672 the example.
15673
5d803174
VS
156742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15675
15676 * grub-core/term/at_keyboard.c (set_scancodes)
15677 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15678
2a2da1d0
CW
156792011-03-30 Colin Watson <cjwatson@ubuntu.com>
15680
15681 * docs/grub.texi (Menu-specific commands): Remove some semantics
15682 that were true in GRUB Legacy but not in GRUB 2.
15683 (submenu): New section.
15684 (false): New section.
15685 (read): New section.
15686 (true): New section.
15687
a7527639
CW
156882011-03-30 Colin Watson <cjwatson@ubuntu.com>
15689
15690 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15691
156922011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15693
15694 * docs/grub.texi (Simple configuration): Explain some of the
15695 current limitations of grub-mkconfig.
8a748df2 15696 Reported by: Leslie Rhorer.
e30af029 15697
fc858482
VS
156982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 Old macs search for boot.efi rather than for bootia32.efi.
15701
15702 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15703 * util/grub-mkrescue.in: Likewise.
15704 Suggested by: Peter Jones.
15705
e1eb511d
VS
157062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15709
70e75364
VS
157102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15713 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15714 (grub_lvm_mirror): New struct.
15715 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15716 (grub_lvm_iterate): Iterate only visible volumes.
15717 (grub_lvm_read): Factor out to ..
15718 (read_lv): ... this. Support mirrors.
15719 (grub_lvm_read): New wrapper function.
15720 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15721 stripped or mirrored.
15722
fc18f6a3
VS
157232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15726
5c650f4c
CW
157272011-03-29 Colin Watson <cjwatson@ubuntu.com>
15728
15729 * docs/grub.texi (loopback): New section.
15730
61d7156b
CW
157312011-03-29 Colin Watson <cjwatson@ubuntu.com>
15732
15733 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15734 removed -p option.
15735
994b8264
CW
157362011-03-29 Colin Watson <cjwatson@ubuntu.com>
15737
15738 * docs/grub.texi (BIOS installation): New section, partly based on
15739 previous text in other sections.
15740 (Installing GRUB using grub-install): Replace BIOS discussion with a
15741 cross-reference.
15742 (Images): Likewise.
15743
9e4d19e0
VS
157442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15747 [HAVE_DIOCGDINFO]: Add safety checks.
15748
a307c0b2
VS
157492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15752 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15753
b4db4f39
CW
157542011-03-29 Colin Watson <cjwatson@ubuntu.com>
15755
15756 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15757 real_sb->size is zero (e.g. RAID-0), get the disk size from
15758 real_sb->data_size instead.
15759 Fixes Ubuntu bug #743136.
15760
35e5f84c
VS
157612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15764 printf clauses for printing size and start.
15765
d2e29d81
VS
157662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15767
15768 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15769 Reported and tested by: Timothy Nikkel.
15770
ed5587af
VS
157712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15774 (dirty_region_add_real): ... this.
15775 (dirty_region_add): Don't discard margin refresh when performing
15776 scheduled repaint.
15777
a1dc717c
VS
157782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15779
15780 * grub-core/lib/relocator.c (allocate_regstart)
15781 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15782 terminals are capabple of malloc-free operation.
15783 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15784 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15785
9f3677d3
VS
157862011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15787
15788 * util/grub-setup.c: Copy the partition table zone if floppy support
15789 is disabled, even if no partition table is found.
15790
15791 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15792 during POST if an invalid partition table is contained in the PBR
15793 of the active partition when GRUB is installed to a partition.
15794
24148725
CW
157952011-03-28 Colin Watson <cjwatson@debian.org>
15796
15797 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15798 comment.
15799
f329eda7
CW
158002011-03-28 Colin Watson <cjwatson@debian.org>
15801
15802 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15803 to be specific about what kind of RAID device we're scanning for.
15804
c482ad98
SG
158052011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15806
15807 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15808 return freed string.
15809
5ee04984
VS
158102011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15813
f4727da9
VS
158142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 Use libgeom on FreeBSD to detect partitions.
15817
15818 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15819 (grub-mkrelpath): Likewise.
15820 (grub-script-check): Likewise.
15821 (grub-editenv): Likewise.
15822 (grub-mkpasswd-pbkdf2): Likewise.
15823 (grub-fstest): Likewise.
15824 (grub-mkfont): Likewise.
15825 (grub-mkdevicemap): Likewise.
15826 (grub-probe): Likewise.
15827 (grub-setup): Likewise.
15828 (grub-ofpathname): Likewise.
15829 (grub-mklayout): Likewise.
15830 (example_unit_test): Likewise.
15831 (grub-menulst2cfg): Likewise.
15832 * grub-core/Makefile.core.def (grub-emu): Likewise.
15833 (grub-emu-lite): Likewise.
15834 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15835 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15836 define HAVE_DIOCGDINFO.
15837 (follow_geom_up) [FreeBSD]: New function.
15838 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15839 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15840 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15841 unconditionally of HAVE_DIOCGDINFO.
15842
82fe6c75
VS
158432011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 Fix FreeBSD compilation problem.
15846
15847 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15848 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15849
4c6c9431
CW
158502011-03-24 Colin Watson <cjwatson@ubuntu.com>
15851
15852 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15853 Switch back to page zero before loading a kernel, since some kernel
15854 drivers expect that.
15855 Thanks to: Felix Kuehling.
15856
c7064d94
VS
158572011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15860 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15861 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15862
3f71cded
VS
158632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15866 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15867
ef6de21a
VS
158682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15871 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15872 malloc is disabled.
15873
8bc66a2c
VS
158742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15877 for modules headers when counting the needed allocation size.
15878
5657722c
VS
158792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15882 if no ASCII character is found to prevent crash.
15883
41a85f55
AK
158842011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15885
15886 * grub-core/video/bitmap.c (match_extension): Ignore case.
15887
59e1e5f1
VS
158882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15891
bd4d051a
VS
158922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * grub-core/script/parser.y: Declare "time" as valid argument.
15895
bae7fcc1
PJ
158962011-03-23 Peter Jones <pjones@redhat.com>
15897
15898 Fix incorrect assert failure reporting.
15899
15900 * grub-core/tests/example_functional_test.c (example_test): Add
15901 a failure comment.
15902 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15903 (failure_start): ...this. Check that malloc succeeded.
15904 Don't call xvasprintf. Return failure struct.
15905 (failure_append_vtext): New function.
15906 (failure_append_text): Likewise.
15907 (add_failure): Likewise.
15908 (grub_test_assert_helper): Likewise.
15909 * include/grub/test.h (grub_test_assert_helper): New declaration.
15910 (grub_test_assert): Macro rewritten.
15911
537dc9be
VS
159122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15913
15914 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15915
fa3e01bf
VS
159162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15919
b1d28404
VS
159202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15921
15922 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15923 into GRUB-style one.
15924
2e3e2e09
VS
159252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15928 error and not grub_errno.
15929 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15930
ed57e557
VS
159312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15934 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15935
d1611f01
VS
159362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15937
15938 * grub-core/efiemu/i386/pc/cfgtables.c
15939 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15940 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15941 (grub_xnu_unlock): Likewise.
15942 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15943
7d4e39d6
VS
159442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15947 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15948 * grub-core/commands/hashsum.c (aliases): Likewise.
15949 * grub-core/commands/setpci.c (pci_registers): Likewise.
15950 * grub-core/disk/usbms.c (attach_hook): Likewise.
15951 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15952 (zio_checksum_table): Likewise.
15953 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15954 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15955 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15956 * grub-core/lib/relocator.c (leftovers): Likewise.
15957 (extra_blocks): Likewise.
15958 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15959 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15960 (modules_last): Likewise.
15961 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15962 (devices): Likewise.
15963 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15964 (modules_last): Likewise.
15965 * grub-core/normal/auth.c (users): Likewise.
15966 * grub-core/normal/context.c (initial_menu): Likewise.
15967 (current_menu): Likewise.
15968 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15969 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15970 (grub_serial_terminfo_input_template): Likewise.
15971 (grub_serial_terminfo_output_template): Likewise.
15972 (grub_serial_terminfo_input): Likewise.
15973 (grub_serial_terminfo_output): Likewise.
15974 (registered): Likewise.
15975 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15976
40fc4659
VS
159772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15980 grub_video_mode_type_t.
15981 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15982 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15983 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15984
2da48d28
VS
159852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * util/grub-install.in: Correct the x86-64 name as x86_64.
15988
9b43bf39
CW
159892011-03-11 Colin Watson <cjwatson@ubuntu.com>
15990
15991 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15992 initial chunk read from the kernel always includes GRUB's multiboot
15993 header, which is now outside the first sector.
15994
be1a7ce0
CW
159952011-03-09 Colin Watson <cjwatson@ubuntu.com>
15996
15997 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15998 cached mmap_size, so that this works correctly when called multiple
15999 times.
16000 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16001
83a3c48d
CW
160022011-03-09 Colin Watson <cjwatson@ubuntu.com>
16003
16004 * docs/grub.texi (Simple configuration): Tidy up formatting.
16005
57d75699
SJ
160062011-03-07 Szymon Janc <szymon@janc.net.pl>
16007
16008 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16009 Set-but-not-used variable removed.
16010
028501a0
VS
160112011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 Workaround yet another IEEE1275 bug.
16014
16015 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16016 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16017 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16018 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16019 is set.
16020 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16021 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16022
d998657d
VS
160232011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16026 error.
16027
fee7cdd4
CW
160282011-02-11 Colin Watson <cjwatson@ubuntu.com>
16029
16030 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16031 empty, since in that case we can only generate either nothing or a
16032 syntactically invalid configuration file.
16033 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16034
97286eb5
CW
160352011-02-09 Colin Watson <cjwatson@ubuntu.com>
16036
16037 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16038 (Making a GRUB bootable CD-ROM): Likewise.
16039 (Invoking grub-mkrescue): New section.
16040 Reported by: Yann Dirson. Fixes Debian bug #612585.
16041
22b28eb3
CW
160422011-02-09 Colin Watson <cjwatson@ubuntu.com>
16043
16044 * util/grub-install.in: Remove unnecessary brackets from tr
16045 arguments.
16046 * util/grub.d/10_hurd.in: Likewise.
16047 * util/grub.d/10_kfreebsd.in: Likewise.
16048 * util/grub.d/10_linux.in: Likewise.
16049 * util/grub.d/20_linux_xen.in: Likewise.
16050 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16051
7e735e43
CW
160522011-02-08 Colin Watson <cjwatson@ubuntu.com>
16053
16054 * include/grub/file.h (not_easly_seekable): Rename to ...
16055 (not_easily_seekable): ... this. Update all users.
16056
800f1881
CW
160572011-01-28 Colin Watson <cjwatson@ubuntu.com>
16058
16059 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16060 grub-mkrescue.
16061
3281d3d6
VS
160622011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 * util/grub-mkimage.c (generate_image): Refuse to create the images
16065 bigger than the actual flash (512K) in Loongson machines. 512K is also
16066 the biggest chip supported by them.
16067
3533413c
VS
160682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16071
73ae4f4f
VS
160722011-01-22 Anthony DeRobertis <anthony@derobert.net>
16073
16074 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16075 super_offset field.
16076
37f4f608
VS
160772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * util/grub-install.in: Ignore install device on platforms
16080 where it doesn't make sense. Always use UUIDs except on pc, efi and
16081 sparc64.
16082 Reported by: Daniel Kahn Gillmor.
16083
03a4ccb5
VS
160842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16087
ffc8f4d8
VS
160882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16091 (iterate_real): Don't rely on partition being non-NULL.
16092
80f23be7
VS
160932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16096 supported platforms. Put a compile time assert for this rather than
16097 generate a warning with 32-bit shift.
16098
5d4f4dd5
VS
160992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16102 logical expression more readable.
16103
e489601a
VS
161042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16105
16106 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16107 even if some elements have a name.
16108 Reported by: Alexander GQ Gerasiov.
16109
96e0a6ea
CW
161102011-01-22 Colin Watson <cjwatson@ubuntu.com>
16111
16112 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16113 path unreadable if `grub-probe -t abstraction' fails, for example if
16114 memberlist fails on an LVM volume group.
16115 Reported by: Darius Jahandarie.
16116
81431e2b
CW
161172011-01-22 Colin Watson <cjwatson@ubuntu.com>
16118
16119 * docs/grub.texi (Simple configuration): Document
16120 GRUB_PRELOAD_MODULES.
16121
5e79d66a
CW
161222011-01-17 Colin Watson <cjwatson@ubuntu.com>
16123
16124 * .bzrignore: Remove nonexistent grub-pbkdf2.
16125
646ada34
VS
161262011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16127
16128 * configure.ac: Bump version to 1.99~rc1.
16129
04360337
VS
161302011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16133 for safety.
16134
46c9db88
VS
161352011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16138 module.
16139
161402011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16141
16142 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
16143
4fbf1852
VS
161442011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
16147 diskdevid.
16148
f1632d4d
VS
161492011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 Fix compilation on cygwin.
16152
16153 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
16154 -R .drectve on cygwin.
16155 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
16156 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
16157 (COND_CYGWIN): New condition.
16158 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
16159 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
16160 not @TARGET_OBJ2ELF@.
16161 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
16162 type to determine whether aux is to be used.
16163
0b5e127b
VS
161642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
16167 realpath'ed device string.
16168 Handle floppy (somewhat).
16169 Issue error in unknown case rather than garbage.
16170 Reported by: Axel Beckert.
16171
173b71e9
VS
161722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16173
16174 * util/grub.d/00_header.in (load_video): Handle the case when no video
16175 drivers available.
16176 Thanks to: Axel Beckert.
16177
f8f479db
VS
161782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16181 variable. Fixes problem on big endian platforms.
16182
8fc0a245
VS
161832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16186 It doesn't work well there.
16187
b8494fbe
VS
161882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16191 warning.
16192 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16193 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16194 counter.
16195
b44a558c
VS
161962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 Use alias->path rather than buggy "canon".
16199
16200 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16201 (ofdisk_hash_add): New argument curcan. All users updated.
16202
51fa856c
CW
162032011-01-11 Colin Watson <cjwatson@ubuntu.com>
16204
16205 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16206
9da068a5
VS
162072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16208
16209 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16210 loadmask before doing any calculations. Use correct type for offset.
16211 (grub_linux_load64): Likewise.
16212
86205c94
CW
162132011-01-11 Colin Watson <cjwatson@ubuntu.com>
16214
16215 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16216 with NULL.
16217 (console_grub_equivalences_unshift): Likewise.
16218 Reported by: Daniel Dehennin.
16219
4531a206
VS
162202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16223 (set_env_limn_ro): Likewise.
16224 (GRUB_MOD_INIT): Likewise.
16225 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16226 ARRAY_SIZE while on it.
16227 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16228 * grub-core/normal/context.c (grub_env_export): Move from here ...
16229 * grub-core/kern/env.c (grub_env_export): ... here.
16230 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16231 prefix.
16232 * grub-core/kern/main.c (grub_main): Export root and prefix.
16233 * include/grub/env.h (grub_env_export): Export.
16234 Reported by: Seth Goldberg.
16235
45146057
VS
162362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16239 Take into account space used by ELF sections and multiboot palette.
16240 Reported by: Grégoire Sutre.
16241
f093110b
VS
162422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * BUGS: New file.
16245
3395fe52
VS
162462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 Pass more appropriate video id to Linux.
16249
16250 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16251 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16252 fill have_vga.
16253 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16254 shift params->lfb_size.
16255 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16256
c2fa6cbb
VS
162572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16260
b3ff6ff0
VS
162612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16262
16263 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16264 separator and pass bootpath/devid even if only one of them is available.
16265 Reported by: Seth Goldberg.
16266
ae67942e
VS
162672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16268
16269 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16270 implementations bug on them.
16271
16272 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16273 memory.
16274 (filter_memory_map): Likewise.
16275
d570097a
VS
162762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16279 Reported by: nebuchadnezzar.
16280
a508e776
VS
162812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16284 Reported by: nebuchadnezzar.
16285
dcb883b1
VS
162862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 Submenu default support.
16289
16290 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16291 auto_boot. All users updated.
16292 Declared static.
16293 Handle chosen and default with submenus.
16294 (grub_menu_execute_with_fallback): Declared static.
16295 Don't notify failure if autobooted. Upper level does it.
16296 (menuentry_eq): New function.
16297 (get_entry_number): Use menuentry_eq.
16298 (show_menu): New parameter "autobooted". All users updated.
16299 (grub_show_menu): Likewise.
16300 * include/grub/normal.h (grub_show_menu): Likewise.
16301 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16302 (grub_menu_execute_with_fallback): Likewise.
16303
6fef99b4
VS
163042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * util/grub-mklayout.c (usage): Update help text.
16307
47a77af5
VS
163082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16311
ce6bb3ee
VS
163122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 * util/grub-menulst2cfg.c (main): Trim the line.
16315
db87be2a
VS
163162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16319 (grub_machine_init): Don't check amount of low memory as reportedly
16320 INT 12h can be broken and if low memory is too low we wouldn't have
16321 gotten into grub_machine_init anyway.
16322
c49849cc
VS
163232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16326 (grub_machine_mmap_iterate): Take low memory into account
16327
b1969b30
VS
163282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16329
16330 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16331 badfs.
16332 Reported by: TiCPU.
16333
cf0eaf13
VS
163342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16335
16336 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16337 members errors.
16338
1f060f39
GS
163392011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16340
16341 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16342 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16343
a21e5672
GS
163442011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16345
16346 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16347 openbsd and netbsd types being in part_bsd module.
16348
c88172fa
VS
163492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16352 (_FILE_OFFSET_BITS): Likewise.
16353 Reported by: Seth Goldberg.
16354
53798c4b
GS
163552011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16356
16357 * configure.ac: Check for libdevmapper header.
16358
e7121b69
VS
163592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16362 avoid aliasing.
16363 (fzap_lookup): Likewise.
16364 (dnode_get): Likewise.
16365 (make_mdn): Likewise.
16366 (zfs_mount): Likewise.
16367 (fzap_iterate): Use temporary pointer to avoid aliasing.
16368 (grub_zfs_read): Likewise.
16369 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16370 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16371 pointers to avoid aliasing.
16372 (grub_cmd_xnu_kernel64): Likewise.
16373 (grub_xnu_load_driver): Likewise.
16374
fc836af9
VS
163752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16376
16377 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16378 aliasing warning.
16379 (grub_cmd_terminal_output): Likewise.
16380 Reported and tested by: Grégoire Sutre.
16381
f9f37648
VS
163822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16385 warning.
16386 Reported and tested by: Grégoire Sutre.
16387
ec1dfd63
VS
163882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16389
16390 * configure.ac: Do CPU substitution even if it's specified explicitly.
16391 Reported and tested by: Alain Greppin.
16392
9462775a
VS
163932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16394
16395 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16396 Reported and tested by: Alain Greppin.
16397
0fd48e35
VS
163982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 Satisfy some bison versions need for inttypes.h.
16401
16402 * grub-core/lib/posix_wrap/inttypes.h: New file.
16403 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16404 (int16_t): Likewise.
16405 (int32_t): Likewise.
16406 (int64_t): Likewise.
16407 Reported and tested by: Alain Greppin.
16408
43f1bc83
VS
164092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16410
16411 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16412 Silence spurious warning.
16413 Reported and tested by: Alain Greppin.
16414
64d1f041
SJ
164152011-01-07 Szymon Janc <szymon@janc.net.pl>
16416
16417 * docs/grub.texi (Support automatic decompression): Update with xz
16418 decompression support.
16419
25953e10
SJ
164202011-01-07 Szymon Janc <szymon@janc.net.pl>
16421
16422 Improve loaders' kernel command line handling.
16423
16424 * grub-core/lib/cmdline.c: New file.
16425 * include/grub/lib/cmdline.h: Likewise.
16426 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16427 grub_create_loader_cmdline to create kernel command line.
16428 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16429 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16430 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16431 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16432 (linux): Add lib/cmdline.c on common.
16433
e72d259f
VS
164342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16437 inopos might be unaligned.
16438
c0cf26da
VS
164392011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16442 endian transformations.
16443 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16444 Based on report by: Doug Nazar.
16445
0ca09e6c
DN
164462011-01-07 Doug Nazar <nazard.michi@gmail.com>
16447
16448 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16449 array->members[i].start_sector.
16450 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16451
014b6806
VS
164522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16455 Reported and tested by: Grégoire Sutre.
16456
415502c2
CW
164572011-01-06 Colin Watson <cjwatson@ubuntu.com>
16458
16459 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16460 avoid causing test failures by clearing the screen.
16461
71b6a2b7
CW
164622011-01-06 Colin Watson <cjwatson@ubuntu.com>
16463
16464 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16465 Fix prefix check to handle the case where dir ends with a slash
16466 (most significantly, "/" itself).
16467 Reported by: Michael Vogt.
16468
b3f8d28a
VS
164692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 Run terminfo_cls on initing terminfo output to clear the screen and
16472 move the cursor to (0,0).
16473
16474 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16475 Call grub_terminfo_output_init.
16476 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16477 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16478 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16479
4c3e4f37
VS
164802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16483 only when needed.
16484
488f71f1
VS
164852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16488 CTRL.
16489
18a38098
VS
164902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16491
16492 The E820 type 5 is BADRAM, not EXEC_CODE.
16493
16494 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16495 (GRUB_E820_BADRAM): New define.
16496 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16497 into reserved. Propagate BADRAM.
16498 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16499 (GRUB_E820_BADRAM): New define.
16500
9eae2084
VS
165012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16504 Ignore the memory post-4G.
16505 (grub_relocator_firmware_alloc_region): Additional debug statement.
16506
ebc71d28
VS
165072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16508
16509 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16510 names.
16511 Reported by: David Pravec.
16512
446fa400
VS
165132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16516 BIOSes.
16517
a0159f37
VS
165182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16521 Prevent overflow.
16522 (grub_reed_solomon_recover): Likewise.
16523
e5146ca1
VS
165242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16527
165282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16529
16530 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16531 variable.
16532
5b1bdf12
CW
165332011-01-04 Colin Watson <cjwatson@ubuntu.com>
16534
16535 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16536 descriptions of extract_legacy_entries_source and
16537 extract_legacy_entries_configfile.
16538 Reported by: Seung Soo, Ha.
16539
99d925aa
CW
165402011-01-03 Colin Watson <cjwatson@ubuntu.com>
16541
16542 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16543 on devices that do not implement function 0.
16544
4af0504b
DV
165452011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16546
16547 * grub-core/fs/hfsplus.c: Make parent unsigned.
16548 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16549 overflows.
16550 (grub_hfsplus_cmp_extkey): Likewise
16551
469ee10a
VS
165522011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16553
16554 * util/grub-install.in: Correctly use bootloader_id and not
16555 GRUB_DISTRIBUTOR on efibootmgr line.
16556
323a8e9c
VS
165572011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16560
1b394975
IC
165612010-12-31 Ian Campbell <ijc@hellion.org.uk>
16562
16563 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16564 Xen and reorder menu item wording to make it clearer that this entry
16565 will launch Xen. Print separate messages when loading Xen and
16566 Linux.
16567
275bff5f
VS
165682010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16571 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16572 loop in case of incorrect amiga partmap.
16573
307806cb
VS
165742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16577 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16578 Reported by:EHeM.
16579
b12b923e
VS
165802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16583 spurious warning.
16584 Reported by: crocket
16585
14b48a19
VS
165862010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16587
16588 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16589 Preload EFIemu.
16590 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16591
693db2df
VS
165922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16595 is loaded
16596 (grub_cmd_xnu_kextdir): Likewise.
16597 (grub_cmd_xnu_splash): Likewise.
16598
c7638645
VS
165992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 Avoid using Reed-Solomon with 0 redundancy.
16602
16603 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16604 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16605 or 0 redundancy.
16606 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16607 (grub_reed_solomon_recover): Likewise.
16608
25dd4780
VS
166092010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16610
16611 Don't use disk subsystem in freebsd_boot.
16612
16613 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16614 (freebsd_biosdev): Likewise.
16615 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16616 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16617
0b2db943
VS
166182010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 Handling of files of unknown size is currently limited. They can't be
16621 used e.g. for initrd or modules. Moreover gzip handling of not
16622 easily seekable files is buggy. Disable unknown file size for now. May
16623 be inefficient but works.
16624
16625 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16626 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16627
5c408d0f
MP
166282010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16629
16630 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16631 floppy probe.
16632
190a011a
JD
166332010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16634
16635 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16636
022d01b8
SL
166372010-12-25 Shea Levy <shlevy>
16638
16639 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16640
c4855fdc
VS
166412010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16642
16643 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16644 Windows Server 2008.
16645 Reported by: Devin Giddings.
16646
0354b867
VS
166472010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16650 writing an error message because of async power management.
16651 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16652 (grub_reboot): Likewise.
16653
ab66c69f
JU
166542010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16655
16656 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16657 keep unit tests from failing when they shouldn't.
16658
1426ef35
CW
166592010-12-21 Colin Watson <cjwatson@ubuntu.com>
16660
16661 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16662 previous patch increased the size of the RS code by 20 bytes (at
16663 least with gcc-4.4), so increase this by 20 bytes to match.
16664 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16665
20641b6b
CW
166662010-12-21 Colin Watson <cjwatson@ubuntu.com>
16667
16668 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16669 scratch area. Make sure to initialise chosen in standalone mode as
16670 well as non-standalone.
16671 Reported by: Robert Hooker and Andy Whitcroft.
16672 Tested by: Andy Whitcroft.
16673
d060ad60
CW
166742010-12-21 Colin Watson <cjwatson@ubuntu.com>
16675
16676 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16677 constructing a new unescaped string and passing it to grub_xputs in
16678 one go, rather than passing characters to grub_printf one at a time.
16679
b889cfad
CW
166802010-12-21 Colin Watson <cjwatson@ubuntu.com>
16681
16682 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16683 initialising utf16.
16684
4e01b6c8
CW
166852010-12-21 Colin Watson <cjwatson@ubuntu.com>
16686
16687 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16688 comment. Add an extra layer of quotation, requiring the output of
16689 this function to be used in a printf format string.
16690 (gettext_printf): New function.
16691 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16692 Extract translatable strings from here-documents and use a temporary
16693 variable instead, so that xgettext can find them.
16694 * util/grub.d/10_kfreebsd.in: Likewise.
16695 * util/grub.d/10_linux.in: Likewise.
16696 * util/grub.d/20_linux_xen.in: Likewise.
16697
16698 * po/grub.d.sed: New file.
16699 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16700 arguments. Set c-format flags on all strings extracted from
16701 util/grub.d/ (xgettext refuses to include these itself for strings
16702 it extracted from a shell file, but these really are c-format).
16703
5318fe98
VS
167042010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16707 Avoid next pointing to nowhere.
16708
6c85b743
VS
167092010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16712 rather than assuming than rootblock is exactly in the middle.
16713 (grub_affs_label): Likewise.
16714
a2a08a35
VS
167152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16716
16717 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16718 reserved_first_sector to 0.
16719 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16720 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16721 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16722
7059d1ec
VS
167232010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16724
16725 Fix handling of UTF-16 UDF labels.
16726
16727 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16728 (read_string): .. here.
16729 (grub_udf_label): Use read_string.
16730
30aff4cb
BC
167312010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16732
16733 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16734 editor under argument scope.
16735 Reported by: Jordan Uggla
16736
5cf86f4b
VS
167372010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16738
16739 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16740
32570200
CW
167412010-12-18 Colin Watson <cjwatson@ubuntu.com>
16742
16743 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16744 line, and other keys scroll an entire page (previous handling was
16745 for \r and \n to scroll a page and other keys to scroll two lines).
16746
e1dffcf2
VS
167472010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16750 Set ptrdest to correct get_physical_target_address rather than
16751 incorrect get_virtual_current_address.
16752
b04298cf 167532010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16754
16755 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16756 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16757
5367ecd3
CW
167582010-12-10 Colin Watson <cjwatson@ubuntu.com>
16759
16760 * .bzrignore: Ignore grub-core/rs_decoder.S.
16761
1fb430f8
CW
167622010-12-10 Colin Watson <cjwatson@ubuntu.com>
16763
16764 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16765 .mo/.mo.gz opening sequence to ...
16766 (grub_mofile_open_lang): ... here.
16767 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16768 * util/grub.d/00_header.in (grub_lang): Include country part of
16769 locale.
16770 Reported by: Mario Limonciello.
16771
a94a6671
RM
167722010-12-09 Robert Millan <rmh@gnu.org>
16773
16774 * NEWS: Document addition of ZFS support.
16775
24b7938b
CW
167762010-12-04 Colin Watson <cjwatson@ubuntu.com>
16777
16778 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16779 rather than `/ 2', as the latter requires -Wa,--divide which would
16780 require bumping our minimum binutils version.
16781
bddc3ef6
BC
167822010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16783
16784 * util/grub-script-check.c (main): Print script line number on
16785 error.
16786
bf78d5b2
RM
167872010-12-01 Robert Millan <rmh@gnu.org>
16788
16789 * grub-core/fs/zfs/zfs.c: New file.
16790 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16791 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16792 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16793 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16794
16795 * include/grub/zfs/dmu.h: Likewise.
16796 * include/grub/zfs/dmu_objset.h: Likewise.
16797 * include/grub/zfs/dnode.h: Likewise.
16798 * include/grub/zfs/dsl_dataset.h: Likewise.
16799 * include/grub/zfs/dsl_dir.h: Likewise.
16800 * include/grub/zfs/sa_impl.h: Likewise.
16801 * include/grub/zfs/spa.h: Likewise.
16802 * include/grub/zfs/uberblock_impl.h: Likewise.
16803 * include/grub/zfs/vdev_impl.h: Likewise.
16804 * include/grub/zfs/zap_impl.h: Likewise.
16805 * include/grub/zfs/zap_leaf.h: Likewise.
16806 * include/grub/zfs/zfs.h: Likewise.
16807 * include/grub/zfs/zfs_acl.h: Likewise.
16808 * include/grub/zfs/zfs_znode.h: Likewise.
16809 * include/grub/zfs/zil.h: Likewise.
16810 * include/grub/zfs/zio.h: Likewise.
16811 * include/grub/zfs/zio_checksum.h: Likewise.
16812
16813 * Makefile.util.def: Build ZFS into libgrubmods.
16814 * grub-core/Makefile.core.def: Build zfs.mod.
16815
3f0f3831
SJ
168162010-11-30 Szymon Janc <szymon@janc.net.pl>
16817
16818 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16819 variable.
16820 * grub-core/commands/wildcard.c (match_files): Likewise.
16821
3a4253b2
RM
168222010-11-30 Robert Millan <rmh@gnu.org>
16823
16824 * grub-core/loader/i386/bsd.c
16825 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16826 whether kernel is loaded using grub_loader_is_loaded(), rather
16827 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16828 certain error conditions.
16829
8c317b27
RM
168302010-11-30 Robert Millan <rmh@gnu.org>
16831
c5c9cd3e
RM
16832 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16833 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16834
49d3ab46
VS
168352010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16836
16837 Avoid using tricks for initialising endian variables.
16838
16839 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16840 Make const.
16841 (GRUB_MOD_INIT): Don't byte-swap.
16842 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16843 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16844 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16845 (grub_swap_bytes32_compile_time): Likewise.
16846 (grub_cpu_to_le32_compile_time): Likewise.
16847 (grub_cpu_to_le16_compile_time): Likewise.
16848
f420a804
VS
168492010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16850
16851 * util/grub-setup.c (setup): Stop recommending --force. People who
16852 understand the dangers of blocklists are able to find this option
16853 anyway and the ones who don't shouldn't use it anyway.
16854
4e7db17b
RM
168552010-11-26 Robert Millan <rmh@gnu.org>
16856
16857 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16858 Update all users.
16859
9be57a0d
CW
168602010-11-26 Colin Watson <cjwatson@ubuntu.com>
16861
16862 Fix LVM-on-RAID probing.
16863
16864 * util/grub-probe.c (probe): Remember which disk was detected as
16865 RAID (perhaps an LVM physical volume). Use that disk's raidname
16866 rather than that of the top-level disk.
16867
2c7859b3 168682010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16869
d7647bb6
BC
16870 Fix cmdline argument quotes for setparams command of menuentry
16871 definitions.
7e623b0d
BC
16872
16873 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16874 quotes for arguments.
f866fe80 16875 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16876 grub_strchrsub function instead.
f866fe80 16877
7955bea0 16878 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16879
74f72a64
CW
168802010-11-24 Colin Watson <cjwatson@ubuntu.com>
16881
16882 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16883 effort by skipping "." and ".." entries up-front.
16884 Suggested by: Michael Lazarev.
16885
5a407278
CW
168862010-11-24 Colin Watson <cjwatson@ubuntu.com>
16887
16888 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16889 ldflags to ldadd, to fix link line ordering.
16890 (none_decompress): Likewise.
16891
3030d8ec
CW
168922010-11-24 Colin Watson <cjwatson@ubuntu.com>
16893
16894 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16895 platforms.
16896 (grub-emu-lite): Remove kern/emu/cache.S.
16897
b7fbac12
CW
168982010-11-23 Colin Watson <cjwatson@ubuntu.com>
16899
16900 * util/deviceiter.c (compare_devices): If the by-id link for a
16901 device couldn't be resolved, fall back to sorting by the by-id link
16902 rather than segfaulting.
16903 Reported and tested by: Daniel Mierswa.
16904
5225f328
CW
169052010-11-23 Colin Watson <cjwatson@ubuntu.com>
16906
16907 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16908 ldflags, to fix link line ordering.
16909
038b3ce8
CW
169102010-11-23 Colin Watson <cjwatson@ubuntu.com>
16911
16912 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16913 linkers are picky about this.
16914
bf16e98e
CW
169152010-11-23 Colin Watson <cjwatson@ubuntu.com>
16916
16917 * grub-core/Makefile.am (command.lst): Adjust sed expression
16918 ordering so that extended and priority commands aren't treated as
16919 ordinary commands.
16920
7242bab6
CW
169212010-11-23 Colin Watson <cjwatson@ubuntu.com>
16922
16923 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16924 Remove byte-swapping function calls, which are not valid in
16925 structure initialisers.
16926 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16927 non-const.
16928 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16929 grub_gpt_partition_type_bios_boot.
16930
14e8b279
CW
169312010-11-22 Colin Watson <cjwatson@ubuntu.com>
16932
16933 Fix test program build on GNU/kFreeBSD.
16934
16935 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16936 $(LIBNVPAIR)' library dependencies.
16937
e6f63338 169382010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16939
16940 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16941
cf8ffc38
CW
169422010-11-22 Colin Watson <cjwatson@ubuntu.com>
16943
16944 * util/grub-install.in: Remove excessive quoting that broke
16945 installations to RAID devices.
16946
7f8b0fd7
VS
169472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16950 bootloader version instead of 0.
16951
dfd240b1
VS
169522010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16955 warning.
16956
7b61e609
VS
169572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16960 retrieve the metadat sector if size isn't known.
16961 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16962
9dfe92d0
RM
169632010-11-18 Robert Millan <rmh@gnu.org>
16964
16965 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16966 with grub_memcmp().
16967
41cc919e
VS
169682010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16971 arrow.
16972 Reported by: Jordan Uggla.
16973
1afcc914
VS
169742010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16975
16976 Make better UTF compliant.
16977
16978 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16979 sequences as incorrect.
16980 (grub_is_valid_utf8): Likewise.
16981 (grub_utf8_to_ucs4): Likewise.
16982 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16983 (grub_ucs4_to_utf8_alloc): Likewise.
16984 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16985
f1808884
VS
169862010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 Make legacy_source behave like source.
16989
16990 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16991 grub_show_menu.
16992 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16993
24ec575b
CW
169942010-11-16 Colin Watson <cjwatson@debian.org>
16995
16996 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16997 (-Wunused implies -Wunused-parameter, but not vice versa).
16998
72b7c7aa
CW
169992010-11-16 Colin Watson <cjwatson@ubuntu.com>
17000
17001 * configure.ac: Make error messages less confusing by testing for
17002 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17003 accepted, but produces a diagnostic if something else is wrong).
17004
e98937aa
VS
170052010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17008 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17009 (now unused).
17010 (grub_keyboard_controller_init)
17011 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17012 read the initial state since controller isn't inited yet.
17013
f6bbabc3
VS
170142010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17017 allocate_regbeg may need to create new chunk header.
17018
22e7dbb2
VS
170192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 Fix quoting in legacy parser.
17022
17023 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17024 single quotes.
17025 (grub_legacy_parse): Likewise.
17026 Reported by: Jordan Uggla.
17027 Tested by: Jordan Uggla.
17028
03f80960
VS
170292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 Don't add -lgcc on i386 and x86_64.
17032
17033 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17034 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17035 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17036
779dc15b
VS
170372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 * configure.ac: Add -Wno-trampolines when supported.
17040
d20a3b37
MV
170412010-11-14 Modestas Vainius <modax@debian.org>
17042
17043 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17044 fakeraid.
17045
e5360933
GC
170462010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17047
17048 Add generic logical block size support for UDF.
17049
17050 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17051 (GRUB_UDF_BLKSZ): Removed.
17052 (struct grub_udf_data): New field "lbshift" to hold the logical block
17053 size of the file system in log2 format. All users updated.
17054 (sblocklist): Change type to unsigned.
17055 (grub_udf_mount): Change type of "sblklist" to unsigned.
17056 Move AVDP search before VRS recognition, because the latter requires
17057 knowledge of the logical block size, which is detected during the
17058 former.
17059 Detect and validate logical block size during AVDP search, adding
17060 support for block sizes 512, 1024 and 4096.
17061 Make VRS recognition independent of block size.
17062
cb0229c5
GC
170632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17064
17065 Properly handle deleted files on UDF.
17066
17067 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17068 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17069 set.
17070
406858a8
GC
170712010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17072
17073 Support reading files larger than 2 GiB.
17074
17075 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17076 "offset" to grub_off_t.
17077 (grub_udf_read_file): Likewise for parameter "pos".
17078
130da6a7
VS
170792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17080
17081 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17082 unavailable.
17083 (Simple configuration): Refer to Changes from GRUB Legacy about
17084 save_env availability.
17085
65e93f6b
VS
170862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17087
17088 * util/grub-install.in: Ignore empty partition table detection
17089 instead of trying to include part_ module.
17090
1fd08bf1
VS
170912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17094 LVM on RAID support.
17095
de1a024f
VS
170962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 Properly define WORDS_BIGENDIAN in wrapped environments.
17099
17100 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17101 definition.
17102 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17103
17104 Reported by: Manoel Rebelo Abranches.
17105 Tested by: Manoel Rebelo Abranches.
17106
bc5dd0b9
VS
171072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17108
17109 * util/grub-mkconfig.in: Fix quoting.
17110
58c184be
VS
171112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 Support big ext2 files.
17114
17115 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17116 (grub_ext2_read_block): Support triple indirect blocks.
17117 (grub_ext2_read_file): Use 64-bit types and read size_high.
17118 (grub_ext2_open): Read size_high.
17119 Reported by: Ximin Luo.
17120 Tested by: Manoel Rebelo Abranches.
17121
5f0c02b3
VS
171222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 * util/grub-install.in: Handle filenames containing spaces.
17125 Reported by: Jordan Uggla.
17126 Tested by: Jordan Uggla.
17127
4417aae6
VS
171282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 * util/grub-mkconfig.in (grub_script_check): New variable.
17131 Use grub_script_check instead of grub-script-check.
17132 Reported by: Barry Jackson.
17133
7625a68e
VS
171342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 * docs/grub.texi (menu): Correct the order.
17137 Reported by: D. Hugh Redelmeier.
17138
10001ac5
VS
171392010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17142 jump.
17143
9c4cf53b
MRA
171442010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17145
10001ac5
VS
17146 * include/grub/elfload.h (grub_elf32_size): New parameter.
17147 All users updated.
9c4cf53b
MRA
17148 Return maximum segments alignment.
17149 (grub_elf64_size): Likewise.
17150 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
17151 Return maximum segments alignment.
17152 (grub_elf64_size): Likewise.
17153 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
17154 (grub_linux_claimmap_iterate): New function. Uses the
17155 "available" property in the "memory" node for memory allocation
17156 for kernel in the PowerPC loader.
9c4cf53b
MRA
17157 (grub_linux_load32): Correctly find linux entry point offset.
17158 (grub_linux_load64): Likewise.
17159
d2bf06bf
RM
171602010-11-07 Robert Millan <rmh@gnu.org>
17161
17162 On mips-yeeloong, build with -march=loongson2f when this flag is
17163 available (GCC >= 4.4).
17164 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
17165 `-march=mips3'.
17166 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
17167 or otherwise add -march=mips3.
17168
898c99a2
BC
171692010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
17170
87220a68
BC
17171 Suppress shell expansion on echo '*' and echo "*" like cases.
17172 Reported by: Jordan Uggla.
898c99a2
BC
17173
17174 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
17175 string arguments before shell expansion.
17176 * tests/grub_cmd_echo.in: New testcases.
17177
4f9b406a
RM
171782010-11-07 Robert Millan <rmh@gnu.org>
17179
17180 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17181 transition.
17182
80c6d25e
VS
171832010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17184
17185 * grub-core/kern/emu/hostdisk.c
17186 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17187
4a1a0153
VS
171882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17191 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17192 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17193
34706ddc
VS
171942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17195
17196 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17197
6972dea9
VS
171982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * util/grub-install.in: Replace useless recomendation to pass
17201 --modules with a recomendation to report a bug.
17202
9c693bd6
VS
172032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 Properly register serial terminfo.
17206 Reported by: Jordan Uggla
17207
17208 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17209 const.
17210 (grub_serial_terminfo_output_template): Likewise.
17211 (grub_cmd_serial): Register "serial" with terminfo.
17212 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17213 grub_serial_terminfo_output.
17214
6c9e4c0c
RM
172152010-11-05 Robert Millan <rmh@gnu.org>
17216
17217 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17218 needed).
17219
b9b3839f
RM
172202010-11-05 Robert Millan <rmh@gnu.org>
17221
17222 On Yeeloong, pass machine type information to Linux.
17223
17224 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17225 (LOONGSON_MACHTYPE): New macro, set to
17226 "machtype=lemote-yeeloong-2f-8.9inches".
17227 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17228 additional argument to Linux.
17229
1a3aaff4
RM
172302010-11-04 Robert Millan <rmh@gnu.org>
17231
17232 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17233 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17234 (its SATA disks are detected as slaveless IDE master drives on
17235 kFreeBSD).
17236 Reported by Carsten Aulbert.
17237
a75f4f62
CW
172382010-11-02 Colin Watson <cjwatson@ubuntu.com>
17239
17240 * util/bin2h.c (main): Fix spelling error in generated output.
17241
33b4b0c6
GS
172422010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17243
17244 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17245
2b36fbf4
VS
172462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17247
17248 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17249 vga= option is supplied.
17250
74aaf558
VS
172512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17254 * util/grub.d/10_kfreebsd.in: Likewise.
17255 * util/grub.d/10_linux.in: Likewise.
17256 * util/grub.d/20_linux_xen.in: Likewise.
17257
6428dec3
VS
172582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17261 argument as an argument to no-argument option.
17262
f8729d98
VS
172632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 * util/grub.d/10_linux.in: Add missing load_video with explicit
17266 GRUB_GFXPAYLOAD_LINUX.
17267
89d68fa6
VS
172682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17269
17270 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17271
3a1197cd
VS
172722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17275 elements with invlid index.
17276 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17277 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17278 members.
17279 * include/grub/raid.h (grub_raid_member): New struct.
17280 (grub_raid_array): Transform devices and start_sector into usage of
17281 grub_raid_member. All users updated
17282 (allocated_devs): New member.
17283
71574288
VS
172842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17287 is modified
17288
8d40ec65
BC
172892010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17290
17291 NetBSD build fix for getline function conflict from gnulib.
17292
17293 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17294 components that depend on gnulib headers.
17295 (libgrubmods.a): Renamed from earlier libgrub.a.
17296 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17297
95b9257e
VS
172982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17301 install rather than creating a broken install.
17302
26c53dc6
VS
173032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 * util/grub-setup.c (argp): Remove misleading example of installing to
17306 a partition.
17307
4171b3c5
VS
173082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17309
17310 * util/grub-setup.c (setup): Clarify the error message.
17311
18568d18
VS
173122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17315
4f6a2e21
VS
173162010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * grub-core/kern/emu/misc.c
17319 (grub_make_system_path_relative_to_its_root)
17320 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17321
173222010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17323
17324 * grub-core/kern/emu/misc.c
17325 (grub_make_system_path_relative_to_its_root): Revert r2882.
17326
e138c458
VS
173272010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17330 useless field head. All users updated.
17331 (free_subchunk): Correct handling of IN_REGION subchunk.
17332
0cbcdf0e
CW
173332010-10-22 Colin Watson <cjwatson@ubuntu.com>
17334
17335 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17336 (Supported kernels): Likewise.
17337
b65ea155
GS
173382010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17339
17340 Make mktemp invocations portable.
17341
17342 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17343 exit if mktemp fails.
17344 * tests/grub_script_blockarg.in: Likewise.
17345 * tests/partmap_test.in: Likewise.
17346 * tests/util/grub-shell-tester.in: Likewise.
17347 * tests/util/grub-shell.in: Likewise.
17348 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17349 * Makefile.am: Likewise, and chain shell commands with `&&'
17350 instead of ';'.
17351 * util/grub-mkrescue.in: Use the same explicit template as above, and
17352 exit if mktemp fails.
17353
05f43cdd
BC
173542010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17355
17356 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17357 Linux kernel, reported by Dennis Schridde.
17358
800e6a9b
SJ
173592010-10-17 Szymon Janc <szymon@janc.net.pl>
17360
17361 * grub-core/normal/auth.c (grub_auth_check_authentication):
17362 Set-but-not-used variable removed.
17363
d82df574
VS
173642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17367 32-bit linux protocol.
17368
7bced458
VS
173692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17372 cursor shape for sanity.
17373
5b027690
VS
173742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * docs/grub.texi (Installation): Document buggy BIOS install.
17377
ba5f65cf
VS
173782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * docs/grub.texi (Installation): Indent.
17381
fdf2ec9c
VS
173822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17383
17384 * util/grub-setup.c (setup): New parameter allow_floppy.
17385 (arguments): New member allow_floppy.
17386 (argp_parser): Handle --allow-floppy.
17387 (main): Pass allow_floppy.
17388 * util/grub-install.in: New option --allow-floppy passed though to
17389 grub-setup.
17390
861dfd4c
VS
173912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 * util/grub-install.in: Handle partitionless disks.
17394
f77a8c24
VS
173952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17396
17397 * util/grub-setup.c (setup): Don't clean blocklists before readability
17398 verfification.
17399
27d9ee32
VS
174002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17401
17402 * docs/grub.texi (Installation): Document embedding zone. Remove
17403 obsolete grub-install example.
17404
6bdda8f8
SJ
174052010-10-16 Szymon Janc <szymon@janc.net.pl>
17406
17407 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17408 Set-but-not-used variable ifdef'ed.
17409 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17410 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17411 variable removed.
17412 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17413 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17414 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17415 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17416 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17417 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17418 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17419 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17420 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17421 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17422 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17423 Likewise.
17424
e19b016b
VS
174252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17428 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17429 enum value.
17430
6c8d3002
VS
174312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17434 synonym to _S5_. Needed for some DSDTs.
17435
c32b51c9
VS
174362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 Userspace ACPI parser debugging.
17439
17440 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17441 headers and add relevant defines. Don't include standard headers.
17442 (main) [GRUB_DSDT_TEST]: New function.
17443 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17444 Don't declare functions.
17445
fbfbeb39
VS
174462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17447
17448 Remove dead grub_efi_mm_fini.
17449
17450 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17451 (ALLOCATED_PAGES_SIZE): Likewise.
17452 (MAX_ALLOCATED_PAGES): Likewise.
17453 (allocated_pages): Likewise.
17454 (grub_efi_allocate_pages): Don't record allocated pages.
17455 (grub_efi_free_pages): Likewise.
17456 (grub_efi_mm_init): Likewise.
17457 (grub_efi_mm_fini): Removed.
17458
65f7ed7c
VS
174592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17462 (grub_efi_mm_init): Take into account the memory map size increase.
17463
24977b44
VS
174642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17465
17466 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17467 (serial_hw_put): Wait based on real time rather than port reads. Don't
17468 roken ports.
17469 * include/grub/serial.h (grub_serial_port): New field broken.
17470
1eb01cd2
RM
174712010-10-16 Robert Millan <rmh@gnu.org>
17472
17473 * grub-core/kern/emu/misc.c
17474 (grub_make_system_path_relative_to_its_root): Fix premature return
17475 when processing non-root ZFS filesystems.
5f8b440b 17476 Reported by Sergio Talens-Oliag.
1eb01cd2 17477
2d5fed60
RM
174782010-10-15 Robert Millan <rmh@gnu.org>
17479
17480 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17481 guarantee compressed ones are processed first.
17482
d0f4c1ea
VS
174832010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17486 grub_efiemu_autocore.
17487
d87c681f
VS
174882010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17491 rather than 0x1b.
17492 (grub_console_getkey): Use correct jae opcode rather than ja.
17493
219b3564
RM
174942010-10-12 Robert Millan <rmh@gnu.org>
17495
17496 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17497 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17498 variable. All references updated.
17499
17500 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17501
20c6bb7e
VS
175022010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 Correctly distinguish mdraid flavours.
17505
17506 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17507 (insert_array): New argument raid.
17508 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17509 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17510 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17511
74baff84
VS
175122010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17515 handling of special keys.
17516
3ef068df 175172010-10-02 Aleš Nesrsta <starous@volny.cz>
17518
c7980ad9
VS
17519 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17520 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17521
a9455194 175222010-10-02 Aleš Nesrsta <starous@volny.cz>
17523
c7980ad9
VS
17524 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17525 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17526 users updated.
a9455194 17527 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17528 Use right endpoint when querying descriptor.
a9455194 17529
441cfe65
VS
175302010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17531
17532 Clear out 0x80 color bit on EFI.
17533 Tested by: decoder
17534 Reported by: decoder and meta tech.
17535
17536 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17537 (grub_console_setcolorstate): Clear out 0x80 bit.
17538 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17539 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17540 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17541
bf26bcc4
VS
175422010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17543
17544 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17545 Set to "auto".
17546
6e3c515d
VS
175472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17550 mo_file after freeing.
17551
e6d983ba
VS
175522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17555
74ccb5b5
VS
175562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17559 flags.
17560
17821956
VS
175612010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17564 usage.
17565
ee74fa48
VS
175662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17569
17570 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17571 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17572 and terminfo.h when needed.
17573 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17574 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17575 (terminfo): Enable only on terminfokernel.
17576 (extcmd): Likewise.
17577 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17578 * include/grub/lib/arg.h: Likewise.
17579 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17580 incorrect usage of ->.
17581
aa438e68
VS
175822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17585 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17586
57994012
VS
175872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 Fix coreboot compilation.
17590
17591 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17592 Take VBE info into account even if only text is supported.
17593 (fill_vbe_info): Take into account the case when only VGA text
17594 is supported.
17595 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17596 on coreboot, multiboot and qemu.
17597
2a406611
VS
175982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17601 debug messages.
17602 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17603
d33613fc
VS
176042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17607 parameters.
17608
44a1b432
VS
176092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17612 if they were BSD-style.
17613
edde54e6
VS
176142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 * grub-core/boot/i386/pc/lnxboot.S: Replace
17617 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17618 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17619
b65830fa
VS
176202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 Write embedding zone using Reed-Solomon.
17623
17624 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17625 * grub-core/Makefile.am (rs_decoder.S): New target.
17626 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17627 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17628 (multiboot): Move to RS part.
17629 (post_reed_solomon): New label.
17630 (grub_boot_drive): Move to non-RS part since it's modified in memory
17631 on boot.
17632 Include rs_decoder.S.
17633 * grub-core/lib/reed_solomon.c: New file.
17634 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17635 New definition.
17636 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17637 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17638 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17639 * include/grub/partition.h (grub_partition_map): Change prototype of
17640 embed to allow returning additional sectors.
17641 * include/grub/reed_solomon.h: New file.
17642 * util/grub-setup.c (setup): Handle Reed-Solomon.
17643
0b4b227f
CW
176442010-09-28 Colin Watson <cjwatson@ubuntu.com>
17645
17646 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17647 i386 and x86-64 definedness tests.
17648
f772623b
YB
176492010-09-27 Yves Blusseau <blusseau@zetam.org>
17650
17651 Fix generation of kernel_syms.lst
17652
17653 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17654 ASM_PREFIX
17655
8e57a6ca
RM
176562010-09-26 Robert Millan <rmh@gnu.org>
17657
17658 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17659
17660 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17661 the pool is an array of devices, iterate through it and return the
17662 first device that passes a stat() test (instead of blindly returning
17663 the first one).
17664
f9130836
RM
176652010-09-26 Robert Millan <rmh@gnu.org>
17666
17667 Build fixes for GNU/kFreeBSD.
17668
17669 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17670 to programs that require ZFS conversion.
17671 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17672 kernels that don't have FLOPPY_MAJOR.
17673
96510faf
BC
176742010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17675
17676 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17677
449333eb
BC
176782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17679
17680 Fix grub-emu build.
17681
17682 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17683 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17684 mdraid09 and mdraid1x.
17685
e1fd1939
CW
176862010-09-24 Colin Watson <cjwatson@ubuntu.com>
17687
17688 Re-enable grub-extras.
17689
17690 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17691 avoid confusing Automake. Run autogen only twice, once for the top
17692 level and once for grub-core. Add Makefile.util.def and
17693 Makefile.core.def from extra modules to the appropriate autogen
17694 invocations. If Makefile.common exists in an extra module, include
17695 it in both Makefile.util.am and grub-core/Makefile.core.am;
17696 similarly, include any Makefile.util.common file in Makefile.util.am
17697 and any Makefile.core.common file in grub-core/Makefile.core.am.
17698 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17699 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17700 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17701 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17702
17703 * gentpl.py (gvar_add): Turn GVARS into a set.
17704 (global_variable_initializers): Sort global variables on output.
17705 (vars_init): New function.
17706 (first_time): Likewise.
17707 (library): Ensure that non-global variable initialisations are
17708 emitted before the first time we emit code for a library block.
17709 Append to variables rather than setting them. Only emit
17710 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17711 each conditional path.
17712 (program): installdir() emits an Autogen macro, so must be passed to
17713 var_add rather than gvar_add.
17714 (data): Likewise.
17715 (script): Likewise.
17716 (rules): New function, centralising handling for different target
17717 types. Set up Guile association lists for first_time and vars_init,
17718 and send most output to a diversion so that variable initialisations
17719 can be emitted first.
17720 (module_rules): Use new rules function.
17721 (kernel_rules): Likewise.
17722 (image_rules): Likewise.
17723 (library_rules): Likewise.
17724 (program_rules): Likewise.
17725 (script_rules): Likewise.
17726 (data_rules): Likewise.
17727
17728 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17729
17730 * .bzrignore: Add contrib and grub-core/contrib. Remove
17731 grub-core/Makefile.gcry.am.
17732
1d12cf29
YB
177332010-09-24 Yves Blusseau <blusseau@zetam.org>
17734
17735 * grub-core/lib/LzFind.c: Add missing include.
17736 * grub-core/lib/LzmaEnc.c: Likewise.
17737 * grub-core/script/lexer.c: Likewise.
17738 * grub-core/script/yylex.l: Likewise.
17739 * util/grub-macho2img.c: Likewise.
17740 * util/grub-menulst2cfg.c: Likewise.
17741 * util/grub-mklayout.c: Likewise.
17742 * util/grub-mkpasswd-pbkdf2.c
17743 * util/grub-mkrelpath.c: Likewise.
17744 * util/resolve.c: Likewise.
17745
dd363028
BC
177462010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17747
17748 * Makefile.util.def (example_unit_test): Add
17749 grub-core/gnulib/libgnu.a.
17750
f5a109e2
GS
177512010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17752
17753 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17754
6d0fa83c
VS
177552010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 Support xz compression on yeeloong.
17758
17759 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17760 * configure.ac: Check for LZMA.
17761 * grub-core/Makefile.core.def (xz_decompress): New target.
17762 (none_decompress): Likewise.
17763 * grub-core/boot/decompressor/minilib.c: New file.
17764 * grub-core/boot/decompressor/none.c: Likewise.
17765 * grub-core/boot/decompressor/xz.c: Likewise.
17766 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17767 * grub-core/kern/mips/cache_flush.S: Likewise.
17768 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17769 * grub-core/kern/mips/startup.S: Move first stage to ...
17770 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17771 nomacro.
17772 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17773 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17774 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17775 Allocate statically.
17776 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17777 Allocate statically or use scratch. Don't check CRC32.
17778 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17779 Allocate statically. Don't check CRC32.
17780 * include/grub/decompressor.h: New file.
17781 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17782 Removed.
17783 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17784 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17785 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17786 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17787 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17788 * util/grub-mkimage.c (grub_compression_t): New type.
17789 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17790 (image_target_desc): New field default_compression.
17791 (image_targets): Adjust yeeloong targets.
17792 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17793 (compress_kernel): New parameter comp.
17794 (generate_image): Likewise. Handle new compression case.
17795 (options): New option --compression
17796 (help): Likewise.
17797 (main): Handle new option.
17798
1b655af6
GS
177992010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17800
17801 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17802
8f03f0b5
CW
178032010-09-22 Colin Watson <cjwatson@ubuntu.com>
17804
17805 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17806 typo in __i386__ conditional.
17807
7835dfd3
VS
178082010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17811 include.
17812
e255597e
VS
178132010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17814
6d0fa83c 17815 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17816
17817 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17818 new tags as supported.
17819 (acpiv2_size): New function.
17820 (grub_multiboot_get_mbi_size): Take new tags into account.
17821 (grub_multiboot_make_mbi): Add new tags.
17822 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17823
6cc14051 178242010-09-21 Aleš Nesrsta <starous@volny.cz>
17825
17826 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17827 Added missing configuration of USB device.
17828
df7769d8
CW
178292010-09-21 Colin Watson <cjwatson@ubuntu.com>
17830
17831 * grub-core/normal/menu_entry.c (run): Make sure we always return
17832 a value.
17833
b031012d
CW
178342010-09-21 Colin Watson <cjwatson@ubuntu.com>
17835
17836 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17837 NumberOfPages is UINT64 according to the UEFI specification, not
17838 UINTN. Fix printf format.
17839
174de8f3
CW
178402010-09-21 Colin Watson <cjwatson@ubuntu.com>
17841
17842 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17843 `err' to grub_usb_err_t.
17844 Reported and tested by: KESHAV P.R.
17845
d7dbe923
CW
178462010-09-21 Colin Watson <cjwatson@ubuntu.com>
17847
17848 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17849 tpart non-const, so that we can assign to it. (Since this is a
17850 typedef, the constness refers to the pointer rather than what it
17851 points to.)
17852
8d5e2af3
CW
178532010-09-21 Colin Watson <cjwatson@ubuntu.com>
17854
17855 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17856 $(top_srcdir)/grub-core/gnulib as well as
17857 $(top_builddir)/grub-core/gnulib.
17858 Reported by: KESHAV P.R.
17859
5c527783
CW
178602010-09-21 Colin Watson <cjwatson@ubuntu.com>
17861
17862 * util/grub-install.in: Fix the bootloader ID option to be
17863 consistently --bootloader-id, not --bootloader_id.
17864 Reported by: KESHAV P.R.
17865
d309a16e
CW
178662010-09-21 Colin Watson <cjwatson@ubuntu.com>
17867
17868 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17869 check hash checksum." consistently translatable.
17870
b830cd16
YB
178712010-09-21 Yves Blusseau <blusseau@zetam.org>
17872
17873 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17874 $(top_builddir).
17875
c4fe27a8
CW
178762010-09-21 Colin Watson <cjwatson@ubuntu.com>
17877
17878 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17879 (GRUB_MOD_INIT): Register sha1sum command.
17880 (GRUB_MOD_FINI): Unregister sha1sum command.
17881
a4c1d277
YB
178822010-09-21 Yves Blusseau <blusseau@zetam.org>
17883
17884 Keep boot and grub directory names in sync with utils scripts
17885
17886 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17887 * config.h.in: Add previous macros.
17888 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17889 * util/grub-install.in: Use $bootdir and $grubdir variables.
17890
4eff79d2
CW
178912010-09-21 Colin Watson <cjwatson@ubuntu.com>
17892
17893 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17894 convert partition names to disk names if the new `convert' parameter
17895 is set.
17896 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17897 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17898 disk in its own right. This can happen with Xen disk images.
17899
934d7e44
YB
179002010-09-21 Yves Blusseau <blusseau@zetam.org>
17901
17902 * util/grub-editenv.c: Update strings to avoid warnings when generating
17903 grub.pot file.
17904 * util/grub-setup.c: Likewise.
934d7e44 17905
df3367cc
VS
179062010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * configure.ac: Change version to 1.99~beta0.
17909
77a94e98
VS
179102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17913 Add BADRAM.
17914 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17915 Likewise.
17916 * include/multiboot.h: Resynced with specification.
17917 * include/multiboot2.h: Likewise.
17918
269004c1
CW
179192010-09-21 Colin Watson <cjwatson@ubuntu.com>
17920
17921 Fix po directory handling.
17922
17923 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17924 * grub-core/gnulib/Makefile.am: Import gettext module.
17925 * m4/gnulib-cache.m4: Likewise.
17926 * m4/gnulib-comp.m4: Likewise.
17927 * m4/gettext.m4: New file, from gnulib.
17928 * m4/glibc2.m4: Likewise.
17929 * m4/iconv.m4: Likewise.
17930 * m4/intdiv0.m4: Likewise.
17931 * m4/intl.m4: Likewise.
17932 * m4/intldir.m4: Likewise.
17933 * m4/intlmacosx.m4: Likewise.
17934 * m4/intmax.m4: Likewise.
17935 * m4/inttypes-pri.m4: Likewise.
17936 * m4/lcmessage.m4: Likewise.
17937 * m4/lib-ld.m4: Likewise.
17938 * m4/lib-link.m4: Likewise.
17939 * m4/lib-prefix.m4: Likewise.
17940 * m4/lock.m4: Likewise.
17941 * m4/nls.m4: Likewise.
17942 * m4/po.m4: Likewise.
17943 * m4/printf-posix.m4: Likewise.
17944 * m4/progtest.m4: Likewise.
17945 * m4/threadlib.m4: Likewise.
17946 * m4/uintmax_t.m4: Likewise.
17947 * m4/visibility.m4: Likewise.
17948 * po/Makefile.am: Remove.
17949 * po/Makefile.in.in: New file, from gettext.
17950 ($(DOMAIN).pot-update): Support POTFILES-shell.
17951 * po/Makevars: New file.
17952 * po/POTFILES-shell: Rename to ...
17953 * po/POTFILES-shell.in: ... this. Update.
17954 * po/POTFILES: Rename to ...
17955 * po/POTFILES.in: ... this. Update.
17956 * po/Rules-quot: New file, from gettext.
17957 * po/boldquot.sed: Likewise.
17958 * po/en@boldquot.header: Likewise.
17959 * po/en@quot.header: Likewise.
17960 * po/insert-header.sin: Likewise.
17961 * po/quot.sed: Likewise.
17962 * po/remove-potcdate.sin: Likewise.
17963
3e0fa5d0
VS
179642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17965
17966 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17967
ade9bd66
VS
179682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * util/grub.d/20_linux_xen.in: Use submenus.
17971
fc55cc4c
VS
179722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 Support submenus.
17975
17976 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17977 parameter submenu. All users updated.
17978 * grub-core/normal/main.c (free_menu): Rename to ...
17979 (grub_normal_free_menu): ... this. Made global.
17980 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17981 if requested.
17982 * grub-core/normal/menu_entry.c (screen): New field submenu.
17983 (make_screen): Set submenu.
17984 (run): Open new context if requested.
17985 * include/grub/menu.h (grub_menu_entry): New field submenu.
17986 * include/grub/normal.h (grub_normal_free_menu): New proto.
17987
600cedf7
VS
179882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17989
17990 Menu entries extractor.
17991
17992 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17993 variants.
17994 (GRUB_MOD_INIT): Register new variants.
17995 (GRUB_MOD_FINI): Unregister new variants.
17996 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17997 into grub_cmd_legacy_source.
17998 (grub_cmd_legacy_source): Implement extractor variants.
17999 (GRUB_MOD_INIT): Register new variants.
18000 (GRUB_MOD_FINI): Unregister new variants.
18001 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18002 as an extractor.
18003 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18004 search as an extractor.
18005 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18006 test as an extractor.
18007 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18008 as an extractor.
18009 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18010 (grub_env_new_context): New function.
18011 (grub_env_context_open): Likewise.
18012 (grub_env_extractor_open): Likewise.
18013 (grub_env_extractor_close): Likewise.
18014 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18015 grub_extractor_level.
18016 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18017 * include/grub/env.h (grub_env_extractor_open): New proto.
18018 (grub_env_extractor_close): Likewise.
18019 * include/grub/normal.h (grub_extractor_level): New external variable.
18020
7bda3a87
VS
180212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 Make cutmem accept a region specification.
18024 Suggested by: Samuel Thibault
18025
18026 * grub-core/mmap/mmap.c (parsemem): New function.
18027 (grub_cmd_cutmem): Handle new arguments.
18028
2ea57f88
VS
180292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 New command cutmem.
18032
18033 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18034 (GRUB_MOD_INIT): Register new command.
18035 (GRUB_MOD_FINI): Unregister new command.
18036
74342e31
VS
180372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 Support some annoying BSD and Minix subpartitions.
18040
18041 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18042 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18043 Properly handle concatenation.
18044 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18045 * grub-core/normal/completion.c (iterate_partition): Likewise.
18046 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18047 contain partition. All users updated.
18048 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18049 struct.
18050 (grub_openbsdlabel_partition_map): Likewise.
18051 (bsdlabel_partition_map_iterate): Rename to ..
18052 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18053 (bsdlabel_partition_map_iterate): New function.
18054 (netopenbsdlabel_partition_map_iterate): Likewise.
18055 (netbsdlabel_partition_map_iterate): Likewise.
18056 (openbsdlabel_partition_map_iterate): Likewise.
18057 (GRUB_MOD_INIT): Register new partmaps.
18058 (GRUB_MOD_FINI): Unregister new partmaps.
18059 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18060 (grub_partition_msdos_iterate): ... this. All users updated.
18061 Don't support embedding other than in a minix partition.
18062 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18063 proto.
18064 * include/grub/partition.h (grub_partition): New field msdostype.
18065 * util/grub-install.in: Handle openbsd and netbsd types being in
18066 part_bsd module.
18067
1e8d555b
VS
180682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18069
18070 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18071
18072 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18073 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18074 (mdraid09): ... this.
18075 (mdraid1x): New module.
18076 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18077 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18078
899d8af4
VS
180792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18082 vsprintf.
18083
40901acd
CW
180842010-09-20 Colin Watson <cjwatson@ubuntu.com>
18085
18086 * grub-core/commands/efi/lsefimmap.c: Correct header.
18087 * NEWS: Update.
18088
dfe3b247
CW
180892010-09-20 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18092 as printf format strings; the translations might contain '%' which
18093 could cause a crash.
18094 (main): Likewise.
18095 * util/grub-fstest.c (argp_parser): Likewise.
18096 * util/grub-setup.c (argp_parser): Likewise.
18097 (main): Likewise.
18098
3286a4b4
VS
180992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 Use argp in grub-fstest.
18102
18103 * util/grub-fstest.c: Don't include getopt.h.
18104 Include argp.h.
18105 (root): New variable.
18106 (args_count): Likewise.
18107 (nparm): Likewise.
18108 (num_disks): Likewise.
18109 (images): Likewise.
18110 (cmd): Likewise.
18111 (debug_str): Likewise.
18112 (args): Likewise.
18113 (options): Transformed to argp.
18114 (usage): Removed.
18115 (main): Split argument parsing into ...
18116 (argp_parser): ... this. Changed to argp format.
18117 (argp): New variable.
18118 (main): Use argp_parse.
18119
3dccbe4b
TG
181202010-09-20 Tristan Gingold <gingold@free.fr>
181212010-09-20 Robert Millan <rmh.grub@aybabtu.com>
181222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 * grub-core/commands/efi/lsefimmap.c: New file.
18125 * grub-core/Makefile.core.def (lsefimmap): New module.
18126 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18127
38c259a7
VS
181282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18129
18130 Pause the execution (10s max) if any errors are displayed so the user
18131 has a chance to see them.
18132
18133 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18134 (grub_print_error): Increment grub_err_printed_errors.
18135 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18136 execution if any errors were displayed.
18137 (show_menu): Remove old code for pause.
18138 * grub-core/normal/menu_entry.c (run): Likewise.
18139 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18140 users updated.
18141 (grub_normal_get_char_counter): Likewise.
18142 * include/grub/err.h (grub_err_printed_errors): New external variable.
18143 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
18144
f218b09c
VS
181452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18146
18147 Support multiboot VBE info.
18148
18149 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18150 Take VBE info into account.
18151 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
18152 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18153 Call fill_vbe_info when appropriate.
18154 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
18155 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
18156 as supported.
18157 (grub_multiboot_get_mbi_size): Take new tags into account.
18158 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
18159 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
18160 Call fill_vbe_tag when appropriate.
18161 (grub_multiboot_make_mbi): Properly align tags.
18162 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
18163 function.
18164 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
18165 proto.
18166 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
18167
a9cc5438
VS
181682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 Suport manual terminal geometry specification.
18171
18172 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
18173 Save state in grub_ofconsole_terminfo_output.
18174 (grub_ofconsole_term): Use grub_terminfo_getwh.
18175 (grub_ofconsole_getwh): Removed.
18176 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18177 (grub_serial_term): Use grub_terminfo_getwh.
18178 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18179 (options): New struct.
18180 (OPTION_*): New enum.
18181 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18182 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18183 width and height.
18184 (grub_terminfo_getwh): New proto.
18185 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18186
1a8fed20
VS
181872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 Handle legacy "terminal" command.
18190
18191 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18192 and FLAG_TERMINAL.
18193 (legacy_commands): Add terminal and title.
18194 (grub_legacy_parse): Handle terminal. Simplify title handling.
18195
41e9c57d
VS
181962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18199 parameters overflow.
18200
61c874c5
CW
182012010-09-20 Colin Watson <cjwatson@ubuntu.com>
18202
18203 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18204 widthspec.h.
18205
18206 * docs/grub.texi (Shell-like scripting): Document `!'.
18207 (Network): Simplify using new i386-pc-pxe format. Mention
18208 grub-mknetdir.
18209
18210 * NEWS: Update.
18211
943682b4
CW
182122010-09-20 Colin Watson <cjwatson@ubuntu.com>
18213
18214 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18215 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18216 when needed.
18217
6d3d698d
CW
182182010-09-20 Colin Watson <cjwatson@ubuntu.com>
18219
18220 * grub-core/commands/efi/lsefisystab.c: Correct header.
18221 * grub-core/commands/efi/lssal.c: Likewise.
18222 * grub-core/commands/testload.c: Likewise.
18223
c982589f
CW
182242010-09-20 Colin Watson <cjwatson@ubuntu.com>
18225
18226 * util/grub-mkrescue.in: Add explicit root argument to --set to
18227 prevent the UUID being interpreted as an argument to --set (matches
18228 previous change to prepare_grub_to_access_device).
18229
a63c31b6
CW
182302010-09-20 Colin Watson <cjwatson@ubuntu.com>
18231
18232 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18233 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18234 the verbosity of later #ifs.
18235 (find_partition_start): Define this function on FreeBSD too.
18236 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18237 function.
18238 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18239 on FreeBSD.
18240
6439b8ee
YB
182412010-09-20 Yves Blusseau <blusseau@zetam.org>
18242
18243 * util/grub-editenv.c: Use argp instead of getopt.
18244
c5930ec8
YB
182452010-09-20 Yves Blusseau <blusseau@zetam.org>
18246
18247 * util/grub-setup.c: Use argp instead of getopt.
18248
15c69261
YB
182492010-09-20 Yves Blusseau <blusseau@zetam.org>
18250
18251 Use gnulib-tool to create gnulib source files.
18252
18253 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18254 grub-core/gnulib directories
18255 * .bzignore: Add **/.deps and autogenerated gnulib files
18256 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18257 of gnulib macros, add grub-core/gnulib/Makefile
18258 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18259 include m4 directory to aclocal.
18260 * Makefile.util.def: Remove direct compilation of gnulib source files
18261 and use the new grub-core/gnulib/libgnu.a.
18262 * build-aux/config.rpath: move config.rpath from top directory to
18263 build-aux
18264 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18265 in gnulib headers
18266 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18267 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18268 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18269 header.
18270 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18271 string.
18272
e511c9f5
YB
182732010-09-20 Yves Blusseau <blusseau@zetam.org>
18274
18275 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18276 grub-core/genmod.sh and grub-core/gensyminfo.sh
18277
c2dede05
BC
182782010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18279
18280 Add a test for echo command options.
18281
18282 * tests/grub_cmd_echo.in: New test.
18283 * Makefile.util.def: Rules for new test.
18284
c55f5018
SJ
182852010-09-20 Szymon Janc <szymon@janc.net.pl>
18286
18287 Remove crc.mod and move crc command to hashsum.mod.
18288 Remove lib/crc.c - users updated to use gcrypt implementation.
18289
18290 * grub-core/commands/crc.c: Removed.
18291 * grub-core/Makefile.core.def (crc): Module removed.
18292 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18293 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18294 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18295 * grub-core/lib/crc.c: Removed.
18296 * include/grub/lib/crc.h: Removed.
18297 * Makefile.util.def (crc): Remove lib/crc.c
18298 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18299 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18300 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18301 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18302 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18303 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18304
e0337366
VS
183052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18308
742f9232
VS
183092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18310
18311 Split config.h for util and core.
18312
18313 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18314 (ADDR32): Likewise.
18315 (DATA32): Likewise.
18316 (BSS_START_SYMBOL): Likewise.
18317 (END_SYMBOL): Likewise.
18318 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18319 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18320 * config.h.in: New file.
18321 * configure.ac: Use config-util.h as config define file.
18322 Rename MACHINE into GRUB_MACHINE. All users updated.
18323 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18324 updated.
18325 (NESTED_FUNC_ATTR): Likewise.
18326 Substitue new variables.
18327 (COND_HAVE_ASM_USCORE): New conditional.
18328 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18329 (kernel_syms.lst): Use ASM_PREFIX.
18330 * grub-core/kern/emu/console.c: Include config-util.h.
18331 * grub-core/kern/emu/misc.c: Likewise.
18332 * grub-core/kern/emu/mm.c: Likewise.
18333 * include/grub/emu/misc.h: Likewise.
18334 * include/grub/libgcc.h: Likewise.
18335
39feb0e8
VS
183362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18339 constants usage.
18340 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18341 Fix GRUB_TERM_KEY_* constants usage.
18342 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18343
9af6dac3
VS
183442010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18347 print pointer.
18348 * grub-core/bus/usb/uhci.c: Remove empty define.
18349 (grub_uhci_check_transfer): Add missing cast.
18350 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18351 print pointer.
18352 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18353 PRIuGRUB_SIZE.
18354 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18355
d6d94820
VS
183562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * grub-core/Makefile.core.def (legacycfg): Add
18359 lib/i386/pc/vesa_modes_table.c on emu.
18360
3572f2b6
BC
183612010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18362
18363 Reduce number of temporary files generated by build system.
18364
18365 * grub-core/gencmdlist.sh: Removed.
18366 * grub-core/genfslist.sh: Removed.
18367 * grub-core/genhandlerlist.sh: Removed.
18368 * grub-core/genmodsrc.sh: Removed.
18369 * grub-core/genpartmaplist.sh: Removed.
18370 * grub-core/genparttoollist.sh: Removed.
18371 * grub-core/gentermiinallist.sh: Removed.
18372 * grub-core/genvideolist.sh: Removed.
18373
18374 * grub-core/genmod.sh.in: New file.
18375 * grub-core/gensyminfo.sh.in: New file.
18376
18377 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18378 * conf/Makefile.extra-dist: Update with new files.
18379 * gentpl.py: Remove rules related to unnecessary temporary files.
18380 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18381 and und-* files.
18382 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18383 genmod.sh scripts.
18384 * grub-core/bus/usb/uhci.c: Remove empty #define.
18385 * grub-core/genmoddep.awk: Updated with new syminfo format.
18386 * util/bash-completion.d/Makefile.am: Add config.log to
18387 CLEANFILES.
18388
c836b030
YB
183892010-09-19 Yves Blusseau <blusseau@zetam.org>
18390
18391 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18392
2f4e8053
BC
183932010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18394
18395 * util/grub-mkconfig.in: Check the config script for syntax errors
18396 before saving.
18397
75831c34
CW
183982010-09-19 Colin Watson <cjwatson@ubuntu.com>
183992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18402 platforms.
18403 * util/grub-install.in: Add EFI and IEEE1275 support.
18404 * util/i386/efi/grub-install.in: Removed.
18405 * util/ieee1275/grub-install.in: Likewise.
18406
eaf41b25
VS
184072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18408
18409 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18410 (grub_cmd_cmosclean): Likewise.
18411 (GRUB_MOD_INIT): Register command cmosclean.
18412 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18413 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18414
1a9130dd
CPE
184152010-09-18 Carles Pina i Estany <carles@pina.cat>
184162010-09-18 Aleš Nesrsta <starous@volny.cz>
184172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18418
18419 Add keyboard layouts support.
18420
18421 * Makefile.util.def (grub-mklayout): New file.
18422 (grub-kbdcomp): New script.
18423 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18424 Add keyboard_layouts.h.
18425 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18426 commands/boot.c on yeeloong.
18427 (keylayouts): New module.
18428 * grub-core/bus/usb/ohci.c
18429 * grub-core/bus/usb/uhci.c
18430 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18431 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18432 (attach_root_port): Likewise.
18433 (poll_nonroot_hub): Likewise.
18434 (grub_usb_poll_devices): Likewise.
18435 (detach_device): Close transfer.
18436 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18437 function.
18438 (grub_usb_bulk_setup_readwrite): Likewise.
18439 (grub_usb_bulk_finish_readwrite): Likewise.
18440 * grub-core/commands/keylayouts.c: New file.
18441 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18442 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18443 aliases.
18444 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18445 support scancode 2.
18446 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18447 * include/grub/keyboard_layouts.h: New file.
18448 * util/grub-mklayout.c: New file.
18449 * util/grub-kbdcomp.in: Likewise.
18450
a1d84a5e
VS
184512010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18452
18453 Unify memory types.
18454
18455 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18456 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18457 types.
18458 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18459 (grub_upper_mem): Likewise.
18460 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18461 * include/grub/memory.h (grub_memory_type_t): New enum.
18462 All users updated.
18463
9696382e
VS
184642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18465
18466 * grub-core/Makefile.core.def (lsapm): New module.
18467 * grub-core/commands/i386/pc/lsapm.c: New file.
18468 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18469 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18470 Likewise.
18471 * include/grub/i386/pc/apm.h: New file.
18472 * include/multiboot.h (multiboot_apm_info): New struct.
18473
184742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 GRUB-legacy configuration file support.
18477
18478 * Makefile.util.def (grub-menulst2cfg): New util.
18479 * docs/man/grub-menulst2cfg.h2m: New file.
18480 * grub-core/Makefile.core.def (legacycfg): New module.
18481 * grub-core/commands/legacycfg.c: New file.
18482 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18483 (grub_normal_add_menu_entry): ... this.
18484 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18485 (grub_normal_set_password): ...this.
18486 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18487 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18488 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18489 * grub-core/lib/legacy_parse.c: New file.
18490 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18491 * include/grub/i386/pc/vesa_modes_table.h: New file.
18492 * include/grub/legacy_parse.h: Likewise.
18493 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18494 * util/grub-menulst2cfg.c: New file.
18495
bf8d1338
CW
184962010-09-17 Colin Watson <cjwatson@ubuntu.com>
18497
18498 * grub-core/kern/emu/hostdisk.c
18499 (convert_system_partition_to_system_disk): Initialise node.
18500
9c0bad2e
CW
185012010-09-17 Colin Watson <cjwatson@ubuntu.com>
18502
18503 * grub-core/kern/emu/hostdisk.c
18504 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18505 leak.
18506 Reported and based on patch by: Modestas Vainius.
18507
a939d135
CW
185082010-09-17 Colin Watson <cjwatson@ubuntu.com>
18509
18510 Fix DM-RAID probing with recent versions of device-mapper udev
18511 rules.
18512
18513 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18514 canonicalise device paths under /dev/mapper/.
18515 (convert_system_partition_to_system_disk): Compare the
18516 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18517 path, since device nodes under /dev/mapper/ are often symlinks.
18518
0f7ee3c9
YB
185192010-09-17 Yves Blusseau <blusseau@zetam.org>
18520
18521 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18522
10854d0d
YB
185232010-09-16 Yves Blusseau <blusseau@zetam.org>
18524
18525 * configure.ac: Avoid some annoying error messages if freetype-config
18526 program is not found.
18527
108538d8
CW
185282010-09-16 Colin Watson <cjwatson@ubuntu.com>
18529
18530 Support RAID on virtio devices, and others.
18531
18532 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18533 Rename to ...
18534 [__MINGW32__] (grub_find_device): ... this.
18535 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18536 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18537 reasonable default if dir is NULL.
18538 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18539 ...
18540 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18541 (grub_guess_root_device): Update callers.
18542 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18543
18544 * util/raid.c (grub_util_getdiskname): Remove.
18545 (grub_util_raid_getmembers): Use grub_find_device rather than
18546 grub_util_getdiskname.
18547
e5bfc130
CW
185482010-09-16 Colin Watson <cjwatson@ubuntu.com>
18549
18550 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18551 needing to be compiled with serial support.
18552 (ls): Indicate that multiple files are accepted.
18553 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18554 indicate that multiple files are accepted.
18555
be458ae2
CW
185562010-09-16 Colin Watson <cjwatson@ubuntu.com>
18557
18558 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18559 libgrub_a_init.c, and util/bash-completion.d/grub.
18560
cb731b5e
VS
185612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 * util/grub-setup.c (setup): Fix incorrect container semantics.
18564
35139e8a
VS
185652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18568 misusage.
18569 Reported by: J. Nick Terry
18570
e50fca4a
VS
185712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 Move embedding routines to partmap sources files.
18574
18575 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18576 [GRUB_UTIL]: New variable.
18577 (gpt_partition_map_iterate): Set part.parent.
18578 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18579 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18580 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18581 New function.
18582 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18583 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18584 (grub_partition_map) [GRUB_UTIL]: New field embed.
18585 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18586 (setup): Use ->embed.
18587
f00478b7
VS
185882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18589
18590 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18591 function.
18592 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18593 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18594
2b94e3ff
YB
185952010-09-15 Yves Blusseau <blusseau@zetam.org>
18596
18597 Add function to get completions from usage.
18598
18599 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18600 completions from usage. Use LC_ALL=C to get options properly.
18601
2e04a006
VS
186022010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * grub-core/gnulib/basename-lgpl.c: Imported.
18605 * grub-core/gnulib/basename.c: Likewise.
18606 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18607 * grub-core/gnulib/dirname.c: Likewise.
18608 * grub-core/gnulib/dirname.h: Likewise.
18609 * grub-core/gnulib/stripslash.c: Likewise.
18610
5dcdf93a
VS
186112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18612
18613 * grub-core/gnulib/error.c: Resynced.
18614 * grub-core/gnulib/getopt.c: Likewise.
18615 * grub-core/gnulib/getopt_int.h: Likewise.
18616 * grub-core/gnulib/regex.h: Likewise.
18617 * grub-core/gnulib/regex_internal.c: Likewise.
18618 * grub-core/gnulib/regex_internal.h: Likewise.
18619
014f47b7
SJ
186202010-09-15 Szymon Janc <szymon@janc.net.pl>
18621
18622 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18623 CRC calculations and validity checks.
18624 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18625 calculations.
18626
dd521a4a
SJ
186272010-09-15 Szymon Janc <szymon@janc.net.pl>
18628
18629 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18630
79c4eeb9
VS
186312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 Fix incorrect echo options handling.
18634 Reported by: Yves Blusseau.
18635
18636 * include/grub/command.h (grub_command_flags_t): New flags
18637 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18638 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18639 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18640
ed80f7d5
VS
186412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18644 users updated.
18645 (GRUB_COMMAND_FLAG_MENU): Likewise.
18646 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18647 (GRUB_COMMAND_FLAG_TITLE): Removed.
18648 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18649 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18650 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18651 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18652 (grub_command_flags_t): New enum. All users updated.
18653
5fe7620a
SG
186542010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18655
18656 Fix solaris compilation.
18657
18658 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18659 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18660 (grub-emu-list): Likewise.
18661
545b752f
VS
186622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18663
18664 Remove deprecated root command.
18665
18666 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18667 updated.
18668
6c1a338c
VS
186692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 * util/i386/pc/grub-setup.c: Merge this ...
18672 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18673 * util/grub-setup.c: ... into this.
18674 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18675 New struct.
18676
186772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18678
18679 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18680 possible.
18681
d2ea4551
VS
186822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18683
18684 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18685 allocate p.
18686
3c3b5040
VS
186872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18688
18689 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18690 explicit root argument to set to prevent UUID to be interpreted as
18691 argument to set.
18692
b71c3fae
VS
186932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18696
275433e6
VS
186972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 Don't export grub_gate_a20.
18700
18701 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18702 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18703 to ...
18704 (grub_gate_a20): ... this. All users updated.
18705 * include/grub/i386/pc/init.h: Removed. All users updated.
18706
a5dbb1f1
VS
187072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18708
18709 Create euro.pf2 which supports most European languages.
18710
18711 * Makefile.am (grubdata_DATA): Add euro.pf2.
18712 (euro.pf2): New target.
18713 (CLEANFILES): Add euro.pf2.
18714
62a747cb
VS
187152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18716
18717 * configure.ac: Disable emu-usb by default to prevent inadvertent
18718 device takeover.
18719
608e43b1
VS
187202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18721
18722 Disable usbserial on grub-emu since our libusb code isn't good enough
18723 yet.
18724
18725 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18726 (usbserial_pl2303): Likewise.
18727 (usbserial_ftdi): Likewise.
18728
94564f81
VS
187292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18730
18731 * include/grub/disk.h (grub_disk): Remove has_partitions.
18732 All users updated.
18733 * disk/loopback.c (grub_loopback): Remove has_partitions.
18734 All users updated.
18735 (options): Remove partitions. All users updated.
18736 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18737 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18738 actual partition table is found.
18739
3352800b
VS
187402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18741
18742 Remove readability checks (too many false negatives).
18743
18744 * util/grub-install.in: Remove readability checks.
18745 * util/grub-mkconfig.in: Likewise.
18746 * util/grub.d/10_hurd.in: Likewise.
18747 * util/grub.d/10_kfreebsd.in: Likewise.
18748 * util/grub.d/10_linux.in: Likewise.
18749 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18750 way.
18751
2419f17a
VS
187522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 Enable acpi shutdown on all ACPI platforms.
18755
18756 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18757 on coreboo, multiboot and EFI.
18758 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18759 (grub_acpi_halt): Likewise.
18760 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18761 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18762 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18763 * grub-core/lib/i386/halt.c (grub_halt)
18764 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18765
0575c7c3
VS
187662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18769 context.
18770
54ac3cd1
VS
187712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18772
18773 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18774 * grub-core/video/efi_uga.c: Likewise.
18775
b2a30ac5
VS
187762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 Filter devaliases and never open same device twice.
18779
18780 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18781 (last_ihandle): Likewise.
18782 (ofdisk_hash_ent): New member shortest.
18783 (ofdisk_hash_add): Add canonical path too.
18784 (scan): New function.
18785 (grub_ofdisk_iterate): Iterate over hashed entries.
18786 (compute_dev_path): Don't add :0.
18787 (grub_ofdisk_open): Don't really open the disk.
18788 (grub_ofdisk_close): Avoid closing unrelated disk.
18789 (grub_ofdisk_read): Implement reopen logic.
18790 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18791 New function.
18792 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18793 New proto.
18794
fb53b340
VS
187952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18796
18797 Fix sparc64.
18798
18799 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18800 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18801 right address. Add sparc64_ieee1275_ldflags.
18802 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18803 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18804 to grub_host_to_target_addr
18805 (load_image): Likewise.
18806
f452b040
VS
188072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18808
18809 * grub-core/normal/completion.c (complete_file): Handle device
18810 containing slash.
18811 Fix based on patch by Doug Nazar.
18812
9b5b2541
VS
188132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 grub-mknetdir script.
18816
18817 * Makefile.util.def (grub-mknetdir): New module.
18818 * tests/util/grub-shell.in: Support boot=net
18819 * util/grub-mknetdir.in: New file.
18820
9d2be652
VS
188212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 videoinfo on non-vbe.
18824
18825 * grub-core/Makefile.core.def (vbeinfo): Removed.
18826 (vbetest): Removed.
18827 (videoinfo): New module.
18828 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18829 * grub-core/commands/i386/pc/vbetest.c: Removed.
18830 * grub-core/commands/videoinfo.c: New file.
18831 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18832 specification.
18833 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18834 as vbetest.
18835 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18836 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18837 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18838 mode_number. New parameter mode. All users updated.
18839 (grub_video_gop_iterate): New function.
18840 (grub_video_efi_gop): New member iterate.
18841 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18842 (grub_vbe_set_video_mode): Remove setting useless fields.
18843 (vbe2videoinfo): New function.
18844 (grub_video_vbe_iterate): Likewise.
18845 (grub_video_vbe_setup): Use vbe2videoinfo.
18846 (grub_video_vbe_print_adapter_specific_info): New function.
18847 (grub_video_vbe_adapter): New fields iterate and
18848 print_adapter_specific_info.
18849 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18850 All users updated.
18851 (grub_video_mode_info): New field mode_number.
18852 (grub_video_adapter): New fields iterate and
18853 print_adapter_specific_info.
18854
179503f5
TG
188552010-09-13 Tristan Gingold <gingold@free.fr>
188562010-09-13 Robert Millan <rmh.grub@aybabtu.com>
188572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18858
18859 * grub-core/commands/efi/lsefisystab.c: New file.
18860 * grub-core/commands/efi/lssal.c: Likewise.
18861 * grub-core/Makefile.core.def (lsacpi): New module.
18862 (lsefisystab): Likewise.
18863 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18864 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18865 (grub_efi_sal_system_table): New struct.
18866 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18867 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18868 (grub_efi_sal_system_table_platform_features): Likewise.
18869 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18870 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18871 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18872 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18873
cf9827de
VS
188742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 Support explicit user claim that a device is BIOS-visible.
18877
18878 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18879 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18880 * grub-core/kern/emu/hostdisk.c
18881 (convert_system_partition_to_system_disk): Support mdX.
18882 (find_system_device): New parameter add. All users updated.
18883 (grub_util_biosdisk_is_present): New function.
18884 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18885 proto.
18886
53f0eb1f
VS
188872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18888
18889 Search hints support.
18890
18891 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18892 All users updated.
18893
b23ffd70
YB
188942010-09-13 Yves Blusseau <blusseau@zetam.org>
18895
18896 Bash completion script for util commands
18897
18898 * Makefile.am: Add util/bash-completion.d directory
18899 * configure.ac: Likewise.
18900 * util/bash-completion.d/Makefile.am: New file.
18901 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18902
d547dc28
VS
189032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18904
18905 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18906 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18907 Reported by: Yves Blusseau.
18908
2fc8ccb9
VS
189092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18912 partition size and offset.
18913
d8a84076
VS
189142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18917
84fb3b3d
VS
189182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18921
768ec2e2
VS
189222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18925 (grub_xvasprintf): Likewise.
18926
4870900f
VS
189272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18928
18929 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18930
faca6bec
VS
189312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18934 args ending with NULL.
18935
189362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18937
18938 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18939 pointer.
18940
3c70f225
SJ
189412010-09-11 Szymon Janc <szymon@janc.net.pl>
18942
18943 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18944
4df7996d
VS
189452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18946
18947 Shutdown using ACPI.
18948
18949 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18950 * grub-core/commands/acpihalt.c: New file.
18951 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18952 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18953 (grub_acpi_halt): New proto.
18954 (GRUB_ACPI_SLP_EN): New const.
18955 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18956 (GRUB_ACPI_OPCODE_*): New enum.
18957 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18958
126b4c32
TG
189592010-09-11 Tristan Gingold <gingold@free.fr>
189602010-09-11 Robert Millan <rmh.grub@aybabtu.com>
189612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 * commands/lsacpi.c: New file.
18964 * grub-core/Makefile.core.def (lsacpi): New module.
18965 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18966 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18967 (grub_acpi_madt_entry_header): New struct.
18968 (grub_acpi_madt): Likewise.
18969 (grub_acpi_madt_entry_interrupt_override): Likewise.
18970 (grub_acpi_madt_entry_sapic): Likewise.
18971 (grub_acpi_madt_entry_lsapic): Likewise.
18972 (grub_acpi_madt_entry_platform_int_source): Likewise.
18973 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18974 (PRIuGRUB_UINT32_T): Likewise.
18975 (PRIxGRUB_UINT64_T): Likewise.
18976
1aa4fe88
VS
189772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18978
18979 Implement loading palette on ieee1275_fb.
18980
18981 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18982 (have_setcolors): Likewise.
18983 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18984 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18985 (grub_video_ieee1275_set_palette): Implement.
18986
25761e13
VS
189872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
189882010-09-11 Colin Watson <cjwatson@ubuntu.com>
18989
18990 * util/grub-install.in (grub_partition): New variable.
18991 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18992 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18993 Fixes a bug reported by Yves Blusseau.
18994
050abaea
VS
189952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 Fix emu on mipsel.
18998
18999 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19000 =grub_cpu_flush_cache on all mips and not only yeeloong.
19001 * configure.ac (COND_mips): New conditional.
19002 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19003 platforms.
19004 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19005 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19006 [GRUB_LINKER_HAVE_INIT]: New function.
19007 (grub_emu_post_init): Likewise.
19008 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19009 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19010 * include/grub/cache.h (_mips): Include mips/cache.h.
19011 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19012 LVM and RAID prototypes.
19013 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19014 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19015 function.
19016
5ed7d816
CW
190172010-09-10 Colin Watson <cjwatson@ubuntu.com>
19018
19019 * util/grub-install.in: Don't try to verify core.img until after
19020 running grub-mkimage to create it.
19021
90367e04
RM
190222010-09-10 Robert Millan <rmh@gnu.org>
19023
19024 * util/grub.d/10_hurd.in: Add misc readability checks.
19025 * util/grub.d/10_kfreebsd.in: Likewise.
19026 * util/grub.d/10_linux.in: Likewise.
19027
c452fa66
CW
190282010-09-10 Colin Watson <cjwatson@ubuntu.com>
19029
19030 * util/grub-install.in: ${imgext} won't be defined here until the
19031 install branch is merged. For the meantime, only verify core.img on
19032 i386-pc and sparc64-ieee1275 platforms.
19033
c38fe9f4
RM
190342010-09-10 Robert Millan <rmh@gnu.org>
19035
19036 Solaris support in grub_find_zpool_from_dir(). Thanks
19037 Seth Goldberg for referring to getextmntent() facility.
19038
19039 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19040 `sys/mkdev.h'.
19041 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19042 `<sys/mnttab.h>'.
19043 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19044 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19045 method for finding zpool name.
19046
905f7773
CW
190472010-09-10 Colin Watson <cjwatson@ubuntu.com>
19048
19049 grub-fstest needs the host and hostfs modules while other utilities
19050 actively require those modules to be absent, so grub-fstest needs
19051 its own initialisation and finalisation code.
19052
19053 * Makefile.am (grub_fstest.pp): New target.
19054 (grub_fstest_init.lst): Likewise.
19055 (grub_fstest_init.c): Likewise.
19056 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19057
fb90b546
RM
190582010-09-10 Robert Millan <rmh@gnu.org>
19059
19060 * configure.ac: Check for `struct statfs.f_fstypename' and
19061 `struct statfs.f_mntfromname'.
19062
19063 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19064 kFreeBSD-specific code.
19065
66d4bea5
RM
190662010-09-10 Robert Millan <rmh@gnu.org>
19067
19068 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19069 on ZFS. Now non-main filesystems are supported as / too.
19070
b6a690ee
CW
190712010-09-09 Colin Watson <cjwatson@ubuntu.com>
19072
19073 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19074 and grub-core/disk/host.c to ...
19075 (grub-fstest): ... here. Having the host disk implementation
19076 present confuses grub-probe and other utility programs.
19077
19078 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19079 when writing to a file, not when writing to stdout.
19080
8901b00c 190812010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19082
19083 * tests/partmap_test.in: New test for partitions.
19084 * Makefile.util.def: Rules for new test.
19085
7bf45fdd
RM
190862010-09-09 Robert Millan <rmh@gnu.org>
19087
19088 * util/grub-probe.c (probe): Fix a pair of unhandled error
19089 conditions.
19090
4dfbc574
RM
190912010-09-09 Robert Millan <rmh@gnu.org>
19092
19093 Basic Btrfs support (detection and UUID).
19094
19095 * grub-core/fs/btrfs.c: New file.
19096 * Makefile.util.def (library): Register btrfs.c.
19097 * grub-core/Makefile.core.def: Likewise.
19098
6b8e78ae
RM
190992010-09-08 Robert Millan <rmh@gnu.org>
19100
19101 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19102 with (optional) parameters to specify device and relative path.
19103 * util/grub-install.in: Use is_path_readable_by_grub() to
19104 verify readability of a few critical files.
19105 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19106 verify readability of grub.cfg.new.
19107
27f21a8b
VS
191082010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19109
19110 Split minix.mod into minix.mod and minix2.mod.
19111
19112 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19113 * grub-core/Makefile.core.def (minix2): New module.
19114 * grub-core/fs/minix.c: Use definitions instead of runtime version
19115 checking.
19116 * grub-core/fs/minix2.c: New file.
19117
c0e53ea5
YB
191182010-09-08 Yves Blusseau <blusseau@zetam.org>
19119
19120 Add new --boot-directory option to replace --root-directory
19121
19122 * util/grub-install.in: Add new --boot-directory option
19123 * util/grub-reboot.in: Likewise.
19124 * util/grub-set-default.in: Likewise.
19125
b9fe6ea2
YB
191262010-09-08 Yves Blusseau <blusseau@zetam.org>
19127
19128 * util/grub-mkconfig.in: Use new variable.
19129
d87aedff
YB
191302010-09-08 Yves Blusseau <blusseau@zetam.org>
19131
19132 * configure.ac: Define some useful variables.
19133
e55e8495
VS
191342010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19137 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19138 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19139 Use terminfo and don't use cursor-on/cursor-off unless it's known
19140 to work.
19141 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19142 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
19143
6fa6d675
CW
191442010-09-08 Colin Watson <cjwatson@ubuntu.com>
19145
19146 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
19147 starts with "(,", fill the drive containing the loaded image in
19148 between those two characters, but expect that a full partition
19149 specification including partition map names will follow.
19150
92f2aef0
RM
191512010-09-08 Robert Millan <rmh@gnu.org>
19152
19153 * configure.ac: Remove `--enable-grub-fstest' option.
19154 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
19155
19156 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
19157 `grub-fstest' instead of `grub-probe' for readability verification.
19158 * util/grub-probe.c (probe): Remove readability verification kludge.
19159
99fd620d
RM
191602010-09-08 Robert Millan <rmh@gnu.org>
19161
19162 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
19163 initializing `GRUB_FS'.
19164
058e30ac 191652010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
19166
19167 Not command (!) support to GRUB script.
19168
19169 * tests/grub_script_not.in: New test.
19170 * Makefile.util.def: Rules for new test.
19171
19172 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
19173 ! command as a special case.
19174 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
19175
b61d05ed 191762010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19177
058e30ac 19178 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19179 grub_free.
b61d05ed 19180
4d69c786 191812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19182
19183 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19184
aa3119c4 191852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19186
19187 * docs/grub.texi (Shell-like scripting): Documentation for break,
19188 continue, shift and return commands.
19189
db0f7e3d
VS
191902010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 Rename CD-ROM to cd on BIOS.
19193
19194 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19195 "cd".
19196 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19197
88b87c93
VS
191982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19201 * util/grub-probe.c (main): Likewise.
19202 * util/i386/pc/grub-setup.c (main): Likewise.
19203 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19204 Reported and debugged by: alexxy
19205
294f324d
VS
192062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19209 diagnostic info.
19210
d7ee3441
JS
192112010-09-05 Jo Shields <directhex@apebox.org>
19212
19213 * util/grub.d/30_os-prober.in: Add missing classes.
19214
d7e06c1f
VS
192152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 * docs/grub.texi (Theme file format): Document new position format.
19218
fc157e53
VS
192192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19222 a table. Use @code instead of @verbatim.
19223
506e9a1c
CB
192242010-09-05 Colin D Bennett <colin@gibibit.com>
19225
19226 Gfxmenu documentation.
19227
19228 * docs/grub.texi (Theme file format): New chapter.
19229
f0aff67c
SJ
192302010-09-05 Szymon Janc <szymon@janc.net.pl>
19231
19232 * grub-core/Makefile.core.def (xzio): New module.
19233 * grub-core/io/xzio.c: New file.
19234 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19235 * grub-core/lib/xzembed/xz_config.h: Likewise.
19236 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19237 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19238 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19239 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19240 * grub-core/lib/xzembed/xz_private.h: Likewise.
19241 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19242 * include/grub/file.h (grub_file_filter_id): New compression filter
19243 GRUB_FILE_FILTER_XZIO.
19244
82a85062
VS
192452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19246
19247 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19248 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19249 size.
19250
3579415d
VS
192512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19254 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19255
5124ae6d
VS
192562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 Uncompressed checksum support.
19259
19260 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19261 (check_list): New parameter uncompress.
19262 (grub_cmd_hashsum): Handle --uncompress.
19263
9aadb3d1
VS
192642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19265
19266 Reintroduce testload.
19267
19268 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19269 from here ...
19270 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19271 (GRUB_MOD_INIT): New function.
19272 (GRUB_MOD_FINI): Likewise.
19273 * grub-core/Makefile.core.def (testload): New module.
19274
a17792c3
SJ
192752010-09-05 Szymon Janc <szymon@janc.net.pl>
19276
19277 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19278 (uint8_t): New type.
19279 (uint16_t): Likewise.
19280 (uint32_t): Likewise.
19281 (uint64_t): Likewise.
19282
b81e40a3
SJ
192832010-09-05 Szymon Janc <szymon@janc.net.pl>
19284
19285 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19286
fc2ef117
VS
192872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19288
19289 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19290 Made static.
19291 (grub_gzfile_open): Removed. All users updated.
19292 (GRUB_MOD_INIT): New function.
19293 (GRUB_MOD_FINI): Likewise.
19294 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19295 (grub_file_filters_enabled): Likewise.
19296 (grub_file_open): Handle filters.
19297 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19298 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19299 * include/grub/file.h (grub_file_filter_id_t): New type.
19300 (grub_file_filter_t): Likewise.
19301 (grub_file_filters_all): New extern variable.
19302 (grub_file_filters_enabled): Likewise.
19303 (grub_file_filter_register): New inline function.
19304 (grub_file_filter_unregister): Likewise.
19305 (grub_file_filter_disable): Likewise.
19306 (grub_file_filter_disable_compression): Likewise.
19307 * include/grub/gzio.h: Removed.
19308
35ee15e0
BC
193092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19310
19311 Filename expansion support for wildcards in GRUB script.
19312
19313 * tests/grub_script_expansion.in: New test.
19314 * Makefile.util.def: Rule for new test.
19315
19316 * grub-core/commands/wildcard.c: New file, implements filename
19317 expansion support for GRUB script.
19318 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19319 * grub-core/script/argv.c: Cosmetic changes.
19320 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19321 Refactored to perform wildcard expansion on arguments.
19322 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19323 struct.
19324
19325 * tests/util/grub-shell.in: Fix quoting for read input.
19326
5f0c4aca
BC
193272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19328
19329 Support for updating environment variables with matched substrings
19330 of regexp.
19331
19332 * tests/grub_cmd_regexp.in: New test.
19333 * Makefile.util.def: Rule for new test.
19334
19335 * grub-core/commands/regexp.c: New option -s to update environment
19336 variables with regexp matches.
19337
3759a35f
SJ
193382010-09-04 Szymon Janc <szymon@janc.net.pl>
19339
19340 * include/grub/file.h (grub_file): New member not_easly_seekable.
19341 (grub_file_seekable): New inline function.
19342 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19343 easily seekable.
19344 (grub_gzio_open): Set not_easly_seekable.
19345 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19346 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19347
ed8c6dec
BC
193482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19349
19350 Support for options to appear multiple times on cmdline.
19351
19352 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19353 * grub-core/commands/extcmd.c: Support for repeatable option.
19354 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19355 repeatable option support.
19356
19357 Refactor menuentry into a regular command.
19358
19359 * grub-core/commands/menuentry.c: New file, menuentry command
19360 implementation.
19361 * grub-core/Makefile.core.def: Rule update for normal.mod.
19362 * grub-core/normal/main.c: Moved menuentry creation to
19363 grub-core/commands/menuentry.c.
19364 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19365 (grub_menu_execute_entry_real): Removed.
19366 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19367 function.
19368 (grub_script_execute_menuentry): Removed.
19369 * grub-core/script/parser.y (menuentry): Removed.
19370 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19371 * grub-core/script/yylex.l (menuentry): Removed.
19372 * include/grub/menu.h (grub_menu_init): New prototype.
19373 (grub_menu_fini): New prototype.
19374 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19375 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19376 (grub_script_execute_sourcecode): New prototype.
19377
dacd0cf0
BC
193782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19379
19380 "return" command for GRUB script functions.
19381
19382 * tests/grub_script_return.in: New test.
19383 * Makefile.util.def: Rules for new test.
19384
19385 * grub-core/script/execute.c (grub_script_return): New function.
19386 * grub-core/script/main.c: Register/unregister return commaond.
19387 * include/grub/script_sh.h (grub_script_return): New prototype.
19388
52e72f9d
BC
193892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19390
19391 "setparams" command to update positional parameters.
19392
19393 * tests/grub_script_setparams.in: New test.
19394 * Makefile.util.def: Rules for new test.
19395
19396 * grub-core/script/argv.c (grub_script_argv_make): New function.
19397 * grub-core/script/execute.c (replace_scope): New function.
19398 (grub_script_setparams): New function.
19399 * grub-core/script/lexer.c: Remove unused variables.
19400 * grub-core/script/main.c: Register/unregister setparams command.
19401 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19402 (grub_script_setparams): New prototype.
19403
25b60c91
BC
194042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19405
19406 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19407 grub_free order.
19408
37e7bf68
BC
194092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19410
19411 Support for passing block of commands as an argument to extcmds.
19412
19413 * Makefile.util.def: Rules for new test.
19414 * tests/grub_script_blockarg.in: New test.
19415 * grub-core/tests/test_blockarg.c: New file, block argument
19416 command used in the test.
19417
19418 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19419 (grub_register_extcmd_prio): New function prototype.
19420 (grub_extcmd_dispatcher): New function prototype.
19421 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19422 type.
19423 * include/grub/script_sh.h (struct grub_script): New members
19424 `children', `next_siblings' and `refcnt' for block arguments and
19425 reference counting.
19426 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19427 (grub_script_arg): New member `script' for block argument.
19428 (grub_script_argv): New member `script' for block argument.
19429 (grub_parser_param): New member `scripts' for block argument.
19430 (grub_script_mem_free): New extern function prototype.
19431 (grub_script_ref): New function prototype.
19432 (grub_script_unref): New function prototype.
19433
19434 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19435 extcmd form to support block arguments.
19436 * grub-core/script/argv.c: Block arguments support.
19437 * grub-core/script/execute.c: Likewise.
19438 * grub-core/script/lexer.c: Likewise.
19439 * grub-core/script/main.c: Likewise.
19440 * grub-core/script/script.c: Likewise.
19441 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19442 non-terminals.
19443
19444 * grub-core/commands/acpi.c: Update extcmd implementations with
19445 grub_extcmd_context_t.
19446 * grub-core/commands/cat.c: Likewise.
19447 * grub-core/commands/echo.c: Likewise.
19448 * grub-core/commands/extcmd.c: Likewise.
19449 * grub-core/commands/hashsum.c: Likewise.
19450 * grub-core/commands/hdparm.c: Likewise.
19451 * grub-core/commands/help.c: Likewise.
19452 * grub-core/commands/hexdump.c: Likewise.
19453 * grub-core/commands/i386/cpuid.c: Likewise.
19454 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19455 * grub-core/commands/i386/pc/halt.c: Likewise.
19456 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19457 * grub-core/commands/iorw.c: Likewise.
19458 * grub-core/commands/keystatus.c: Likewise.
19459 * grub-core/commands/loadenv.c: Likewise.
19460 * grub-core/commands/ls.c: Likewise.
19461 * grub-core/commands/lspci.c: Likewise.
19462 * grub-core/commands/memrw.c: Likewise.
19463 * grub-core/commands/probe.c: Likewise.
19464 * grub-core/commands/search_wrap.c: Likewise.
19465 * grub-core/commands/setpci.c: Likewise.
19466 * grub-core/commands/sleep.c: Likewise.
19467 * grub-core/disk/loopback.c: Likewise.
19468 * grub-core/hello/hello.c: Likewise.
19469 * grub-core/loader/i386/bsd.c: Likewise.
19470 * grub-core/loader/xnu.c: Likewise.
19471 * grub-core/term/gfxterm.c: Likewise.
19472 * grub-core/term/serial.c: Likewise.
19473 * grub-core/tests/lib/functional_test.c: Likewise.
19474
888d1500
BC
194752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19476
19477 Multi-line quoted strings support.
19478
19479 * grub-core/script/lexer.c (append_newline): Removed.
19480 (grub_script_lexer_yywrap): Refactored.
19481 (grub_script_lexer_init): Refactored.
19482 * grub-core/script/yylex.l (yywrap): New function.
19483 (grub_lexer_resplit): New function.
19484 (grub_lexer_unput): New function.
19485 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19486 and resplit.
19487 * tests/grub_script_echo1.in: Added few more testcases.
19488
dda060dd
VS
194892010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19490
19491 * grub-core/kern/misc.c: Don't add abort alias in utils.
19492 Reported by: echoline.
19493
6556eba9
BC
194942010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19495
19496 Add missing files into "make dist" tarball for other platforms.
19497
19498 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19499 * conf/Makefile.common (dist_noinst_DATA): New variable.
19500 * conf/Makefile.extra-dist: Added missing make dist files.
19501 * grub-core/Makefile.core.def: Likewise.
19502
c8e7bf5f
VS
195032010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 Compress grub_prefix.
19506
19507 * grub-core/boot/i386/pc/lnxboot.S: Use
19508 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19509 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19510 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19511 GRUB_MACHINE_PREFIX_END. All users updated.
19512 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19513 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19514 + 0x40.
19515 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19516 * util/grub-mkimage.c (image_target_desc): Change data_end to
19517 prefix_end. All users updated.
19518
a7c00cdb
VS
195192010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19520
19521 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19522 value.
19523 (grub_openbsd_boot): Likewise.
19524 (grub_netbsd_boot): Likewise.
19525 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19526 (grub_xnu_boot): Likewise.
19527
9f915872
VS
195282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 * configure.ac: Clean LIBS variable after tests.
19531
efa1bee7
CW
195322010-09-02 Colin Watson <cjwatson@ubuntu.com>
19533
19534 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19535
61d720e5
VS
195362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19539 echo if libdevmapper will be used.
19540
ef8e0ec8
IT
195412010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19542
19543 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19544 constant for the same file.
19545
03e261d8
VS
195462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19547
19548 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19549
c2a4eba6
CW
195502010-09-02 Colin Watson <cjwatson@ubuntu.com>
19551
19552 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19553 grub-core/*.pp.
19554
9056cbf3
CW
195552010-09-02 Colin Watson <cjwatson@ubuntu.com>
19556
19557 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19558 required by the boot protocol.
19559
19560 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19561 ebp and edi members.
19562 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19563 state.ebp and state.edi.
19564 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19565 %ebp and %edi according to grub_relocator32_ebp and
19566 grub_relocator32_edi respectively.
19567 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19568 and state.edi.
19569
529cc99a
VS
195702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19571
19572 Add i386-pc-pxe image target.
19573
19574 * util/grub-mkimage.c (image_target_desc): New enum value
19575 IMAGE_I386_PC_PXE.
19576 (image_targets): New target i386-pc-pxe.
19577 (generate_image): Handle i386-pc-pxe image.
19578
9a093920
VS
195792010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19580
19581 Fix grub_pxe_scan.
19582
19583 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19584 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19585 All users updated.
19586 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19587 (grub_pxe_pxenv): Correct type.
19588
f9cefc4e
CW
195892010-09-01 Colin Watson <cjwatson@ubuntu.com>
19590
19591 * NEWS: Document most of the important changes since 1.98.
19592
4066f57f
CW
195932010-09-01 Colin Watson <cjwatson@ubuntu.com>
19594
19595 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19596 generated manual page) a little.
19597
da2891f9
CW
195982010-09-01 Colin Watson <cjwatson@ubuntu.com>
19599
19600 * docs/grub.texi: Add myself as an author.
19601
ad717fae
VS
196022010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 * Makefile.util.def (libgrub.a): Add missing sunpc.
19605 Reported by: Seth Goldberg.
19606
eefe8abd
VS
196072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19608
19609 Interrupt wrapping and code simplifications.
19610
9494ef9a
VS
19611 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19612 x86_noieee1275 which are functionaly equivalent in this case.
19613 (grub-install): Make source on each platform explicit. Enable on
19614 all noemu.
19615 * gentpl.py (x86_efi_pc): Removed group.
19616 (x86_noefi): Likewise.
19617 (i386_noefi): Likewise.
19618 (x86_noieee1275): Likewise.
19619 (i386_noieee1275): Likewise.
19620 (i386_noefi_noieee1275): Likewise.
19621 (i386_pc_qemu_coreboot): Likewise.
19622 (i386_coreboot_multiboot): Likewise.
19623 (i386_pc_coreboot_multiboot_qemu): Likewise.
19624 (x86_noefi_mips): Likewise.
19625 (noieee1275): Likewise.
19626 (ieee1275_mips): Likewise.
19627 (noemu_noieee1275): Likewise.
19628 (cmos): New group.
19629 (usb): Likewise.
19630 (videoinkernel): Likewise.
19631 (videomodules): Likewise.
eefe8abd 19632 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19633 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19634 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19635 include/grub/loader.h, include/grub/msdos_partition.h,
19636 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19637 include/grub/machine/console.h, include/grub/machine/vga.h,
19638 include/grub/machine/vbe.h, include/grub/machine/init.h,
19639 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19640 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19641 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19642 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19643 * grub-core/Makefile.core.def (kernel): Explicit the source for
19644 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19645 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19646 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19647 Use videoinkernel tag.
19648 (usb): Enable on all usb.
19649 (usbserial_common): Likewise.
19650 (usbserial_pl2303): Likewise.
19651 (usbserial_ftdi): Likewise.
19652 (uhci): Enable on all x86.
19653 (ohci): Enable on all pci.
19654 (cmostest): Enable on all CMOS.
19655 (acpi): Include commands/acpi.c on all platforms.
19656 (halt): Add relevant lib/*/halt.c.
19657 (hdparm): Enable on all pci.
19658 (lspci): Likewise.
19659 (usbtest): Enable on all usb.
19660 (ata): Enable on all pci.
19661 (ata_pthru): Likewise.
19662 (usbms): Enable on all usb.
19663 (usb_keyboard): Likewise.
19664 (font): Use tag videomodules.
19665 (bufio): Likewise.
19666 (datetime): Use tag cmos. Enable on all noemu.
19667 (mmap): Use tags common and x86.
19668 (gfxterm): Use tag videomodules.
19669 (bitmap): Likewise.
19670 (bitmap_scale): Likewise.
19671 (video_fb): Likewise.
19672 (video): Likewise.
19673 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19674 adjust padding accordingly. All users updated.
19675 (grub_ohci_transaction): Fix bad format specification.
19676 (GRUB_MOD_INIT): Add asserts for struct size.
19677 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19678 (grub_alloc_td): Likewise.
19679 (grub_free_queue): Likewise.
19680 (grub_uhci_transfer): Likewise.
19681 (grub_uhci_transaction): Fix bad format specification.
19682 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19683 (grub_usb_bulk_readwrite): Likewise.
19684 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19685 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19686 Made static.
19687 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19688 Made static.
19689 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19690 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19691 Transformed into C.
19692 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19693 Moved from here ...
19694 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19695 ... here. Transformed into C. Made static.
19696 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19697 Moved from here ...
19698 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19699 ... here. Transformed into C. Made static.
19700 * grub-core/kern/i386/pc/startup.S
19701 (grub_biosdisk_check_int13_extensions): Moved from here ...
19702 * grub-core/disk/i386/pc/biosdisk.c
19703 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19704 Made static.
19705 * grub-core/kern/i386/pc/startup.S
19706 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19707 * grub-core/disk/i386/pc/biosdisk.c
19708 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19709 Transformed into C. Made static.
19710 * grub-core/kern/i386/pc/startup.S
19711 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19712 * grub-core/disk/i386/pc/biosdisk.c
19713 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19714 Transformed into C. Made static.
19715 * grub-core/kern/i386/pc/startup.S
19716 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19717 * grub-core/disk/i386/pc/biosdisk.c
19718 (grub_biosdisk_get_diskinfo_standard): ... here.
19719 Transformed into C. Made static.
19720 * grub-core/kern/i386/pc/startup.S
19721 (grub_biosdisk_get_num_floppies): Moved from here ...
19722 * grub-core/disk/i386/pc/biosdisk.c
19723 (grub_biosdisk_get_num_floppies): ... here.
19724 Transformed into C. Made static.
19725 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19726 New function.
19727 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19728 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19729 Transformed into C. Made static.
19730 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19731 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19732 Transformed into C. Made static.
19733 * grub-core/kern/i386/ieee1275/init.c: Removed.
19734 * grub-core/kern/i386/misc.S: Likewise.
19735 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19736 Splitted from here ...
19737 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19738 Transformed into C. Made static. All users updated.
19739 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19740 Transformed into C. Made static. All users updated.
19741 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19742 Moved from here...
19743 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19744 Transformed into C. Made static. All users updated.
19745 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19746 Moved from here...
19747 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19748 Transformed into C. Made static. All users updated.
19749 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19750 Removed (replaced by C version).
19751 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19752 Moved from here...
19753 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19754 Transformed into C. Made static.
19755 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19756 Moved from here...
19757 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19758 ... here. Transformed into C.
19759 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19760 Moved from here...
19761 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19762 ... here. Transformed into C.
19763 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19764 Moved from here...
19765 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19766 ... here. Transformed into C. Made static.
19767 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19768 Moved from here...
19769 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19770 ... here. Transformed into C.
21ed554b
VS
19771 * grub-core/kern/i386/pc/startup.S
19772 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19773 * grub-core/video/i386/pc/vbe.c
19774 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19775 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19776 Moved from here...
19777 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19778 ... here. Transformed into C.
19779 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19780 Moved from here...
19781 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19782 ... here. Transformed into C.
19783 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19784 Moved from here...
19785 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19786 ... here. Transformed into C.
19787 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19788 Moved from here...
19789 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19790 ... here. Transformed into C.
19791 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19792 Moved from here...
19793 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19794 ... here. Transformed into C. Made static.
19795 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19796 Moved from here...
19797 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19798 ... here. Transformed into C. Made static.
19799 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19800 Moved from here...
19801 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19802 ... here. Transformed into C. Made static.
19803 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19804 pxe_rm_entry as third argument.
19805 (grub_bios_interrupt): New function.
19806 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19807 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19808 of calling grub_stop.
19809 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19810 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19811 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19812 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19813 * grub-core/lib/i386/halt.c: Moved from here ...
19814 * grub-core/lib/i386/halt.c: ... here.
19815 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19816 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19817 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19818 grub_stop_floppy.
19819 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19820 * include/grub/i386/coreboot/init.h: Removed.
19821 * include/grub/i386/multiboot/init.h: Likewise.
19822 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19823 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19824 * include/grub/i386/pc/int.h: New file.
19825 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19826 (grub_pxe_scan): Removed.
19827 (grub_pxe_call): Update prototype.
19828 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19829 prototypes.
19830 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19831 * include/grub/i386/qemu/init.h: Removed.
19832 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19833 noreturn.
19834 (grub_halt): Likewise.
19835 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19836 (grub_reboot): Likewise.
19837 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19838 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19839 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19840
215dd471
RM
198412010-08-30 Robert Millan <rmh@gnu.org>
19842
19843 * NEWS: Document addition of ZFS support in `grub-install' and
19844 `grub-mkconfig'.
19845
ebd65b82
BC
198462010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19847
19848 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19849 dprintf output.
19850
11721d19
VS
198512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19852
19853 Remove leftover embedding of font objects.
19854
19855 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19856 * util/grub-install.in (font): Removed.
19857 * util/grub-mkimage.c (generate_image): Remove font support. All users
19858 updated.
19859
37837d4e
VS
198602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 Remove leftover embedding of font objects.
19863
19864 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19865 * util/grub-install.in (font): Removed.
19866 * util/grub-mkimage.c (generate_image): Remove font support. All users
19867 updated.
19868
b4c1aae0
VS
198692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19872 Reported by: Ian Turner
b4c1aae0 19873
8920a08d
VS
198742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19877 timeout to avoid indefinite boot stalling.
19878
f21db033
VS
198792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19882 (grub_env_write_color_highlight): Likewise.
19883
9a9de209
VS
198842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * grub-core/normal/term.c (print_more): Return to normal and not
19887 to standard state after printing "---MORE---".
19888
3dca01d7
VS
198892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19890
19891 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19892 Mask out the bit 0x80 since it has other meaning that specifiing color.
19893
0b986c40
VS
198942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19895
19896 New relocator. Allows for more kernel support and more straightforward
19897 loader writing.
19898
19899 * Makefile.am (BOOTTARGET): New variable.
19900 (QEMU32): Likewise.
19901 (linux.init.x86_64): New target.
19902 (linux.init.i386): Likewise.
19903 (multiboot.elf): Likewise.
19904 (kfreebsd.elf): Likewise.
19905 (kfreebsd.aout): Likewise.
19906 (pc-chainloader.elf): Likewise.
19907 (pc-chainloader.bin): Likewise.
19908 (ntldr.elf): Likewise.
19909 (ntldr.bin): Likewise.
19910 (multiboot2.elf): Likewise.
19911 (kfreebsd.init.x86_64): Likewise.
19912 (kfreebsd.init.i386): Likewise.
19913 (knetbsd.init.i386): Likewise.
19914 (kopenbsd.init.i386): Likewise.
19915 (knetbsd.init.x86_64): Likewise.
19916 (kopenbsd.init.x86_64): Likewise.
19917 (linux-initramfs.i386): Likewise.
19918 (linux-initramfs.x86_64): Likewise.
19919 (kfreebsd-mfsroot.i386.img): Likewise.
19920 (knetbsd.image.i386): Likewise.
19921 (kopenbsd.image.i386): Likewise.
19922 (kopenbsd.image.x86_64): Likewise.
19923 (knetbsd.miniroot-image.i386.img): Likewise.
19924 (kfreebsd-mfsroot.x86_64.img): Likewise.
19925 (knetbsd.image.x86_64): Likewise.
19926 (knetbsd.miniroot-image.x86_64.img): Likewise.
19927 (kfreebsd-mfsroot.i386.gz): Likewise.
19928 (bootcheck-kfreebsd-i386): Likewise.
19929 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19930 (bootcheck-kfreebsd-x86_64): Likewise.
19931 (knetbsd.miniroot-image.i386.gz): Likewise.
19932 (bootcheck-knetbsd-i386): Likewise.
19933 (bootcheck-kopenbsd-i386): Likewise.
19934 (bootcheck-kopenbsd-x86_64): Likewise.
19935 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19936 (bootcheck-knetbsd-x86_64): Likewise.
19937 (bootcheck-linux-i386): Likewise.
19938 (bootcheck-linux-x86_64): Likewise.
19939 (bootcheck-linux16-i386): Likewise.
19940 (bootcheck-linux16-x86_64): Likewise.
19941 (bootcheck-multiboot): Likewise.
19942 (bootcheck-multiboot2): Likewise.
19943 (bootcheck-kfreebsd-aout): Likewise.
19944 (bootcheck-pc-chainloader): Likewise.
19945 (bootcheck-ntldr): Likewise.
19946 (CLEANFILES): Add new targets.
19947 (BOOTCHECKS): New variable.
19948 (.PHONY): Add bootchecks.
19949 (SUCCESSFUL_BOOT_STRING): New variable.
19950 (BOOTCHECK_TIMEOUT): Likewise.
19951 (bootcheck): New target
19952 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19953 * configure.ac: Correct efiemu excuse.
19954 * docs/grub.texi (Supported kernels): New chapter.
19955 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19956 include/grub/mm_private.h. Simplify inclusion of
19957 include/grub/boot.h, include/grub/loader.h
19958 and include/grub/msdos_partition.h
19959 (KERNEL_HEADER_FILES) [i386_coreboot]:
19960 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19961 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19962 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19963 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19964 include/grub/machine/loader.h.
19965 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19966 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19967 extra_dist.
19968 (pci.mod): Enable on i386-multiboot.
19969 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19970 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19971 i386-qemu.
19972 (relocator.mod): Rewritten.
19973 (aout.mod): Enable on all x86.
19974 (bsd.mod): Likewise.
19975 (ntldr.mod): New module.
19976 (linux.mod): Use loader/i386/linux.c on all x86.
19977 (xnu.mod): Enable on all x86.
19978 (vga_text.mod): disable on EFI and QEMU.
19979 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19980 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19981 * grub-core/efiemu/loadcore.c: Likewise.
19982 * grub-core/efiemu/main.c: Likewise.
19983 (grub_efiemu_exit_boot_services): Removed.
19984 (grub_efiemu_finish_boot_services): Likewise.
19985 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19986 function.
19987 * grub-core/efiemu/i386/nocfgtables.c: New file.
19988 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19989 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19990 (grub_efi_finish_boot_services): Moved from here ...
19991 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19992 Fille finish memory map and related data.
19993 (finish_mmap_buf): New variable.
19994 (grub_efi_uintn_t finish_mmap_size): Likewise.
19995 (grub_efi_uintn_t finish_key): Likewise.
19996 (grub_efi_uintn_t finish_desc_size): Likewise.
19997 (grub_efi_uint32_t finish_desc_version): Likewise.
19998 (grub_efi_is_finished): Likewise.
19999 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20000 finished.
20001 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20002 (grub_elf64_phdr_iterate): Likewise.
20003 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20004 (grub_os_area_size): Likewise.
20005 (grub_machine_init): Don't reserve os area.
20006 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20007 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20008 * grub-core/kern/i386/loader.S: Removed.
20009 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20010 (grub_os_area_size): Likewise.
20011 (grub_machine_init): Don't reserve os area.
20012 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20013 Don't call grub_dl_unload_all.
20014 Don't include loader.S.
20015 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20016 Declare the memory after _end as available.
20017 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20018 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20019 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20020 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20021 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20022 * include/grub/mm_private.h (grub_mm_header): ... here.
20023 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20024 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20025 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20026 (grub_mm_region): ..here. Removed addr. Added pre_size.
20027 All users updated.
20028 * grub-core/kern/mm.c (base): Renamed to ...
20029 (grub_mm_base): ... this. Made global.
20030 (grub_real_malloc): Alloc from end of region.
20031 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20032 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20033 * grub-core/kern/powerpc/cache_flush.S: ... here.
20034 * grub-core/lib/efi/relocator.c: New file.
20035 * grub-core/lib/i386/relocator.c: Rewritten.
20036 * grub-core/lib/i386/relocator16.S: New file.
20037 * grub-core/lib/i386/relocator32.S: Likewise.
20038 * grub-core/lib/i386/relocator64.S: Likewise.
20039 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20040 * grub-core/lib/i386/relocator_common.S: New file.
20041 * grub-core/lib/ieee1275/relocator.c: Likewise.
20042 * grub-core/lib/mips/relocator.c: Rewritten.
20043 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20044 stylistic adjustments.
20045 * grub-core/lib/powerpc/relocator.c: New file.
20046 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20047 * grub-core/lib/relocator.c: Rewritten.
20048 * grub-core/lib/x86_64/relocator_asm.S: New file.
20049 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20050 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20051 (bsd_tag): New struct.
20052 (tags): New variable.
20053 (tags_last): Likewise.
20054 (netbsd_module): New struct.
20055 (netbsd_mods): New variable.
20056 (netbsd_mods_last): Likewise.
20057 (openbsd_opts): New parameter "serial".
20058 (OPENBSD_SERIAL_ARG): New definition.
20059 (netbsd_opts): New parameter "serial".
20060 (NETBSD_SERIAL_ARG): New definition.
20061 (grub_freebsd_add_meta): Reorganised into ...
20062 (grub_bsd_add_meta): ...this. All users updated.
20063 (grub_freebsd_add_mmap): Reorganised into ...
20064 (generate_e820_mmap): ...this...
20065 (grub_bsd_add_mmap): ...and this. All users updated.
20066 (grub_freebsd_list_modules): Use tags.
20067 (grub_netbsd_add_meta_module): New function.
20068 (grub_netbsd_list_modules): Likewise.
20069 (grub_freebsd_boot): Use relocator and finish EFI.
20070 (grub_openbsd_boot): Likewise.
20071 (grub_netbsd_setup_video): New function.
20072 (grub_netbsd_add_modules): Likewise.
20073 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20074 and finish EFI.
20075 (grub_bsd_unload): Unload tags.
20076 (grub_bsd_load_aout): Use relocator.
20077 (grub_bsd_elf32_size_hook): New function.
20078 (grub_bsd_elf32_hook): Use relocator.
20079 (grub_bsd_elf64_size_hook): New function.
20080 (grub_bsd_elf64_hook): Use relocator.
20081 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20082 (grub_bsd_load): Zero-out openbsd_ramdisk.
20083 (grub_bsd_load): Use relocator.
20084 (grub_cmd_openbsd): Support serial.
20085 (grub_cmd_netbsd): Support modules.
20086 (grub_cmd_freebsd_module): Use relocator.
20087 (grub_netbsd_module_load): New function.
20088 (grub_cmd_netbsd_module): Likewise.
20089 (grub_cmd_openbsd_ramdisk): Likewise.
20090 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20091 kopenbsd_ramdisk.
20092 (GRUB_MOD_FINI): Unregister new commands.
20093 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20094 (grub_freebsd_load_elfmodule_obj): Use relocator.
20095 (grub_freebsd_load_elfmodule): Likewise.
20096 (grub_freebsd_load_elf_meta): Likewise.
20097 (grub_netbsd_load_elf_meta): New function.
20098 (grub_openbsd_find_ramdisk): Likewise.
20099 * grub-core/loader/i386/bsd_helper.S: Removed.
20100 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20101 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20102 * grub-core/loader/i386/efi/linux.c: Likewise.
20103 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20104 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20105 (DEFAULT_VIDEO_MODE): Likewise.
20106 (real_mode_target): New variable.
20107 (prot_mode_target): Likewise.
20108 (initrd_mem_target): Likewise.
20109 (relocator): Likewise.
20110 (efi_mmap_buf): Likewise.
20111 (efi_mmap_size): Likewise.
20112 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20113 (free_pages): Use relocator.
20114 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20115 (grub_linux_setup_video): Return error.
20116 (grub_linux_trampoline_start): Removed.
20117 (grub_linux_trampoline_end): Likewise.
20118 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20119 andd video parameters depending on firmware.
20120 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20121 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20122 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20123 (grub_cmd_initrd): Use relocator.
20124 * grub-core/loader/i386/linux_trampoline.S: Removed.
20125 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20126 (elf_sec_entsize): Likewise.
20127 (elf_sec_shstrndx): Likewise.
20128 (elf_sections): Likewise.
20129 (grub_multiboot_load): Use relocator.
20130 (grub_multiboot_get_mbi_size): Account for sections.
20131 (grub_multiboot_make_mbi): Use relocator and support sections.
20132 (grub_multiboot_add_elfsyms): New function.
20133 (grub_multiboot_free_mbi): Free sections.
20134 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20135 (grub_linux_real_target): Likewise.
20136 (grub_linux_real_chunk): Likewise.
20137 (grub_linux16_prot_size): Likewise.
20138 (grub_linux16_boot): Use relocator.
20139 (grub_linux_unload): Unload relocator.
20140 (grub_cmd_linux): Use relocator.
20141 (grub_cmd_initrd): Likewise.
20142 * grub-core/loader/i386/pc/ntldr.c: New file.
20143 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
20144 Don't try to guess CPU frequency.
20145 (grub_xnu_set_video): Stretch bitmap.
20146 (grub_xnu_boot): Use relocator.
20147 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
20148 (grub_linux_unload): Free relocator.
20149 (grub_linux_load32): Use relocator.
20150 (grub_linux_load64): Likewise.
20151 (grub_cmd_initrd): Likewise.
20152 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
20153 (grub_multiboot_unload): Unload relocator.
20154 (grub_cmd_multiboot): Use relocator.
20155 (grub_cmd_module): Likewise.
20156 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
20157 Use relocator and support sections.
20158 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
20159 (elf_sec_entsize): Likewise.
20160 (elf_sec_shstrndx): Likewise.
20161 (elf_sections): Likewise.
20162 (grub_multiboot_load): Use relocator.
20163 (grub_multiboot_get_mbi_size): Account for sections.
20164 (grub_multiboot_make_mbi): Use relocator and support sections.
20165 (grub_multiboot_add_elfsyms): New function.
20166 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
20167 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
20168 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
20169 Prototype changed. All users updated.
20170 (grub_xnu_align_heap): Simplified.
20171 (grub_xnu_writetree_toheap): Likewise.
20172 (grub_xnu_unload): Unload relocator.
20173 (grub_cmd_xnu_kernel): Use relocator.
20174 (grub_cmd_xnu_kernel64): Likewise.
20175 (grub_xnu_register_memory): Simplified.
20176 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20177 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20178 EFI is finished.
20179 (grub_console_checkkey): Likewise.
20180 (grub_console_getkey): Likewise.
20181 (grub_console_getwh): Likewise.
20182 (grub_console_getxy): Likewise.
20183 (grub_console_gotoxy): Likewise.
20184 (grub_console_cls): Likewise.
20185 (grub_console_setcolorstate): Likewise.
20186 (grub_console_setcursor): Likewise.
20187 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20188 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20189 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20190 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20191 * grub-core/tests/boot/kernel-8086.S: Likewise.
20192 * grub-core/tests/boot/kernel-i386.S: Likewise.
20193 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20194 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20195 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20196 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20197 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20198 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20199 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20200 * grub-core/tests/boot/linux.cfg: Likewise.
20201 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20202 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20203 * grub-core/tests/boot/linux16.cfg: Likewise.
20204 * grub-core/tests/boot/multiboot.cfg: Likewise.
20205 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20206 * grub-core/tests/boot/ntldr.cfg: Likewise.
20207 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20208 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20209 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20210 New definition.
20211 * include/grub/dl.h (grub_dl_unload_all): Removed.
20212 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20213 (grub_efi_finish_boot_services): Change prototype.
20214 (grub_efi_is_finished): New variable.
20215 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20216 Changed prototype.
20217 (grub_efiemu_finish_boot_services): Removed.
20218 (grub_machine_efiemu_init_tables): New prototype.
20219 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20220 (grub_elf64_phdr_iterate): Likewise.
20221 * include/grub/i386/bsd.h: Include relocator.h.
20222 (freebsd_tag_header): New struct.
20223 (grub_openbsd_bios_mmap): Removed.
20224 (grub_unix_real_boot): Removed.
20225 (grub_freebsd_load_elfmodule32): Changed prototype.
20226 (grub_freebsd_load_elfmodule_obj64): Likewise.
20227 (grub_freebsd_load_elf_meta32): Likewise.
20228 (grub_freebsd_load_elf_meta64): Likewise.
20229 (grub_freebsd_add_meta): Removed.
20230 (grub_netbsd_load_elf_meta32): New prototype.
20231 (grub_netbsd_load_elf_meta64): Likewise.
20232 (grub_bsd_add_meta): Likewise.
20233 (grub_openbsd_ramdisk_descriptor): New struct.
20234 (grub_openbsd_find_ramdisk32): New prototype.
20235 (grub_openbsd_find_ramdisk64): Likewise.
20236 * include/grub/i386/coreboot/loader.h: Removed.
20237 * include/grub/i386/efi/loader.h: Likewise.
20238 * include/grub/i386/ieee1275/loader.h: Likewise.
20239 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20240 to grub_uint32_t.
20241 * include/grub/i386/loader.h: Removed.
20242 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20243 value.
20244 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20245 (grub_phys_addr_t): New type.
20246 (grub_vtop): New inline function.
20247 (grub_map_memory): Likewise.
20248 (grub_unmap_memory): Likewise.
20249 * include/grub/i386/multiboot/loader.h: Removed.
20250 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20251 (NETBSD_BTINFO_CONSOLE): New definition.
20252 (NETBSD_BTINFO_SYMTAB): Likewise.
20253 (NETBSD_BTINFO_MODULES): Likewise.
20254 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20255 (grub_netbsd_bootinfo): New struct.
20256 (grub_netbsd_btinfo_common): Use explicit bitsize.
20257 (grub_netbsd_btinfo_mmap_entry): Removed.
20258 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20259 (grub_netbsd_btinfo_bootdisk): New struct.
20260 (grub_netbsd_btinfo_symtab): Likewise.
20261 (grub_netbsd_btinfo_serial): Likewise.
20262 (grub_netbsd_btinfo_modules): Likewise.
20263 (grub_netbsd_btinfo_framebuf): Likewise.
20264 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20265 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20266 Likewise.
20267 (grub_openbsd_bootargs): Use explicit bitsize.
20268 (grub_openbsd_bootarg_console): New struct.
20269 (GRUB_OPENBSD_COM_MAJOR): New definition.
20270 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20271 * include/grub/i386/pc/efiemu.h: Removed.
20272 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20273 * include/grub/i386/qemu/loader.h: Removed.
20274 * include/grub/i386/relocator.h: Rewritten.
20275 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20276 * include/grub/mips/memory.h: New file.
20277 * include/grub/mips/multiboot.h: Rewritten.
20278 * include/grub/mips/relocator.h: Rewritten.
20279 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20280 (grub_vtop): New function.
20281 (grub_map_memory): Likewise.
20282 (grub_unmap_memory): Likewise.
20283 * include/grub/misc.h (ALIGN_DOWN): New definition.
20284 * include/grub/mm.h (grub_mm_check_real): New proto.
20285 (GRUB_MM_CHECK): New definition.
20286 * include/grub/mm_private.h: New file.
20287 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20288 (grub_multiboot_get_mbi_size): Removed.
20289 (grub_multiboot_make_mbi): Change prottype.
20290 (grub_multiboot_set_accepts_video): New proto.
20291 (grub_multiboot_add_elfsyms): Likewise.
20292 (grub_multiboot_payload_eip): New variable.
20293 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20294 New prototype.
20295 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20296 New definition.
20297 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20298 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20299 * include/grub/powerpc/ieee1275/loader.h: Removed.
20300 * include/grub/powerpc/memory.h: New file.
20301 * include/grub/powerpc/relocator.h: Likewise.
20302 * include/grub/relocator.h: Likewise.
20303 * include/grub/relocator_private.h: Likewise.
20304 * include/grub/sparc64/ieee1275/loader.h: Removed.
20305 * include/grub/x86_64/memory.h: New file.
20306 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20307 (grub_xnu_heap_malloc): Likewise.
20308 (grub_xnu_heap_real_start): Removed.
20309 (grub_xnu_heap_start): Likewise.
20310 (grub_xnu_relocator): New variable.
20311 (grub_xnu_heap_target_start): Likewise.
20312 * tests/util/grub-shell.in: Support non-pc.
20313 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20314
5303b85d
VS
203152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20318 on malloc error.
20319 (grub_bidi_logical_to_visual): Check that malloc succeded.
20320 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20321 puts.
20322 (grub_xputs_normal): Likewise.
20323
d768d159
VS
203242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20325
20326 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20327 extra_dist.
20328
203292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20330
20331 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20332
5bf84df4
VS
203332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20336
3626810e
VS
203372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20338
20339 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20340 dprintf.
20341
a7363f53
BC
203422010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20343
20344 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20345
902f75f6
VS
203462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 * grub-core/normal/term.c (print_more): Fix a memory leak.
20349 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20350 (grub_xputs_normal): Likewise.
20351
3c707967
VS
203522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20355 the begining of the string
20356
2053cc07
VS
203572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 * grub-core/script/script.c (grub_script_parse): Free parsed on
20360 failure.
20361
46422ebf
VS
203622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20365 on failure.
20366
9e0fa3f6
VS
203672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20368
20369 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20370 return.
20371
3393cf16
VS
203722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20373
20374 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20375 (scroll_up): Fix a memory leak.
20376
b17540cb
VS
203772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20378
20379 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20380 errors.
20381
67140446
VS
203822010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 Handle USB pendrives exposed as floppies.
20385
20386 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20387 floppy.
20388 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20389 Check for partitions on all devices.
20390
e35e46fc
VS
203912010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20392
20393 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20394 (readkey): Likewise.
20395
d24c6190
BC
203962010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20397
20398 Multiple variable names support to "export" command.
20399
20400 * normal/context.c (grub_cmd_export): "export" command supports
20401 multiple variable names.
20402
04ddcc6a
ST
204032010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20404
20405 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20406 --target=drive output to Mach device name.
20407
0c8b61d8
BC
204082010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20409
20410 New Automake based build system for GRUB.
20411
20412 * ABOUT-NLS: New file.
20413 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20414 in Makefile.util.def file.
20415 * Makefile.util.def: New file. Autogen build definitions file for
20416 GRUB host utils.
20417 * conf/Makefile.common: New file. Common variables for GRUB host
20418 utils and target modules.
20419 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20420 * docs/Makefile.am: New file. Automake file for docs.
20421 * gentpl.py: New file. Python script to generate Autogen
20422 template.
20423 * grub-core/Makefile.am: New file. GRUB target modules' rules
20424 that doesn't fit in Makefile.core.def file.
20425 * grub-core/Makefile.core.def: New file. Autogen build
20426 definitions file for GRUB target modules.
20427 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20428 specific setjmp.S file.
20429 * po/Makefile.am: New file.
20430
20431 * .bzrignore: New ignores.
20432 * INSTALL: New requirements, without Ruby.
20433 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20434 * autogen.sh: Updated to invoke autogen as necessary.
20435 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20436 and defines for Automake conditionals.
20437 * geninit.sh: Refactoring.
20438
20439 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20440 necessary.
20441 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20442 New prototype.
20443
20444 * include/grub/test.h: Fix functional test modules' naming.
20445 * grub-core/tests/example_functional_test.c: Fix test module name.
20446
20447 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20448 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20449 * util/grub-editenv.c: Likewise.
20450 * util/grub-fstest.c: Likewise.
20451 * util/grub-mkdevicemap.c: Likewise.
20452 * util/grub-mkfont.c: Likewise.
20453 * util/grub-mkimage.c: Likewise.
20454 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20455 * util/grub-probe.c: Likewise.
20456 * util/grub-script-check.c: Likewise.
20457 * util/i386/pc/grub-setup.c: Likewise.
20458 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20459
20460 * tests/util/grub-shell.in: Fix override directory path.
20461 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20462 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20463
20464 * util/lvm.c: Update #includes.
20465 * util/raid.c: Likewise.
20466 * util/resolve.c: Likewise.
20467 * grub-core/bus/emu/pci.c: Likewise.
20468 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20469 * grub-core/lib/posix_wrap/string.h: Likewise.
20470 * grub-core/kern/emu/main.c: Likewise.
20471
20472 * grub-core/gensymlist.sh: New file. Script for generating kernel
20473 symbols file.
20474 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20475
20476 * grub-core/gentrigtables.c: Fix unused variable warnings.
20477
20478 * Makefile.in: Removed.
20479 * conf/any-emu.rmk: Removed.
20480 * conf/common.rmk: Removed.
20481 * conf/i386-coreboot.rmk: Removed.
20482 * conf/i386-efi.rmk: Removed.
20483 * conf/i386-ieee1275.rmk: Removed.
20484 * conf/i386-multiboot.rmk: Removed.
20485 * conf/i386-pc.rmk: Removed.
20486 * conf/i386-qemu.rmk: Removed.
20487 * conf/i386.rmk: Removed.
20488 * conf/mips-yeeloong.rmk: Removed.
20489 * conf/mips.rmk: Removed.
20490 * conf/powerpc-ieee1275.rmk: Removed.
20491 * conf/sparc64-ieee1275.rmk: Removed.
20492 * conf/tests.rmk: Removed.
20493 * conf/x86-efi.rmk: Removed.
20494 * conf/x86_64-efi.rmk: Removed.
20495 * gendistlist.sh: Removed.
20496 * geninitheader.sh: Removed.
20497 * genkernsyms.sh.in: Removed.
20498 * genmk.rb: Removed.
20499 * gensymlist.sh.in: Removed.
20500 * mkinstalldirs: Removed.
20501 * boot: Moved ...
20502 * grub-core/boot: ... to here.
20503 * bus: Moved ...
20504 * grub-core/bus: ... to here.
20505 * commands: Moved ...
20506 * grub-core/commands: ... to here.
20507 * disk: Moved ...
20508 * grub-core/disk: ... to here.
20509 * efiemu: Moved ...
20510 * grub-core/efiemu: ... to here.
20511 * font: Moved ...
20512 * grub-core/font: ... to here.
20513 * fs: Moved ...
20514 * grub-core/fs: ... to here.
20515 * gencmdlist.sh: Moved ...
20516 * grub-core/gencmdlist.sh: ... to here.
20517 * genemuinit.sh: Moved ...
20518 * grub-core/genemuinit.sh: ... to here.
20519 * genemuinitheader.sh: Moved ...
20520 * grub-core/genemuinitheader.sh: ... to here.
20521 * genfslist.sh: Moved ...
20522 * grub-core/genfslist.sh: ... to here.
20523 * genhandlerlist.sh: Moved ...
20524 * grub-core/genhandlerlist.sh: ... to here.
20525 * genmoddep.awk: Moved ...
20526 * grub-core/genmoddep.awk: ... to here.
20527 * genmodsrc.sh: Moved ...
20528 * grub-core/genmodsrc.sh: ... to here.
20529 * genpartmaplist.sh: Moved ...
20530 * grub-core/genpartmaplist.sh: ... to here.
20531 * genparttoollist.sh: Moved ...
20532 * grub-core/genparttoollist.sh: ... to here.
20533 * genterminallist.sh: Moved ...
20534 * grub-core/genterminallist.sh: ... to here.
20535 * gentrigtables.c: Moved ...
20536 * grub-core/gentrigtables.c: ... to here.
20537 * genvideolist.sh: Moved ...
20538 * grub-core/genvideolist.sh: ... to here.
20539 * gettext: Moved ...
20540 * grub-core/gettext: ... to here.
20541 * gfxmenu: Moved ...
20542 * grub-core/gfxmenu: ... to here.
20543 * gnulib: Moved ...
20544 * grub-core/gnulib: ... to here.
20545 * hello: Moved ...
20546 * grub-core/hello: ... to here.
20547 * hook: Moved ...
20548 * grub-core/hook: ... to here.
20549 * io: Moved ...
20550 * grub-core/io: ... to here.
20551 * kern: Moved ...
20552 * grub-core/kern: ... to here.
20553 * lib: Moved ...
20554 * grub-core/lib: ... to here.
20555 * loader: Moved ...
20556 * grub-core/loader: ... to here.
20557 * mmap: Moved ...
20558 * grub-core/mmap: ... to here.
20559 * normal: Moved ...
20560 * grub-core/normal: ... to here.
20561 * partmap: Moved ...
20562 * grub-core/partmap: ... to here.
20563 * parttool: Moved ...
20564 * grub-core/parttool: ... to here.
20565 * script: Moved ...
20566 * grub-core/script: ... to here.
20567 * term: Moved ...
20568 * grub-core/term: ... to here
20569 * tests/example_functional_test.c: Moved ...
20570 * grub-core/tests/example_functional_test.c: ... to here.
20571 * tests/lib/functional_test.c: Moved ...
20572 * grub-core/tests/lib/functional_test.c: ... to here.
20573 * tests/lib/test.c: Moved ...
20574 * grub-core/tests/lib/test.c: ... to here.
20575 * video: Moved ...
20576 * grub-core/video: ... to here.
20577
645586e6
BC
205782010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20579
20580 Replace --enable-grub-emu-modules with grub-emu-lite.
20581
20582 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20583 cache.S.
20584
20585 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20586 * kern/emu/full.c: New file. For grub-emu specific initialization.
20587 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20588 * kern/emu/main.c: Call initialization function grub_emu_init.
20589
20590 * Makefile.in: Include grub-emu-lite in install.
20591 * commands/parttool.c: Use grub_no_autoload to differentiate
20592 between grub-emu and grub-emu-lite.
20593 * include/grub/misc.h: New variable grub_no_autoload.
20594
20595 * conf/any-emu.rmk: New rules for grub-emu-lite.
20596 * configure.ac: Remove --enable-grub-emu-modules.
20597 * genmk.rb: Cleanup unnecessary rules.
20598 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20599
20600 * normal/main.c: Don't load list files on grub-emu-lite.
20601 * util/misc.c (grub_arch_sync_caches): Removed.
20602
f86a4030
CW
206032010-08-23 Colin Watson <cjwatson@ubuntu.com>
20604
20605 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20606 grub-mkimage rather than grub-mkelfimage.
20607 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20608
06776944
VS
206092010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20610
20611 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20612 a key after CapsLock or NumLock. It's just a qemu bug.
20613
df262419
VS
206142010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20615
20616 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20617 needed by libusb wrapper.
20618
b40ea81b
ST
206192010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20620
20621 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20622
dee50575
VS
206232010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20626 --nounzip is passed.
20627
fb1d7b79
VS
206282010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 USB hotunplugging and USB serial support.
20631
20632 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20633 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20634 (grub_uhci_transfer): Respect timeout and set *actual.
20635 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20636 non-standard length.
20637 (grub_usb_device_attach): Autoload modules.
20638 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20639 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20640 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20641 users updated.
20642 (grub_usb_add_hub): Fill nports and children.
20643 (attach_root_port): Receive hub instead of controller.
20644 All users updated. Fill hub->devices.
20645 (grub_usb_root_hub): Allocate hub->devices.
20646 (detach_device): New function.
20647 (poll_nonroot_hub): Fill children and detach devices.
20648 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20649 actual arguments. All users updated.
20650 (grub_usb_bulk_read_extended): New function.
20651 * bus/usb/serial/common.c: New file.
20652 * bus/usb/serial/ftdi.c: Likewise.
20653 * bus/usb/serial/pl2303.c: Likewise.
20654 * commands/terminal.c (handle_command): Support wildcard.
20655 * commands/usbtest.c: Output "Unknown" instead of empty string.
20656 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20657 (usbserial_common_mod_SOURCES): New variable.
20658 (usbserial_common_mod_CFLAGS): Likewise.
20659 (usbserial_common_mod_LDFLAGS): Likewise.
20660 (pkglib_MODULES): Add usbserial_pl2303.mod.
20661 (usbserial_pl2303_mod_SOURCES): New variable.
20662 (usbserial_pl2303_mod_CFLAGS): Likewise.
20663 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20664 (pkglib_MODULES): Add usbserial_ftdi.mod.
20665 (usbserial_ftdi_mod_SOURCES): New variable.
20666 (usbserial_ftdi_mod_CFLAGS): Likewise.
20667 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20668 (pkglib_MODULES): Add serial.mod.
20669 (serial_mod_SOURCES): New variable.
20670 (serial_mod_CFLAGS): Likewise.
20671 (serial_mod_LDFLAGS): Likewise.
20672 * conf/i386-pc.rmk: Likewise.
20673 * conf/mips-yeeloong.rmk: Likewise.
20674 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20675 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20676 * disk/usbms.c (first_available_slot): New variable.
20677 (grub_usbms_attach): Don't reuse free slots due to potential cache
20678 problems.
20679 * include/grub/serial.h: Moved to ..
20680 * include/grub/ns8250.h: ...this.
20681 * include/grub/serial.h: New file.
20682 * include/grub/term.h (grub_term_poll_usb): New variable.
20683 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20684 readkey. All users updated.
20685 (grub_terminfo_output_state): Pass term to put.
20686 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20687 (grub_usb_controller_dev): Add timeout and actual arguments to
20688 transfer. All users updated.
20689 (grub_usb_interface): New field detach_data.
20690 (grub_usb_device): New fields children and nports.
20691 (grub_usb_ep_type_t): New type.
20692 (grub_usb_get_ep_type): New function.
20693 (grub_usb_bulk_read_extended): Likewise.
20694 * include/grub/usbdesc.h (grub_usb_desc): New type.
20695 * include/grub/usbserial.h: New file.
20696 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20697 * kern/term.c (grub_term_poll_usb): New variable.
20698 (grub_getkey): Call grub_term_poll_usb if set.
20699 (grub_checkkey): Likewise.
20700 (grub_getkeystatus): Likewise.
20701 * term/serial.c: Moved controller-specific parts to ...
20702 * term/ns8250.c: ... here.
20703 * term/serial.c: Mostly rewritten.
20704 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20705 according to spec.
20706
21a313de
RM
207072010-08-20 Robert Millan <rmh@gnu.org>
20708
20709 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20710 a separate module and maybe other interesting combinations.
20711
20712 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20713 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20714 (kfreebsd_entry): Add generic filesystem module load routine.
20715 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20716
63c734a6
CW
207172010-08-20 Colin Watson <cjwatson@ubuntu.com>
20718
20719 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20720 "numcenter" (I misunderstood the purpose of this entry).
20721 * docs/grub.texi (sendkey): Likewise.
20722
c4d16542
CW
207232010-08-20 Colin Watson <cjwatson@ubuntu.com>
20724
20725 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20726 status flag options; simply omitting the option is equivalent and
20727 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20728 (keysym_table): Rename "num5numlock" to "numlock".
20729 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20730 can uniformly say that only the last of multiple `sendkey'
20731 invocations has any effect.
20732 * docs/grub.texi (sendkey): New section.
20733
93541d66
CW
207342010-08-19 Colin Watson <cjwatson@ubuntu.com>
20735
20736 * commands/i386/pc/sendkey.c (options): Fix three typos.
20737
b4ece5e1
VS
207382010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20739
20740 Implement sendkey support.
20741
20742 * commands/i386/pc/sendkey.c: New file.
20743 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20744 (sendkey_mod_SOURCES): New variable.
20745 (sendkey_mod_CFLAGS): Likewise.
20746 (sendkey_mod_LDFLAGS): Likewise.
20747
51f1f5af
CW
207482010-08-18 Colin Watson <cjwatson@ubuntu.com>
20749
20750 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20751 fix warnings from Autoconf.
20752
9da94e05
CW
207532010-08-18 Colin Watson <cjwatson@ubuntu.com>
20754
20755 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20756 to avoid false positives with some assemblers that output things
20757 like "someprefix_func" as part of their output.
20758
729a0f2e
RM
207592010-08-15 Robert Millan <rmh@gnu.org>
20760
20761 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20762 errors.
20763 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20764 grub_get_libzfs_handle() errors.
20765
f3710e08
RM
207662010-08-14 Robert Millan <rmh@gnu.org>
20767
20768 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20769 filesystem is not ZFS.
20770
7a3c13de
BC
207712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20772
20773 Fix for misspelled color names defaulting to black/black (bug
20774 reported by Doug Nazar)
20775
20776 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20777 status to prototype.
20778 * normal/color.c (grub_parse_color_name_pair): Return failure
20779 status.
20780 (grub_env_write_color_normal): Ignore bad color names.
20781 (grub_env_write_color_highlight): Likewise.
20782 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20783
ab8ba50d
BC
207842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20785
20786 "shift" command support to GRUB script.
20787
20788 * include/grub/script_sh.h (grub_script_shift): New prototype.
20789 * script/execute.c (grub_script_shift): New function.
20790 * script/main.c (grub_script_init): Register shift command.
20791 (grub_script_fini): Unregister shift command.
20792 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20793
20794 * tests/grub_script_shift.in: New testcase.
20795 * conf/tests.rmk: Rules for new testcase.
20796
4d61999e
BC
207972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20798
20799 "continue" command support to GRUB script.
20800
20801 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20802 (grub_script_break): Continue support.
20803 * script/main.c (grub_script_init): Register continue command.
20804 (grub_script_fini): Unregister continue command.
20805
20806 * tests/grub_script_continue.in: New testcase.
20807 * conf/tests.rmk: Rules for new testcase.
20808
4df51e00
BC
208092010-08-12 BVK Chaitanya <bvk@dbook>
20810
20811 "break" command support to GRUB script.
20812
20813 * conf/common.rmk: Rule updates to grub-script-check.
20814 * include/grub/misc.h (grub_min): New function.
20815 * include/grub/script_sh.h (grub_script_init): New prototype.
20816 (grub_script_fini): New prototype.
20817 (grub_script_break): New prototype.
20818 * script/main.c (grub_script_init): New function.
20819 (grub_script_fini): New function.
20820 * script/execute.c (grub_script_break): New function.
20821 * normal/main.c: Calls to grub_script_{init,fini}.
20822 * util/grub-script-check.c (grub_script_break): New function.
20823
20824 * tests/grub_script_break.in: New testcase.
20825 * conf/tests.rmk: Rules for new test case.
20826
f12c8420
BC
208272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20828
20829 Function parameters support to GRUB script.
20830
20831 * script/yylex.l (VARIABLE): Regular expression update.
20832 * script/function.c (grub_script_function_call): Moved ...
20833 * script/execute.c (grub_script_function_call): ... to here.
20834 (grub_script_execute_arglist_to_argv): Removed.
20835 (grub_script_arglist_to_argv): New function.
20836 * script/argv.c: New file.
20837 (grub_script_argv_free): New function.
20838 (grub_script_argv_next): Likewise.
20839 (grub_script_argv_append): Likewise.
20840 (grub_script_argv_split_append): Likewise.
20841 * include/grub/script_sh.h (grub_script_argv): New struct.
20842 (grub_script_argv_free): New function.
20843 (grub_script_argv_next): Likewise.
20844 (grub_script_argv_append): Likewise.
20845 (grub_script_argv_split_append): Likewise.
20846
20847 * conf/common.rmk (normal.mod): New source script/argv.c.
20848
20849 * tests/grub_script_echo1.in: More tests.
20850 * tests/grub_script_vars1.in: Likewise.
20851 * tests/grub_script_functions.in: New test case.
20852 * conf/tests.rmk: Rules for new testcase.
20853
8022b748
BC
208542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20855
20856 Remove grub_script_cmdblock struct.
20857
20858 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20859 * script/parser.y: Likewise.
20860 * script/execute.c: Rename cmdblock suffix to cmdlist.
20861 * script/script.c: Likewise.
20862 * util/grub-script-check.c: Likewise.
20863
79a6ba61
YB
208642010-08-11 Yves Blusseau <blusseau@zetam.org>
20865
20866 * .bzrignore: add grub-macho2img
20867
d04b9414
VS
208682010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20871
f947ab49
VS
208722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20873
20874 Remove the dump of sm712 initialisation sequence.
20875
20876 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20877 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20878 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20879 (GRUB_VGA_CR_*): Added many registers.
20880 (GRUB_VGA_SR_*): Likewise.
20881 (GRUB_VGA_GR_*): Likewise.
20882 (grub_vga_write_arx): New function.
20883 (grub_video_hw_config): New struct.
20884 (grub_vga_set_geometry): New function.
20885 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20886 GRUB_PCI_CLASS_SUBCLASS_VGA.
20887 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20888 * video/sm712.c (grub_sm712_write_reg): New function
20889 (grub_sm712_read_reg): Likewise.
20890 (grub_sm712_sr_write): Likewise.
20891 (grub_sm712_gr_write): Likewise.
20892 (grub_sm712_cr_write): Likewise.
20893 (grub_sm712_write_arx): Likewise.
20894 (grub_sm712_cr_shadow_write): Likewise.
20895 (grub_sm712_write_dda_lookup): Likewise.
20896 (grub_video_sm712_setup): Initialise the video rather then
20897 blindly replay the dump.
20898 (main) [TEST]: Add a routine to be able to compile as standalone for
20899 tests.
20900 * video/sm712_init.c (sm712_init): Removed.
20901 (sm712_sr_seq1): New array.
20902 (sm712_sr_seq2): Likewise.
20903
f0206638
VS
209042010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 * include/grub/vga.h: Add missing grub/pci.h include.
20907
2764da3b
YB
209082010-08-10 Yves Blusseau <blusseau@zetam.org>
20909
20910 * util/grub-macho2img.c (main): fix typo
20911
cf0c775e
VS
209122010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20915 (grub_vga_gr_read): Likewise.
20916 (grub_vga_cr_write): Likewise.
20917 (grub_vga_cr_read): Likewise.
20918 (grub_vga_sr_write): Likewise.
20919 (grub_vga_sr_read): Likewise.
20920 (grub_vga_palette_read): Likewise.
20921 (grub_vga_palette_write): Likewise.
20922 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20923 (grub_sm712_sr_read): New function.
20924 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20925 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20926
07f360e9
RM
209272010-08-09 Robert Millan <rmh@gnu.org>
20928
20929 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20930 out unused variables on non-ZFS build.
20931
346c2072
RM
209322010-08-08 Robert Millan <rmh@gnu.org>
20933
20934 Fix path generation for sub-filesystems in ZFS.
20935
20936 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20937 missing slash.
20938
71175420
RM
209392010-08-08 Robert Millan <rmh@gnu.org>
20940
20941 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20942
0d8286f3
RM
209432010-08-08 Robert Millan <rmh@gnu.org>
20944
20945 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20946 exist, issue a proper error message (rely on `ls' for translated
20947 strings).
20948
55dd2924
RM
209492010-08-08 Robert Millan <rmh@gnu.org>
20950
20951 Fix grub-probe invocation.
20952
20953 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20954
d3dd9e80
RM
209552010-08-04 Robert Millan <rmh@gnu.org>
20956
20957 * configure.ac: Remove checks for getfsstat() and getmntany().
20958 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20959 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20960 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20961 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20962 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20963 function.
20964 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20965 via find_mount_point_from_dir() and getfsstat() / getmntany().
20966
0de22aa9
RM
209672010-08-04 Robert Millan <rmh@gnu.org>
20968
20969 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20970 (grub_find_zpool_from_mount_point): Merge into ...
20971 (grub_find_zpool_from_dir): ... this.
20972 * kern/emu/misc.c: Likewise.
20973
20974 * kern/emu/misc.c
20975 (grub_make_system_path_relative_to_its_root): Replace
20976 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20977 with grub_find_zpool_from_dir().
20978 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20979
62858144
RM
209802010-08-04 Robert Millan <rmh@gnu.org>
20981
20982 Support OpenSolaris in ZFS device resolution.
20983
20984 * configure.ac: Check for getmntany().
20985 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20986 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20987 support.
20988
9dd6fd50
RM
209892010-08-03 Robert Millan <rmh@gnu.org>
20990
20991 Fix grub-emu build.
20992
20993 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20994 * include/grub/emu/misc.h: ... here.
20995
20996 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20997 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20998
20999 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21000 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21001 (grub_get_libzfs_handle): Move to ...
21002 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21003 (grub_get_libzfs_handle): ... here.
21004
c9f7ff97
BC
210052010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21006
21007 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21008 as command name case.
21009
a870a783
CW
210102010-08-02 Colin Watson <cjwatson@ubuntu.com>
21011
21012 * disk/raid.c (insert_array): Select unique numbers for named arrays
21013 as well, for use as keys in the disk cache.
21014
c7db243b
RM
210152010-08-01 Robert Millan <rmh@gnu.org>
21016
21017 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21018 kFreeBSD device name, except on ZFS where the filesystem label is
21019 used.
21020 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21021 `/boot/zfs/zpool.cache'.
21022 Set mountfrom kernel variable using ${kfreebsd_device}.
21023
f7abdefb
RM
210242010-08-01 Robert Millan <rmh@gnu.org>
21025
21026 Make it even harder to use uninitialized `libzfs_handle' (and
21027 make the interface a bit simpler).
21028
21029 * include/grub/util/misc.h (grub_util_init_libzfs)
21030 (libzfs_handle): Remove.
21031 (grub_get_libzfs_handle): New prototype.
21032
21033 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21034 attribute.
21035 (grub_util_init_libzfs): Remove.
21036 (grub_get_libzfs_handle): New function.
21037
21038 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21039 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21040 accessing `libzfs_handle' directly.
21041
c882acc0
RM
210422010-08-01 Robert Millan <rmh@gnu.org>
21043
21044 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21045 (grub_find_zpool_from_mount_point): New function prototypes.
21046
21047 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21048 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21049
21050 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21051 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21052 `static' attribute.
21053
21054 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21055 finding zpool from mount point into ...
21056 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21057
21058 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21059 requested path is part of a ZFS pool, use
21060 grub_find_zpool_from_mount_point() to detect its filesystem name,
21061 and generate a path with `/fsname@path' syntax.
21062
8bfe31d8
CW
210632010-08-01 Colin Watson <cjwatson@ubuntu.com>
21064
21065 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21066 (void) rather than () so that this is a proper prototype.
21067
553df63d
VS
210682010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21071
8687cf07
VS
210722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21073
21074 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21075 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21076
ea9be8ea
CW
210772010-08-01 Colin Watson <cjwatson@ubuntu.com>
21078
21079 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21080
6eea041a
CW
210812010-08-01 Colin Watson <cjwatson@ubuntu.com>
21082
21083 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21084
2cfb45df
CW
210852010-08-01 Colin Watson <cjwatson@ubuntu.com>
21086
21087 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21088 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21089 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21090 disable gfxpayload.
21091 (Shell-like scripting): Add real content.
21092 (Serial terminal): Suggest `terminal_input serial; terminal_output
21093 serial' rather than putting the two commands on separate lines,
21094 since console input will be inoperative after the first command.
21095 (menuentry): Document --class, --users, and --hotkey options.
21096 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21097 Vladimir Serbinenko).
21098
7decd202
VS
210992010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
211002010-08-01 Colin Watson <cjwatson@ubuntu.com>
21101
21102 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21103
c882acc0
RM
211042010-08-01 Robert Millan <rmh@gnu.org>
21105
21106 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21107 (grub_find_zpool_from_mount_point): New function prototypes.
21108
21109 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21110 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21111
21112 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21113 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21114 `static' attribute.
21115
21116 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21117 finding zpool from mount point into ...
21118 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21119
21120 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21121 requested path is part of a ZFS pool, use
21122 grub_find_zpool_from_mount_point() to detect its filesystem name,
21123 and generate a path with `/fsname@path' syntax.
21124
deb0caa3
RM
211252010-08-01 Robert Millan <rmh@gnu.org>
21126
21127 Prevent accidental use of uninitialized libzfs_handle.
21128
21129 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21130 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21131 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21132
ce04ef47
CW
211332010-08-01 Colin Watson <cjwatson@ubuntu.com>
21134
21135 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21136 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21137
ebf53056
RM
211382010-08-01 Robert Millan <rmh@gnu.org>
21139
21140 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21141
3710bb6b
RM
211422010-07-31 Robert Millan <rmh@gnu.org>
21143
21144 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
21145
8072efeb
RM
211462010-07-31 Robert Millan <rmh@gnu.org>
21147
21148 * kern/emu/misc.c: Add missing license header.
21149
3169f4c7
RM
211502010-07-31 Robert Millan <rmh@gnu.org>
21151
21152 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
21153
21154 * include/grub/util/libnvpair.h: Include `<config.h>'.
21155 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
21156 declaring libnvpair prototypes ourselves.
21157 * include/grub/util/libzfs.h: Include `<config.h>'.
21158 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
21159 declaring libzfs prototypes ourselves.
21160
21161 (libzfs_handle): Moved to ...
21162 * include/grub/util/misc.h (libzfs_handle): ... here.
21163 Include `<grub/util/libzfs.h>'.
21164
c9a00aee
RM
211652010-07-30 Robert Millan <rmh@gnu.org>
21166
21167 * include/grub/emu/misc.h: Add missing license header.
21168
a184f9c8
RM
211692010-07-30 Robert Millan <rmh@gnu.org>
21170
21171 Enable `grub-probe -t device' resolution on ZFS.
21172
21173 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
21174 * include/grub/util/libnvpair.h: New file.
21175 * include/grub/util/libzfs.h: New file.
21176
21177 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21178 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21179 `<grub/util/libnvpair.h>'.
21180 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21181
21182 (find_mount_point_from_dir): New static function.
21183 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21184 function.
21185 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21186 find_root_device_from_libzfs() before ressorting to find_root_device().
21187
21188 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21189 prototype.
21190 * util/misc.c: Include `<grub/util/libzfs.h>'.
21191 (grub_util_init_libzfs): New function.
21192 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21193 [HAVE_LIBZFS] (fini_libzfs): New static function.
21194 (grub_util_init_libzfs): New function.
21195 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21196
f7790cdd
RM
211972010-07-30 Robert Millan <rmh@gnu.org>
21198
21199 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21200 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21201 `warn_unused_result' attribute.
21202 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21203 (grub_xasprintf, grub_xvasprintf): Likewise.
21204 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21205
0806b63c
RM
212062010-07-29 Robert Millan <rmh@gnu.org>
21207
21208 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21209 (probe): Handle `PRINT_FS_LABEL'.
21210 (main): Handle `-t fs_label'.
21211
9f841f5c
RM
212122010-07-29 Robert Millan <rmh@gnu.org>
21213
21214 * configure.ac: Remove grub-mkisofs checks.
21215
46371121
VS
212162010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21219 Reported by: Lennart Sorensen.
21220
212212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21224 prior to terminal_input/terminal_output separation. It's been over 1.5
21225 years and those versions weren't widely deployed.
21226
a9600892
CW
212272010-07-22 Colin Watson <cjwatson@ubuntu.com>
21228
21229 * disk/raid.c (insert_array): Don't count named arrays when looking
21230 for unused array numbers.
697e053c 21231 Reported and tested by: Michael Guntsche.
a9600892 21232
c03507df
CW
212332010-07-20 Colin Watson <cjwatson@ubuntu.com>
21234
21235 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21236 implementation of this so that grub-emu links again, with a note
21237 that this should support hotplugging in the future.
21238
b26f1c11
CW
212392010-07-20 Colin Watson <cjwatson@ubuntu.com>
21240
21241 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21242
efc9d7f1
CW
212432010-07-20 Colin Watson <cjwatson@ubuntu.com>
21244
21245 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21246 handle on failure.
21247 (grub_loopback_close): Remove empty function.
21248 (grub_loopback_dev): Remove close method.
21249
dd8ff5c9
CW
212502010-07-20 Colin Watson <cjwatson@ubuntu.com>
21251
21252 Disable EFI cursor when the EFI console becomes inactive.
21253
21254 * term/efi/console.c (grub_efi_console_init): New function.
21255 (grub_efi_console_fini): New function.
21256 (grub_console_term_output): Register init and fini methods.
21257
5e3bec67
VS
212582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21261 sh script.
21262
afaec079
VS
212632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * disk/loopback.c (grub_loopback): Replace filename with file.
21266 (delete_loopback): Handle new semantics.
21267 (grub_cmd_loopback): Likewise.
21268 (grub_loopback_iterate): Likewise.
21269 (grub_loopback_close): Likewise.
21270
a6a11f3c
VS
212712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21272
21273 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21274 with -p "".
21275 Reported by: Tito Keitel.
21276
64a638b0
VS
212772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * docs/grub.texi (Naming convention): Document new naming convention.
21280
ab8ba957
VS
212812010-07-20 Vadim Solomin <vadic052@gmail.com>
212822010-07-20 Colin Watson <cjwatson@ubuntu.com>
21283
21284 Generate device.map in something closer to the old ordering.
21285
21286 * util/deviceiter.c (struct device): New declaration.
21287 (compare_file_names): Rename to ...
21288 (compare_devices): ... this. Sort by kernel name in preference to
21289 the stable by-id name, but keep the latter as a fallback comparison.
21290 Update header comment.
21291 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21292 of `struct device' rather than of plain file names.
21293
a29d6a4b
TF
212942010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21295
21296 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21297 on i386.
21298
39d824e8
VS
212992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21300
21301 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21302 hardcoding size.
21303 (setv1table): Likewise.
21304
f058276b
FZ
213052010-07-20 Colin Watson <cjwatson@ubuntu.com>
21306
21307 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21308 removing the homehost if present.
21309 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21310 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21311 removing the homehost if present.
21312 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21313 if possible.
21314 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21315
21316 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21317 parameter. Set its pointer target to 0.
21318 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21319 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21320 `data_offset' value from the superblock for 1.x metadata.
21321 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21322 data on the device.
21323 (insert_array): Record the start sector of data on the device.
21324 (grub_raid_register): Pass start_sector parameters to
21325 grub_raid_list->detect and insert_array.
21326 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21327 member.
21328 (struct grub_raid): Add start_sector parameter to `detect'.
21329
21330 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21331 __attribute__ ((packed)), leaving a comment.
21332 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21333 (grub_mdraid_detect_09): ... here and ...
21334 (grub_mdraid_detect_1x): ... here.
21335
213362010-07-20 Peter Henn <peter.henn@web.de>
21337
21338 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21339 chunk size and disk size, which are already given as sector counts
21340 as distinct from the 0.90 units. Fetch the correct device number
21341 from the role table instead of using the table index.
21342
213432010-07-20 Felix Zielcke <fzielcke@z-51.de>
21344
21345 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21346 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21347 (WriteMostly1): New macro.
21348 Set array->name to NULL for metadata format 0.90. Add support for
21349 metadata 1.x. Fix some comments.
21350 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21351 few comments.
21352 * util/getroot.c (grub_util_get_grub_dev): Add support for
21353 /dev/md/name style devices.
21354
4b761da9
CW
213552010-07-20 Colin Watson <cjwatson@ubuntu.com>
21356
21357 * .bzrignore: Ignore 20_linux_xen.
21358
5771289a
CW
213592010-07-17 Colin Watson <cjwatson@ubuntu.com>
21360
21361 * util/import_unicode.py: Remove unnecessary imports.
21362
5dab68df
AN
213632010-07-17 Aleš Nesrsta <starous@volny.cz>
21364
21365 Hotplugging and USB hub support.
21366
21367 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21368 (grub_ohci): Likewise.
21369 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21370 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21371 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21372 (GRUB_OHCI_CTRL_EDS): Likewise.
21373 (GRUB_OHCI_BULK_EDS): Likewise.
21374 (GRUB_OHCI_TDS): Likewise.
21375 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21376 (grub_ohci_ed_phys2virt): New function.
21377 (grub_ohci_virt_to_phys): Likewise.
21378 (grub_ohci_td_phys2virt): Likewise.
21379 (grub_ohci_td_virt2phys): Likewise.
21380 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21381 attachment.
21382 (grub_ohci_find_ed): New function.
21383 (grub_ohci_alloc_td): Likewise.
21384 (grub_ohci_free_td): Likewise.
21385 (grub_ohci_free_tds): Likewise.
21386 (grub_ohci_transfer): Use previously allocated memory.
21387 (grub_ohci_portstatus): Reset status changed bit.
21388 (grub_ohci_detect_dev): Supply status changed.
21389 (grub_ohci_fini_hw): Free memory.
21390 (grub_ohci_restore_hw): Reallocate memory.
21391 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21392 Reset status change.
21393 (grub_uhci_detect_dev): Supply status_change.
21394 * bus/usb/usb.c (attach_hooks): New var.
21395 (grub_usb_device_attach): New function.
21396 (grub_usb_register_attach_hook_class): Likewise.
21397 (grub_usb_unregister_attach_hook_class): Likewise.
21398 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21399 (grub_usb_add_hub): Reset connection changed bit.
21400 (attach_root_port): New function.
21401 (grub_usb_root_hub): Likewise.
21402 (poll_nonroot_hub): Likewise.
21403 (grub_usb_poll_devices): Likewise.
21404 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21405 * disk/usbms.c (grub_usbms_open): Use device hooks.
21406 (grub_usbms_iterate) :Poll devices.
21407 (grub_usbms_finddevs): Split into ...
21408 (grub_usbms_attach): ... this ...
21409 (grub_usbms_attach): ... and this.
21410 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21411 in detect_dev.
21412 (grub_usb_interface): New fields attached and detach_hook.
21413 (grub_usb_attach_hook_class): New type.
21414 (grub_usb_attach_desc): New struct.
21415 (grub_usb_register_attach_hook_class): New function.
21416 (grub_usb_unregister_attach_hook_class): Likewise.
21417 (grub_usb_poll_devices): Likewise.
21418 (grub_usb_device_attach): Likewise.
21419 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21420 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21421
3222efaf
VS
214222010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21423
21424 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21425 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21426 delta determination style. Works with most NetBSD partitions too.
21427
139b714a
VS
214282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21431 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21432
986aad56
VS
214332010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21434
21435 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21436
99be513c
AB
214372010-07-14 Anton Blanchard <anton@samba.org>
21438
21439 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21440 ET_DYN files.
21441
18075f62
GS
214422010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21443
21444 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21445
8d9a5b15
GS
214462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21447
21448 * kern/partition.c (grub_partition_check_containment): New function to
21449 check that a partition is physically contained in a parent. Since
21450 offsets are relative (and non-negative), this reduces to checking that
21451 the partition ends before its parent.
21452 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21453 (grub_partition_iterate): Likewise.
21454 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21455 comments.
21456 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21457 partitions that start before their parent, and add debug printfs.
21458
19563c25
CW
214592010-07-13 Colin Watson <cjwatson@ubuntu.com>
21460
21461 * Makefile.in (.SUFFIX): Spell correctly, as ...
21462 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21463 bare module name without `.mod', e.g. `test') tried to invoke a
21464 Modula-2 compiler.
21465
1a1f1e67
CW
214662010-07-13 Colin Watson <cjwatson@ubuntu.com>
21467
21468 * README: Point to the Info manual.
21469
811b0dca
JS
214702010-07-13 Jiro SEKIBA <jir@unicus.jp>
21471
21472 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21473 2nd superblock position from partition size.
21474
e4f4eafc
CW
214752010-07-10 Colin Watson <cjwatson@ubuntu.com>
21476
21477 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21478 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21479 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21480 outputs.
21481
4274c30f
VS
214822010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21483
21484 Restructure SCSI .id handling.
21485 Reported and tested by: Aleš Nesrsta.
21486
21487 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21488 (grub_atapi_dev): Changed .name to "ata". New field .id.
21489 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21490 (grub_usbms_dev): New field .id.
21491 * disk/scsi.c (grub_scsi_iterate): Generate name.
21492 (grub_scsi_open): Parse name.
21493 * include/grub/scsi.h (grub_make_scsi_id): New function.
21494 (grub_scsi_dev): Change iterate and open to number instead of naming
21495 busses. All users updated.
21496 (grub_scsi): Remove name. Add .bus.
21497
5bc24388
VS
214982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21499
21500 * commands/help.c (grub_cmd_help): Fix a typo.
21501
249975ba
VS
215022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21505 Reported and tested by: Colin Watson.
21506
3eaac1a1
VS
215072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21510 in this context.
21511
becce1b1
VS
215122010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21513
21514 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21515
f7bf0918
CW
215162010-07-07 Colin Watson <cjwatson@ubuntu.com>
21517
21518 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21519 indentation.
21520
0b0f9620
CW
215212010-07-06 Colin Watson <cjwatson@ubuntu.com>
21522
21523 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21524 and disk/raid6_recover.c.
21525 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21526 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21527
1e545469
CW
215282010-07-06 Colin Watson <cjwatson@ubuntu.com>
21529
21530 * term/gfxterm.c (repaint_schedulded): Rename to ...
21531 (repaint_scheduled): ... this. Update all callers.
21532 (repaint_was_schedulded): Rename to ...
21533 (repaint_was_scheduled): ... this. Update all callers.
21534
5357687a
CW
215352010-07-06 Colin Watson <cjwatson@ubuntu.com>
21536
21537 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21538 which we expect to be handled by upper layers.
21539
29d7e783
BC
215402010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21541
21542 * bus/usb/usbhub.c: #include time.h header.
21543
37582066
CW
215442010-07-06 Colin Watson <cjwatson@ubuntu.com>
21545
21546 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21547 entry_name also for entries without stat blocks (e.g. ".."); fixes
21548 corruption of the first entry in a directory.
21549
c8c06953
CW
215502010-07-06 Colin Watson <cjwatson@ubuntu.com>
21551
21552 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21553 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21554 doesn't work otherwise.
21555
e75056f1
CW
215562010-07-05 Colin Watson <cjwatson@ubuntu.com>
21557
21558 * docs/grub.texi (Features): Update list of supported file systems.
21559 (GNU/Linux): Update for GRUB 2.
21560 (Serial terminal): Remove mention of --disable-serial, which was a
21561 GRUB Legacy configure option. Update instructions to use
21562 `terminal_input' and `terminal_output' rather than `terminal'.
21563 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21564 configuration' and `Installing GRUB using grub-install'.
21565 (Menu entry editor): Update for GRUB 2.
21566 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21567 Document new -a, -u, and -v options.
21568 (initrd): New section.
21569 (initrd16): New section.
21570 (linux): New section.
21571 (linux16): New section.
21572 (search): The `var' argument to `--set' is optional.
21573 (GRUB only offers a rescue shell): Go into a little more detail on
21574 drive ordering.
21575
5cf69151
CW
215762010-07-05 Colin Watson <cjwatson@ubuntu.com>
21577
21578 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21579
e3f90044
CW
215802010-07-05 Colin Watson <cjwatson@ubuntu.com>
21581
21582 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21583 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21584
38d8f4f3
CW
215852010-07-05 Colin Watson <cjwatson@ubuntu.com>
21586
21587 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21588 install_prefix, in line with install_dos_part and install_bsd_part.
21589 Add new prefix variable, which is copied to install_prefix after
21590 comparing core.img in memory with the one read from disk in the
21591 no-embedding case, and use that rather than overwriting
21592 install_prefix immediately when installing to a partition.
21593 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21594 Bicakci.
21595
57ebd41e
GS
215962010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21597
21598 * configure.ac: Avoid == in test command, it's not portable.
21599 * util/grub.d/30_os-prober.in: Likewise.
21600
cb7f64b2
CW
216012010-07-04 Colin Watson <cjwatson@ubuntu.com>
21602
21603 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21604
6b654bb0
GS
216052010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21606
21607 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21608 multiple (top-level) partmaps.
21609
72a2026d
VS
216102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21613 Reported by: Tino Keitel.
72a2026d 21614
df3eb88f
VS
216152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 Bidi and diacritics support.
21618
21619 * Makefile.in (widthspec.bin): New target.
21620 (widthspec.h): Likewise.
21621 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21622 * autogen.sh: Generate unidata.c.
21623 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21624 * commands/ls.c (grub_ls_list_devices): Likewise.
21625 (grub_ls_list_files): Likewise.
21626 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21627 (grub_mini_cmd_lsmod): Likewise.
21628 * commands/read.c: Likewise.
21629 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21630 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21631 * lib/arg.c (grub_arg_show_help): Likewise.
21632 * lib/crypto.c (grub_password_get): Likewise.
21633 * normal/auth.c (grub_username_get): Likewise.
21634 * normal/misc.c (grub_normal_print_device_info): Likewise.
21635 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21636 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21637 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21638 (normal/charset.c_DEPENDENCIES): New variable.
21639 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21640 (pkglib_MODULES): Remove charset.mod.
21641 (charset_mod_SOURCES): Removed.
21642 (charset_mod_CFLAGS): Likewise.
21643 (charset_mod_LDFLAGS): Likewise.
21644 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21645 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21646 and term/tparm.c.
21647 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21648 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21649 (kernel_img_HEADERS): Add terminfo.h.
21650 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21651 Fill ->font. Reverse ascii bitmaps.
21652 (grub_font_get_xheight): New function.
21653 * font/font.c (grub_font_get_string_width): Moved from here ...
21654 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21655 * font/font.c (grub_font_draw_string): Moved from here ...
21656 * gfxmenu/font.c (grub_font_draw_string): ... here.
21657 * font/font.c (grub_font_dup_glyph): New function.
21658 (grub_font_blit_glyph): Likewise.
21659 (grub_font_blit_glyph_mirror): Likewise.
21660 (blit_comb): Likewise.
21661 (grub_font_construct_dry_run): Likewise.
21662 (grub_font_get_constructed_device_width): Likewise.
21663 (grub_font_construct_glyph): Likewise.
21664 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21665 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21666 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21667 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21668 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21669 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21670 (grub_font_get_xheight): New proto.
21671 (grub_font_get_constructed_device_width): Likewise.
21672 (grub_font_construct_glyph): Likewise.
21673 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21674 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21675 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21676 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21677 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21678 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21679 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21680 (grub_console_getcharwidth): Likewise.
21681 * include/grub/misc.h (grub_xputs): New proto.
21682 (grub_puts): Inlined.
21683 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21684 (grub_normal_get_line_counter): Removed.
21685 (grub_install_newline_hook): Likewise.
21686 (grub_normal_get_char_counter): New proto.
21687 (grub_normal_reset_more): Likewise.
21688 (grub_xputs_normal): Likewise.
21689 * include/grub/powerpc/ieee1275/console.h: Removed.
21690 * include/grub/sparc64/ieee1275/console.h: Likewise.
21691 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21692 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21693 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21694 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21695 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21696 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21697 (grub_term_input): Pass reference to self. All users updated.
21698 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21699 Pass reference to self. New fields normal_color, highlight_color and
21700 data. All users updated.
21701 (grub_putchar): Removed.
21702 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21703 (grub_unicode_estimate_width): New function.
21704 (grub_term_getcharwidth): Add defaults.
21705 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21706 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21707 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21708 (grub_cls): Remove EXPORT_FUNC.
21709 (grub_setcolorstate): Inline.
21710 (grub_newline_hook): Removed.
21711 * include/grub/terminfo.h: Rewritten. All users updated.
21712 * include/grub/unicode.h: New file.
21713 * include/grub/video.h (grub_video_signed_rect): New type.
21714 * kern/emu/console.c (grub_console_highlight_color): Removed.
21715 (grub_console_normal_color): Likewise.
21716 (grub_console_standard_color): Made static.
21717 (grub_ncurses_putchar): Remove mapping.
21718 (grub_ncurses_getcharwidth): Removed.
21719 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21720 (grub_ncurses_setcolor): Removed.
21721 (grub_ncurses_getcolor): Likewise.
21722 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21723 (grub_console_putchar): ... this.
21724 (grub_console_putchar): Handle argument difference.
21725 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21726 console_init_early and console_init_lately.
21727 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21728 * kern/misc.c (grub_puts): Removed.
21729 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21730 (grub_vsnprintf_real): Remove str = NULL support.
21731 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21732 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21733 * kern/term.c (grub_putcode): Renamed to ...
21734 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21735 (grub_putchar): Removed.
21736 (grub_xputs_dumb): New function.
21737 (grub_xputs): New variable.
21738 * lib/charset.c: Move from here ...
21739 * normal/charset.c: ... to here.
21740 (grub_ucs4_to_utf8): New function.
21741 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21742 (join_types): New variable.
21743 (unpack_join): New function.
21744 (bidi_types): New variable.
21745 (unpack_bidi): New function.
21746 (get_bidi_type): Likewise.
21747 (get_join_type): Likewise.
21748 (is_mirrored): Likewise.
21749 (grub_unicode_get_comb_type): Likewise.
21750 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21751 (is_type_after): Likewise.
21752 (grub_unicode_aglomerate_comb): Likewise.
21753 (bidi_line_wrap): Likewise.
21754 (grub_bidi_line_logical_to_visual): Likewise.
21755 (grub_bidi_logical_to_visual): Likewise.
21756 (grub_unicode_mirror_code): Likewise.
21757 (grub_unicode_shape_code): Likewise.
21758 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21759 Don't use grub_putchar.
21760 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21761 (grub_normal_reader_init): Likewise.
21762 (grub_xputs_saved): New variable.
21763 (GRUB_MOD_INIT): Set grub_xputs.
21764 (GRUB_MOD_FINI): Restore grub_xputs.
21765 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21766 (menu_init): Avoid printing gfxmenu error.
21767 (show_menu): Use grub_normal_get_char_counter.
21768 * normal/menu_entry.c (update_screen): Fix out-of-array.
21769 (complete): Avoid NULL dereferencing.
21770 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21771 * normal/menu_text.c (print_spaces): Removed.
21772 (grub_print_ucs4): Likewise.
21773 (grub_print_message_indented): Use grub_print_ucs4.
21774 (print_message): Use grub_putcode.
21775 (print_entry): Hanlde diacritics.
21776 * normal/term.c (term_state): New type.
21777 (grub_more_lines): Removed.
21778 (term_states): New variable.
21779 (grub_normal_line_counter): Renamed to ..
21780 (grub_normal_char_counter): ...this. All users updated.
21781 (grub_normal_get_line_counter): Renamed to ...
21782 (grub_normal_get_char_counter): ... this.
21783 (grub_normal_reset_more): New function.
21784 (process_newline): Removed.
21785 (print_more): New function.
21786 (grub_install_newline_hook): Removed.
21787 (map_code): New function.
21788 (grub_puts_terminal): Use grub_print_ucs4.
21789 (putglyph): New function.
21790 (putcode_real): Likewise.
21791 (grub_putcode): Use putcode_real.
21792 (get_maxwidth): New function.
21793 (get_startwidth): Likewise.
21794 (print_ucs4_terminal): Likewise.
21795 (find_term_state): Likewise.
21796 (put_glyphs_terminal): Likewise.
21797 (print_backlog): Likewise.
21798 (print_ucs4_real): Likewise.
21799 (grub_print_ucs4): Likewise.
21800 (grub_xputs_normal): Likewise.
21801 * term/efi/console.c (grub_console_putchar): Output diacritics.
21802 (grub_console_getcharwidth): Removed.
21803 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21804 * term/gfxterm.c (clear_char): Free chars.
21805 (scroll_up): Avoid leaking memory.
21806 (grub_gfxterm_putchar): Support diacritics.
21807 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21808 * term/i386/pc/console.c (grub_console_term_output): Declare as
21809 GRUB_TERM_CODE_TYPE_VGA.
21810 * term/i386/pc/vga.c (grub_vga_term): Declare as
21811 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21812 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21813 GRUB_TERM_CODE_TYPE_VGA.
21814 * term/i386/vga_common.c (map_char): Removed.
21815 (grub_console_putchar): Likewise.
21816 (grub_console_getcharwidth): Likewise.
21817 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21818 (colors): Reordered to match terminfo.
21819 (grub_ofconsole_normal_color): Removed.
21820 (grub_ofconsole_writeesc): Likewise.
21821 (grub_ofconsole_highlight_color): Likewise.
21822 (grub_ofconsole_getcharwidth): Likewise.
21823 (grub_ofconsole_setcolorstate): Likewise.
21824 (grub_ofconsole_setcolor): Likewise.
21825 (grub_ofconsole_getcolor): Likewise.
21826 (grub_ofconsole_readkey): Renamed to ...
21827 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21828 key.
21829 (grub_ofconsole_checkkey): Removed.
21830 (grub_ofconsole_getkey): Likewise.
21831 (grub_ofconsole_getxy): Likewise.
21832 (grub_ofconsole_gotoxy): Likewise.
21833 (grub_ofconsole_cls): Likewise.
21834 (grub_ofconsole_refresh): Likewise.
21835 (grub_ofconsole_terminfo_input): New struct.
21836 (grub_ofconsole_terminfo_output): Likewise.
21837 (grub_ofconsole_term_input): Use terminfo.
21838 (grub_ofconsole_term_output): Likewise.
21839 (grub_console_init): Split into ...
21840 (grub_console_init_early): ...this and ...
21841 (grub_console_init_lately): ...this. Use terminfo.
21842 (grub_ofconsole_putchar): Renamed to ...
21843 (put): ... this. Remove mapping.
21844 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21845 * term/serial.c: Simplify using terminfo.
21846 (xpos): Removed.
21847 (ypos): Likewise.
21848 (keep_track): Likewise.
21849 (registered): Likewise.
21850 (input_buf): Likewise.
21851 (npending): Likewise.
21852 (serial_translate_key_sequence): Likewise.
21853 (fill_input_buf): Likewise.
21854 (grub_serial_checkkey): Likewise.
21855 (grub_serial_getkey): Likewise.
21856 (grub_serial_getxy): Likewise.
21857 (grub_serial_gotoxy): Likewise.
21858 (grub_serial_putchar): Likewise.
21859 (grub_serial_cls): Likewise.
21860 (grub_serial_setcolorstate): Likewise.
21861 (grub_serial_setcursor): Likewise.
21862 (serial_hw_init): Use serial_hw_fetch.
21863 (grub_serial_terminfo_input): New variable.
21864 (grub_serial_terminfo_output): Likewise.
21865 (grub_serial_term_input): Use terminfo.
21866 (grub_serial_term_output): Likewise.
21867 * term/terminfo.c (putstr): Use put.
21868 (grub_terminfo_all_free): New function
21869 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21870 (grub_terminfo_output_register): New function.
21871 (grub_terminfo_output_unregister): Likewise.
21872 (grub_terminfo_getxy): Likewise.
21873 (grub_terminfo_readkey): Likewise.
21874 (grub_terminfo_checkkey): Likewise.
21875 (grub_terminfo_getkey): Likewise.
21876 (grub_terminfo_input_init): Likewise.
21877 (print_terminfo): Likewise.
21878 (grub_cmd_terminfo): Handle encoding.
21879 (grub_terminfo_gotoxy): Track position.
21880 (grub_terminfo_cls): Likewise.
21881 (grub_terminfo_putchar): Likewise.
21882 (grub_terminfo_setcolorstate): Handle colors
21883 (grub_terminfo_cursor_on): This ...
21884 (grub_terminfo_cursor_off): ... and this merged into ...
21885 (grub_terminfo_setcursor): ... this.
21886 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21887 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21888 * unicode/BidiMirroring.txt: Likewise.
21889 * unicode/UnicodeData.txt: Likewise.
21890 * unicode/COPYING: Likewise.
21891 * util/grub-editenv.c (grub_putchar): Removed.
21892 (grub_xputs_real): New function.
21893 (grub_xputs): New variable.
21894 * util/grub-fstest.c (grub_putchar): Removed.
21895 (grub_xputs_real): New function.
21896 (grub_xputs): New variable.
21897 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21898 (grub_xputs_real): New function.
21899 (grub_xputs): New variable.
21900 * util/grub-probe.c (grub_putchar): Removed.
21901 (grub_xputs_real): New function.
21902 (grub_xputs): New variable.
21903 * util/grub-script-check.c (grub_putchar): Removed.
21904 (grub_xputs_real): New function.
21905 (grub_xputs): New variable.
21906 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21907 (grub_xputs_real): New function.
21908 (grub_xputs): New variable.
21909 * util/import_unicode.py: New file.
21910 * util/grub-mkfont.c (ft_errmsgs): New array.
21911 (grub_glyph_info): Make bitmap a pointer.
21912 (file_formats): New type WIDTH_SPEC.
21913 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21914 (options): Add width-spec.
21915 (help): Likewise.
21916 (add_char): Renamed to ...
21917 (add_glyph): ... this.
21918 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21919 (glyph_replace): New type.
21920 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21921 (add_char): New function.
21922 (add_subst): Likewise.
21923 (process_cursive): Likewise.
21924 (add_font): Handle GSUB.
21925 (write_font_width_spec): New function.
21926 (main): Sort glyphs.
21927 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21928 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21929 * kern/term.c (grub_cls): Moved from here...
21930 * normal/term.c (grub_cls): ... here.
21931
50f0bcda
CW
219322010-07-02 Colin Watson <cjwatson@ubuntu.com>
21933
21934 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21935 suitable for using within the format argument of printf when
21936 converting grub_size_t.
21937 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21938 "x" to convert grub_size_t arguments.
21939
40372103
VS
219402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21943 too long captions.
21944 (list_get_minimal_size): Take selection box into account.
21945
942a10c7
VS
219462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21949 NULL font.
21950
2bdb2892
CW
219512010-07-02 Colin Watson <cjwatson@ubuntu.com>
21952
21953 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21954 devices when iterating over /dev/disk/by-id; they will be handled
21955 later if appropriate, which they aren't always (e.g. LVM).
21956
e03ed6c1
CW
219572010-07-02 Colin Watson <cjwatson@ubuntu.com>
21958
21959 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21960 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21961 fails.
21962 (grub_halt): Likewise.
21963 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21964 reset-all fails.
21965 (grub_halt): Don't return, even if all of shut-down, power-off, and
21966 poweroff fail.
21967
47695765
CW
219682010-07-02 Colin Watson <cjwatson@ubuntu.com>
21969
21970 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21971 arguments, not three.
21972
507736c8
CW
219732010-07-02 Colin Watson <cjwatson@ubuntu.com>
21974
21975 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21976 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21977 LVM-on-RAID is handled correctly.
21978
e3c8cd37
CW
219792010-07-02 Colin Watson <cjwatson@ubuntu.com>
21980
21981 * docs/grub.texi (Changes from GRUB Legacy): New section.
21982 (Future): Fix typo.
21983
8d4a2fec
CW
219842010-07-02 Colin Watson <cjwatson@ubuntu.com>
21985
21986 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21987 grub.d/README accidentally ends up executable for one reason or
21988 another. Ignore it.
21989
1c4827be
VS
219902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21991
21992 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21993 (gpt_partition_map_iterate): Support non-512B sectors.
21994
d9a0c941
VS
219952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21998 Tested by: Seth Goldberg.
21999
48f27e87
VS
220002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22003 Properly align mbi.
22004 Reported by: Seth Goldberg.
22005
b0c4f956
VS
220062010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22007
22008 * util/grub-mkrescue.in: Avoid module duplication.
22009
105a2e8c
SF
220102010-07-01 Sean Finney <seanius@seanius.net>
22011
22012 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22013
5944958c
SF
220142010-07-01 Sean Finney <seanius@seanius.net>
22015
22016 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22017
220182010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22019
22020 * disk/lvm.c (grub_lvm_checkvalue): New function.
22021 (grub_lvm_check_flag): Likewise.
22022
b79889ba
RM
220232010-07-01 Robert Millan <rmh@gnu.org>
22024
22025 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22026 Support 'p' as partition separator on kernel of FreeBSD (used
22027 with GPT labels).
22028 (grub_util_biosdisk_get_grub_dev): Likewise.
22029
ec1d04f1
VS
220302010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22031
22032 Yeeloong firmware port.
22033
22034 * boot/mips/yeeloong/fwstart.S: New file.
22035 * bus/cs5536.c (gpiodump): New const.
22036 (set_io_space): New function.
22037 (set_iod): Likewise.
22038 (set_p2d): Likewise.
22039 (grub_cs5536_init_geode): Likewise.
22040 * commands/mips/yeeloong/lsspd.c: New file.
22041 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22042 (serial_mod_SOURCES): New variable.
22043 (serial_mod_CFLAGS): Likewise.
22044 (serial_mod_LDFLAGS): Likewise.
22045 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22046 term/terminfo.c and term/tparm.c.
22047 (pkglib_IMAGES): Add fwstart.img.
22048 (fwstart_img_SOURCES): New variable.
22049 (fwstart_img_CFLAGS): Likewise.
22050 (fwstart_img_ASFLAGS): Likewise.
22051 (fwstart_img_LDFLAGS): Likewise.
22052 (fwstart_img_FORMAT): Likewise.
22053 (pkglib_MODULES): Add lsspd.mod.
22054 (lsspd_mod_SOURCES): New variable.
22055 (lsspd_mod_CFLAGS): Likewise.
22056 (lsspd_mod_LDFLAGS): Likewise.
22057 (pkglib_MODULES): Add halt.mod.
22058 (halt_mod_SOURCES): New variable.
22059 (halt_mod_CFLAGS): Likewise.
22060 (halt_mod_LDFLAGS): Likewise.
22061 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22062 (serial_mod_SOURCES): Removed.
22063 (serial_mod_CFLAGS): Likewise.
22064 (serial_mod_LDFLAGS): Likewise.
22065 * disk/ata.c (check_device): New function.
22066 (grub_ata_device_initialize): Use check_device.
22067 (grub_ata_iterate): Recheck devices.
22068 (grub_ata_open): Likewise.
22069 (grub_atapi_iterate): Likewise.
22070 (grub_atapi_open): Likewise.
22071 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22072 (GRUB_ATA_CH1_PORT1): Likewise.
22073 (GRUB_ATA_CH0_PORT2): Likewise.
22074 (GRUB_ATA_CH1_PORT2): Likewise.
22075 * include/grub/mips/loongson.h: New file.
22076 * include/grub/mips/yeeloong/ec.h: Likewise.
22077 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22078 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22079 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22080 * include/grub/misc.h (grub_halt): Declare as noreturn.
22081 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22082 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22083 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22084 (UART_ENABLE_DTRRTS): Likewise.
22085 (UART_ENABLE_MODEM): Removed.
22086 (UART_ENABLE_OUT2): New const.
22087 * include/grub/term.h (grub_term_register_input_active): New function.
22088 (grub_term_register_output_active): Likewise.
22089 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22090 argument.
22091 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22092 (init_pci): New function.
22093 (grub_machine_init): Execute platform init when firmware. Init serial.
22094 (grub_halt): Implement.
22095 (grub_exit): Likewise.
22096 (grub_reboot): Likewise.
22097 * term/serial.c (serial_hw_init): Update macros.
22098 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22099 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22100 (image_targets): New target mipsel-yeeloong-flash.
22101 (generate_image): Support IMAGE_YEELOONG_FLASH.
22102 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22103 (grub_video_sm712_setup): Init card.
22104 (grub_video_sm712_set_palette): Removed.
22105 * video/sm712_init.c: New file.
22106
ff4a70d2
CW
221072010-06-30 Colin Watson <cjwatson@ubuntu.com>
22108
22109 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22110 PATH when running help2man and then run it on the unadorned
22111 executable names, rather than passing $(builddir)/* paths to
22112 help2man. This avoids the build directory ending up in generated
22113 manual pages.
22114
1246efeb
CW
221152010-06-29 Colin Watson <cjwatson@ubuntu.com>
22116
22117 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22118 to avoid accidents when debugging with 'sh -x'.
22119 * util/grub-mkrescue.in: Likewise.
22120 * util/grub.d/00_header.in: Likewise.
22121 * util/grub.d/10_hurd.in: Likewise.
22122 * util/grub.d/10_kfreebsd.in: Likewise.
22123 * util/grub.d/10_linux.in: Likewise.
22124 * util/grub.d/10_netbsd.in: Likewise.
22125 * util/grub.d/10_windows.in: Likewise.
22126 * util/grub.d/20_linux_xen.in: Likewise.
22127 * util/grub.d/30_os-prober.in: Likewise.
22128 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22129
1ba9b889
CW
221302010-06-29 Colin Watson <cjwatson@ubuntu.com>
22131
22132 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22133 last character in the buffer.
22134 Reported by: Vladimir Serbinenko.
22135
dccaf99d
RM
221362010-06-29 Robert Millan <rmh@gnu.org>
22137
22138 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22139 (Command-line and menu entry commands): Document `badram' command.
22140
d500ed12
RM
221412010-06-28 Robert Millan <rmh@gnu.org>
22142
22143 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
22144 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
22145 command using ${GRUB_BADRAM} as parameter.
22146
20bc84a6
CW
221472010-06-28 Colin Watson <cjwatson@ubuntu.com>
22148
22149 * docs/grub.texi (Device map): New section.
22150 (Themes): New section (stub).
22151 * Makefile.in (docs/grub.info): The info documentation now builds
22152 without errors. Make sure it stays that way.
22153
4045dee1
VS
221542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 Use normal parser for menu entries.
22157 Reported by: Thomas Frauendorfer
22158
22159 * include/grub/parser.h (grub_parser_execute): Don't export.
22160 * normal/menu.c (grub_menu_execute_entry_real): New function.
22161 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
22162
bca58c7b
CW
221632010-06-28 Colin Watson <cjwatson@ubuntu.com>
22164
22165 * docs/grub.texi (Embedded configuration): New section (replacing
22166 old "Preset Menu" stub).
22167 (Images): New section.
22168 (configfile): Note that any menu entries defined in `file' are shown
22169 immediately.
22170
dec53e63
JT
221712010-06-28 Josh Triplett <josh@joshtriplett.org>
22172
22173 * mmap/i386/pc/mmap_helper.S: Set CF on return.
22174
c06e40f7
CW
221752010-06-28 Colin Watson <cjwatson@ubuntu.com>
22176
22177 * util/grub-install.in: Add --debug-image= option.
22178
cb88052b
CW
221792010-06-28 Colin Watson <cjwatson@ubuntu.com>
22180
22181 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22182 possible on Linux.
22183
22184 * util/deviceiter.c (check_device): Rename to ...
22185 (check_device_readable_unique): ... this. Update all callers.
22186 Maintain and check a list of which devices (by canonicalized name)
22187 have already been seen.
22188 (clear_seen_devices): New function.
22189 (compare_file_names) [__linux__]: New function.
22190 (grub_util_iterate_devices): Clear the list of seen devices on exit
22191 and (just in case) on entry.
22192 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22193 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22194 seen-devices list, superseded by general code in check_device.
22195
bbe34652
CW
221962010-06-28 Colin Watson <cjwatson@ubuntu.com>
22197
22198 * commands/cat.c (options): New variable.
22199 (grub_cmd_cat): Parse options. If the --dos option is given, print
22200 DOS-style "\r\n" line endings as simple newlines (Debian bug
22201 #586358).
22202 (GRUB_MOD_INIT): Use extcmd.
22203 (GRUB_MOD_FINI): Likewise.
22204 * docs/grub.texi (cat): Document --dos.
22205
412e09f3
VS
222062010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22207
22208 XEN with Linux grub-mkconfig support.
22209
22210 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22211 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22212 GRUB_CMDLINE_XEN_DEFAULT.
22213 * util/grub.d/20_linux_xen.in: New file.
22214
53f3ef38 222152010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22216
22217 Initialise VGA video on qemu ourselves.
22218
22219 * boot/i386/qemu/boot.S: Don't call 0xc000.
22220 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22221 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22222 (kernel_img_HEADERS): Add pci.h.
22223 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22224 * configure.ac: Force unifont on qemu and yeeloong.
22225 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22226 (grub_vga_palette_write): Use correct register.
22227 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22228 Call grub_qemu_init_cirrus.
22229 * kern/i386/qemu/init.c: New file.
22230 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22231
22232 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22233
c75be4fb
PR
222342010-06-26 Pavel Roskin <proski@gnu.org>
22235
22236 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22237 13.
22238
d8034603
CW
222392010-06-26 Colin Watson <cjwatson@ubuntu.com>
22240
22241 * docs/grub.texi (Simple configuration): Explain that
22242 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22243 set to `true' to disable their respective recovery entries, not
22244 merely set.
22245
3fa06487
CW
222462010-06-26 Colin Watson <cjwatson@ubuntu.com>
22247
22248 Make the `source' command slightly faster.
22249
22250 * normal/main.c (grub_normal_execute): Don't re-read list files when
22251 nested.
22252
e9b29642
CW
222532010-06-23 Colin Watson <cjwatson@ubuntu.com>
22254
22255 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22256 field position and mask size to red fields from mode_info, not
22257 green.
22258 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22259 Remove redundant tag->common.framebuffer_type assignment.
22260 Reported by: Seth Goldberg.
22261
e726542f
CW
222622010-06-23 Colin Watson <cjwatson@ubuntu.com>
22263
22264 Sync up other versions of the Linux loader with Robert Millan's
22265 change of 2010-01-09, "Make loader output a bit more user-friendly".
22266
22267 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22268 grub_dprintf().
22269 (grub_cmd_linux): Likewise.
22270 (grub_cmd_initrd): Likewise.
22271 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22272 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22273
d6e98a17
CW
222742010-06-21 Colin Watson <cjwatson@ubuntu.com>
22275
22276 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22277 larger than MEMORY_MAP_SIZE.
22278
14d3f08e
BC
222792010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22280
22281 Fix parallel build.
22282
22283 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22284 dependency.
22285 * script/parser.y: #include grub_script.tab.h header.
22286
4f9613a3
VS
222872010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22288
22289 Support >3GiB and <16MiB RAM in i386-qemu.
22290
22291 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22292 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22293 (grub_lower_mem): Removed.
22294 (grub_upper_mem): Likewise.
22295 (mem_size): Made static.
22296 (above_4g): New variable.
22297 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22298 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22299 support.
22300
05e51879
VS
223012010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22302
22303 Cirrus 5446 and Bochs video cards support.
22304
22305 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22306 video_bochs.mod
22307 (video_cirrus_mod_SOURCES): New variable.
22308 (video_cirrus_mod_CFLAGS): Likewise.
22309 (video_cirrus_mod_LDFLAGS): Likewise.
22310 (video_bochs_mod_SOURCES): Likewise.
22311 (video_bochs_mod_CFLAGS): Likewise.
22312 (video_bochs_mod_LDFLAGS): Likewise.
22313 * include/grub/vga.h: New file.
22314 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22315 (grub_video_fb_set_page_t): New type.
22316 (grub_video_fb_setup): New prototype.
22317 (grub_video_fb_swap_buffers): Likewise.
22318 (grub_video_fb_get_info_and_fini): Likewise.
22319 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22320 (CRTC_DATA_PORT): Likewise.
22321 (CRTC_CURSOR): Likewise.
22322 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22323 (CRTC_CURSOR_ADDR_LOW): Likewise.
22324 (CRTC_CURSOR_DISABLE): Likewise.
22325 (update_cursor): Use grub_vga_cr_write.
22326 (grub_vga_text_setcursor): Likewise.
22327 * video/bochs.c: New file.
22328 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22329 (palette): Likewise.
22330 (palette_size): Likewise.
22331 (framebuffer): New variable.
22332 (grub_video_fb_init): Use 'framebuffer'.
22333 (grub_video_fb_fini): Likewise.
22334 (grub_video_fb_get_info): Likewise.
22335 (grub_video_fb_get_palette): Likewise.
22336 (grub_video_fb_set_palette): Likewise.
22337 (grub_video_fb_set_viewport): Likewise.
22338 (grub_video_fb_get_viewport): Likewise.
22339 (grub_video_fb_map_color): Likewise.
22340 (grub_video_fb_map_rgb): Likewise.
22341 (grub_video_fb_map_rgba): Likewise.
22342 (grub_video_fb_unmap_color): Likewise.
22343 (grub_video_fb_unmap_color_int): Likewise.
22344 (grub_video_fb_fill_rect): Likewise.
22345 (grub_video_fb_blit_bitmap): Likewise.
22346 (grub_video_fb_blit_render_target): Likewise.
22347 (grub_video_fb_scroll): Likewise.
22348 (grub_video_fb_create_render_target): Likewise.
22349 (grub_video_fb_doublebuf_blit_init): Likewise.
22350 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22351 (doublebuf_pageflipping_update_screen): New function.
22352 (doublebuf_pageflipping_init): Likewise.
22353 (grub_video_fb_setup): Likewise.
22354 (grub_video_fb_swap_buffers): Likewise.
22355 (grub_video_fb_get_info_and_fini): Likewise.
22356 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22357 All users updated.
22358 (doublebuf_pageflipping_commit): Restructured into ...
22359 (doublebuf_pageflipping_set_page): ... this.
22360 (doublebuf_pageflipping_update_screen): Removed.
22361 (doublebuf_pageflipping_init): Likewise.
22362 (double_buffering_init): Likewise.
22363 (grub_video_vbe_setup): Use grub_video_fb_setup.
22364 (grub_video_vbe_swap_buffers): Removed.
22365 (grub_video_vbe_set_active_render_target): Likewise.
22366 (grub_video_vbe_get_active_render_target): Likewise.
22367 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22368 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22369 grub_video_fb_set_active_render_target and
22370 grub_video_fb_get_active_render_target.
22371 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22372 (SEQUENCER_DATA_PORT): Likewise.
22373 (MAP_MASK_REGISTER): Likewise.
22374 (CRTC_ADDR_PORT): Likewise.
22375 (CRTC_DATA_PORT): Likewise.
22376 (START_ADDR_HIGH_REGISTER): Likewise.
22377 (START_ADDR_LOW_REGISTER): Likewise.
22378 (GRAPHICS_ADDR_PORT): Likewise.
22379 (GRAPHICS_DATA_PORT): Likewise.
22380 (READ_MAP_REGISTER): Likewise.
22381 (INPUT_STATUS1_REGISTER): Likewise.
22382 (INPUT_STATUS1_VERTR_BIT): Likewise.
22383 (get_map_mask): Use grub_vga_sr_read.
22384 (set_map_mask): Use grub_vga_sr_write.
22385 (set_read_map): Use grub_vga_gr_write.
22386 (set_start_address): Use grub_vga_cr_write.
22387 * video/sm712.c (framebuffer): Remove leftover fields.
22388
4321c64a
CW
223892010-06-20 Colin Watson <cjwatson@ubuntu.com>
22390
22391 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22392 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22393 instead. Replace the gfxterm backend check with a check that
22394 ${GRUB_PREFIX}/video.lst is non-empty.
22395 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22396 again.
22397 (load_video): New generated function. Call it before loading
22398 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22399 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22400 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22401 * docs/grub.texi (Simple configuration): Document
22402 GRUB_VIDEO_BACKEND.
22403
224042010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 Use video functions in linux and xnu loaders.
22407
22408 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22409 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22410 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22411 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22412 loader/i386/pc/linux.c.
22413 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22414 (find_line_len): Removed.
22415 (find_framebuf): Likewise.
22416 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22417 * loader/i386/efi/xnu.c: Removed.
22418 * loader/i386/pc/xnu.c: Moved from here...
22419 * loader/i386/xnu.c: ...here.
22420
22421 Enable priorities in video drivers.
22422
22423 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22424 (grub_video_adapter): New field prio.
22425 (grub_video_register): Respect prio when inserting.
22426 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22427 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22428 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22429 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22430 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22431 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22432 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22433
22434 Fix SDL driver ID.
22435
22436 * include/grub/video.h (grub_video_driver_id_t): New value
22437 GRUB_VIDEO_DRIVER_SDL.
22438 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22439
7d24e434
CW
224402010-06-17 Colin Watson <cjwatson@ubuntu.com>
22441
22442 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22443 argument to printf.
22444 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22445
c88a83f6
CW
224462010-06-17 Colin Watson <cjwatson@ubuntu.com>
22447
22448 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22449 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22450
094dfb69
CW
224512010-06-17 Colin Watson <cjwatson@ubuntu.com>
22452
22453 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22454 directly, and recommend grub-install instead.
22455 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22456
2164da6b
CW
224572010-06-17 Colin Watson <cjwatson@ubuntu.com>
22458
22459 Fix i386-pc prefix handling with nested partitions (Debian bug
22460 #585068). Note that the case where the core image is booted using
22461 multiboot and relocated from its original location still requires
22462 more work.
22463
22464 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22465 with "(,", fill the boot drive in between those two characters, but
22466 expect that a full partition specification including partition map
22467 names will follow.
22468 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22469 specified, write a prefix without the drive name but including a
22470 full partition specification.
22471
044e2e60
CW
224722010-06-16 Colin Watson <cjwatson@ubuntu.com>
22473
22474 * util/grub-mkconfig.in: Ignore non-option arguments, for
22475 compatibility with older versions (before 2010-06-12) which did the
22476 same. In particular, this makes it easier to ship an update-grub
22477 wrapper which is compatible with that used with GRUB Legacy (Debian
22478 bug #586056).
22479
5591324f
GS
224802010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22481
22482 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22483 for manual page generation.
22484
662e24d5
GS
224852010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22486
22487 * po/POTFILES: Remove leftover commands/handler.c.
22488
8d70754e
CW
224892010-06-14 Colin Watson <cjwatson@ubuntu.com>
22490
22491 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22492 left this script non-functional.
22493
41160e2e
CW
224942010-06-14 Colin Watson <cjwatson@ubuntu.com>
22495
22496 * docs/man/grub-emu.h2m: New file.
22497
b5309cc1
CW
224982010-06-13 Colin Watson <cjwatson@ubuntu.com>
22499
22500 * docs/grub.texi (Commands): Document reduced command set in rescue
22501 mode.
22502 (cpuid): New section.
22503
fcb2d090
GS
225042010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22505
22506 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22507 new partition naming style.
22508 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22509
96e5c556
BC
225102010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22511
22512 Add "-o grub.iso" like cmdline options support.
22513
22514 * util/grub-install.in: Improve cmdline option parsing.
22515 * util/grub-mkconfig.in: Likewise.
22516 * util/grub-mkrescue.in: Likewise.
22517 * util/grub-reboot.in: Likewise.
22518 * util/grub-set-default.in: Likewise.
22519 * util/i386/efi/grub-install.in: Likewise.
22520 * util/ieee1275/grub-install.in: Likewise.
22521 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22522
c16be99b
CW
225232010-06-12 Colin Watson <cjwatson@ubuntu.com>
22524
22525 * .bzrignore: Ignore 41_custom.
22526
ce08a9fb
TS
225272010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22528
22529 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22530
7beac90c
CW
225312010-06-12 Colin Watson <cjwatson@ubuntu.com>
22532
22533 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22534 prototype declarations.
22535
22536 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22537 generating fs, partmap, and video lists.
22538 * include/grub/fs.h (grub_fs_register): Omit prototype if
22539 GRUB_LST_GENERATOR is defined.
22540 * include/grub/partition.h (grub_partition_map_register): Likewise.
22541 * include/grub/video.h (grub_video_register): Likewise.
22542
1c8f0f8d
JM
225432010-06-12 Javier Martín <lordhabbit@gmail.com>
22544
22545 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22546
a6085973
TS
225472010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22548
22549 * util/grub-mkrescue.in: Support --xorriso argument.
22550
25c56d29
VS
225512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22554 Suggested by: Thomas Schmitt.
22555
e03e4b24
VS
225562010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22557
22558 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22559 Suggested by: Thomas Schmitt.
22560
57711df6
VS
225612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22562
22563 custom.cfg support.
22564
22565 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22566 * util/grub.d/41_custom.in: New file.
22567
ee62c427
CW
225682010-06-12 Colin Watson <cjwatson@ubuntu.com>
22569
22570 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22571 been merged back into normal.
22572
283af07a
CW
225732010-06-11 Colin Watson <cjwatson@ubuntu.com>
22574
22575 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22576 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22577
56a0d956
CW
225782010-06-11 Colin Watson <cjwatson@ubuntu.com>
22579
22580 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22581 when generating manual pages.
22582 * docs/man/grub-bin2h.h2m: New file.
22583 * docs/man/grub-editenv.h2m: New file.
22584 * docs/man/grub-fstest.h2m: New file.
22585 * docs/man/grub-install.h2m: New file.
22586 * docs/man/grub-macho2img.h2m: New file.
22587 * docs/man/grub-mkconfig.h2m: New file.
22588 * docs/man/grub-mkdevicemap.h2m: New file.
22589 * docs/man/grub-mkfont.h2m: New file.
22590 * docs/man/grub-mkimage.h2m: New file.
22591 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22592 * docs/man/grub-mkrelpath.h2m: New file.
22593 * docs/man/grub-mkrescue.h2m: New file.
22594 * docs/man/grub-ofpathname.h2m: New file.
22595 * docs/man/grub-pe2elf.h2m: New file.
22596 * docs/man/grub-probe.h2m: New file.
22597 * docs/man/grub-reboot.h2m: New file.
22598 * docs/man/grub-script-check.h2m: New file.
22599 * docs/man/grub-set-default.h2m: New file.
22600 * docs/man/grub-setup.h2m: New file.
22601
3a37e322
VS
226022010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22603
22604 Use FOR_* macros instead of *_iterate whenever possible.
22605
22606 * commands/handler.c: Removed.
22607 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22608 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22609 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22610 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22611 (grub_probe_SOURCES): Remove kern/parser.c.
22612 (util/grub-script-check.c_DEPENDENCIES): Removed.
22613 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22614 and grub_script_check_init.c.
22615 (grub_script_check_init.lst): Removed.
22616 (grub_script_check_init.h): Likewise.
22617 (grub_script_check_init.c): Likewise.
22618 (pkglib_MODULES): Remove handler.mod and sh.mod.
22619 (handler_mod_SOURCES): Removed.
22620 (handler_mod_CFLAGS): Likewise.
22621 (handler_mod_LDFLAGS): Likewise.
22622 (normal_mod_SOURCES): Remove normal/handler.c.
22623 Add script/main.c, script/script.c, script/execute.c,
22624 script/function.c, script/lexer.c, grub_script.tab.c
22625 and grub_script.yy.c.
22626 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22627 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22628 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22629 (grub_setup_SOURCES): Remove kern/parser.c.
22630 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22631 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22632 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22633 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22634 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22635 (grub_setup_SOURCES): Remove kern/parser.c.
22636 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22637 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22638 * include/grub/command.h (grub_command_iterate): Removed.
22639 (FOR_COMMANDS): New macro.
22640 * include/grub/dl.h (grub_dl): New member next.
22641 (grub_dl_iterate): Removed.
22642 (grub_dl_head): New variable declaration.
22643 (FOR_DL_MODULES): New macro.
22644 * include/grub/fs.h: Include list.h.
22645 (grub_fs): Make next first element.
22646 (grub_fs_list): New variable declaration.
22647 (grub_fs_register): Make inline.
22648 (grub_fs_unregister): Likewise.
22649 (grub_fs_iterate): Removed.
22650 (FOR_FILESYSTEMS): New macro.
22651 * include/grub/handler.h: Removed.
22652 * include/grub/list.h (grub_list_hook_t): Removed.
22653 (grub_list_test_t): Likewise.
22654 (grub_list_pop): Likewise.
22655 (grub_list_iterate): Likewise.
22656 (grub_list_insert): Likewise.
22657 (FOR_LIST_ELEMENTS): New macro.
22658 * include/grub/parser.h (grub_parser_class): Removed.
22659 (grub_parser_register): Likewise.
22660 (grub_parser_unregister): Likewise.
22661 (grub_parser_get_current): Likewise.
22662 (grub_parser_set_current): Likewise.
22663 (grub_register_rescue_parser): Likewise.
22664 (grub_rescue_parse_line): New function.
22665 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22666 * include/grub/script_sh.h (grub_script_function_list): New variable
22667 declaration.
22668 (FOR_SCRIPT_FUNCTIONS): New macro.
22669 (grub_script_function_iterate): Removed.
22670 (grub_normal_parse_line): New prototype.
22671 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22672 (FOR_DISABLED_TERM_INPUTS): Likewise.
22673 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22674 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22675 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22676 element.
22677 (grub_video_register): Inline.
22678 (grub_video_unregister): Likewise.
22679 (grub_video_adapter_list): New variable declaration.
22680 (grub_video_iterate): Removed.
22681 (FOR_VIDEO_ADAPTERS): New macro.
22682 * kern/dl.c (grub_dl_list): Removed. All users updated.
22683 (grub_dl_iterate): Removed.
22684 * kern/fs.c (grub_fs_list): Make global.
22685 (grub_fs_register): Removed.
22686 (grub_fs_unregister): Likewise.
22687 (grub_fs_iterate): Likewise.
22688 * kern/handler.c: Removed.
22689 * kern/list.c (grub_list_pop): Removed.
22690 (grub_list_iterate): Likewise.
22691 (grub_list_insert): Likewise.
22692 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22693 (grub_prio_list_insert): Don't use grub_list_insert.
22694 * kern/main.c (grub_register_rescue_parser): Don't call
22695 grub_register_rescue_parser.
22696 * kern/parser.c (grub_parser_class): Removed.
22697 (grub_parser_execute): Use grub_rescue_parse_line.
22698 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22699 (grub_rescue_parser): Removed.
22700 (grub_register_rescue_parser): Likewise.
22701 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22702 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22703 (grub_auth_check_authentication): Likewise.
22704 * normal/completion.c (iterate_command): Removed.
22705 (grub_normal_do_completion): Use FOR_COMMANDS.
22706 * normal/handler.c: Removed.
22707 * normal/main.c (read_config_file): Remove parser changing.
22708 (grub_normal_execute): Don't call read_handler_list.
22709 (grub_normal_read_line_real): Statically allocate prompt.
22710 (grub_cmdline_run): Use grub_normal_parse_line.
22711 (GRUB_MOD_FINI): Don't call free_handler_list.
22712 * normal/menu_entry.c (run): Likewise.
22713 * script/function.c (grub_script_function_list): Make global.
22714 (grub_script_function_iterate): Removed.
22715 * script/main.c (grub_normal_parse_line): Make global.
22716 (grub_sh_parser): Removed.
22717 (GRUB_MOD_INIT): Likewise.
22718 (GRUB_MOD_FINI): Likewise.
22719 * tests/lib/functional_test.c (grub_functional_test): Use
22720 FOR_LIST_ELEMENTS.
22721 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22722 (grub_test_run): Use FOR_LIST_ELEMENTS.
22723 * tests/lib/unit_test.c (main): Likewise.
22724 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22725 grub_list_pop.
22726 * util/grub-fstest.c (grub_term_input_class): Removed.
22727 (grub_term_output_class): Likewise.
22728 * util/grub-probe.c: Likewise.
22729 * util/i386/pc/grub-setup.c: Likewise.
22730 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22731 * util/grub-script-check.c (main): Don't call grub_init_all and
22732 grub_fini_all.
22733 * video/video.c (grub_video_adapter_list): Make global.
22734 (grub_video_register): Removed.
22735 (grub_video_unregister): Likewise.
22736 (grub_video_iterate): Likewise.
22737
6289c3a7
VS
227382010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22741 reported by Henrique Ferreiro.
22742
91460247
RM
227432010-06-09 Robert Millan <rmh@gnu.org>
22744
22745 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22746 ones, when both are available.
22747
0ea7c4f9
GS
227482010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22749
22750 Make --version uniform and avoid hard-coded program name.
22751
22752 * util/grub-mkimage.c (main): Use `program_name' instead of
22753 hard-coded string.
22754 * util/i386/pc/grub-setup.c (main): Likewise.
22755 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22756 * util/grub-install.in: Save the basename of $0 in $self, and use the
22757 latter in informational messages. Use the same format for --version
22758 as the binary programs.
22759 * util/grub-mkconfig.in: Likewise.
22760 * util/grub-mkrescue.in: Likewise.
22761 * util/grub-reboot.in: Likewise.
22762 * util/grub-set-default.in: Likewise.
22763 * util/i386/efi/grub-install.in: Likewise.
22764 * util/ieee1275/grub-install.in: Likewise.
22765 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22766
e8a6f3b6
GS
227672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22768
22769 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22770 embedding area. Use <= instead of == when checking for non-emptiness.
22771
f4d095d7
GS
227722010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22773
22774 * configure.ac: Add `.' to the directories searched for unifont.
22775
50e532ca
CW
227762010-06-08 Colin Watson <cjwatson@ubuntu.com>
22777
22778 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22779 grub_script.yy.h.
22780
d39f3dec
CW
227812010-06-08 Colin Watson <cjwatson@ubuntu.com>
22782
22783 * docs/grub.texi (History): Expand to cover GRUB 2.
22784 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22785 commands, not `terminal'.
22786 (serial): Likewise.
22787 (terminal_input): New section.
22788 (terminal_output): New section.
22789 (uppermem): New section (stub).
22790 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22791
6ef0ddb4
CW
227922010-06-08 Colin Watson <cjwatson@ubuntu.com>
22793
22794 * docs/grub.texi (Security): Menu entries are unrestricted by
22795 default, not restricted to superusers as I had previously thought.
22796 Reword to account for this.
22797
e0f4c438
CW
227982010-06-07 Colin Watson <cjwatson@ubuntu.com>
22799
22800 * kern/emu/misc.c (device_mapper_null_log): New function.
22801 (grub_device_mapper_supported): New function.
22802 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22803 prototype.
22804 * kern/emu/hostdisk.c (find_partition_start): Check whether
22805 device-mapper is supported before trying to use it.
22806 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22807
da908200
CW
228082010-06-07 Colin Watson <cjwatson@ubuntu.com>
22809
22810 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22811 (File name syntax): Likewise.
22812 (help): --all is no longer supported in GRUB 2. Be more precise
22813 about pattern matching.
22814
fb55c3ac
CW
228152010-06-07 Colin Watson <cjwatson@ubuntu.com>
22816
22817 * normal/completion.c (grub_normal_do_completion): When completing
22818 arguments to "set" and the current word contains an equals sign,
22819 skip to after the equals sign before starting completion.
22820
258c2573
CW
228212010-06-07 Colin Watson <cjwatson@ubuntu.com>
22822
22823 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22824
ee75515e
CW
228252010-06-07 Colin Watson <cjwatson@ubuntu.com>
22826
22827 * docs/grub.texi (Network): New section.
22828 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22829 `(nd)' as in GRUB Legacy.
22830 (pxe_unload): New section.
22831
a6a700aa
CW
228322010-06-07 Colin Watson <cjwatson@ubuntu.com>
22833
22834 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22835 in the rescue shell, so recommend using `set' instead. Thanks,
22836 Jordan Uggla.
22837
4003dd38
CW
228382010-06-07 Colin Watson <cjwatson@ubuntu.com>
22839
22840 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22841 (password): New section.
22842 (password_pbkdf2): New section.
22843 (search): New section.
22844 (Security): New section.
22845 (Troubleshooting): New section, currently very incomplete.
22846 (Invoking grub-mkpasswd-pbkdf2): New section.
22847 (Internals): New section, currently very incomplete.
22848
e1cbcc40
CW
228492010-06-07 Colin Watson <cjwatson@ubuntu.com>
22850
22851 * util/grub.d/00_header.in: Add some more quoting (of
22852 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22853 work again.
22854 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22855
db8fa1ad
CW
228562010-06-07 Colin Watson <cjwatson@ubuntu.com>
22857
22858 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22859 to `count', fixing variable shadowing that broke the -c option.
22860
228612010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22862
22863 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22864 in case they contain spaces.
22865
f28a9212
CW
228662010-06-04 Colin Watson <cjwatson@ubuntu.com>
22867
22868 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22869 "part_" to partmap module names, in line with grub-install.
22870 Reported by: Jindřich Makovička (Debian bug #584426).
22871
9cdfe32f
CW
228722010-06-04 Colin Watson <cjwatson@ubuntu.com>
22873
22874 * util/grub-mkimage.c: Make target-related error messages slightly
22875 more helpful; -O talks about "format". Explicitly point to the use
22876 of -O if no target is specified.
22877 Reported by: Didier Raboud (Debian bug #584415).
22878
795b593a
CW
228792010-06-03 Colin Watson <cjwatson@ubuntu.com>
22880
22881 * INSTALL: Document several build requirements for optional features
22882 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22883
9d9b5833
GS
228842010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22885
22886 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22887 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22888 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22889
0819fec8
CW
228902010-06-02 Colin Watson <cjwatson@ubuntu.com>
22891
22892 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22893 Thanks to Jordan Uggla for spotting this.
22894
49396b4f
VS
228952010-06-02 Aleš Nesrsta <starous@volny.cz>
22896
22897 Finally make USB usable.
22898
22899 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22900 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22901 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22902 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22903 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22904 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22905 (GRUB_OHCI_FSMPS): Likewise.
22906 (GRUB_OHCI_PERIODIC_START): Likewise.
22907 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22908 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22909 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22910 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22911 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22912 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22913 (grub_ohci_transaction): Likewise.
22914 (grub_ohci_transfer): Improve condition detection algorithms.
22915 Handle toggle property. Program the transactions correctly.
22916 Improve error handling. Various important fixups.
22917 (grub_ohci_portstatus): Put register writes in right order.
22918 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22919 (grub_uhci_transfer): Don't show "failed" message on success.
22920 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22921 array.
22922 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22923 determine its size.
22924 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22925 before initialization is completed. Use IN direction for empty
22926 transfers. Use last_trans and compute toggle.
22927 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22928 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22929 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22930 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22931 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22932 (grub_usb_device): Increase toggle to 256.
22933 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22934 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22935 GRUB_USBMS_SUBCLASS_SFF8070.
22936 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22937 (grub_scsi_inquiry): New member page and alloc_length.
22938 (grub_scsi_request_sense): New structure.
22939 (grub_scsi_request_sense_data): Likewise.
22940 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22941 control.
22942 * disk/scsi.c (grub_scsi_request_sense): New function.
22943 (grub_scsi_test_unit_ready): Likewise.
22944 (grub_scsi_inquiry): Fill new fields.
22945 (grub_scsi_read_capacity): Likewise.
22946 (grub_scsi_read10): Add request sense at the end.
22947 (grub_scsi_read12): Likewise.
22948 (grub_scsi_write10): Likewise.
22949 (grub_scsi_write12): Likewise.
22950 (grub_scsi_open): Add Test Unit Ready.
22951 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22952 Support additional subclasses. Con't clear halt yet. Activate the
22953 proper config. Calculate LUNs correctly.
22954 (grub_usbms_transfer): Various important fixups.
22955
229562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22957
22958 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22959 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22960 (grub_ohci_fini_hw): New function.
22961 (grub_ohci_restore_hw): Likewise.
22962 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22963 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22964 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22965
229662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22967
22968 Dedicated DMA allocations.
22969
22970 * bus/pci.c (grub_memalign_dma32): New function
22971 (grub_dma_free): Likewise.
22972 (grub_dma_get_virt): Likewise.
22973 (grub_dma_get_phys): Likewise.
22974 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22975 (grub_ohci_pci_iter): Use dma32_alloc.
22976 (grub_ohci_transfer): Likewise.
22977 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22978 (grub_usb_bulk_readwrite): Likewise.
22979 * include/grub/pci.h: Add declarations.
22980
229812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 CS5536 support.
22984
22985 * bus/cs5536.c: New file.
22986 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22987 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22988 (cs5536_mod_SOURCES): New variable.
22989 (cs5536_mod_CFLAGS): Likewise.
22990 (cs5536_mod_LDFLAGS): Likewise.
22991 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22992 machine/pci.h.
22993 (kernel_img_SOURCES): Add bus/cs5536.c.
22994 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22995 usb_keyboard.mod.
22996 (usb_mod_SOURCES): New variable.
22997 (usb_mod_CFLAGS): New variable.
22998 (usb_mod_LDFLAGS): New variable.
22999 (usbtest_mod_SOURCES): New variable.
23000 (usbtest_mod_CFLAGS): New variable.
23001 (usbtest_mod_LDFLAGS): New variable.
23002 (ohci_mod_SOURCES): New variable.
23003 (ohci_mod_CFLAGS): New variable.
23004 (ohci_mod_LDFLAGS): New variable.
23005 (usbms_mod_SOURCES): New variable.
23006 (usbms_mod_CFLAGS): New variable.
23007 (usbms_mod_LDFLAGS): New variable.
23008 (usb_keyboard_mod_SOURCES): New variable.
23009 (usb_keyboard_mod_CFLAGS): New variable.
23010 (usb_keyboard_mod_LDFLAGS): New variable.
23011 * include/grub/smbus.h: New file.
23012 * include/grub/cs5536.h: New file.
23013
0b35b2a9
CW
230142010-06-02 Colin Watson <cjwatson@ubuntu.com>
23015
23016 * util/grub.d/00_header.in: Add safety check to make sure that
23017 ${locale_dir} exists before trying to probe it.
23018
ca0afd5b
CW
230192010-06-02 Colin Watson <cjwatson@ubuntu.com>
23020
23021 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23022 per the GNU Coding Standards; this is now too obscure to be worth
23023 documenting.
23024 (QNX): Likewise.
23025 (chainloader): Remove cross-reference to `SCO UnixWare'.
23026
1c41aa78
CW
230272010-06-02 Colin Watson <cjwatson@ubuntu.com>
23028
23029 * docs/grub.texi (Chain-loading): New section.
23030 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23031 adjusted for GRUB 2.
23032 (SCO UnixWare): Likewise.
23033 (QNX): Likewise.
23034 (chainloader): Add reference to `Block list syntax'.
23035 (drivemap): New section.
23036 (parttool): New section.
23037
bb8ea0f5
CW
230382010-06-02 Colin Watson <cjwatson@ubuntu.com>
23039
23040 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23041 the grub shell'.
23042 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23043 (Installing GRUB using grub-install): Remove reference to the grub
23044 shell; mention `grub-mkimage' and `grub-setup' instead.
23045 (Invoking grub-install): Likewise.
23046 (Interface): Add reference to `Menu entry editor'.
23047 (serial): Remove `--device' option.
23048
288dd6ed
CW
230492010-06-02 Colin Watson <cjwatson@ubuntu.com>
23050
23051 * docs/grub.texi (Configuration): New section, documenting
23052 configuration file generation using grub-mkconfig. I've left a slot
23053 for documenting the full shell scripting format but have not yet
23054 started on writing that up.
23055 (Invoking grub-mkconfig): New section.
23056
34c9f0e9
CW
230572010-06-02 Colin Watson <cjwatson@ubuntu.com>
23058
23059 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23060 (GNU GRUB manual): Likewise.
23061 (General commands): Update description of `terminfo' for GRUB 2.
23062
9121567e
CW
230632010-06-02 Colin Watson <cjwatson@ubuntu.com>
23064
23065 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23066 (GRUB_MOD_INIT): Fix capitalisation.
23067 * docs/grub.texi (Command-line and menu entry commands): Document
23068 gettext and gptsync commands.
23069
ab631611
CW
230702010-06-02 Colin Watson <cjwatson@ubuntu.com>
23071
23072 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23073 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23074
bde4a9ac
CW
230752010-06-01 Colin Watson <cjwatson@ubuntu.com>
23076
23077 Add btrfs probing support, currently only in the single-device case.
23078
23079 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23080 function.
23081 (grub_guess_root_device): Call find_root_device_from_mountinfo
23082 before looking in /dev.
23083
b1d17e10
VS
230842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23085
23086 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23087 GRUB_DISK_SIZE_UNKNOWN.
23088 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23089
dfbfe004
JS
230902010-05-31 Jiro SEKIBA <jir@unicus.jp>
23091
23092 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23093 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23094 corrupted or not synced properly.
23095
c2ffc8e9
VS
230962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23099 Reported by: Seth Goldberg.
23100
56293166
VS
231012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23102
23103 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23104 addition of dest.
23105 Reported by: Seth Goldberg.
23106
7620e7de
VS
231072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23108
23109 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23110 Reported by: Seth Goldberg.
23111
c837af3f
VS
231122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23113
23114 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23115 64-bit address as signed on MIPS.
23116
c7c75cf4
CW
231172010-05-28 Colin Watson <cjwatson@ubuntu.com>
23118
23119 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23120 to the empty string.
23121
fa4b8490
BC
231222010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23123
23124 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23125
23126 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23127 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23128 * kern/misc.c (__enable_execute_stack): Disable on
23129 GRUB_MACHINE_EMU.
23130
a33075b9
CW
231312010-05-28 Colin Watson <cjwatson@ubuntu.com>
23132
23133 Make grub-probe work with symbolic links under /dev/mapper as well
23134 as with real block devices. The Linux world seems to be (at best)
23135 in transition here, and GRUB shouldn't get caught in the middle.
23136
23137 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23138 /dev/mapper.
23139
d8708134
CW
231402010-05-27 Colin Watson <cjwatson@ubuntu.com>
23141
23142 * util/grub-script-check.c (main): Ensure defined behaviour on empty
23143 input files (in which case exit zero).
23144
db2102a0
CW
231452010-05-27 Colin Watson <cjwatson@ubuntu.com>
23146
23147 * kern/emu/misc.c (canonicalize_file_name): realpath can still
23148 return NULL for various reasons even if it has a maximum-length
23149 buffer: for example, there might be a symlink loop, or the path
23150 might exceed PATH_MAX. If this happens, return NULL.
23151
5fdba519
RM
231522010-05-27 Robert Millan <rmh@gnu.org>
23153
23154 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
23155 partmap module to handle cross-partmap setups.
23156 Reported by Orestes Mas. Gràcies!
23157
d1d368e4
CW
231582010-05-27 Colin Watson <cjwatson@ubuntu.com>
23159
23160 * util/grub-mkrescue.in: Initialise override_dir rather than
23161 assuming that it's unset or empty in the environment.
23162
95ac3c73
GS
231632010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
23164
23165 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
23166 variable index into p_index to suppress a warning with -Wshadow.
23167
7d8c0213
BC
231682010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
23169
23170 * INSTALL: Added flex >= 2.5.35 requirement.
23171
db4d5813
VS
231722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23173
23174 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
23175
f24f4300
VS
231762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23177
23178 cmostest support.
23179
23180 * commands/i386/cmostest.c: New file.
23181 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23182 (cmostest_mod_SOURCES): New variable.
23183 (cmostest_mod_CFLAGS): Likewise.
23184 (cmostest_mod_LDFLAGS): Likewise.
23185 * conf/i386-pc.rmk: Likewise.
23186 * docs/grub.texi (Vendor power-on keys): New section.
23187 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23188 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23189 and GRUB_BUTTON_CMOS_ADDRESS.
23190 * util/grub.d/00_header.in: Handle powering-on by separate button.
23191
ad603f61
VS
231922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23193
23194 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23195 Removed drawing_scrollbar argument. All users updated
23196 Fixes #29792.
23197 Reported by Jo Shields
23198
3ecb080a
VS
231992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23200
23201 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23202 buffer since gfxterm handles double repaint.
23203
5f2316c1
VS
232042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23205
23206 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23207 * term/gfxterm.c (real_scroll): Likewise.
23208
9a25f885
VS
232092010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23210
23211 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23212 before calling BIOS.
23213
39fbb79a
VS
232142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23215
23216 * include/grub/i18n.h: Always enable grub_gettext.
23217
228cfa97
VS
232182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23219
23220 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23221 partition naming style.
23222
21717c8f
CW
232232010-05-21 Colin Watson <cjwatson@ubuntu.com>
23224
23225 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23226 not the first option.
23227
c0f48e65
CW
232282010-05-20 Colin Watson <cjwatson@ubuntu.com>
23229
23230 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23231
96779aec
CW
232322010-05-20 Colin Watson <cjwatson@ubuntu.com>
23233
23234 * util/misc.c: Move inclusion of <limits.h> to ...
23235 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23236
fa9d256e
GS
232372010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23238
23239 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23240 Fix merge error in NetBSD code.
23241 (find_partition_start) [__NetBSD__]: Likewise.
23242
123b7a85
BC
232432010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23244
23245 Fix grub-mkrescue usage unit testing.
23246
23247 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23248
74276c0d
CF
232492010-05-18 Christian Franke <franke@computer.org>
23250
23251 * util/grub.d/10_windows.in: Use path names instead of
23252 drive letters to prevent warning from Cygwin 1.7.
23253 Add drivemap command to menuentry if needed.
23254
c4f7b523
ST
232552010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23256
23257 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23258 gnumach and gnumach.gz.
23259
95b97950
VS
232602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23261
23262 * include/grub/i18n.h (gettext): Inline instead of using #define.
23263 (grub_gettext): Likewise.
23264 (_): Likewise.
23265
01b8d2d7
VS
232662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23267
23268 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23269 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23270 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23271 (main): Add a slash after pkglibdirroot.
23272
654e1d1e
VS
232732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 * util/grub-install.in: Add missing "in" keyword.
23276
26966aeb
VS
232772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23278
23279 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23280 Reported by: Seth Goldberg.
23281
75006747
VS
232822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23283
23284 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23285
74cbf5bd
CW
232862010-05-18 Colin Watson <cjwatson@ubuntu.com>
23287
23288 * configure.ac: Check for Linux device-mapper support.
23289
23290 * util/hostdisk.c (device_is_mapped): New function.
23291 (find_partition_start): New function, partly broken out from
23292 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23293 device-mapper support added.
23294 (linux_find_partition): Use find_partition_start.
23295 (convert_system_partition_to_system_disk): Add `st' argument.
23296 Support Linux /dev/mapper/* devices if device-mapper support is
23297 available; only DM-RAID devices are understood at present.
23298 (find_system_device): Add `st' argument. Pass it to
23299 convert_system_partition_to_system_disk.
23300 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23301 find_system_device and convert_system_partition_to_system_disk. Use
23302 find_partition_start.
23303
23304 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23305 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23306 * util/deviceiter.c [__linux__]: Define MINOR.
23307 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23308 * util/mkdevicemap.c (grub_putchar): New function.
23309 (grub_getkey): New function.
23310 (grub_refresh): New function.
23311 (main): Set debug=all if -v -v is used.
23312
355b51e9
CW
233132010-05-18 Colin Watson <cjwatson@ubuntu.com>
23314
23315 Fix build with non-GNU libcs.
23316
23317 * util/misc.c (canonicalize_file_name): Move to ...
23318 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23319 grub_make_system_path_relative_to_its_root.
23320
7fb5c25f
CW
233212010-05-18 Colin Watson <cjwatson@ubuntu.com>
23322
23323 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23324 we handle finding grub-mkimage. Default to finding grub-mkimage in
23325 ${bindir} with program_transform_name applied, and provide a
23326 --grub-mkimage option to override this.
23327
1d3293d6
VS
233282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23329
23330 Remove grub-mkisofs.
23331
23332 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23333 (grub_mkisofs_SOURCES): Removed.
23334 (grub_mkisofs_CFLAGS): Removed.
23335 * util/mkisofs/defaults.h: Removed.
23336 * util/mkisofs/eltorito.c: Likewise.
23337 * util/mkisofs/exclude.h: Likewise.
23338 * util/mkisofs/hash.c: Likewise.
23339 * util/mkisofs/include/: Likewise.
23340 * util/mkisofs/include/fctldefs.h: Likewise.
23341 * util/mkisofs/include/mconfig.h: Likewise.
23342 * util/mkisofs/include/prototyp.h: Likewise.
23343 * util/mkisofs/include/statdefs.h: Likewise.
23344 * util/mkisofs/iso9660.h: Likewise.
23345 * util/mkisofs/joliet.c: Likewise.
23346 * util/mkisofs/match.c: Likewise.
23347 * util/mkisofs/match.h: Likewise.
23348 * util/mkisofs/mkisofs.c: Likewise.
23349 * util/mkisofs/mkisofs.h: Likewise.
23350 * util/mkisofs/msdos_partition.h: Likewise.
23351 * util/mkisofs/multi.c: Likewise.
23352 * util/mkisofs/name.c: Likewise.
23353 * util/mkisofs/rock.c: Likewise.
23354 * util/mkisofs/tree.c: Likewise.
23355 * util/mkisofs/write.c: Likewise.
23356
5dde9afe
VS
233572010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23358
23359 Unify grub-mkimage accross platforms.
23360
23361 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23362 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23363 (grub_mkelfimage_SOURCES): Removed.
23364 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23365 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23366 (bin_UTILITIES): Add grub-mkimage.
23367 (grub_mkimage_SOURCES): New variable.
23368 (kernel_img_HEADERS): Remove machine/kernel.h.
23369 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23370 (pkglib_PROGRAMS): Add kernel.img.
23371 (kernel_img_HEADERS): Add machine/kernel.h.
23372 (kernel_img_FORMAT): Removed.
23373 (bin_UTILITIES): Remove grub-mkimage.
23374 (grub_mkimage_SOURCES): Removed.
23375 (grub_mkimage_CFLAGS): Likewise.
23376 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23377 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23378 (pkglib_PROGRAMS): Add kernel.img.
23379 (bin_UTILITIES): Remove grub-mkimage.
23380 (grub_mkimage_SOURCES): Removed.
23381 (grub_mkimage_CFLAGS): Likewise.
23382 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23383 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23384 (pkglib_PROGRAMS): Add kernel.img.
23385 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23386 (pkglib_PROGRAMS): Add kernel.img.
23387 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23388 (grub_mkimage_SOURCES): Removed.
23389 (grub_mkimage_CFLAGS): Likewise.
23390 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23391 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23392 (pkglib_PROGRAMS): Add kernel.img.
23393 (bin_UTILITIES): Remove grub-mkimage.
23394 (grub_mkimage_SOURCES): Removed.
23395 (grub_mkimage_CFLAGS): Likewise.
23396 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23397 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23398 (grub_mkimage_SOURCES): Removed.
23399 (grub_mkimage_CFLAGS): Likewise.
23400 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23401 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23402 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23403 (grub_pe32_optional_header): ... this.
23404 (grub_pe64_optional_header): ... and this. All users updated.
23405 (GRUB_PE32_PE32_MAGIC): Split into ..
23406 (GRUB_PE32_PE32_MAGIC): .. this.
23407 (GRUB_PE32_PE64_MAGIC): .. and this.
23408 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23409 * include/grub/elf.h (PT_GNU_STACK): New definition.
23410 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23411 * include/grub/i386/efi/kernel.h: Likewise.
23412 * include/grub/i386/kernel.h: Likewise.
23413 * include/grub/i386/pc/kernel.h: Likewise.
23414 * include/grub/i386/qemu/boot.h: Likewise.
23415 * include/grub/mips/kernel.h: Likewise.
23416 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23417 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23418 * include/grub/powerpc/kernel.h: Likewise.
23419 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23420 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23421 * include/grub/sparc64/kernel.h: Likewise.
23422 * include/grub/x86_64/efi/kernel.h: Likewise.
23423 * include/grub/x86_64/kernel.h: Likewise.
23424 * include/grub/offsets.h: New file.
23425 * include/grub/kernel.h (grub_module_info): Split into ...
23426 (grub_module_info32): ... this.
23427 (grub_module_info64): ... and this.
23428 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23429 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23430 (grub_boot_blocklist): Moved from here ...
23431 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23432 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23433 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23434 * include/grub/types.h (grub_target_to_host16): Removed.
23435 (grub_target_to_host32): Likewise.
23436 (grub_target_to_host64): Likewise.
23437 (grub_host_to_target16): Likewise.
23438 (grub_host_to_target32): Likewise.
23439 (grub_host_to_target64): Likewise.
23440 (grub_host_to_target_addr): Likewise.
23441
23442 Support grub-mkrescue for efi, coreboot and qemu.
23443
23444 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23445 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23446 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23447 * util/grub-mkrawimage.c: Moved from here ...
23448 * util/grub-mkimage.c: ... here. All users updated.
23449 (ALIGN_ADDR): Use image_target.
23450 (TARGET_NO_FIELD): New const.
23451 (image_target_desc): New type.
23452 (image_targets): New array.
23453 (grub_target_to_host64): Use image_target.
23454 (grub_target_to_host32): Likewise.
23455 (grub_target_to_host16): Likewise.
23456 (grub_host_to_target64): Likewise.
23457 (grub_host_to_target32): Likewise.
23458 (grub_host_to_target16): Likewise.
23459 (grub_host_to_target_addr): Likewise.
23460 (generate_image): Handle multiimage.
23461 (main): Require -O parameter. All users updated.
23462 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23463 util/efi/grub-mkimage.c
23464 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23465 New option --rom-directory.
23466 Use xorriso.
23467 * util/i386/efi/grub-mkimage.c: Removed.
23468 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23469 (grub_target_to_host32): Likewise.
23470 (grub_target_to_host64): Likewise.
23471 (grub_host_to_target16): Likewise.
23472 (grub_host_to_target32): Likewise.
23473 (grub_host_to_target64): Likewise.
23474 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23475 (grub_target_to_host32): Likewise.
23476 (grub_target_to_host64): Likewise.
23477 (grub_host_to_target16): Likewise.
23478 (grub_host_to_target32): Likewise.
23479 (grub_host_to_target64): Likewise.
23480
f4fc97d0
BC
234812010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23482
23483 Source tree is reorganized for emu build.
23484
23485 * include/grub/util/console.h: Move from here...
23486 * include/grub/emu/console.h: ...to here.
23487 * include/grub/util/getroot.h: Move from here...
23488 * include/grub/emu/getroot.h: ...to here.
23489 * include/grub/util/hostdisk.h: Move from here...
23490 * include/grub/emu/hostdisk.h: ...to here.
23491 * util/console.c: Move from here...
23492 * kern/emu/console.c: ...to here.
23493 * util/getroot.c: Move from here...
23494 * kern/emu/getroot.c: ...to here.
23495 * util/grub-emu.c: Move from here...
23496 * kern/emu/main.c: ...to here.
23497 * util/hostdisk.c: Move from here...
23498 * kern/emu/hostdisk.c: ...to here.
23499 * util/hostfs.c: Move from here...
23500 * kern/emu/hostfs.c: ...to here.
23501 * util/mm.c: Move from here...
23502 * kern/emu/mm.c: ...to here.
23503 * util/pci.c: Move from here...
23504 * bus/emu/pci.c: ...to here.
23505 * util/sdl.c: Move from here...
23506 * video/emu/sdl.c: ...to here.
23507 * util/time.c: Move from here...
23508 * kern/emu/time.c: ...to here.
23509 * util/usb.c: Move from here...
23510 * bus/usb/emu/usb.c: ...to here.
23511
23512 * include/grub/emu/misc.h: New header for grub-emu functions.
23513 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23514
23515 * conf/any-emu.rmk: Rule updates for above renames.
23516 * conf/common.rmk: Likewise.
23517 * conf/i386-pc.rmk: Likewise.
23518 * conf/i386-qemu.rmk: Likewise.
23519 * conf/mips.rmk: Likewise.
23520 * conf/sparc64-ieee1275.rmk: Likewise.
23521 * conf/x86-efi.rmk: Likewise.
23522
23523 * disk/lvm.h: #include updates for above renames.
23524 * util/grub-mkrelpath.c: Likewise.
23525 * util/grub-probe.c: Likewise.
23526 * util/i386/pc/grub-setup.c: Likewise.
23527 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23528 * kern/emu/console.c: Likewise.
23529 * kern/emu/getroot.c: Likewise.
23530 * kern/emu/hostdisk.c: Likewise.
23531 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23532
23533 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23534 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23535 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23536 * util/misc.c: Remove grub-emu functions.
23537
cced9145
VS
235382010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23539
23540 Fix gfxmenu crash.
23541 Reported by: Thorsten Grützmacher.
23542
23543 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23544 timeout hook.
23545 (circprog_set_property): Register and unregister timeout hook.
23546 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23547 (label_destroy): Free template. and unregister hook.
23548 (label_set_state): New function.
23549 (label_set_property): Handle templates and hooks.
23550 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23551 timeout hook.
23552 (progress_bar_set_property): Register and unregister timeout hook.
23553 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23554 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23555 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23556 (update_timeout_visit): Removed.
23557 (update_timeouts): New function.
23558 (redraw_timeouts): Likewise.
23559 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23560 (grub_gfxmenu_clear_timeout): Likewise.
23561 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23562 (grub_gfxmenu_timeout_notify): Likewise.
23563 (grub_gfxmenu_timeout_notifications): New external variable.
23564 (grub_gfxmenu_timeout_register): New function.
23565 (grub_gfxmenu_timeout_unregister): Likewise.
23566
c6e5caab
VS
235672010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23568
23569 Transform (broken) vga terminal into (working) vga video driver.
23570
23571 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23572 video/i386/pc/vga.c.
23573 * include/grub/video.h (grub_video_driver_id):
23574 Add GRUB_VIDEO_DRIVER_VGA.
23575 * term/i386/pc/vga.c: Renamed to ...
23576 * video/i386/pc/vga.c: ...this
23577 (DEBUG_VGA): Removed.
23578 (CHAR_WIDTH): Likewise.
23579 (CHAR_HEIGHT): Likewise.
23580 (TEXT_WIDTH): Likewise.
23581 (TEXT_HEIGHT): Likewise.
23582 (DEFAULT_FG_COLOR): Likewise.
23583 (DEFAULT_BG_COLOR): Likewise.
23584 (colored_char): Likewise.
23585 (xpos): Likewise.
23586 (ypos): Likewise.
23587 (cursor_state): Likewise.
23588 (fg_color): Likewise.
23589 (bg_color): Likewise.
23590 (text_buf): Likewise.
23591 (page): Likewise.
23592 (font): Likewise.
23593 (framebuffer): New variable.
23594 (set_read_map): Disabled.
23595 (setup): New variable.
23596 (is_target): Likewise.
23597 (grub_vga_mod_init): Likewise.
23598 (grub_vga_mod_fini): Likewise.
23599 (check_vga_mem): Likewise.
23600 (write_char): Likewise.
23601 (write_cursor): Likewise.
23602 (scroll_up): Likewise.
23603 (grub_vga_putchar): Likewise.
23604 (grub_vga_getcharwidth): Likewise.
23605 (grub_vga_getwh): Likewise.
23606 (grub_vga_getxy): Likewise.
23607 (grub_vga_gotoxy): Likewise.
23608 (grub_vga_cls): Likewise.
23609 (grub_vga_setcolorstate): Likewise.
23610 (grub_vga_setcursor): Likewise.
23611 (grub_video_vga_init): New function.
23612 (grub_video_vga_setup): Likewise.
23613 (grub_video_vga_fini): Likewise.
23614 (update_target): Likewise.
23615 (grub_video_vga_blit_bitmap): Likewise.
23616 (grub_video_vga_blit_render_target): Likewise.
23617 (grub_video_vga_set_active_render_target): Likewise.
23618 (grub_video_vga_get_active_render_target): Likewise.
23619 (grub_video_vga_swap_buffers): Likewise.
23620 (grub_video_vga_set_palette): Likewise.
23621 (grub_video_vga_get_info_and_fini): Likewise.
23622 (grub_vga_term): Removed.
23623 (grub_video_vga_adapter): New variable.
23624 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23625 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23626
2bf61a98
VS
236272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23628
23629 * video/readers/jpeg.c: Indented.
23630
09ddcd11
VS
236312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23632
23633 Various jpeg cleanups.
23634
23635 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23636 (grub_jpeg_decode_quan_table): Use sizeof.
23637 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23638
e5507505
PH
236392010-05-05 Peter Hurley <No e-mail available> (tiny change)
23640
23641 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23642 tables. Ignore non-last ac bit.
23643 (grub_jpeg_decode_quan_table): Likewise.
23644
7e720a9b
VS
236452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23646
23647 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23648 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23649 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23650 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23651 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23652 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23653
a7fc080b
VS
236542010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23657 error.
23658
2bf6012d
VS
236592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23662
265d68cd
VS
236632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23664
23665 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23666 condition.
23667
236682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23669
23670 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23671 part.
23672
265d68cd 236732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23674
23675 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23676 pointers.
23677
265d68cd 236782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23679
23680 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23681
d1b61374
CF
236822010-05-01 Christian Franke <franke@computer.org>
23683
23684 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23685 Remove broken Cygwin path conversion.
23686 * util/misc.c: [__CYGWIN__] Add include and define.
23687 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23688 for Cygwin 1.7.
23689 (make_system_path_relative_to_its_root): Simplify loop, replace early
23690 return by break.
23691 [__CYGWIN__] Add conversion to win32 path.
23692 Include "/" case in trailing slash removal.
23693
3558c6e9
VS
236942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23695
23696 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23697 Reported by: Seth Goldberg
23698
f5f3ff93
VS
236992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23700
23701 * commands/help.c (grub_cmd_help): Fix a typo.
23702 Reported by: Seth Goldberg
23703
d8b5cd40
VS
237042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23705
23706 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23707 name and add N_.
23708 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23709 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23710 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23711 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23712 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23713 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23714 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23715 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23716 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23717 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23718 * normal/context.c (GRUB_MOD_INIT): Likewise.
23719 * normal/main.c (GRUB_MOD_INIT): Likewise.
23720 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23721 * term/serial.c (GRUB_MOD_INIT): Likewise.
23722 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23723
88c14915
VS
237242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23725
23726 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23727 extra == 0.
23728
165134bc
VS
237292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23730
23731 * commands/iorw.c: New file.
23732 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23733 (iorw_mod_SOURCES): New variable.
23734 (iorw_mod_CFLAGS): Likewise.
23735 (iorw_mod_LDFLAGS): Likewise.
23736
c5ac9b32
VS
237372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23738
23739 Hotkey support
23740
23741 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23742 * normal/main.c (hotkey_aliases): New variable.
23743 (grub_normal_add_menu_entry): Parse "--hotkey".
23744 * normal/menu_text.c (run_menu): Handle hotkeys.
23745
ce60689c
VS
237462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23747
23748 * kern/i386/coreboot/init.c (grub_machine_init): Call
23749 grub_machine_mmap_init on qemu.
23750
0359d006
VS
237512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23752
23753 * boot/i386/qemu/boot.S: Add a missing .code16.
23754
7819a456
VS
237552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23756
23757 Use LBIO on coreboot.
23758
23759 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23760 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23761 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23762 New declaration.
23763 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23764 grub_machine_mmap_init on coreboot.
23765 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23766 GRUB_LINUXBIOS_MEMBER_LINK.
23767 (grub_machine_mmap_iterate): Fix declaration.
23768 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23769
7210dca9
VS
237702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23771
23772 Split coreboot and multiboot ports.
23773
23774 * conf/i386-multiboot.rmk: New file.
23775 * configure.ac: Add multiboot port.
23776 * include/grub/i386/multiboot/boot.h: New file.
23777 * include/grub/i386/multiboot/console.h: Likewise.
23778 * include/grub/i386/multiboot/init.h: Likewise.
23779 * include/grub/i386/multiboot/kernel.h: Likewise.
23780 * include/grub/i386/multiboot/loader.h: Likewise.
23781 * include/grub/i386/multiboot/memory.h: Likewise.
23782 * include/grub/i386/multiboot/serial.h: Likewise.
23783 * include/grub/i386/multiboot/time.h: Likewise.
23784 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23785 * loader/multiboot.c: Likewise.
23786 * loader/multiboot_mbi2.c: Likewise.
23787 * util/grub-mkrescue.in: Generate multiboot rescue.
23788
6f8aaf68
VS
237892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23790
3080f7a7
VS
23791 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23792
237932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23794
23795 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23796
23797 * commands/terminal.c (abstract_terminal): New struct.
23798 (handle_command): New function. Based on grub_cmd_terminal_input.
23799 (grub_cmd_terminal_input): Use handle_command.
23800 (grub_cmd_terminal_output): Use handle_command.
23801
a8ebb841
BC
238022010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23803
23804 Fix comment handling.
23805
23806 * tests/grub_script_comments.in: New testcase.
23807 * conf/tests.rmk: Rules for new testcase.
23808 * script/yylex.l: Updated flex rules.
23809
bb06ba08
ST
238102010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23811
23812 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23813 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23814 if argc is 1.
bb06ba08 23815
cc9d2425
VS
238162010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23819 autogen issues.
23820
460d8402
CF
238212010-04-26 Christian Franke <franke@computer.org>
23822
23823 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23824 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23825 (grub_get_prefix): Remove function.
23826 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23827 make_system_path_relative_to_its_root ().
23828 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23829
553c01f9
CF
238302010-04-24 Christian Franke <franke@computer.org>
23831
23832 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23833 (kernel_img_LDFLAGS): Remove -static-libgcc.
23834
2aec1692
CF
238352010-04-24 Christian Franke <franke@computer.org>
23836
23837 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23838 and CHECK_END_SYMBOL if grub-emu is built.
23839 Unset TARGET_OBJ2ELF if grub-emu is built
23840 without module support.
23841
f67dc308
JS
238422010-04-24 Jiro SEKIBA <jir@unicus.jp>
23843
23844 Nilfs2 support.
23845
23846 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23847 (grub_fstest_SOURCES): Likewise.
23848 (pkglib_MODULES): Add nilfs2.mod.
23849 (nilfs2_mod_SOURCES): New variable.
23850 (nilfs2_mod_CFLAGS): Likewise.
23851 (nilfs2_mod_LDFLAGS): Likewise.
23852 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23853 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23854 * fs/nilfs2.c: New file.
23855
4ba8d354
VS
238562010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23857
23858 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23859 is not supported.
23860
0d2c20c6
GS
238612010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23862
23863 Add grub-mkconfig support for NetBSD.
23864
23865 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23866 * util/grub-mkconfig.in: export new NetBSD specific variables.
23867 * po/POTFILES-shell: added 10_netbsd.in.
23868 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23869
bc4a2d83
BC
238702010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23871
23872 Fix emu build with grub-emu-pci and grub-emu-modules.
23873
23874 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23875 functions.
23876 * include/grub/libpciaccess.h: New file.
23877 * conf/any-emu.rmk: Update kernel headers for emu build.
23878
f48c87aa
VS
238792010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23880
23881 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23882
18959385
VS
238832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23884
23885 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23886
0037de3f
VS
238872010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23888
23889 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23890 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23891 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23892 util/ieee1275/ofpath.c.
23893 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23894 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23895 * include/grub/sparc64/ieee1275/boot.h
23896 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23897 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23898 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23899 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23900 const char *.
23901 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23902 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23903 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23904 install.
23905
38e55e90
GS
239062010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23907
23908 * util/grub-mkconfig.in: Corrected two == equality tests.
23909 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23910 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23911 expect a number appended to it.
23912 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23913 expects a number appended to it.
23914
a9e6ff28
VS
239152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23918
0b830b8f
VS
239192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23920
23921 * util/hostdisk.c (make_device_name): Change to new partition naming.
23922
0973daeb
VS
239232010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23926
460d8402 239272010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23928
23929 * Makefile.in: Add missing localedir setting.
23930
0b456309
CW
239312010-04-14 Colin Watson <cjwatson@ubuntu.com>
23932
23933 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23934 mistake in r2156. Noticed by Anthony Fok.
23935
23936 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23937 @localedir@.
23938 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23939
08f46d62
BC
239402010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23941
23942 Fix a spurious, uninitialized variable warning.
23943
23944 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23945 Initialize variable, shdr.
23946 (grub_freebsd_load_elfmodule): Likewise.
23947 (grub_freebsd_load_elf_meta): Likewise.
23948
8c4a72d4
BC
239492010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23950
23951 Fix for escaped dollar in double quoted strings.
23952
23953 * script/yylex.l: Updated flex rules.
23954 * conf/tests.rmk: Rule for new testcase.
23955 * tests/grub_script_dollar.in: New testcase.
23956
ce44826e
CPE
239572010-04-13 Carles Pina i Estany <carles@pina.cat>
239582010-04-13 Colin Watson <cjwatson@ubuntu.com>
23959
23960 Enclose all translated strings in grub.cfg in single quotes, and
23961 escape them appropriately (Ubuntu bug #552921).
23962
23963 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23964 * util/grub.d/10_hurd.in: Use it.
23965 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23966 * util/grub.d/10_linux.in (linux_entry): Likewise.
23967
4b0cd8f8
VS
239682010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23969
23970 Fix cygwin compilation.
23971
23972 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23973 * include/grub/misc.h (__register_frame_info)
23974 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23975 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23976 * kern/misc.c (__register_frame_info)
23977 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23978 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23979
01fcf061
VS
239802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23981
23982 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23983
5d04b11e
VS
239842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23985
23986 Unify libgcc processing.
23987
23988 * Makefile.in (kernel_img_LDFLAGS): New variable.
23989 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23990 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23991 overwriting.
23992 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23993 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23994 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23995 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23996 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23997 overwriting. Remove -lgcc and -static-libgcc
23998 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23999 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24000 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24001 (kernel_img_LDFLAGS): Append instead of overwriting.
24002 Remove -lgcc and -static-libgcc
24003 * conf/sparc64-ieee1275.rmk: Likewise.
24004 * include/grub/powerpc/libgcc.h: Move to ...
24005 * include/grub/libgcc.h: .. this.
24006 * include/grub/libgcc.h: Don't export most of the function on x86.
24007 (__bswapsi2): New export.
24008 (__bswapdi2): Likewise.
24009 * include/grub/mips/libgcc.h: Removed.
24010 * include/grub/sparc64/libgcc.h: Likewise.
24011
b7f3ac29
VS
240122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24013
24014 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24015 disk_info_msg (conflicts with gettexting into languages with cases).
24016
2c7031b1
GS
240172010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24018
24019 Add grub-probe support for NetBSD.
24020
24021 * util/getroot.c (find_root_device): Convert block device to
24022 character device on NetBSD.
24023 * util/probe.c (probe): Require character device on NetBSD.
24024 * util/hostdisk.c: NetBSD specific headers.
24025 (configure_device_driver): new function to tune device driver
24026 parameters (currently only for NetBSD floppy driver).
24027 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24028 via disklabel ioctl).
24029 (open_device): call configure_device_driver on NetBSD.
24030 (convert_system_partition_to_system_disk): NetBSD specific code.
24031 (device_is_wholedisk): Likewise.
24032 (grub_util_biosdisk_get_grub_dev): Likewise.
24033 (make_device_name): Fixed a typo in bsd_part_str.
24034 * configure.ac: check for opendisk() and getrawpartition() on
24035 NetBSD and set LIBUTIL.
24036 * Makefile.in: add LIBUTIL to LIBS.
24037
f516290c
BC
240382010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24039
24040 Documentation fix.
24041
24042 * util/grub-script-check.c: Better help message.
24043
d8dcc0df
BC
240442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24045
24046 Fix FreeBSD build.
24047
24048 * configure.ac: Flex version check.
24049 * conf/common.rmk: Add -Wno-error to sh.mod.
24050 * script/yylex.l: Remove all #pragma.
24051
6734334a
VS
240522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24055 prototype.
24056 Reported by: Seth Goldberg.
24057
daea6abd
VS
240582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24059
24060 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24061 Rename "module" to "module2".
24062 Reported by: Seth Goldberg.
24063
f2fd9d2b
VS
240642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24065
24066 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24067 EXPORT_FUNC.
24068 Reported by: Seth Goldberg.
24069
be124579
VS
240702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24071
24072 * lib/posix_wrap/locale.h: Add missing file.
24073 Reported by: Seth Goldberg.
24074
ef5da797
VS
240752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24076
24077 grub-emu module load support.
24078
24079 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24080 NO_DYNAMIC_MODULES switched to this.
24081 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24082 (CFLAGS): Likewise.
24083 * conf/any-emu.rmk: Generate symlist.
24084 (kernel_img_HEADERS): Add util/datetime.h.
24085 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24086 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24087 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24088 kern/$(target_cpu)/cache.S.
24089 * configure.ac (grub-emu-modules): New option.
24090 * genmk.rb: Handle multiple source lists.
24091 * include/grub/sdl.h: New file.
24092 * include/grub/libusb.h: Likewise.
24093 * util/grub-emu.c (main): Hanle (host) root.
24094 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24095 GRUB_ERR_UNKNOWN_DEVICE.
24096 * util/misc.c: Move mm functions to ...
24097 * util/mm.c: ... here. All users updated.
24098
47822096
VS
240992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24100
24101 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24102 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24103 missing files.
24104 (maintainer-clean): Remove libgcrypt-grub.
24105
5d7e7445
VS
241062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24107
24108 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24109
25f4e252
EC
241102010-04-09 EFI Coder <eficoder@hotmail.com>
24111
24112 * normal/menu_text.c (print_message): Clean up the message and show
24113 the Fn information when on EFI
24114 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24115
027de555
VS
241162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24117
24118 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24119 All users updated.
24120 * normal/crypto.c (read_crypto_list): Likewise.
24121 * normal/dyncmd.c (read_command_list): Likewise.
24122 * normal/term.c (read_terminal_list): Likewise.
24123 * normal/main.c (read_lists): Use explicit prefix.
24124 (read_lists_hook): Use read_lists.
24125 (grub_normal_execute): Likewise.
24126
47779711
VS
241272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24128
24129 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24130 Reported by: Thomas Schmitt.
24131 Add -no-emul-boot to grub-mkisofs parameters.
24132
1118c32e
VS
241332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 * font/font.c: Indented.
24136
7d652447
BC
241372010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24138
24139 Elif support to GRUB script (by Deepak Vankadaru).
24140
24141 * tests/grub_script_if.in: New testcase.
24142 * conf/tests.rmk: Rule for new testcase.
24143 * script/parser.y: Grammar rules for elif.
24144
34bb22df
BC
241452010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24146
24147 While and until loops support to GRUB script.
24148
24149 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
24150 (grub_script_create_cmdwhile): New function prototype.
24151 (grub_script_execute_cmdwhile): New function prototype.
24152 * script/execute.c (grub_script_execute_cmdwhile): New function.
24153 * script/parser.y (command): New commands.
24154 (whilecmd): New grammar rule.
24155 (untilcmd): New grammar rule.
24156 * script/script.c (grub_script_create_cmdwhile): New function.
24157 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
24158 function.
24159
24160 * tests/grub_script_while1.in: New testcase.
24161 * conf/tests.rmk: Rule for new testcase.
24162
e215d8e0
VS
241632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24164
24165 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
24166 as *.jpg.
24167
d7c43ba1
MV
241682010-04-09 Mario Vazquez <mariovazq@gmail.com>
24169
24170 GRUB_BACKGROUND support.
24171
24172 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
24173 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
24174
d64795c0
VS
241752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24176
24177 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24178 Idea by: Mario Vazquez
d64795c0
VS
24179
24180 * util/grub.d/00_header.in: Load pf2 and image modules.
24181
f267f83a
VS
241822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24183
24184 grub-mkconfig multiple terminal support.
24185
24186 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24187 * util/grub.d/00_header.in: Likewise.
24188
b7841ceb
VS
241892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24190
24191 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24192 we use cd $(srcdir).
24193
df60998c
CW
241942010-04-08 Colin Watson <cjwatson@ubuntu.com>
24195
24196 * util/grub.d/10_linux.in: Only use the first word of
24197 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24198 spaces in GRUB_DISTRIBUTOR.
24199 * util/grub.d/10_kfreebsd.in: Likewise.
24200 * util/grub.d/10_hurd.in: Likewise.
24201
fa09c82e
BC
242022010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24203
14e18ae3 24204 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24205
24206 * tests/util/grub-shell.in: Remove -serial stdio option.
24207
daf892b3
BC
242082010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 POSIX header file wrappers.
24211
24212 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24213 equivalents.
24214 * lib/posix_wrap/ctype.h: Likewise.
24215 * lib/posix_wrap/errno.h: Likewise.
24216 * lib/posix_wrap/langinfo.h: Likewise.
24217 * lib/posix_wrap/limits.h: Likewise.
24218 * lib/posix_wrap/localcharset.h: Likewise.
24219 * lib/posix_wrap/stdint.h: Likewise.
24220 * lib/posix_wrap/stdio.h: Likewise.
24221 * lib/posix_wrap/stdlib.h: Likewise.
24222 * lib/posix_wrap/string.h: Likewise.
24223 * lib/posix_wrap/sys/types.h: Likewise.
24224 * lib/posix_wrap/unistd.h: Likewise.
24225 * lib/posix_wrap/wchar.h: Likewise.
24226 * lib/posix_wrap/wctype.h: Likewise.
24227 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24228 (grub_script.yy.h): Likewise.
24229 * script/yylex.l: Remove POSIX emulation #defines.
24230 * Makefile.in (POSIX_CFLAGS): New variable.
24231 (GNULIB_UTIL_CFLAGS): Likewise.
24232
24233 Regexp support.
24234
24235 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24236 (regexp_mod_SOURCES): New variable.
24237 (regexp_mod_CFLAGS): Likewise.
24238 (regexp_mod_LDFLAGS): Likewise.
24239 * commands/regexp.c: New file.
24240 * gnulib/regcomp.c: New file. Imported from gnulib.
24241 * gnulib/regex.c: Likewise.
24242 * gnulib/regex_internal.c: Likewise.
24243 * gnulib/regex_internal.h: Likewise.
24244 * gnulib/regexec.c: Likewise.
24245 * gnulib/regex.h: Likewise.
24246
974ac4f7
VS
242472010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24248
24249 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24250 unsupported video mode types.
24251
2622c3ff
VS
242522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24253
24254 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24255
064cb524
VS
242562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24257
24258 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24259 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24260
a8c3b552
VS
242612010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24262
24263 Remove unused grub_vga_get_font.
24264
24265 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24266 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24267
187bbe3d
GS
242682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24269
24270 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24271 * include/grub/misc.h: Likewise.
24272
b9396631
GS
242732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24274
24275 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24276 for which failure is fatal.
24277
50479feb
GS
242782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24279
24280 * util/grub-install.in: Use mkdir -p to create grub directory.
24281 * util/i386/efi/grub-install.in: Likewise.
24282 * util/ieee1275/grub-install.in: Likewise.
24283
b1654fdf
GS
242842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24285
24286 * Makefile.in (LEX): new variable.
24287
bd5a6415
GS
242882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24289
24290 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24291 `=' and added double quotes on operands of this equality test.
24292
3db3a82b
VS
242932010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24294
24295 * Makefile.in (uninstall): Remove a leftover debug echo.
24296 Reported by: Grégoire Sutre
24297
38023412
VS
242982010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24299
24300 MIPS multiboot2 support.
24301
24302 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24303 (multiboot2_mod_SOURCES): New variable.
24304 (multiboot2_mod_CFLAGS): Likewise.
24305 (multiboot2_mod_LDFLAGS): Likewise.
24306 (multiboot2_mod_ASFLAGS): Likewise.
24307 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24308 definition.
24309 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24310 (MULTIBOOT_MBI_REGISTER): Likewise.
24311 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24312 (MULTIBOOT_ELF32_MACHINE): Likewise.
24313 (MULTIBOOT_ELF64_MACHINE): Likewise.
24314 * include/grub/mips/multiboot.h: New file.
24315 * include/grub/video.h (grub_video_driver_id): New type
24316 GRUB_VIDEO_DRIVER_SM712.
24317 (grub_video_get_info_and_fini): Export.
24318 (grub_video_get_palette): Likewise.
24319 (grub_video_get_driver_id): Likewise.
24320 * include/multiboot2.h: Resynced with spec.
24321 * loader/i386/multiboot.c: Moved from here ...
24322 * loader/multiboot.c: ... here. All users updated.
24323 (grub_multiboot_boot): Use platform-specific macros.
24324 * loader/i386/multiboot_elfxx.c: Moved from here ...
24325 * loader/multiboot_elfxx.c: ... here. All users updated.
24326 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24327 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24328 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24329
47674667
VS
243302010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24331
24332 Import gnulib argp module.
24333
24334 * gnulib/argp-ba.c: New file.
24335 * gnulib/argp-eexst.c: Likewise.
24336 * gnulib/argp-fmtstream.c: Likewise.
24337 * gnulib/argp-fmtstream.h: Likewise.
24338 * gnulib/argp-fs-xinl.c: Likewise.
24339 * gnulib/argp-help.c: Likewise.
24340 * gnulib/argp-namefrob.h: Likewise.
24341 * gnulib/argp-parse.c: Likewise.
24342 * gnulib/argp-pin.c: Likewise.
24343 * gnulib/argp-pv.c: Likewise.
24344 * gnulib/argp-pvh.c: Likewise.
24345 * gnulib/argp-version-etc.c: Likewise.
24346 * gnulib/argp-version-etc.h: Likewise.
24347 * gnulib/argp-xinl.c: Likewise.
24348 * gnulib/argp.h: Likewise.
24349
495442ed
VS
243502010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24351
24352 * kern/device.c (grub_device_iterate): Clear errors after failed
24353 opening device.
24354
f9fd65df
VS
243552010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24358 returned by firmware.
24359
af09641e
VS
243602010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24361
24362 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24363 compilation on coreboot and qemu
24364
016883a5
VS
243652010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24366
24367 * include/multiboot2.h: Resync with spec.
24368
f97e1f7d
VS
243692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24370
24371 Multiboot2 tag support
24372
24373 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24374 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24375 Remove loader/multiboot_loader.c.
24376 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24377 (grub_multiboot2_real_boot): Likewise.
24378 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24379 (grub_get_multiboot_mmap_count): New proto.
24380 (grub_fill_multiboot_mmap): Likewise.
24381 (grub_multiboot_set_video_mode): Likewise.
24382 (grub_multiboot_set_console): Likewise.
24383 (grub_multiboot_load): Likewise.
24384 (grub_multiboot_load_elf): Likewise.
24385 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24386 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24387 * include/multiboot.h: Resynced with specification.
24388 * include/multiboot2.h: Resynced with specification.
24389 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24390 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24391 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24392 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24393 users updated.
24394 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24395 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24396 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24397 Removed.
24398 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24399 Moved from here...
24400 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24401 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24402 Moved from here...
24403 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24404 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24405 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24406 All users updated.
24407 * loader/i386/multiboot_mbi2.c: New file.
24408
3506b90b
VS
244092010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 Resync with gnulib.
24412
24413 * Makefile.in (GNULIB_CFLAGS): New variable.
24414 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24415 (grub_script_check_CFLAGS): New variable.
24416 * gnulib/alloca.h: Resync with gnulib.
24417 * gnulib/error.c: Likewise.
24418 * gnulib/error.h: Likewise.
24419 * gnulib/fnmatch.c: Likewise.
24420 * gnulib/fnmatch_loop.c: Likewise.
24421 * gnulib/getdelim.c: Likewise.
24422 * gnulib/getline.c: Likewise.
24423 * gnulib/getopt.c: Likewise.
24424 * gnulib/getopt1.c: Likewise.
24425 * gnulib/getopt_int.h: Likewise.
24426 * gnulib/gettext.h: Likewise.
24427 * gnulib/progname.c: Likewise.
24428 * gnulib/progname.h: Likewise.
24429
394a3120
GS
244302010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24431
24432 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24433 which is the case with --disabled-nls.
24434
24435 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24436 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24437 * util/misc.c: Likewise.
24438 * util/mkisofs/mkisofs.c: Likewise.
24439 * util/mkisofs/mkisofs.h: Likewise.
24440
969d1c78
VS
244412010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 Simplify Apple CC support.
24444
24445 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24446 Add 0 byte at the end not to have a symbol with empty target.
24447 * mmap/i386/pc/mmap_helper.S: Likewise.
24448 * genmk.rb: Ignore errors 2030 and 2050.
24449 * kern/i386/pc/startup.S: Use LOCAL when possible.
24450
8d2977bb
BC
244512010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24452
24453 Testcase and the fix for final semicolon on cmdline.
24454
24455 * tests/grub_script_final_semicolon.in: New testcase.
24456 * conf/tests.rmk: Rules for the new testcase.
24457 * script/parser.y: Grammar fix.
24458
a7bd6915
BC
244592010-03-26 BVK Chaitanya <bvk@localhost>
24460
24461 Blank lines testcase for GRUB script.
24462
24463 * tests/grub_script_blanklines.in: New testcase.
24464 * conf/tests.rmk: Rules for the new testcase.
24465
e4ff6628
VS
244662010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24467
24468 Don't use __FILE__.
24469
24470 * genmk.rb: Add -DGRUB_FILE to all C targets.
24471 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24472 * include/grub/list.h: Likewise.
24473 * include/grub/misc.h: Likewise.
24474 * include/grub/mm.h: Likewise.
24475 * include/grub/test.h: Likewise.
24476 * kern/mm.c: Likewise.
24477 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24478
6a5cf6b6
VS
244792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24480
24481 Sunpc partitions support.
24482
24483 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24484 (grub_fstest_SOURCES): Likewise.
24485 (pkglib_MODULES): Add part_sunpc.mod.
24486 (part_sunpc_mod_SOURCES): New variable.
24487 (part_sunpc_mod_CFLAGS): Likewise.
24488 (part_sunpc_mod_LDFLAGS): Likewise.
24489 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24490 * partmap/sunpc.c: New file.
24491
746d9045
BC
244922010-03-26 BVK Chaitanya <bvk@localhost>
24493
24494 For loop support to GRUB script.
24495
24496 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24497 (grub_script_create_cmdfor): New function prototype.
24498 (grub_script_execute_cmdfor): New function prototype.
24499 * script/execute.c (grub_script_execute_cmdfor): New function.
24500 * script/parser.y (command): New for command.
24501 (forcmd): New grammar rule.
24502 * script/script.c (grub_script_create_cmdfor): New function.
24503 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24504 function.
24505 * tests/grub_script_for1.in: New testcase.
24506 * conf/tests.rmk: Rules for new testcase.
24507
18486b18
VS
245082010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24509
24510 Nested partitions
24511
24512 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24513 'partition' is NULL, grub_partition_get_start already does that.
24514 * commands/loadenv.c (check_blocklists): Likewise.
24515 (write_blocklists): Likewise.
24516 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24517 (grub_fstest_SOURCES): Likewise.
24518 (pkglib_MODULES): Add part_bsd.mod.
24519 (part_bsd_mod_SOURCES): New variable.
24520 (part_bsd_mod_CFLAGS): Likewise.
24521 (part_bsd_mod_LDFLAGS): Likewise.
24522 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24523 (grub_emu_SOURCES): Likewise.
24524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24525 * include/grub/bsdlabel.h: New file.
24526 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24527 'get_name'.
24528 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24529 (grub_partition_map_list): New variable.
24530 (grub_partition_map_register): Inline.
24531 (grub_partition_map_unregister): Likewise.
24532 (FOR_PARTITION_MAPS): New macro.
24533 (grub_partition_map_iterate): Removed.
24534 (grub_partition_get_start): Handle nested partitions.
24535 * include/grub/msdos_partition.h: Remove bsd-related entries.
24536 (grub_pc_partition): Remove.
24537 * kern/disk.c (grub_disk_close): Free partition data.
24538 (grub_disk_adjust_range): Handle nested partitions.
24539 * kern/partition.c (grub_partition_map_probe): New function.
24540 (grub_partition_probe): Parse name to number, handle subpartitions.
24541 (get_partmap): New function.
24542 (grub_partition_iterate): Handle subpartitions.
24543 (grub_partition_get_name): Likewise.
24544 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24545 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24546 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24547 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24548 Set 'number'.
24549 (acorn_partition_map_probe): Remove.
24550 (acorn_partition_map_get_name): Likewise.
24551 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24552 Set 'number'.
24553 Set 'index' to 0 since there can be only one partition entry per sector.
24554 (amiga_partition_map_probe): Remove.
24555 (amiga_partition_map_get_name): Likewise.
24556 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24557 Set 'number'.
24558 Set 'offset' and 'index' to real positions of partitions.
24559 (apple_partition_map_probe): Remove.
24560 (apple_partition_map_get_name): Likewise.
24561 * partmap/bsdlabel.c: New file.
24562 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24563 Set 'number'.
24564 Allocate 'data' so it can be correctly freed.
24565 Set 'index' to offset inside sector.
24566 (gpt_partition_map_probe): Remove.
24567 (gpt_partition_map_get_name): Likewise.
24568 * partmap/msdos.c (grub_partition_parse): Remove.
24569 (pc_partition_map_iterate): Don't force raw access.
24570 Set 'number'.
24571 Make 'ext_offset' a local variable.
24572 (pc_partition_map_probe): Remove.
24573 (pc_partition_map_get_name): Remove.
24574 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24575 Set 'number'.
24576 (sun_partition_map_probe): Remove.
24577 (sun_partition_map_get_name): Likewise.
24578 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24579 (grub_pcpart_type): Likewise.
24580 * util/hostdisk.c (open_device): Handle new numbering scheme.
24581 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24582 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24583 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24584 * util/grub-install.in: Insert all subpartition modules.
24585 * util/ieee1275/grub-install.in: Likewise.
24586
a3940f88
AG
245872010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24588
24589 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24590 grammar.
24591
21b99926 245922010-03-24 Colin Watson <cjwatson@ubuntu.com>
24593
24594 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24595
bed1d352
CW
245962010-03-21 Colin Watson <cjwatson@ubuntu.com>
24597
24598 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24599 match where 'make install' puts them.
24600 * util/i386/efi/grub-install.in: Likewise.
24601
c9f58427
CW
246022010-03-19 Colin Watson <cjwatson@ubuntu.com>
24603
24604 * .bzrignore: Add gentrigtables, grub-script-check,
24605 grub_script_check_init.c, grub_script_check_init.h, and
24606 trigtables.c.
24607
f84afb27
VS
246082010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 * kern/parser.c: Indented.
24611
ed0e3d30
VS
246122010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24615
0ea81d98
VS
246162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24617
24618 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24619 alpha_mask_size == 0 case.
24620
0cdc2a09
BC
246212010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24622
24623 GRUB shell lexer and parser improvements.
24624
24625 * conf/any-emu.rmk: Build rule updates.
24626 * conf/common.rmk: Likewise.
24627 * conf/i386-coreboot.rmk: Likewise.
24628 * conf/i386-efi.rmk: Likewise.
24629 * conf/i386-ieee1275.rmk: Likewise.
24630 * conf/i386-pc.rmk: Likewise.
24631 * conf/powerpc-ieee1275.rmk: Likewise.
24632 * conf/x86_64-efi.rmk: Likewise.
24633
24634 * configure.ac: Configure check for flex.
24635
24636 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24637 types.
24638 (grub_lexer_param): Struct member updates.
24639 (grub_parser_param): Likewise.
24640 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24641 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24642 (grub_script_lexer_init): Prototype update.
24643 (grub_script_lexer_record_start): Likewise.
24644 (grub_script_lexer_record_stop): Likewise.
24645 (grub_script_lexer_yywrap): New function prototype.
24646 (grub_script_lexer_fini): Likewise.
24647 (grub_script_execute_argument_to_string): Removed by...
24648 (grub_script_execute_argument_to_argv): ...better version.
24649
24650 * script/execute.c (ROUND_UPTO): New macro.
24651 (grub_script_execute_cmdline): Out of memory fixes.
24652 (grub_script_execute_menuentry): Likewise.
24653 (grub_script_execute_argument_to_string): Removed. Update all
24654 users by...
24655 (grub_script_execute_argument_to_argv): ...better version.
24656 * script/function.c (grub_script_function_create): Use
24657 grub_script_execute_argument_to_argv instead of
24658 grub_script_execute_argument_to_string.
24659
24660 * script/lexer.c (check_varstate): Removed.
24661 (check_textstate): Removed.
24662 (grub_script_lexer_record_start): Likewise.
24663 (grub_script_lexer_record_stop): Likewise.
24664 (recordchar): Replaced with...
24665 (grub_script_lexer_record): ...new function.
24666 (nextchar): Removed.
24667 (grub_script_lexer_init): Rewritten.
24668 (grub_script_yylex): Rewritten.
24669 (append_newline): New function.
24670 (grub_script_lexer_yywrap): New function.
24671 (grub_script_lexer_fini): New function.
24672 (grub_script_yyerror): Sets error flag.
24673
24674 * script/yylex.l: New file.
24675 (grub_lexer_yyfree): Wrapper for flex yyffre.
24676 (grub_lexer_yyalloc): Likewise.
24677 (grub_lexer_yyrealloc): Likewise.
24678 * script/parser.y: Refactored.
24679
24680 * script/script.c (grub_script_arg_add): Out of memory fixes.
24681 (grub_script_add_arglist): Likewise.
24682 (grub_script_create_cmdline): Likewise.
24683 (grub_script_create_cmdmenu): Likewise.
24684 (grub_script_add_cmd): Likewise.
24685 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24686 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24687 unnecessary code.
24688
24689 * tests/grub_script_echo1.in: New testcase.
24690 * tests/grub_script_vars1.in: New testcase.
24691 * tests/grub_script_echo_keywords.in: New testcase.
24692
1d63a066
VS
246932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24694
24695 Remove some redundancy in build system.
24696
24697 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24698 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24699 (TARGET_LDFLAGS): Add -nostdlib.
24700 (TARGET_IMG_LDFLAGS): Likewise.
24701 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24702 anything since mmap isn't available.
24703 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24704 Add util/time.c.
24705 (pkglib_MODULES): Remove reboot.mod.
24706 (reboot_mod_SOURCES): Removed.
24707 (reboot_mod_CFLAGS): Likewise.
24708 (reboot_mod_LDFLAGS): Likewise.
24709 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24710 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24711 (DEFSYMFILES): Add kernel_syms.lst.
24712 (kernel_img_HEADERS): Add common headers.
24713 (symlist.c): New target.
24714 (kernel_syms.lst): Likewise.
24715 (pkglib_MODULES): Add memdisk.mod.
24716 (memdisk_mod_SOURCES): New variable.
24717 (memdisk_mod_CFLAGS): Likewise.
24718 (memdisk_mod_LDFLAGS): Likewise.
24719 (pkglib_MODULES): Add reboot.mod.
24720 (reboot_mod_SOURCES): New variable.
24721 (reboot_mod_CFLAGS): Likewise.
24722 (reboot_mod_LDFLAGS): Likewise.
24723 (pkglib_MODULES): Add date.mod.
24724 (date_mod_SOURCES): New variable.
24725 (date_mod_CFLAGS): Likewise.
24726 (date_mod_LDFLAGS): Likewise.
24727 (pkglib_MODULES): Add datehook.mod.
24728 (datehook_mod_SOURCES): New variable.
24729 (datehook_mod_CFLAGS): Likewise.
24730 (datehook_mod_LDFLAGS): Likewise.
24731 (pkglib_MODULES): Add lsmmap.mod.
24732 (lsmmap_mod_SOURCES): New variable.
24733 (lsmmap_mod_CFLAGS): Likewise.
24734 (lsmmap_mod_LDFLAGS): Likewise.
24735 (pkglib_MODULES): Add boot.mod.
24736 (boot_mod_SOURCES): New variable.
24737 (boot_mod_CFLAGS): Likewise.
24738 (boot_mod_LDFLAGS): Likewise.
24739 * conf/i386-coreboot.rmk: Removed redundant parts.
24740 * conf/i386-ieee1275.rmk: Likewise.
24741 * conf/i386-pc.rmk: Likewise.
24742 * conf/mips-yeeloong.rmk: Likewise.
24743 * conf/mips.rmk: Likewise.
24744 * conf/powerpc-ieee1275.rmk: Likewise.
24745 * conf/sparc64-ieee1275.rmk: Likewise.
24746 * conf/x86_64-efi.rmk: Likewise.
24747 * conf/i386-coreboot.rmk: Moved qemu parts ..
24748 * conf/i386-qemu.rmk: ... here
24749 * conf/i386-efi.rmk: Moved common parts to...
24750 * conf/x86-efi.rmk: ... here.
24751 * conf/i386.rmk: Added modules common to all x86 variants.
24752 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24753 * disk/memdisk.c: Remove grub/machine/kernel.h.
24754 * gensymlist.sh.in: Include symbol.h.
24755 * hook/datehook.c: Correct module name.
24756 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24757 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24758 * include/grub/i386/efi/serial.h: New file.
24759 * include/grub/x86_64/efi/serial.h: Likewise.
24760 * util/time.c: Likewise.
24761 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24762
463ac55f
CK
247632010-03-14 Colin King <colin.king@ubuntu.com>
247642010-03-14 Colin Watson <cjwatson@ubuntu.com>
24765
24766 Shrink the pre-partition-table part of boot.img by eight bytes.
24767
24768 * boot/i386/pc/boot.S (ERR): New macro.
24769 (chs_mode): Use ERR.
24770 (geometry_error): Likewise.
24771 (hd_probe_error): Remove. This is only used once, so we wrwite
24772 it inline instead.
24773 (read_error): Instead of printing read_error_string, just set up
24774 %si and fall through to ...
24775 (error_message): ... this new function, also used by ERR.
24776
08e46ede
CW
247772010-03-14 Colin Watson <cjwatson@ubuntu.com>
24778
24779 Speed up consecutive hostdisk operations on the same device.
24780
24781 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24782 (grub_util_biosdisk_open): Initialise disk->data.
24783 (struct linux_partition_cache): New structure.
24784 (linux_find_partition): Cache partition start positions; these are
24785 expensive to compute on every read and write.
24786 (open_device): Cache open file descriptor in disk->data, so that we
24787 don't have to reopen it and flush the buffer cache for consecutive
24788 operations on the same device.
24789 (grub_util_biosdisk_close): New function.
24790 (grub_util_biosdisk_dev): Set `close' member.
24791
24792 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24793 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24794 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24795 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24796 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24797
4a6d2d06
VS
247982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24799
24800 Compile parts of grub-emu as modules.
24801
24802 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24803 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24804 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24805 (all-local): Add $(GRUB_EMU).
24806 (install-local): Install $(GRUB_EMU).
24807 (uninstall): Uninstall $(GRUB_EMU).
24808 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24809 * kern/dl.c: Likewise.
24810 * commands/sleep.c: Not include machine/time.h.
24811 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24812 (COMMON_CFLAGS): Likewise.
24813 (sbin_UTILITIES): Remove grub-emu.
24814 (grub_emu_SOURCES): Removed.
24815 (kernel_img_RELOCATABLE): New variable.
24816 (pkglib_PROGRAMS): Add kernel.img.
24817 (kernel_img_SOURCES): New variable
24818 (kernel_img_CFLAGS): Likewise.
24819 (kernel_img_LDFLAGS): Likewise.
24820 (TARGET_NO_STRIP): Likewise.
24821 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24822 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24823 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24824 (grub-emu): New target.
24825 (GRUB_EMU): New variable.
24826 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24827 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24828 * loader/xnu.c: Likewise.
24829 * include/grub/pci.h: Likewise.
24830 * genemuinit.sh: New file.
24831 * genemuinitheader.sh: Likewise.
24832 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24833 Support TARGET_NO_DYNAMIC_MODULES.
24834 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24835 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24836 * disk/loopback.c: Likewise.
24837 * font/font_cmd.c: Likewise.
24838 * partmap/acorn.c: Likewise.
24839 * partmap/amiga.c: Likewise.
24840 * partmap/apple.c: Likewise.
24841 * partmap/gpt.c: Likewise.
24842 * partmap/msdos.c: Likewise.
24843 * partmap/sun.c: Likewise.
24844 * parttool/msdospart.c: Likewise.
24845 * term/gfxterm.c: Likewise.
24846 * video/bitmap.c: Likewise.
24847 * video/readers/jpeg.c: Likewise.
24848 * video/readers/png.c: Likewise.
24849 * video/readers/tga.c: Likewise.
24850 * video/video.c: Likewise.
24851 * util/grub-emu.c (read_command_list): Removed.
24852 (main): Don't call util_init_nls.
24853 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24854 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24855
91fdd2ed
VS
248562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24857
24858 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24859 date.mod, datehook.mod.
24860 (datetime_mod_SOURCES): New variable.
24861 (datetime_mod_CFLAGS): Likewise.
24862 (datetime_mod_LDFLAGS): Likewise.
24863 (date_mod_SOURCES): Likewise.
24864 (date_mod_CFLAGS): Likewise.
24865 (date_mod_LDFLAGS): Likewise.
24866 (datehook_mod_SOURCES): Likewise.
24867 (datehook_mod_CFLAGS): Likewise.
24868 (datehook_mod_LDFLAGS): Likewise.
24869 * conf/sparc64-ieee1275.rmk: Likewise.
24870 * lib/ieee1275/datetime.c: New file.
24871
873ccae6
VS
248722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24873
24874 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24875 (ieee1275_fb_mod_SOURCES): New variable.
24876 (ieee1275_fb_mod_CFLAGS): Likewise.
24877 (ieee1275_fb_mod_LDFLAGS): Likewise.
24878 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24879 New proto.
24880 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24881 (HEAP_MAX_ADDR): Likewise.
24882 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24883 type.
24884 Correct stop condition.
24885 (grub_ieee1275_devices_iterate): New function.
24886 * video/ieee1275.c: New file.
24887
601c97c0
VS
248882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24889
24890 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24891
24892 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24893 as scratch.
24894 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24895 SCRATCH_PAD_DISKBOOT as scratch.
24896 (bootit): Pass Openfirmware pointer in %o4.
24897 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24898 of 0x200000.
24899 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24900 with util/grub-mkrawimage.c.
24901 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24902 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24903 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24904 (grub_aout_load) [GRUB_UTIL]: Likewise.
24905 * include/grub/kernel.h (grub_modules_get_end): New proto.
24906 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24907 (SCRATCH_PAD_BOOT): New definition.
24908 (SCRATCH_PAD_DISKBOOT): Likewise.
24909 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24910 * include/grub/sparc64/ieee1275/ieee1275.h
24911 (grub_ieee1275_original_stack): New variable
24912 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24913 New definition
24914 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24915 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24916 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24917 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24918 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24919 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24920 (grub_platform_image_format_t): New type.
24921 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24922 * kern/main.c (grub_modules_get_end)
24923 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24924 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24925 (codestart): Switch stacks.
24926 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24927 variable.
24928 (grub_heap_init): Use grub_modules_get_end.
24929 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24930 stack.
24931 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24932 (main): Likewise.
24933 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24934
d68b491e
TG
249352010-03-14 Thorsten Glaser <tg@mirbsd.org>
24936
24937 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24938
4e02ed50
MK
249392010-03-08 Matt Kraai <kraai@ftbfs.org>
24940
24941 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24942 bug #559005).
24943
1f15fc1e
VS
249442010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 * genmoddep.awk: Output all missing symbols and not only first.
24947
fce5d8ff
VS
249482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24949
24950 * NEWS: Put the date of 1.98 release.
24951
d1e8a02f
VS
249522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24955 ft2build.h.
24956
696fd607
VS
249572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24960 completition in the middle of string.
24961
33e2e6f3
VS
249622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24963
24964 * util/grub-mkrescue.in: Use mktemp with explicit template.
24965
b1f6d291
VS
249662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24967
24968 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24969
2ac227c7
VS
249702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24971
24972 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24973 right pointer.
24974
8f9a632b
VS
249752010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24976
24977 Fix FreeBSD compilation.
24978
24979 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24980 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24981
60b03859
VS
249822010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24983
24984 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24985
48a5a769
VS
249862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24987
24988 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24989
3ab4bd77
VS
249902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24993
d116e0d8
RM
249942010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24995
24996 Support relative image path in theme file.
24997
24998 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24999 (image_set_property): Handle theme_dir and relative path.
25000
c7ef54aa
VS
250012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25002
25003 * configure.ac: Alias amd64 to x86_64.
25004
fcee14ed
VS
250052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25006
25007 * NEWS: mention multiboot on EFI.
25008
d0780363
VS
250092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25010
25011 * kern/main.c (grub_load_modules): Handle errors from init functions of
25012 embeded modules.
25013
41168ea4
VS
250142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 * normal/autofs.c (autoload_fs_module): Handle errors.
25017
b54d93ac
VS
250182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25019
25020 Disable linux.mod on qemu-mips since it's not functional and leads
25021 to compilation failure.
25022
25023 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25024 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25025 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25026 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25027 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25028 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25029 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25030 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25031 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25032 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25033 Reported by: BVK Chaitanya
25034
fc8345da
JU
250352010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25036
25037 * INSTALL: Add gettext as a dependency and add qemu to a new section
25038 "Prerequisites for make-check".
25039
4760f979
CF
250402010-03-04 Christian Franke <franke@computer.org>
25041
25042 * util/grub-pe2elf.c: Add missing include "progname.h".
25043
f209b5b2
VS
250442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25045
25046 * normal/crypto.c (read_crypto_list): Fix a typo.
25047 Reported by: Seth Goldberg.
25048
b4b7be98
VS
250492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25050
25051 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25052 Reported by: Seth Goldberg.
b4b7be98 25053
c0ee0385
VS
250542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25055
25056 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25057 ascii.bitmaps.
25058
a8efbf64
VS
250592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25060
25061 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25062 Reported by: Seth Goldberg.
a8efbf64 25063
08dcd913
VS
250642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25065
25066 * util/i386/efi/grub-install.in: Copy gettext files.
25067
c4d0b332
VS
250682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25069
25070 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25071
c6f2fe52
VS
250722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25073
25074 Wait for user entry basing on presence of output rather than on errors.
25075
25076 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25077 (grub_install_newline_hook): Likewise.
25078 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25079 * normal/menu.c (show_menu): Check line_counter to determine presence
25080 of output.
25081 * normal/term.c (grub_normal_line_counter): New variable.
25082 (grub_normal_get_line_counter): New function.
25083 (grub_install_newline_hook): Likewise.
25084
5382b1e4
VS
250852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25086
25087 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25088
5519963b
VS
250892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25090
25091 * configure.ac: Update version to 1.98.
25092
72b28631
VS
250932010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25094
25095 * util/grub.d/10_linux.in (linux_entry): Don't default to
25096 gfxpayload=keep if Linux doesn't support video handover.
25097
c140a180
VS
250982010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25099
25100 Don't compile video modules on yeeloong since video subsystem is part
25101 of kernel.
25102
25103 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25104 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25105 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25106 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25107 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25108 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25109 * include/grub/bitmap_scale.h: Likewise.
25110 * include/grub/bufio.h: Likewise.
25111 * include/grub/font.h: Likewise.
25112 * include/grub/gfxterm.h: Likewise.
25113 * include/grub/video.h: Likewise.
25114 * include/grub/vbe.h: Don't include video_fb.h.
25115 * video/i386/pc/vbe.c: Include video_fb.h.
25116 * commands/i386/pc/vbetest.c: Include video.h.
25117
a0ca21c2
CW
251182010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25119
25120 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25121 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25122 default entry if GRUB_SAVEDEFAULT=true. This allows using
25123 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25124 saving a new default on every boot.
25125
4a8a763c
VS
251262010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25127
25128 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25129 * normal/term.c (read_terminal_list): Likewise.
25130 * normal/main.c (grub_normal_init_page): Likewise.
25131 (grub_normal_read_line_real): Likewise.
25132
607ffde2
VS
251332010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25134
25135 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25136 memory leak.
25137 Reported by: Seth Goldberg.
25138
2b8fa975
CW
251392010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25140
25141 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25142 duplicate declaration of `start'.
25143
618307dd
VS
251442010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25145
25146 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
25147 filename.
25148 Reported by: Georgy Buranov
25149
7dd05b96 251502010-02-20 Carles Pina i Estany <carles@pina.cat>
25151
25152 * util/grub-mkrawimage.c (usage): Change string formatting to
25153 improve gettext.
25154
d1484a42
MRA
251552010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
25156
25157 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
25158 backspace keys.
25159
42b1d186
VS
251602010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
25161
25162 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
25163 Reported by: Michael Suchanek.
25164
251652010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
25166
25167 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
25168 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
25169
d9f31a41
VS
251702010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 Remove any reference to non-free fonts.
25173
25174 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
25175 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25176 uses non-free components.
25177 * font/font.c (grub_font_get_name): Remove example name.
25178 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25179 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25180 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25181 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25182
2793c71e
GB
251832010-02-16 Georgy Buranov <gburanov@gmail.com>
25184
25185 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25186
402e3779
VS
251872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25188
25189 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25190 Double divisor.
25191 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25192 features.
25193 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25194
0dd1e0dd
VS
251952010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25196
25197 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25198
6fa7cfce
ST
251992010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25200
25201 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25202 * docs/grub.texi (Command-line and menu entry commands): Document play
25203 command.
25204
37c8483b
ST
252052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25206
25207 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25208 parse arguments as inline tempo and notes. Move code for playing notes
25209 to...
25210 (play): ... new function.
25211
14da0fb7
ST
252122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25213
25214 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25215 grub_uint16_t instead of short.
25216 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25217 disk from little endian to cpu endianness.
25218
04459e70
ST
252192010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25220
25221 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25222 GRUB_TICKS_PER_SECOND instead of 120.
25223
a0876943
VS
252242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25225
25226 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25227 escape sequence after \e.
25228
e29f95dc
VS
252292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25230
25231 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25232 non-ASCII characters.
25233
d27859b2
VS
252342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25235
25236 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25237 set root in single quotes to prevent \, from being unescaped.
25238
bc028f2f
VS
252392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25240
25241 Prevent unknown commands from stopping menuentry execution.
25242
25243 * script/execute.c (grub_script_execute_cmdline): Print error after
25244 unknown command.
25245
095f5f82
VS
252462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25249 Reported by: Pavel Pisa.
25250
8c717950
VS
252512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25254
904935c3
VS
252552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25256
25257 Merge grub_ieee1275_map_physical into grub_map and rename to
25258 grub_ieee1275_map
25259
25260 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25261 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25262 Remove.
25263 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25264 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25265 necessary.
25266 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25267
5b59a4e3
VS
252682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25269
25270 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25271 opening and not after.
25272
69e137e8
VS
252732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25274
25275 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25276 constants.
25277
2c0fcc36
VS
252782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25279
25280 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25281 (alloc_phys): Use ALIGN_UP instead of align_addr.
25282
8c6052ce
VS
252832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25284
25285 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25286
17cec782
VS
252872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25288
25289 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25290
e0128bbd
VS
252912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25292
25293 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25294 verbose dprintf.
25295
ca62070b
VS
252962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25297
25298 Fix over-4GiB seek on sparc64.
25299
25300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25301 Replace pos_i and pos_lo with pos. All users updated.
25302 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25303 New constant.
25304 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25305 Likewise.
25306 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25307 and pos_lo.
25308
bdca2607
VS
253092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25310
25311 * util/grub-mkrawimage.c (main): Call set_program_name.
25312
da278c4d
VS
253132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25314
25315 Properly align 64-bit targets.
25316
25317 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25318 (generate_image): Use ALIGN_ADDR.
25319
b274d734
VS
253202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25321
25322 Properly create cross-endian images.
25323
25324 * include/grub/types.h (grub_host_to_target_addr): New macro
25325 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25326
82da2062
VS
253272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25328
25329 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25330
7cae4377
VS
253312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25332
25333 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25334
25335 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25336 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25337 (grub_linux_boot): Divide by 64K when on VESA.
25338
65a533e7
VS
253392010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25340
25341 Support GRUB_GFXPAYLOAD_LINUX.
25342
25343 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25344 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25345
dd01d397
VS
253462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25347
25348 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25349 to show messages instead of discarding them.
25350 Process errors after executing command and not before. Keep old method
25351 too as precaution.
25352
660960d6
VS
253532010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25354
25355 * configure.ac: Check for ft2build.h.
25356
62509f04
VS
253572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25358
25359 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25360
473df63d
VS
253612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25362
25363 * genkernsyms.sh.in: Use TARGET_CC.
25364
c98d2a13
CW
253652010-02-07 Colin Watson <cjwatson@ubuntu.com>
25366
25367 * NEWS: Update.
25368
6e14234c
VS
253692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25370
25371 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25372 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25373 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25374
b255e9cf
YB
253752010-02-07 Yves Blusseau <blusseau@zetam.org>
25376
6e14234c 25377 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25378
98e6959d
VS
253792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25380
25381 Fix warnings in grub-emu when compiling with maximum warning options.
25382
25383 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25384 (grub_arch_modules_addr): Return 0 and not NULL.
25385 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25386 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25387 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25388 of disk to dsk to avoid shadowing.
74e4934e
VS
25389 (find_free_slot): Fix prototype.
25390 * util/getroot.c (grub_util_is_dmraid): Make static.
25391 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25392 Add missing prototype.
25393 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25394
74e31b5c
VS
253952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25396
25397 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25398 appropriately.
25399
6b2ad14b
VS
254002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25401
25402 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25403 code out.
25404
8f891adc
VS
254052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25406
25407 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25408 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25409 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25410 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25411 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25412 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25413
74b45184
VS
254142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 * include/grub/err.h (grub_err_printf): Don't export.
25417
a4bced77
VS
254182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25419
25420 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25421
007d0695
VS
254222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25423
25424 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25425 * kern/misc.c (grub_gettext_dummy): Make static.
25426
b6c0d9c2
VS
254272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25428
25429 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25430 by non-valid ones.
25431 * kern/term.c (grub_putchar): Likewise.
25432
f51a90d0
VS
254332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25436 buggy hook call and memory leak.
25437
6846cec5
VS
254382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25439
25440 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25441
468d69fe
VS
254422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25445
51906b8c
VS
254462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25449 modevar.
25450 Return grub_errno on allocation error.
25451
09706ce5
VS
254522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25453
25454 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25455
911df80c
YB
254562010-02-06 Yves Blusseau <blusseau@zetam.org>
25457
25458 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25459 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25460
3746a6bc
VS
254612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25462
25463 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25464 non-pxe disk.
25465 (grub_pxefs_open): Likewise.
25466
09706ce5
VS
254672010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25468
25469 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25470 * util/grub.d/10_kfreebsd.in: Likewise.
25471 * util/grub.d/10_linux.in: Likewise.
25472
7cc192d9
VS
254732010-02-06 Colin D Bennett <colin@gibibit.com>
25474
25475 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25476 (gfxmenu_mod_SOURCES): New variable.
25477 (gfxmenu_mod_CFLAGS): Likewise.
25478 (gfxmenu_mod_LDFLAGS): Likewise.
25479 * include/grub/term.h (grub_term_set_current_output): Declare
25480 argument as const.
25481 * docs/gfxmenu-theme-example.txt: New file.
25482 * gfxmenu/gfxmenu.c: Likewise.
25483 * gfxmenu/gui_box.c: Likewise.
25484 * gfxmenu/gui_canvas.c: Likewise.
25485 * gfxmenu/gui_circular_progress.c: Likewise.
25486 * gfxmenu/gui_image.c: Likewise.
25487 * gfxmenu/gui_label.c: Likewise.
25488 * gfxmenu/gui_list.c: Likewise.
25489 * gfxmenu/gui_progress_bar.c: Likewise.
25490 * gfxmenu/gui_string_util.c: Likewise.
25491 * gfxmenu/gui_util.c: Likewise.
25492 * gfxmenu/icon_manager.c: Likewise.
25493 * gfxmenu/model.c: Likewise.
25494 * gfxmenu/named_colors.c: Likewise.
25495 * gfxmenu/theme_loader.c: Likewise.
25496 * gfxmenu/view.c: Likewise.
25497 * gfxmenu/widget-box.c: Likewise.
25498 * include/grub/gfxmenu_model.h: Likewise.
25499 * include/grub/gfxmenu_view.h: Likewise.
25500 * include/grub/gfxwidgets.h: Likewise.
25501 * include/grub/gui.h: Likewise.
25502 * include/grub/gui_string_util.h: Likewise.
25503 * include/grub/icon_manager.h: Likewise.
25504
255052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25506
25507 Agglomerate scrolling in gfxterm.
25508
25509 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25510 (grub_virtual_screen_setup): Initialise 'total_screen'.
25511 (write_char): Split to ...
25512 (paint_char): ... this ...
25513 (write_char): ... and this.
25514 (paint_char): Handle delayed scrolling.
25515 (draw_cursor): Likewise.
25516 (scroll_up): Split to ...
25517 (real_scroll): ... this ...
25518 (scroll_up): ... and this.
25519 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25520 characters.
25521 (grub_gfxterm_refresh): Call real_scroll.
25522
255232010-02-06 Colin D Bennett <colin@gibibit.com>
25524
25525 * include/grub/misc.h (grub_iscntrl): New inline function.
25526 (grub_isalnum): Likewise.
25527 (grub_strtol): Likewise.
25528
255292010-02-06 Colin D Bennett <colin@gibibit.com>
25530
25531 * normal/menu_text.c (get_entry_number): Move from here ...
25532 * normal/menu.c (get_entry_number): ... moved here.
25533 * include/grub/menu.h (grub_menu_get_default_entry_index):
25534 New prototype.
25535 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25536 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25537 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25538 (grub_menu_viewer_should_return): Likewise.
25539 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25540 * normal/menu_text.c (run_menu): Enable menu switching.
25541 * normal/menu_viewer.c (should_return): New variable.
25542 (menu_viewer_changed): Likewise.
25543 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25544 (grub_menu_viewer_should_return): New function.
25545 (menuviewer_write_hook): Likewise.
25546 (grub_menu_viewer_init): Likewise.
25547
255482010-02-06 Colin D Bennet <colin@gibibit.com>
255492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25550
25551 Support for gfxterm in a window.
25552
25553 * include/grub/gfxterm.h: New file.
25554 * include/grub/video.h (struct grub_video_rect): New declaration.
25555 (grub_video_rect_t): Likewise.
25556 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25557 (refcount): New variable.
25558 (render_target): Likewise.
25559 (window): Likewise.
25560 (repaint_callback): Likewise.
25561 (grub_virtual_screen_setup): Use 'render_target'.
25562 (init_window): New function.
25563 (grub_gfxterm_init_window): Likewise.
25564 (grub_gfxterm_init): Check reference counter.
25565 Use init_window.
25566 (destroy_window): New function.
25567 (grub_gfxterm_destroy_window): Likewise.
25568 (grub_gfxterm_fini): Check reference counter.
25569 Use destroy_window.
25570 (redraw_screen_rect): Restore viewport.
25571 Use 'render_target' and 'window'.
25572 Call 'repaint_callback'.
25573 (write_char): Use 'render_target'.
25574 (draw_cursor): Likewise.
25575 (scroll_up): Restore viewport.
25576 Use 'render_target' and 'window'.
25577 Call 'repaint_callback'.
25578 (grub_gfxterm_cls): Likewise.
25579 (grub_gfxterm_refresh): Use 'window'.
25580 (grub_gfxterm_set_repaint_callback): New function.
25581 (grub_gfxterm_background_image_cmd): Use 'window'.
25582 (grub_gfxterm_get_term): New function.
25583 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25584
255852010-02-06 Colin D Bennett <colin@gibibit.com>
25586
25587 Bitmap scaling support.
25588
25589 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25590 (bitmap_scale_mod_SOURCES): New variable.
25591 (bitmap_scale_mod_CFLAGS): Likewise.
25592 (bitmap_scale_mod_LDFLAGS): Likewise.
25593 * include/grub/bitmap_scale.h: New file.
25594 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25595 (background_image_cmd_options): New variable.
25596 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25597 (cmd): Rename and change type to ...
25598 (background_image_cmd_handle): ... this. All users updated.
25599 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25600 * video/bitmap_scale.c: New file.
25601
256022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25603
25604 SDL support.
25605
25606 * Makefile.in (LIBSDL): New variable.
25607 (enable_grub_emu_sdl): Likewise.
25608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25609 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25610 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25611 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25612 * util/sdl.c: New file.
25613
256142010-02-06 Colin D Bennett <colin@gibibit.com>
256152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25616
25617 Double buffering support.
25618
25619 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25620 * include/grub/video.h: Update comment.
25621 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25622 New type.
25623 (grub_video_fb_doublebuf_blit_init): New prototype.
25624 * term/gfxterm.c (scroll_up): Support double buffering.
25625 (grub_gfxterm_refresh): Likewise.
25626 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25627 (grub_video_fb_doublebuf_blit_init): Likewise.
25628 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25629 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25630 'displayed_page', 'render_page' and 'update_screen'.
25631 (grub_video_vbe_fini): Free offscreen buffer.
25632 (doublebuf_pageflipping_commit): New function.
25633 (doublebuf_pageflipping_update_screen): Likewise.
25634 (doublebuf_pageflipping_init): Likewise.
25635 (double_buffering_init): Likewise.
25636 (grub_video_vbe_setup): Enable doublebuffering.
25637 (grub_video_vbe_swap_buffers): Implement.
25638 (grub_video_vbe_set_active_render_target): Handle double buffering.
25639 (grub_video_vbe_get_active_render_target): Likewise.
25640 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25641 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25642 (grub_video_vbe_enable_double_buffering): Likewise.
25643 (grub_video_vbe_swap_buffers): Use update_screen.
25644 (grub_video_set_mode): Use double buffering.
25645
256462010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25647
25648 * maintainance/gentrigtables.py: Remove.
25649 * lib/trig.c: Likewise.
25650
25651 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25652
25653 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25654 `trigtables.c'.
25655 (trigtables.c): New rule.
25656 (gentrigtables): Likewise.
25657 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25658
256592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25660
25661 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25662 integer constants.
25663
256642010-02-06 Colin D Bennet <colin@gibibit.com>
25665
25666 Trigonometry support.
25667
25668 * include/grub/trig.h: New file.
25669 * lib/trig.c: Likewise.
25670 * maintainance/gentrigtables.py: Likewise.
25671 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25672 (trig_mod_SOURCES): New variable.
25673 (trig_mod_CFLAGS): Likewise.
25674 (trig_mod_LDFLAGS): Likewise.
25675
5562834e
VS
256762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25677
25678 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25679 disk devices.
25680
4f8528fc
VS
256812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25684 error.
25685
2b4068e9
VS
256862010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25687
25688 * util/hostdisk.c (open_device): Don't use partition device when reading
25689 before the partition.
25690 (grub_util_biosdisk_read): Don't read from partition and before the
25691 partition in single operation.
25692 (grub_util_biosdisk_write): Don't write to partition and before the
25693 partition in single operation.
25694
399f6e4d
TL
256952010-02-03 Torsten Landschoff <torsten@debian.org>
25696
25697 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25698 last sectors.
25699
996649b0
VS
257002010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25701
25702 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25703 CDROM reads.
25704 (grub_biosdisk_write): Refuse to write to CDROM.
25705
3b205d4d
VS
257062010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25707
25708 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25709
61e89d9d
VS
257102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25711
25712 * font/font.c (find_glyph): Check that bmp_idx is available before
25713 using it.
25714 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25715 with (font == NULL).
25716
bf7fcba2
CS
257172010-01-28 Christian Schmitt <chris@ilovelinux.de>
25718
25719 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25720
f45d2663
BC
257212010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25722
25723 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25724 * util/grub-script-check.c (getline): Fix empty lines case.
25725
ec1444e6
RM
257262010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25727
25728 * Makefile.in (check): Exit with fail status when one of the tests
25729 fails.
25730 * tests/example_functional_test.c (example_test): Fix reversed assert.
25731 * tests/example_unit_test.c (example_test): Likewise.
25732
2e1cb9bb
CW
257332010-01-28 Colin Watson <cjwatson@ubuntu.com>
25734
25735 * util/grub.d/10_linux.in: This script does not use any of the
25736 contents of gettext.sh, only the external command `gettext', so stop
25737 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25738 the same prefix as GRUB.)
25739 * util/grub.d/10_kfreebsd.in: Likewise.
25740
63533ab0
VS
257412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25742
25743 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25744 of the line.
25745
989e1f93
VS
257462010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25747
25748 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25749 last sectors.
25750
e709ebe2
VS
257512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25752
25753 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25754 having a 4KiB and not 32KiB buffer size.
25755
27dea7ed
RM
257562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25757
25758 * util/hostfs.c: Include `<errno.h>'.
25759 (grub_hostfs_read): Handle errors from fseeko() and fread().
25760
67667b9c
RM
257612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25762
25763 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25764 loop when using read hooks on files whose size isn't sector-aligned.
25765
c294d9d8
RM
257662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25767
25768 Remove unused parameter.
25769
25770 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25771 (grub_iso9660_open): Remove initialization of `data->length'.
25772
af75a9f1
RM
257732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25774
25775 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25776 memleak conditions.
25777
254e2ce5 257782010-01-27 Carles Pina i Estany <carles@pina.cat>
25779
25780 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25781 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25782
b510928c 257832010-01-26 Carles Pina i Estany <carles@pina.cat>
25784
25785 * util/bin2h.c (usage): Fix warning (space after backslash).
25786
aa2f9dd2 257872010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25788
25789 * font/font.c: Include `grub/fontformat.h.
25790 Remove font file format constants.
25791 (grub_font_load): Use the new macros.
25792 * include/grub/fontformat.h: New file.
25793 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25794 (write_font_pf2): Use the new macros.
25795
94e7e712
RM
257962010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25797
25798 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25799 does.
25800
3973a59a
RM
258012010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25802
25803 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25804
25805 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25806 (_start): Macroify `0x7F'.
25807
25808 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25809 (make_install_device): Use "(pxe)" as fallback prefix when booting
25810 via PXE.
25811
42e0cba3
GS
258122010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25813
25814 * configure.ac: Reset LIBS after check for libgcc symbols.
25815
847effd8
CW
258162010-01-25 Colin Watson <cjwatson@ubuntu.com>
25817
25818 * util/hostdisk.c (open_device): Add trailing newline to debug
25819 message.
25820
ea4a7e35
GS
258212010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25822
25823 * configure.ac: Check for `limits.h'.
25824 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25825
67951a53
RM
258262010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25827
25828 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25829 capitalize error strings.
25830
c273d4ce
ST
258312010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25832
25833 * util/grub.d/10_hurd.in: Add a recovery mode.
25834
69be5b74
VS
258352010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25836
25837 * configure.ac: Check for libgcc symbols with -nostdlib.
25838
fc9e5810
BC
258392010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25840
25841 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25842
4b358c0a
VS
258432010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25844
25845 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25846 stack since heap may be unavailable at that point.
25847 (grub_ofconsole_gotoxy): Likewise.
25848
454fcd1c
VS
258492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25850
25851 * configure.ac: Check for _restgpr_14_x.
25852 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25853 and _savegpr_* prototypes.
25854
566863ca
RM
258552010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25856
25857 Use generic grub_reboot() for i386-efi.
25858
25859 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25860 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25861 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25862
bf86e59a
VS
258632010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25864
25865 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25866 presence of "prefix" variable as it breaks when normal.mod is
25867 embedded.
25868
d645e0f8
VS
258692010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25872 stack since heap is unavailable at that point.
25873
f9ab2e25
VS
258742010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25875
25876 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25877 (grub_freebsd_bootinfo): Rewritten.
25878 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25879
01fc7054
VS
258802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25881
25882 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25883
caab4fd6
RM
258842010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25885
25886 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25887 domain now.
25888
67eb1427
FZ
258892010-01-20 Felix Zielcke <fzielcke@z-51.de>
25890
25891 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25892 around for handling "/" to the correct fix. Fix a memory leak. Use
25893 xstrdup instead of strdup.
25894
a9ed4ff3
VS
258952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25896
25897 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25898
258992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25900
25901 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25902
25903 * font/font.c (struct grub_font): New member 'bmp_idx'.
25904 (font_init): Initialise 'bmp_idx'.
25905 (load_font_index): Fill 'bmp_idx'.
25906 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25907
48209f4f
VS
259082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25909
25910 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25911 unnecessary calls.
25912
9f0a4bb7
VS
259132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25914
25915 Move context handling out of the kernel.
25916
25917 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25918 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25919 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25920 * conf/i386-efi.rmk: Likewise.
25921 * conf/i386-ieee1275.rmk: Likewise.
25922 * conf/i386-pc.rmk: Likewise.
25923 * conf/powerpc-ieee1275.rmk: Likewise.
25924 * conf/sparc64-ieee1275.rmk: Likewise.
25925 * conf/x86_64-efi.rmk: Likewise.
25926 * include/grub/env.h: Include grub/menu.h.
25927 (grub_env_var_type): Removed.
25928 (grub_env_var): Replaced field 'type' with 'global'.
25929 (grub_env_find): New prototype.
25930 (grub_env_context_open): Remove EXPORT_FUNC.
25931 (grub_env_context_close): Likewise.
25932 (grub_env_export): Likewise.
25933 (grub_env_set_data_slot): Removed.
25934 (grub_env_get_data_slot): Likewise.
25935 (grub_env_unset_data_slot): Likewise.
25936 (grub_env_unset_menu): New prototype.
25937 (grub_env_set_menu): Likewise.
25938 (grub_env_get_menu): Likewise.
25939 * include/grub/env_private.h: New file.
25940 * include/grub/normal.h (grub_context_init): New prototype.
25941 (grub_context_fini): Likewise.
25942 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25943 * normal/context.c (grub_cmd_export): ... to here.
25944 * kern/env.c: Include env_private.h.
25945 (HASHSZ): Moved to include/grub/env_private.h.
25946 (grub_env_context): Likewise.
25947 (grub_env_sorted_var): Likewise.
25948 (current_context): Renamed from this ...
25949 (grub_current_context): ...to this. 'static' removed. All users updated.
25950 (grub_env_find): Removed 'static'.
25951 (grub_env_context_open): Moved to normal/context.c.
25952 (grub_env_context_close): Likewise.
25953 (grub_env_export): Likewise.
25954 (mangle_data_slot_name): Removed.
25955 (grub_env_set_data_slot): Likewise.
25956 (grub_env_get_data_slot): Likewise.
25957 (grub_env_unset_data_slot): Likewise.
25958 * kern/main.c (grub_set_root_dev): Don't export root.
25959 It will be done later.
25960 (grub_main): Don't export prefix.
25961 It will be done later.
25962 * normal/context.c: New file.
25963 * normal/main.c (free_menu): Use grub_env_unset_menu.
25964 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25965 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25966 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25967 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25968
8dd35b8c
VS
259692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25970
25971 setpci support.
25972
25973 * commands/setpci.c: New file.
25974 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25975 (setpci_mod_SOURCES): New variable.
25976 (setpci_mod_CFLAGS): Likewise.
25977 (setpci_mod_LDFLAGS): Likewise.
25978
449193d5
VS
259792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25980
25981 Byte-addressable PCI configuration space.
25982
25983 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25984 dword address.
25985 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25986 GRUB_PCI_REG_CACHELINE.
25987 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25988 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25989 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25990 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25991 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25992 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25993 grub_pci_make_address.
25994 (lock_rom_area): Likewise.
25995 * commands/lspci.c (grub_lspci_iter): Use macroses
25996 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25997 of grub_pci_make_address.
25998 * disk/ata.c (grub_ata_pciinit): Likewise.
25999 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26000 (GRUB_PCI_REG_VENDOR): Likewise.
26001 (GRUB_PCI_REG_DEVICE): Likewise.
26002 (GRUB_PCI_REG_COMMAND): Likewise.
26003 (GRUB_PCI_REG_STATUS): Likewise.
26004 (GRUB_PCI_REG_REVISION): Likewise.
26005 (GRUB_PCI_REG_CLASS): Likewise.
26006 (GRUB_PCI_REG_CACHELINE): Likewise.
26007 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26008 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26009 (GRUB_PCI_REG_BIST): Likewise.
26010 (GRUB_PCI_REG_ADDRESSES): Likewise.
26011 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26012 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26013 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26014 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26015 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26016 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26017 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26018 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26019 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26020 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26021 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26022 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26023 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26024 (GRUB_PCI_REG_MIN_GNT): Likewise.
26025 (GRUB_PCI_REG_MAX_LAT): Likewise.
26026 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26027 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26028 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26029 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26030 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26031 space.
26032
96d73208
RM
260332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26034
26035 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26036 can be reliably determined to be supported.
26037
d4484482
RM
260382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26039
26040 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26041 that VESA is supported.
26042 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26043 supported.
26044
00308ecf
VS
260452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26048
f66924a4
RM
260492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26050
26051 * util/misc.c (make_system_path_relative_to_its_root): Work around
26052 special-casing of "/", as previous incarnation of this routine did.
26053
cbca0ada
VS
260542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 Fix any-emu compilation.
26057
26058 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26059 * grub_bin2h_SOURCES: New variable.
26060
34a66d99
RM
260612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26062
26063 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26064
94fabf58
RM
260652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26066
26067 * util/grub.d/00_header.in: Fix handling of locale_dir.
26068
02cf98ca
VS
260692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26070
26071 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26072 as possible unifont location (Gentoo).
26073 Reported by: Alexander Brüning
26074
327dbcd7
VS
260752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26076
26077 Don't try to generate lists for kernel.img.
26078
26079 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26080 (pkglib_MODULES): Remove kernel.img.
26081 (kernel_img_EXPORTS): Removed.
26082 (kernel_img_RELOCATABLE): New variable.
26083 * conf/x86_64-efi.rmk: Likewise.
26084 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26085
ca467290
VS
260862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26087
26088 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26089 grub_xasprintf or grub_snprintf.
26090 (grub_vsprintf): Likewise.
26091 (grub_snprintf): New proto.
26092 (grub_vsnprintf): Likewise.
26093 (grub_xasprintf): Likewise.
26094 (grub_xvasprintf): Likewise.
26095 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26096 (grub_sprintf): Removed.
26097 (grub_vsnprintf): New function.
26098 (grub_snprintf): Likewise.
26099 (grub_xvasprintf): Likewise.
26100 (grub_xasprintf): Likewise.
26101 (grub_vsprintf): Renamed to ...
26102 (grub_vsnprintf_real): ...this. New argument max_len.
26103
aca655fd
BC
261042010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26105
26106 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26107 fix grub-script-check warning.
26108
7ee92c32
VS
261092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26110
26111 * include/grub/font.h (grub_font_load): Fix prototype.
26112
f80927ca
VS
261132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26114
26115 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26116
119c50ea
VS
261172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26118
26119 * include/grub/x86_64/at_keyboard.h: New file.
26120
47d5f3c1
VS
261212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26122
26123 * loader/mips/linux.c: Include missing grub/i18n.h.
26124
55ff5266
RM
261252009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26126
26127 * normal/menu.c (notify_execution_failure): Clarify error message.
26128
c893cc87
RM
261292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26130
26131 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26132 return value (and revert all return statements). Update users.
26133
917dd370
CW
261342010-01-20 Dan Merillat <debian@dan.merillat.org>
26135
26136 * kern/device.c (grub_device_iterate): Allocate new part_ent
26137 structure based on sizeof (*p) rather than sizeof (p->next), to
26138 account for structure padding.
26139
26140 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26141 disk is NULL, which might happen for LVM physical volumes with no
26142 LVM signature.
26143
d4a4ee57
RM
261442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26145
26146 * loader/mips/linux.c (grub_cmd_initrd)
26147 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
26148
261492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26150
26151 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
26152 (grub_video_video_init, grub_video_bitmap_init)
26153 (grub_font_manager_init, grub_term_gfxterm_init)
26154 (grub_at_keyboard_init): New extern declarations.
26155 (grub_machine_init): Initialize gfxterm and at_keyboard.
26156
26157 * kern/main.c (grub_main): Revert grub_printf delay kludge.
26158
26159 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
26160 `gfxterm.mod' into core image.
26161
26162 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26163 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26164 (kernel_img_FORMAT): Copy to ...
26165
26166 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26167 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26168 (kernel_img_FORMAT): ... here, and ...
26169
26170 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
26171 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
26172 (kernel_img_FORMAT): ... here.
26173
26174 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
26175 and input (at_keyboard) terminals in kernel.
26176 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26177
26178 (pkglib_MODULES): Remove `pci.mod'.
26179 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26180 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26181 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26182 (at_keyboard_mod_LDFLAGS): Remove variables.
26183
261842010-01-11 Felix Zielcke <fzielcke@z-51.de>
26185
26186 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26187
261882009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26189
26190 * include/grub/mips/libgcc.h: Only export symbols for functions
26191 that libgcc provides.
26192
261932009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26194
26195 MIPS support.
26196
26197 * bus/bonito.c: New file.
26198 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26199 GRUB_PCI_NUM_DEVICES.
26200 * term/i386/pc/serial.c: Move to ...
26201 * term/serial.c: ... here. All users updated.
26202 * util/i386/pc/grub-mkimage.c: Move to ...
26203 * util/grub-mkrawimage.c: ... here. All users updated.
26204 * term/i386/pc/at_keyboard.c: Move to ...
26205 * term/at_keyboard.c: ... here. All users updated.
26206 * conf/mips-qemu-mips.rmk: New file.
26207 * conf/mips-yeeloong.rmk: Likewise.
26208 * conf/mips.rmk: Likewise.
26209 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26210 mipsel-qemu-mips.
26211 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26212 to port addresses.
26213 (grub_ata_pciinit): Support CS5536.
26214 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26215 * font/font_cmd.c (loadfont_command): Open file before passing it to
26216 grub_font_load.
26217 (pseudo_file_read): New function.
26218 (pseudo_file_close): Likewise.
26219 (pseudo_fs): New structure.
26220 (load_font_module): New function.
26221 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26222 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26223 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26224 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26225 * include/grub/i386/at_keyboard.h: Split into ...
26226 * include/grub/at_keyboard.h: ... this ...
26227 * include/grub/i386/at_keyboard.h: ... and this.
26228 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26229 New prototype.
26230 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26231 updated.
26232 (grub_elf64_size): Likewise.
26233 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26234 filename.
26235 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26236 * include/grub/i386/coreboot/serial.h: Rewritten.
26237 * include/grub/i386/ieee1275/serial.h: Include
26238 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26239 * include/grub/i386/pc/serial.h: Moved from here ...
26240 * include/grub/serial.h: ... to here. All users updated.
26241 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26242 (GRUB_PCI_NUM_BUS): Likewise.
26243 (GRUB_PCI_NUM_DEVICES): Likewise.
26244 (grub_pci_device_map_range): Add missing volatile keyword.
26245 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26246 * include/grub/mips/at_keyboard.h: New file.
26247 * include/grub/mips/cache.h: Likewise.
26248 * include/grub/mips/io.h: Likewise.
26249 * include/grub/mips/kernel.h: Likewise.
26250 * include/grub/mips/libgcc.h: Likewise.
26251 * include/grub/mips/pci.h: Likewise.
26252 * include/grub/mips/qemu-mips/boot.h: Likewise.
26253 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26254 * include/grub/mips/qemu-mips/loader.h: Likewise.
26255 * include/grub/mips/qemu-mips/memory.h: Likewise.
26256 * include/grub/mips/qemu-mips/serial.h: Likewise.
26257 * include/grub/mips/qemu-mips/time.h: Likewise.
26258 * include/grub/mips/relocator.h: Likewise.
26259 * include/grub/mips/time.h: Likewise.
26260 * include/grub/mips/types.h: Likewise.
26261 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26262 * include/grub/mips/yeeloong/boot.h: Likewise.
26263 * include/grub/mips/yeeloong/kernel.h: Likewise.
26264 * include/grub/mips/yeeloong/loader.h: Likewise.
26265 * include/grub/mips/yeeloong/memory.h: Likewise.
26266 * include/grub/mips/yeeloong/pci.h: Likewise.
26267 * include/grub/mips/yeeloong/serial.h: Likewise.
26268 * include/grub/mips/yeeloong/time.h: Likewise.
26269 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26270 * kern/elf.c (grub_elf32_size): New parameter. All users
26271 updated.
26272 (grub_elf64_size): Likewise.
26273 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26274 Load modules before saying "Welcome to GRUB!".
26275 Call grub_refresh after saying "Welcome to GRUB!".
26276 * kern/mips/cache.S: New file.
26277 * kern/mips/cache_flush.S: Likewise.
26278 * kern/mips/dl.c: Likewise.
26279 * kern/mips/init.c: Likewise.
26280 * kern/mips/qemu-mips/init.c: Likewise.
26281 * kern/mips/startup.S: Likewise.
26282 * kern/mips/yeeloong/init.c: Likewise.
26283 * kern/term.c (grub_putcode): Handle NULL terminal.
26284 (grub_getcharwidth): Likewise.
26285 (grub_getkey): Likewise.
26286 (grub_checkkey): Likewise.
26287 (grub_getkeystatus): Likewise.
26288 (grub_getxy): Likewise.
26289 (grub_getwh): Likewise.
26290 (grub_gotoxy): Likewise.
26291 (grub_cls): Likewise.
26292 (grub_setcolorstate): Likewise.
26293 (grub_setcolor): Likewise.
26294 (grub_getcolor): Likewise.
26295 (grub_refresh): Likewise.
26296 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26297 (write_jump): Add hatch nop.
26298 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26299 * lib/mips/setjmp.S: New file.
26300 * loader/mips/linux.c: Likewise.
26301 * term/i386/pc/at_keyboard.c: Move from here ...
26302 * term/at_keyboard.c: ... to here.
26303 * term/i386/pc/serial.c: Moved from here ...
26304 * term/serial.c: ... to here. All users updated.
26305 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26306 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26307 (serial_translate_key_sequence): Avoid deadlock.
26308 (grub_serial_getkey): Handle backspace.
26309 (grub_serial_putchar): Fix newline handling.
26310 * util/i386/pc/grub-mkimage.c: Move from here ...
26311 * util/grub-mkrawimage.c: ... to here. All users updated.
26312 (generate_image): New parameters 'font_path' and 'format'.
26313 Support embedding font.
26314 Use grub_host_to_target* instead of grub_cpu_to_le*.
26315 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26316 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26317 (options): New option "--font".
26318 (usage): Likewise.
26319 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26320 (main): Handle "--font".
26321 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26322 (grub_virtual_screen_setup): Set bg_color_display.
26323 (redraw_screen_rect): Use bg_color_display instead of incorrect
26324 bg_color.
26325 (grub_gfxterm_cls): Likewise.
26326 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26327 Support embedding config file.
26328 (add_segments): Likewise.
26329 (options): New option "--config".
26330 (main): Handle "--config".
26331 * video/sm712.c: New file.
26332
25c2b5b3
RM
263332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26334
26335 Fix parallel builds.
26336
26337 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26338 font.c depend on ascii.h).
26339
263402010-01-12 Carles Pina i Estany <carles@pina.cat>
26341
26342 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26343
263442010-01-11 Carles Pina i Estany <carles@pina.cat>
26345
26346 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26347 By default: disabled.
26348 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26349 parameter.
26350
263512010-01-10 Carles Pina i Estany <carles@pina.cat>
26352
26353 * font/font.c: Update copyright years.
26354 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26355
263562010-01-10 Carles Pina i Estany <carles@pina.cat>
26357
26358 * font/font.c: Include `ascii.h'.
26359 (ASCII_BITMAP_SIZE): New macro.
26360 (ascii_font_glyph): Define.
26361 (ascii_glyph_lookup): New function.
26362 (grub_font_get_string_width): Change comment. If glyph not found, use
26363 ascii_glyph_lookup.
26364 (grub_font_get_glyph_with_fallback): If glyph not available returns
26365 ascii_glyph_lookup.
26366 * util/grub-mkfont.c (file_formats): New enum.
26367 (options): Add `ascii-bitmaps' new option.
26368 (usage): Add `asii-bitmaps' new option.
26369 (write_font_ascii_bitmap): New function.
26370 (write_font): Rename to ...
26371 (write_font_p2): ... this. Remove print_glyphs call.
26372 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26373 used. Call print_glyphs.
26374 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26375
263762010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26377
26378 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26379 (grub_bin2h_SOURCES): New variable.
26380 * util/bin2h.c: New file.
26381
915fc1b8
VS
263822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26383
26384 * include/multiboot.h: Resynced with spec.
26385 * include/multiboot2.h: Likewise.
26386 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26387 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26388
9444b678
RM
263892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26390
26391 * include/grub/term.h (grub_term_register_input,
26392 grub_term_register_output): Check return of terminal init()
26393 routines, and abort if errors are raised.
26394
26395 * commands/terminal.c: Update copyright year.
26396
cba98e8d
RM
263972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26398
26399 * commands/terminal.c (grub_cmd_terminal_input)
26400 (grub_cmd_terminal_output): Check return of terminal init()
26401 routines, and abort if errors are raised.
26402
6f7db5d6
VS
264032010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26404
26405 * include/grub/i386/bsd.h: Fix include pathes.
26406
262bff8d
VS
264072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26408
26409 Add missing *BSD copyright headers.
26410
26411 * include/grub/aout.h: Add BSD licence.
26412 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26413 * include/grub/i386/freebsd_linker.h: ... here,
26414 * include/grub/i386/freebsd_reboot.h: ... here,
26415 * include/grub/i386/netbsd_bootinfo.h: ... here,
26416 * include/grub/i386/netbsd_reboot.h: ... here,
26417 * include/grub/i386/openbsd_bootarg.h: ... here,
26418 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26419 licence to each file.
26420
b2cab848
RM
264212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26422
26423 * acinclude.m4: Remove `nop' assembly instruction; it's not
26424 implemented by all architectures.
26425
2cb6be4b
RM
264262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26427
26428 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26429 ELILO. This is no longer necessary.
26430
a2eaee15
BC
264312010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26432
26433 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26434
26435 * util/grub-script-check.c: grub-script-check tool.
26436 * conf/common.rmk: Make rules for grub-script-check.
26437
88d17012
RM
264382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26439
26440 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26441 spotting it back in 2008. Shame on me for forgetting he did.
26442
26443 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26444
8040619d
RM
264452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26446
26447 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26448 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26449 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26450 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26451 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26452 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26453
a0c2a0f6
RM
264542010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26455
26456 * include/grub/test.h: Add license header.
26457 * tests/example_functional_test.c: Likewise.
26458 * tests/example_unit_test.c: Likewise.
26459 * tests/lib/functional_test.c: Likewise.
26460 * tests/lib/test.c: Likewise.
26461 * tests/lib/unit_test.c: Likewise.
26462
b0b13907
VS
264632010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26464
26465 Use flag-based instead of hook-based video mode selection and "auto"
26466 keyword.
26467
26468 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26469 (grub_video_set_mode): Changed prototype. All users updated.
26470 (grub_video_check_mode_flag): New inline function.
26471 * video/video.c (parse_modespec): New function.
26472 (grub_video_set_mode): Parse flags and keywords.
26473
ea379330 264742010-01-17 Carles Pina i Estany <carles@pina.cat>
26475
26476 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26477 fprintf call.
26478
e15c215e
FZ
264792010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26480
26481 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26482
409ae1c9 264832010-01-16 Carles Pina i Estany <carles@pina.cat>
26484
26485 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26486 string.
26487 * util/grub-emu.c (usage): Likewise.
26488 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26489 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26490 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26491 * util/i386/pc/grub-setup.c (usage): Likewise.
26492
70a14d3d 264932010-01-16 Carles Pina i Estany <carles@pina.cat>
26494
26495 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26496 the message.
26497 (grub_util_info): Likewise.
26498 (grub_util_error): Likewise.
26499 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26500 and/or new lines in `grub_util_warna', `grub_util_info',
26501 `grub_util_error' calls.
26502 * util/getroot.c: Likewise.
26503 * util/grub-editenv.c: Likewise.
26504 * util/grub-emu.c: Likewise.
26505 * util/grub-fstest.c: Likewise.
26506 * util/grub-mkdevicemap.c: Likewise.
26507 * util/grub-mkfont.c: Likewise.
26508 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26509 * util/grub-mkrelpath.c: Likewise.
26510 * util/grub-pe2elf.c: Likewise.
26511 * util/grub-probe.c: Likewise.
26512 * util/hostdisk.c: Likewise.
26513 * util/i386/efi/grub-mkimage.c: Likewise.
26514 * util/i386/pc/grub-mkimage.c: Likewise.
26515 * util/i386/pc/grub-setup.c: Likewise.
26516 * util/ieee1275/ofpath.c: Likewise.
26517 * util/mkisofs/eltorito.c: Likewise.
26518 * util/mkisofs/rock.c: Likewise.
26519 * util/mkisofs/write.c: Likewise.
26520 * util/raid.c: Likewise.
26521 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26522 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26523
a0b766fc
VS
265242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26525
26526 Enable multiboot on non-pc.
26527
26528 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26529 multiboot.mod and multiboot2.mod to ...
26530 * conf/i386.rmk (pkglib_MODULES): ... here.
26531 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26532 Moved to ...
26533 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26534 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26535 Moved to ...
26536 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26537 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26538 Moved to ...
26539 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26540 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26541 Moved to ...
26542 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26543 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26544 relocator.mod.
26545 (ata_mod_SOURCES): Removed.
26546 (ata_mod_CFLAGS): Likewise.
26547 (ata_mod_LDFLAGS): Likewise.
26548 (relocator_mod_SOURCES): Removed.
26549 (relocator_mod_CFLAGS): Likewise.
26550 (relocator_mod_ASFLAGS): Likewise.
26551 (relocator_mod_LDFLAGS): Likewise.
26552 Include i386.mk.
26553 * include/grub/x86_64/multiboot.h: New file.
26554 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26555 Terminate EFI.
26556
884ade56
VS
265572010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26558
26559 Video multiboot support.
26560
26561 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26562 New prototype.
26563 * include/multiboot.h: Resynced with multiboot specification.
26564 * include/multiboot2.h: Likewise.
26565 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26566 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26567 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26568 (HAS_VGA_TEXT): Likewise.
26569 (accepts_video): New variable.
26570 (grub_multiboot_set_accepts_video): New function.
26571 (grub_multiboot_get_mbi_size): Account for video structures.
26572 (set_video_mode): New function.
26573 (retrieve_video_parameters): Likewise.
26574 (grub_multiboot_make_mbi): Fill video fields.
26575
0d90e8a6
VS
265762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 Video driver ids.
26579
26580 * include/grub/video.h (grub_video_driver_id): New type.
26581 (grub_video_adapter): New member 'id'. All users updated.
26582 (grub_video_get_driver_id): New proto.
26583 * video/video.c (grub_video_get_driver_id): New function.
26584
5c71db1b 265852010-01-14 Carles Pina i Estany <carles@pina.cat>
26586
26587 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26588 `var=val'.
26589
cca15b52 265902010-01-14 Carles Pina i Estany <carles@pina.cat>
26591
26592 * normal/cmdline.c (print_completion): Gettextizze.
26593
c586fbb2 265942001-01-14 Carles Pina i Estany <carles@pina.cat>
26595
26596 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26597
ba2f6848 265982010-01-14 Carles Pina i Estany <carles@pina.cat>
26599
26600 * gettext/gettext.c (grub_gettext_translate): Push and pop
26601 grub_errno.
26602 (grub_gettext_delete_list): Change comment style.
26603 * kern/err.c (grub_error): Gettextizze.
26604 (grub_fatal): Gettextizze.
26605
0a46429a
RM
266062010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26607
26608 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26609 (grub_linux16_real_boot): ... this.
26610 * kern/i386/loader.S: Likewise.
26611 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26612 (grub_linux16_boot): New function. Switches to text mode and calls
26613 grub_linux16_real_boot().
26614
26615 * loader/i386/bsd.c: Include `<grub/video.h>'.
26616 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26617 text mode before calling grub_unix_real_boot().
26618
26619 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26620 (grub_multiboot_boot): Switch to text mode before calling
26621 grub_relocator32_boot().
26622
26623 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26624 (grub_chainloader_boot): Switch to text mode before calling
26625 grub_chainloader_real_boot().
26626
d6f93a66
RM
266272010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266282010-01-05 Colin Watson <cjwatson@ubuntu.com>
26629
26630 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26631 non-empty value.
26632
266332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266342010-01-05 Colin Watson <cjwatson@ubuntu.com>
26635
26636 * util/grub.d/00_header.in: Define a "savedefault" function for use
26637 in menu entries.
26638 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26639
266402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
266412010-01-05 Colin Watson <cjwatson@ubuntu.com>
26642
26643 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26644 saved_entry if boot_once is unset.
26645 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26646 previous saved entry (i.e. grub-reboot).
26647
266482009-12-08 Colin Watson <cjwatson@ubuntu.com>
26649
26650 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26651
266522009-12-08 Colin Watson <cjwatson@ubuntu.com>
26653
26654 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26655 `var=val'.
26656 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26657
266582009-12-08 Colin Watson <cjwatson@ubuntu.com>
26659
26660 * util/grub-reboot.in: Fix --version output.
26661 * util/grub-set-default.in: Likewise.
26662
266632009-12-08 Colin Watson <cjwatson@ubuntu.com>
26664
26665 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26666 blocks.
26667
266682009-12-08 Colin Watson <cjwatson@ubuntu.com>
26669
26670 * util/grub.d/00_header.in: Quote the value assigned to `default',
26671 in case it contains spaces.
26672
266732009-12-08 Colin Watson <cjwatson@ubuntu.com>
26674
26675 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26676 `save_default_entry' call from the macosx case to the linux case.
26677
266782009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
266792009-10-25 Colin Watson <cjwatson@ubuntu.com>
26680
26681 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26682 in `chosen' environment variable.
26683 * normal/menu_text.c (get_entry_number): Check if the variable
26684 matches the title of a menu entry.
26685 (run_menu): Pass menu to get_entry_number.
26686
26687 * util/grub-reboot.in: New file.
26688 * util/grub-set-default.in: New file.
26689 * conf/common.rmk (grub-reboot): New utility.
26690 (grub-set-default): New utility.
26691
26692 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26693 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26694 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26695 move it to `saved_entry' for the next boot. Load environment on
26696 initialisation.
26697 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26698 * util/grub.d/10_hurd.in: Likewise.
26699 * util/grub.d/10_linux.in (linux_entry): Likewise.
26700 * util/grub.d/10_windows.in: Likewise.
26701 * util/grub.d/30_os-prober.in: Likewise.
26702
26703 * util/grub-install.in: Create environment block.
26704 * util/i386/efi/grub-install.in: Likewise.
26705 * util/ieee1275/grub-install.in: Likewise.
26706 * util/sparc64/ieee1275/grub-install.in: Likewise.
26707
0934d184
BC
267082010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26709
26710 Unit testing framework for GRUB.
26711
26712 * Makefile.in: Test framework build rules for 'make check'.
26713 * conf/tests.rmk: Build rules for individual tests and framework.
26714
26715 * include/grub/test.h: Header file for whitebox tests.
26716 * tests/lib/functional_test.c: Framework support for whitebox
26717 functional tests.
26718 * tests/lib/test.c: Common whitebox testing code for unit and
26719 functional tests.
26720 * tests/lib/unit_test.c: Framework support for whitebox unit
26721 tests.
26722
26723 * tests/util/grub-shell-tester.in: Support utility for grub-script
26724 tests.
26725 * tests/util/grub-shell.in: Utility to execute grub-script
26726 commands in a Qemu instance.
26727
26728 * tests/example_functional_test.c: Example whitebox functional
26729 test.
26730 * tests/example_grub_script_test.in: Example grub-script test.
26731 * tests/example_scripted_test.in: Example scripted test.
26732 * tests/example_unit_test.c: Example whitebox unit test.
26733
9c4ffeeb
VS
267342010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26735
26736 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26737 Add loader/i386/multiboot_mbi.c.
26738 (multiboot2_mod_SOURCES): Likewise.
26739 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26740 (multiboot2_mod_SOURCES): Likewise.
26741 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26742 (grub_multiboot_make_mbi): Likewise.
26743 (grub_multiboot_free_mbi): Likewise.
26744 (grub_multiboot_init_mbi): Likewise.
26745 (grub_multiboot_add_module): Likewise.
26746 (grub_multiboot_set_bootdev): Likewise.
26747 * loader/i386/multiboot.c (mbi): Removed.
26748 (mbi_dest): Likewise.
26749 (alloc_mbi): New variable.
26750 (grub_multiboot_payload_size): Removed. All users updated.
26751 (grub_multiboot_pure_size): New variable.
26752 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26753 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26754 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26755 (grub_fill_multiboot_mmap): Likewise.
26756 (grub_multiboot_get_bootdev): Likewise.
26757 (grub_multiboot): Use multiboot_mbi functions.
26758 * loader/i386/multiboot_mbi.c: New file.
26759
17383dfe
VS
267602010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26761
26762 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26763 it would result in module crash.
26764
c1f28820
VS
267652010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26766
26767 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26768 (grub_ofconsole_getwh): Split to ...
26769 (grub_ofconsole_getwh): ... this.
26770 (grub_ofconsole_dimensions): ...and this.
26771 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26772
58655a16
RM
267732010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26774
26775 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26776
10891398
VS
267772010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 * loader/i386/pc/multiboot2.c: Removed stalled file.
26780
0b8a223c
VS
267812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26782
26783 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26784 Reported by: Grégoire Sutre
26785
92ab12b0
RM
267862010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26787
26788 * util/misc.c (canonicalize_file_name): New function.
26789 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26790 instead of realpath().
26791
a788afb6
CW
267922010-01-11 Colin Watson <cjwatson@ubuntu.com>
26793
26794 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26795 and make it clearer that it's optional. Based on confusion
26796 witnessed on IRC.
26797
ffa8e3d2
VS
267982010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26799
26800 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26801 in premature implicit newline.
26802
e9060a9d
VS
268032010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26804
26805 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26806 which resulted in garbled command line at the end of screen.
26807
f0d0c0b7
RM
268082010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26809
26810 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26811 initialization with similar approach as with other Linux loaders.
26812
0e60bae7
RM
268132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26814
26815 Fix i386-ieee1275 build.
26816
26817 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26818 and grub_term_height() for video_{width,height} initialization.
26819
268202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26821
26822 Fix grub-emu build.
26823
26824 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26825
cdb3f378
RM
268262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
268272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26828
26829 Support for multiple terminals.
26830
26831 * Makefile.in (pkglib_DATA): terminal.lst.
26832 (terminal.lst): New target.
26833 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26834 (GRUB_MOD_INIT(handler)): Likewise.
26835 (GRUB_MOD_FINI(handler)): Likewise.
26836 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26837 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26838 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26839 (grub_cmd_sleep): Use grub_term_save_pos.
26840 * commands/terminal.c: New file.
26841 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26842 commands/terminal.c and lib/charset.c.
26843 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26844 (pkglib_MODULES): Add terminal.mod.
26845 (terminal_mod_SOURCES): New variable.
26846 (terminal_mod_CFLAGS): Likewise.
26847 (terminal_mod_LDFLAGS): Likewise.
26848 * genhandlerlist.sh: Don't handle terminals.
26849 * genmk.rb: Generate terminal-*.lst.
26850 * genterminallist.sh: New file.
26851 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26852 (grub_is_valid_utf8): Likewise.
26853 (grub_utf8_to_ucs4_alloc): Likewise.
26854 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26855 (grub_menu_register_viewer): Changed argument.
26856 (grub_menu_try_text): New proto.
26857 (grub_gfxmenu_try_hook): New declaration.
26858 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26859 (grub_menu_init_page): Additional argument term.
26860 (grub_normal_init_page): Likewise.
26861 (grub_cmdline_get): Arguments simplified.
26862 (grub_utf8_to_ucs4_alloc): Removed.
26863 (grub_print_ucs4): Additional argument term.
26864 (grub_getstringwidth): Likewise.
26865 (grub_print_message_indented): Likewise.
26866 (grub_menu_text_register_instances): New proto.
26867 (grub_show_menu): Likewise.
26868 (read_terminal_list): Likewise.
26869 (grub_set_more): Likewise.
26870 * include/grub/parser.h: Include handler.h.
26871 * include/grub/reader.h: Rewritten.
26872 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26873 (GRUB_TERM_WIDTH): Changed to function.
26874 (GRUB_TERM_HEIGHT): Likewise.
26875 (GRUB_TERM_BORDER_WIDTH): Likewise.
26876 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26877 (GRUB_TERM_NUM_ENTRIES): Likewise.
26878 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26879 (GRUB_TERM_CURSOR_X): Likewise.
26880 (grub_term_input_class): Likewise.
26881 (grub_term_output_class): Likewise.
26882 (grub_term_outputs_disabled): New declaration.
26883 (grub_term_inputs_disabled): Likewise.
26884 (grub_term_outputs): Likewise.
26885 (grub_term_inputs): Likewise.
26886 (grub_term_register_input): Rewritten.
26887 (grub_term_register_output): Likewise.
26888 (grub_term_unregister_input): Likewise.
26889 (grub_term_unregister_output): Likewise.
26890 (FOR_ACTIVE_TERM_INPUTS): New macro.
26891 (FOR_DISABLED_TERM_INPUTS): Likewise.
26892 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26893 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26894 * include/grub/terminfo.h: Add oterm argument to all protypes.
26895 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26896 Use grub_rescue_run.
26897 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26898 All users updated.
26899 * kern/reader.c: Removed. All users updated.
26900 * kern/rescue_reader.c (grub_rescue_init): Removed.
26901 (grub_rescue_reader): Likewise.
26902 (grub_register_rescue_reader): Likewise.
26903 (grub_rescue_run): New function based on kern/reader.c.
26904 * kern/term.c: Adapted for multiterm.
26905 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26906 (grub_is_valid_utf8): Likewise.
26907 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26908 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26909 right terminal.
26910 * loader/i386/linux.c (grub_linux_boot): Likewise.
26911 * normal/auth.c (grub_username_get): New function.
26912 (grub_auth_check_authentication): Use grub_username_get.
26913 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26914 * normal/color.c: Adapt for multiterm.
26915 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26916 (grub_normal_init_page): Additional argument term.
26917 (read_lists): Call read_terminal_lists.
26918 (grub_enter_normal_mode): Call grub_cmdline_run.
26919 Handle grub_normal_exit_level.
26920 (grub_cmd_normal): Make reentrant.
26921 (grub_cmd_normal_exit): New function.
26922 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26923 * normal/menu.c: Adapt for multiterm.
26924 * normal/menu_entry.c: Likewise.
26925 * normal/menu_text.c: Likewise.
26926 * normal/menu_viewer.c: Removed. All users updated.
26927 * normal/term.c: New file.
26928 * util/console.c: Change order of includes to workaround a bug in
26929 ncurses headers.
26930 * term/terminfo.c: New argument oterm on all exported functions.
26931 All users updated.
26932 * util/grub-editenv.c (grub_term_input_class): Removed.
26933 (grub_term_output_class): Likewise.
26934
1a064917
RM
269352010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26936
26937 Make loader output a bit more user-friendly.
26938
26939 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26940 is being loaded. Likewise for the Hurd.
26941
26942 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26943 that kernel of FreeBSD ${version} is being loaded.
26944
26945 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26946 grub_dprintf().
26947 (grub_cmd_initrd): Likewise.
26948 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26949 that Linux ${version} is being loaded. Likewise for initrd.
26950
5ce0a83a 269512010-01-09 Carles Pina i Estany <carles@pina.cat>
26952
26953 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26954
809bbfeb 269552010-01-08 Carles Pina i Estany <carles@pina.cat>
26956
26957 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26958 (GRUB_MOD_INIT): Gettextizze.
26959 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26960 (GRUB_MOD_INIT): Gettextizze.
26961 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26962 (grub_cmd_linux): Capitalise Linux.
26963 (GRUB_MOD_INIT): Gettextizze.
26964 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26965 (grub_cmd_linux): Capitalise Linux.
26966 (GRUB_MOD_INIT): Gettextizze.
26967 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26968 (grub_cmd_linux): Capitalise Linux.
26969 (GRUB_MOD_INIT): Gettextizze.
26970 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26971 (GRUB_MOD_INIT): Gettextizze.
26972 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26973 (grub_cmd_linux): Capitalise Linux.
26974 (GRUB_MOD_INIT): Gettextizze.
26975 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26976 (grub_cpu_xnu_init): Gettextizze.
26977 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26978 (GRUB_MOD_INIT): Gettextizze.
26979 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26980 (GRUB_MOD_INIT): Gettextizze.
26981 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26982 (grub_linux_load64): Capitalise Linux.
26983 (GRUB_MOD_INIT): Gettextizze.
26984 * loader/xnu.c: Include `<grub/i18n.h>'.
26985 (GRUB_MOD_INIT): Gettextizze.
26986 * po/POTFILES: Add `loader/efi/appleloader.c',
26987 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26988 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26989 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26990 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26991 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26992 and `loader/xnu.c'.
26993
b394b2ca
RM
269942010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26995
26996 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26997
269982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26999
27000 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27001 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27002 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27003
bc8b32b3
RM
270042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27005
27006 Reset Multiboot 2 support. New loader implements the draft in
27007 /branches/multiboot2 and shares as much code as possible with the
27008 production Multiboot 1 implementation.
27009
27010 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27011 * loader/multiboot2.c: Likewise.
27012 * loader/i386/multiboot_helper.S: Likewise.
27013 * include/multiboot2.h: Replace with latest version from the draft
27014 in /branches/multiboot2.
27015
27016 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27017 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27018 and `loader/multiboot2.c'.
27019 (pkglib_MODULES): Add `multiboot2.mod'.
27020 (multiboot2_mod_SOURCES): New variable.
27021 (multiboot2_mod_LDFLAGS): Likewise.
27022 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27023
27024 * conf/i386-pc.rmk: Likewise.
27025
27026 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27027 (multiboot_mod_SOURCES): Remove variable.
27028 (multiboot_mod_LDFLAGS): Likewise.
27029 (multiboot_mod_CFLAGS): Likewise.
27030
27031 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27032 `<multiboot2.h>' instead of `<multiboot.h>'.
27033 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27034 (MULTIBOOT_HEADER_MAGIC): New macros.
27035
27036 * loader/multiboot_loader.c (module_version_status): Remove variable.
27037 (find_multi_boot2_header): Remove function.
27038 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27039 logic. Always check for the Multiboot version we're compiling for.
27040 (grub_cmd_module_loader): Likewise.
27041 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27042 command instead of `multiboot'.
27043
5d2c52b8
RM
270442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27045
27046 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27047 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27048 all users.
27049
53108d92
RM
270502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
270512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27052
27053 Fix breakage introduced with previous commit.
27054
27055 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27056 commands.
27057 * normal/handler.c (read_handler_list): Revert part of previous commit
27058 affecting this file.
27059 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27060 (grub_normal_execute): ... here.
27061
e2e936b2
RM
270622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27063
27064 Merge prefix-redefinition-fix branch.
27065
27066 * normal/autofs.c (read_fs_list): Make function capable of being
27067 run multiple times, gracefuly replacing the previous data
27068 structures.
27069 * normal/dyncmd.c (read_command_list): Likewise.
27070 * normal/handler.c (read_handler_list): Likewise.
27071 * normal/main.c (read_lists): New function. Calls all the
27072 list reading functions.
27073 (grub_normal_execute): Use read_lists() instead of calling all
27074 list reading functions explicitly. Register read_lists() as a
27075 variable hook attached to ${prefix}.
27076
607a3701
VS
270772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27078
27079 Merge crypto branch.
27080
27081 * Makefile.in (pkglib_DATA): Add crypto.lst.
27082 (crypto.lst): New target.
27083 * commands/hashsum.c: New file.
27084 * commands/password.c (check_password): Use grub_crypto_memcmp.
27085 * commands/password_pbkdf2.c: New file.
27086 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27087 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27088 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27089 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27090 -I$(srcdir)/lib/libgcrypt_wrap.
27091 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27092 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27093 password_pbkdf2.mod.
27094 (crypto_mod_SOURCES): New variable.
27095 (crypto_mod_CFLAGS): Likewise.
27096 (crypto_mod_LDFLAGS): Likewise.
27097 (hashsum_mod_SOURCES): New variable.
27098 (hashsum_mod_CFLAGS): Likewise.
27099 (hashsum_mod_LDFLAGS): Likewise.
27100 (pbkdf2_mod_SOURCES): New variable.
27101 (pbkdf2_mod_CFLAGS): Likewise.
27102 (pbkdf2_mod_LDFLAGS): Likewise.
27103 (password_pbkdf2_mod_SOURCES): New variable.
27104 (password_pbkdf2_mod_CFLAGS): Likewise.
27105 (password_pbkdf2_mod_LDFLAGS): Likewise.
27106 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27107 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27108 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27109 Include conf/gcry.rmk.
27110 * include/grub/auth.h: Rewritten.
27111 * include/grub/crypto.h: New file.
27112 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27113 * include/grub/normal.h (read_crypto_list): New prototype.
27114 * lib/crypto.c: New file.
27115 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27116 * lib/pbkdf2.c: Likewise.
27117 * normal/auth.c (grub_auth_strcmp): Removed.
27118 (grub_iswordseparator): Likewise.
27119 (grub_auth_strword): Likewise.
27120 (is_authenticated): Use grub_strword.
27121 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27122 and grub_strword. Pass entered password to authentication callback.
27123 * normal/crypto.c: New file.
27124 * normal/main.c: Call read_crypto_list.
27125 * util/grub-mkpasswd-pbkdf2.c: New file.
27126 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27127
42841caa
VS
271282010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27129
27130 Fix descent and ascent calculation.
27131
27132 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27133 (options): New option "asce".
27134 (usage): Likewise.
27135 (add_char): Ignore invalid glyphs for descent calculation.
27136 Calculate ascent from actual content.
27137 (print_glyphs): Use 'asce'.
27138 (write_font): Likewise. Allow ascent override.
27139 (main): Handle "asce" option.
27140
e7730de7 271412010-01-06 Carles Pina i Estany <carles@pina.cat>
27142
27143 * kern/err.c: Include `<grub/i18n.h>'.
27144 (grub_print_error): Add full stop. Gettextizze.
27145 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
27146 (grub_bsd_load_elf): Capitalise ELF.
27147 (grub_cmd_freebsd_loadenv): Add `s' in error string.
27148 (grub_cmd_freebsd_module): Likewise.
27149 (grub_cmd_freebsd_module_elf): Likewise.
27150 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
27151
40e3a41f 271522010-01-06 Carles Pina i Estany <carles@pina.cat>
27153
27154 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
27155 * commands/search_file.c (HELP_MESSAGE): New macro.
27156 * commands/search_label.c (HELP_MESSAGE): Likewise.
27157 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
27158 * po/POTFILES: Add `commands/search_file.c',
27159 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
27160 `commands/search.c'.
27161
83507e68
RM
271622010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27163
27164 * config.rpath: Update from Gnulib.
27165
465c787b
YB
271662010-01-05 Yves Blusseau <blusseau@zetam.org>
27167
27168 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
27169
6581dd3a
YB
271702010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
27171
27172 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
27173
3bff18c5
CW
271742010-01-05 Colin Watson <cjwatson@ubuntu.com>
27175
27176 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27177 arguments to fread so that we get a return value in bytes, rather
27178 than something that will normally be rounded down to 0.
27179 Adjust error handling to avoid producing garbage when size_t is not
27180 the same size as long long.
27181
a1368118
CW
271822010-01-05 Colin Watson <cjwatson@ubuntu.com>
27183
27184 * util/mkisofs/write.c (padblock_write): Check return value of
27185 fread.
27186
7c302978
RM
271872010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27188
27189 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27190 floppy images now.
27191
27192 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27193
e33ace06
RM
271942010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27195
27196 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27197 instead of manual alignment.
27198 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27199 verbose). Avoid attempts to read past end of the device
27200 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27201 but GRUB_DISK_CACHE_SIZE may exceed that).
27202
4b856776
RM
272032010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27204
27205 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27206 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27207 it to upper layer.
27208
52c2d97f
VS
272092010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27210
27211 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27212 New constant.
27213 (grub_efi_piwg_device_path): New structure
27214 (grub_efi_piwg_device_path_t): New type.
27215 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27216 (devpath_1): Transform to a structure. All users updated.
27217 (devpath_2): Likewise.
27218 (devpath_3): Likewise.
27219 (devpath_4): Likewise.
27220 (devpath_5): Likewise.
27221
98ff6a54
VS
272222010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27223
27224 * loader/efi/appleloader.c: Restored. Update all users.
27225
3a73dcb6
RM
272262010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27227
27228 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27229
27230 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27231 (struct boot_blocklist): Move from here ...
27232 * include/grub/i386/pc/boot.h [ASM_FILE]
27233 (struct grub_boot_blocklist): ... to here. Update all users.
27234 (setup): Only initialize `start' member of `first_block'
27235 structure. Add assert() calls to verify the other members.
27236
27237 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27238 (generate_image): Fix broken blocklist length initialization.
27239 Add assert() call to verify blocklist `segment' field.
27240
ab0eeb0c
RM
272412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27242
27243 * loader/efi/appleloader.c: Remove. Update all users.
27244
58bc8bd5
RM
272452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27246
27247 * boot/i386/pc/boot.S: Update copyright year.
27248 * boot/i386/pc/cdboot.S: Likewise.
27249 * boot/i386/pc/diskboot.S: Likewise.
27250 * boot/i386/pc/lnxboot.S: Likewise.
27251 * boot/i386/pc/pxeboot.S: Likewise.
27252 * bus/pci.c: Likewise.
27253 * commands/cmp.c: Likewise.
27254 * commands/help.c: Likewise.
27255 * commands/hexdump.c: Likewise.
27256 * commands/i386/pc/halt.c: Likewise.
27257 * commands/i386/pc/play.c: Likewise.
27258 * commands/i386/pc/vbeinfo.c: Likewise.
27259 * commands/ls.c: Likewise.
27260 * commands/test.c: Likewise.
27261 * disk/dmraid_nvidia.c: Likewise.
27262 * disk/i386/pc/biosdisk.c: Likewise.
27263 * disk/ieee1275/nand.c: Likewise.
27264 * disk/ieee1275/ofdisk.c: Likewise.
27265 * disk/lvm.c: Likewise.
27266 * disk/raid.c: Likewise.
27267 * disk/raid6_recover.c: Likewise.
27268 * disk/scsi.c: Likewise.
27269 * fs/affs.c: Likewise.
27270 * fs/cpio.c: Likewise.
27271 * fs/ext2.c: Likewise.
27272 * fs/hfs.c: Likewise.
27273 * fs/iso9660.c: Likewise.
27274 * fs/ntfs.c: Likewise.
27275 * fs/sfs.c: Likewise.
27276 * fs/udf.c: Likewise.
27277 * fs/ufs.c: Likewise.
27278 * fs/xfs.c: Likewise.
27279 * gencmdlist.sh: Likewise.
27280 * genmk.rb: Likewise.
27281 * include/grub/disk.h: Likewise.
27282 * include/grub/efi/api.h: Likewise.
27283 * include/grub/efi/efi.h: Likewise.
27284 * include/grub/efi/pe32.h: Likewise.
27285 * include/grub/elf.h: Likewise.
27286 * include/grub/fs.h: Likewise.
27287 * include/grub/i386/at_keyboard.h: Likewise.
27288 * include/grub/i386/pc/memory.h: Likewise.
27289 * include/grub/i386/pc/vbe.h: Likewise.
27290 * include/grub/i386/pci.h: Likewise.
27291 * include/grub/i386/tsc.h: Likewise.
27292 * include/grub/ieee1275/ieee1275.h: Likewise.
27293 * include/grub/ntfs.h: Likewise.
27294 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27295 * include/grub/sparc64/libgcc.h: Likewise.
27296 * include/grub/symbol.h: Likewise.
27297 * include/grub/types.h: Likewise.
27298 * include/multiboot2.h: Likewise.
27299 * io/gzio.c: Likewise.
27300 * kern/device.c: Likewise.
27301 * kern/disk.c: Likewise.
27302 * kern/efi/efi.c: Likewise.
27303 * kern/efi/mm.c: Likewise.
27304 * kern/elf.c: Likewise.
27305 * kern/file.c: Likewise.
27306 * kern/i386/dl.c: Likewise.
27307 * kern/i386/pc/init.c: Likewise.
27308 * kern/i386/pc/startup.S: Likewise.
27309 * kern/ieee1275/ieee1275.c: Likewise.
27310 * kern/ieee1275/init.c: Likewise.
27311 * kern/main.c: Likewise.
27312 * kern/mm.c: Likewise.
27313 * kern/powerpc/dl.c: Likewise.
27314 * kern/sparc64/dl.c: Likewise.
27315 * kern/x86_64/dl.c: Likewise.
27316 * lib/hexdump.c: Likewise.
27317 * loader/efi/appleloader.c: Likewise.
27318 * loader/i386/ieee1275/linux.c: Likewise.
27319 * loader/i386/pc/chainloader.c: Likewise.
27320 * loader/i386/pc/linux.c: Likewise.
27321 * loader/i386/pc/multiboot2.c: Likewise.
27322 * loader/ieee1275/multiboot2.c: Likewise.
27323 * loader/multiboot2.c: Likewise.
27324 * loader/multiboot_loader.c: Likewise.
27325 * loader/powerpc/ieee1275/linux.c: Likewise.
27326 * normal/completion.c: Likewise.
27327 * normal/menu_entry.c: Likewise.
27328 * partmap/apple.c: Likewise.
27329 * util/grub.d/10_hurd.in: Likewise.
27330 * util/hostfs.c: Likewise.
27331 * video/readers/png.c: Likewise.
27332
e2d70b5c
CW
273332010-01-03 Colin Watson <cjwatson@ubuntu.com>
27334
27335 * include/grub/misc.h (GNUC_PREREQ): New macro.
27336 (ATTRIBUTE_ERROR): New macro.
27337 * include/grub/list.h (grub_bad_type_cast_real): Use
27338 ATTRIBUTE_ERROR.
27339
a173283f 273402010-01-03 Carles Pina i Estany <carles@pina.cat>
27341
27342 * normal/menu_text.c (print_message): Change messages.
27343
7fa7ff74 273442010-01-03 Carles Pina i Estany <carles@pina.cat>
27345
27346 * normal/menu_entry.c (store_completion): Gettextizze.
27347
136d24f6 273482010-01-03 Carles Pina i Estany <carles@pina.cat>
27349
27350 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27351
f936862e 273522010-01-03 Carles Pina i Estany <carles@pina.cat>
27353
27354 * po/POTFILES: Sort correctly.
27355
29c44ad1 273562010-01-03 Carles Pina i Estany <carles@pina.cat>
27357
27358 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27359 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27360 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27361 full stop.
27362 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27363 summary. Gettextizze the strings.
27364 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27365 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27366 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27367 full stop.
27368 (GRUB_MOD_INIT): Remove command name from summary.
27369 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27370 summary.
27371 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27372 * term/i386/pc/serial.c (options): Add full stops.
27373 (GRUB_MOD_INIT): Remove command name from the summary.
27374
77a79592 273752010-01-03 Carles Pina i Estany <carles@pina.cat>
27376
27377 * commands/acpi.c: Gettextizze help strings and/or options. Include
27378 `grub/i18n.h' if needed.
27379 * commands/blocklist.c: Likewise.
27380 * commands/boot.c: Likewise.
27381 * commands/cat.c: Likewise.
27382 * commands/cmp.c: Likewise.
27383 * commands/configfile.c: Likewise.
27384 * commands/crc.c: Likewise.
27385 * commands/date.c: Likewise.
27386 * commands/echo.c: Likewise.
27387 * commands/efi/fixvideo.c: Likewise.
27388 * commands/efi/loadbios.c: Likewise.
27389 * commands/gptsync.c: Likewise.
27390 * commands/halt.c: Likewise.
27391 * commands/handler.c: Likewise.
27392 * commands/hdparm.c: Likewise.
27393 * commands/hexdump.c: Likewise.
27394 * commands/i386/cpuid.c: Likewise.
27395 * commands/i386/pc/drivemap.c: Likewise.
27396 * commands/i386/pc/halt.c: Likewise.
27397 * commands/i386/pc/pxecmd.c: Likewise.
27398 * commands/i386/pc/vbeinfo.c: Likewise.
27399 * commands/i386/pc/vbetest.c: Likewise.
27400 * commands/ieee1275/suspend.c: Likewise.
27401 * commands/keystatus.c: Likewise.
27402 * commands/loadenv.c: Likewise.
27403 * commands/ls.c: Likewise.
27404 * commands/lsmmap.c: Likewise.
27405 * commands/lspci.c: Likewise.
27406 * commands/memrw.c: Likewise.
27407 * commands/minicmd.c: Likewise.
27408 * commands/parttool.c: Likewise.
27409 * commands/password.c: Likewise.
27410 * commands/probe.c: Likewise.
27411 * commands/read.c: Likewise.
27412 * commands/reboot.c: Likewise.
27413 * commands/search.c: Likewise.
27414 * commands/sleep.c: Likewise.
27415 * commands/test.c: Likewise.
27416 * commands/true.c: Likewise.
27417 * commands/usbtest.c: Likewise.
27418 * commands/videotest.c: Likewise.
27419 * commands/xnu_uuid.c: Likewise.
27420 * disk/loopback.c: Likewise.
27421 * hello/hello.c: Likewise.
27422 * loader/i386/bsd.c: Likewise.
27423 * term/i386/pc/serial.c: Likewise.
27424 * po/POTFILES: Add new files.
27425
da8d5c53
CW
274262010-01-02 Colin Watson <cjwatson@ubuntu.com>
27427
27428 * term/i386/pc/at_keyboard.c
27429 (keyboard_controller_wait_untill_ready): Rename to ...
27430 (keyboard_controller_wait_until_ready): ... this. Update all users.
27431
33937904 274322010-01-01 Carles Pina i Estany <carles@pina.cat>
27433
27434 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27435 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27436 string using string width.
27437 * normal/menu_text.c (grub_print_message_indented): Use
27438 grub_print_spaces and not print_spaces.
27439 (print_timeout): Likewise.
27440 (print_spaces): Move to...
27441 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27442
3fd3b8d8
RM
274432010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27444
27445 Import from Gnulib.
27446
27447 * gnulib/getdelim.c: New file.
27448 * gnulib/getline.c: Likewise.
27449
33433555
VS
274502009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27451
27452 * include/grub/list.h (grub_assert_fail): Removed.
27453 (grub_bad_type_cast_real): New function.
27454 (grub_bad_type_cast): New macro.
27455 (GRUB_AS_LIST): Use grub_bad_type_cast.
27456 (GRUB_AS_LIST_P): Likewise.
e44721e8 27457 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27458 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27459 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27460 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27461 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27462
f5a51306
VS
274632009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27464
27465 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27466 Fix syntax error.
27467
90d1e879
RM
274682009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27469
27470 * configure.ac: Check for TARGET_CFLAGS initialization before we
27471 initialize it ourselves (sigh).
27472 Move a few modifications to TARGET_CFLAGS to be unconditional
27473 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27474 eh_frame)
27475
27476 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27477 * term/i386/pc/at_keyboard.c
27478 (keyboard_controller_wait_untill_ready): Likewise.
27479 (keyboard_controller_led): Rename `led_status' paramter to avoid
27480 name conflict.
27481
465b5a81 274822009-12-28 Carles Pina i Estany <carles@pina.cat>
27483
27484 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27485 quotes.
27486
c181849b
VS
274872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27488
27489 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27490
9c8739a4
VS
274912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27492
27493 * normal/menu_text.c (grub_print_message_indented): Prevent
27494 past-the-end-of-array dereference.
27495
3e74249c
VS
274962009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27497
27498 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27499 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27500
64fd18ed 275012009-12-27 Carles Pina i Estany <carles@pina.cat>
27502
27503 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27504 * normal/main.c (grub_normal_read_line): Remove a space from the
27505 default prompt.
27506
714af9b9 275072009-12-27 Carles Pina i Estany <carles@pina.cat>
27508
27509 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27510 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27511 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27512 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27513 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27514 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27515 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27516
82f3e412 275172009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27518
27519 * video/readers/jpeg.c (cmd): Declare.
27520 (grub_cmd_jpegtest): Use `grub_command_t' type.
27521 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27522 Assign to `cmd'.
27523 (GRUB_MOD_FINI): Use `cmd' to unregister.
27524 * video/readers/png.c (cmd): Declare.
27525 (grub_cmd_pngtest): Use `grub_command_t' type.
27526 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27527 Assign to `cmd'.
27528 (GRUB_MOD_FINI): Use `cmd' to unregister.
27529 * video/readers/tga.c (cmd): Declare.
27530 (grub_cmd_tgatest): Use `grub_command_t' type.
27531 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27532 Assign to `cmd'.
27533 (GRUB_MOD_FINI): Use `cmd' to unregister.
27534
82f3e412 275352009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27536
27537 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27538 stops.
27539 * kern/corecmd.c (grub_register_core_commands): Likewise.
27540 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27541 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27542 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27543 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27544 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27545 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27546 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27547 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27548 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27549 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27550 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27551 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27552 * normal/handler.c (insert_handler): Likewise.
27553 * normal/main.c (GRUB_MOD_INIT): Likewise.
27554 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27555
fdcdbb66 275562009-12-26 Carles Pina i Estany <carles@pina.cat>
27557
27558 * commands/help.c (grub_cmd_help): Print the command name before the
27559 summary.
27560 (GRUB_MOD_INIT): Remove command name from the summary.
27561 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27562 string as summary.
fdcdbb66 27563 * lib/arg.c (find_long): Print the command name before the summary.
27564 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27565 summary.
27566 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27567 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27568 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27569 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27570 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27571 * commands/date.c (GRUB_MOD_INIT): Likewise.
27572 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27573 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27574 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27575 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27576 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27577 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27578 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27579 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27580 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27581 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27582 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27583 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27584 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27585 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27586 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27587 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27588 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27589 * commands/password.c (GRUB_MOD_INIT): Likewise.
27590 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27591 * commands/read.c (GRUB_MOD_INIT): Likewise.
27592 * commands/search.c (GRUB_MOD_INIT): Likewise.
27593 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27594 * commands/test.c (GRUB_MOD_INIT): Likewise.
27595 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27596 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27597 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27598 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27599 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27600 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27601 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27602 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27603 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27604 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27605 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27606 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27607 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27608 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27609
9c288be2
VS
276102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27611
27612 Use search command for preliminar UUID search.
27613
27614 * commands/search.c: Split into ...
27615 * commands/search_wrap.c: ...this
27616 * commands/search.c: ...and this.
27617 * commands/search_file.c: New file.
27618 * commands/search_label.c: New file.
27619 * commands/search_uuid.c: New file.
27620 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27621 Add commands/search_wrap.c, commands/search_file.c,
27622 commands/search_label.c and commands/search_uuid.c.
27623 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27624 (search_mod_SOURCES): Set to commands/search_wrap.c.
27625 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27626 search_label.mod.
27627 (search_fs_file_mod_SOURCES): New variable.
27628 (search_fs_file_mod_CFLAGS): Likewise.
27629 (search_fs_file_mod_LDFLAGS): Likewise.
27630 (search_label_mod_SOURCES): Likewise.
27631 (search_label_mod_CFLAGS): Likewise.
27632 (search_label_mod_LDFLAGS): Likewise.
27633 (search_fs_uuid_mod_SOURCES): New variable.
27634 (search_fs_uuid_mod_CFLAGS): Likewise.
27635 (search_fs_uuid_mod_LDFLAGS): Likewise.
27636 (fs_file_mod_SOURCES): Removed.
27637 (fs_file_mod_CFLAGS): Likewise.
27638 (fs_file_mod_LDFLAGS): Likewise.
27639 (fs_uuid_mod_SOURCES): Removed.
27640 (fs_uuid_mod_CFLAGS): Likewise.
27641 (fs_uuid_mod_LDFLAGS): Likewise.
27642 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27643 Set to util/grub-install.in.
27644 * disk/fs_file.c: Removed.
27645 * disk/fs_uuid.c: Likewise.
27646 * include/grub/search.h: New file.
27647 * util/grub-install.in: Handle sparc64.
27648 Create and use load.cfg.
27649 * util/sparc64/ieee1275/grub-install.in: Removed.
27650
db943399
VS
276512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27652
27653 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27654 Ignore return status if CF is cleared.
27655 (grub_biosdisk_get_diskinfo_standard): Likewise.
27656
3fdae612
RM
276572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27658
27659 * term/i386/pc/at_keyboard.c
27660 (keyboard_controller_wait_untill_ready): New function.
27661 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27662 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27663 for keyboard polling, rather than duplicate the same loop. This
27664 saves a few bytes in code size.
27665
7ebaa2b4
VS
276662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27667
27668 Support for (pxe[:server[:gateway]]) syntax and
27669 use environment variable for PXE.
27670
27671 * commands/i386/pc/pxecmd.c (options): Removed.
27672 (print_ip): Removed.
27673 (grub_cmd_pxe): Removed
27674 (grub_cmd_pxe_unload): New function.
27675 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27676 (grub_pxe_your_ip): Made static.
27677 (grub_pxe_default_server_ip): Likewise.
27678 (grub_pxe_default_gateway_ip): Likewise.
27679 (grub_pxe_blksize): Likewise.
27680 (parse_ip): New function.
27681 (grub_pxe_open): Support server and gateway specification.
27682 (grub_pxe_close): Free disk->data.
27683 (grub_pxefs_open): Use disk->data.
27684 (grub_pxefs_read): Likewise.
27685 (grub_env_write_readonly): New function.
27686 (set_mac_env): Likewise.
27687 (set_env_limn_ro): Likewise.
27688 (parse_dhcp_vendor): Likewise.
27689 (grub_pxe_detect): Set the environment variables.
27690 (set_ip_env): New function.
27691 (write_ip_env): Likewise.
27692 (grub_env_write_pxe_default_server): Likewise.
27693 (grub_env_write_pxe_default_gateway): Likewise.
27694 (grub_env_write_pxe_blocksize): Likewise.
27695 (GRUB_MOD_INIT(pxe)): Set environment variables.
27696 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27697 (grub_pxe_mac_addr_t): ... this. All users updated.
27698 (grub_pxe_your_ip): Removed.
27699 (grub_pxe_server_ip): Likewise.
27700 (grub_pxe_gateway_ip): Likewise.
27701 (grub_pxe_blksize): Likewise.
27702
ec5f98ab 277032009-12-25 Carles Pina i Estany <carles@pina.cat>
27704
27705 * commands/help.c: Include `<grub/i18n.h>'.
27706 (grub_cmd_help): Gettextizze.
27707 (GRUB_MOD_INIT): Likewise.
27708 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27709 (GRUB_MOD_INIT): Gettextizze.
27710 * commands/search.c: Include `<grub/i18n.h>'.
27711 (options): Gettextizze.
27712 (GRUB_MOD_INIT): Gettextizze.
27713 * lib/arg.c: Include `<grub/i18n.h>'.
27714 (help_options): Gettextizze.
27715 (find_long): Likewise.
27716 (grub_arg_show_help): Likewise.
27717 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27718 (read_command_list): Gettextizze.
27719 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27720 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27721
22815526
RM
277222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27723
27724 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27725 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27726 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27727 (led_status): New variable.
27728 (keyboard_controller_led): New function.
27729 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27730 update led status for caps lock, num lock and scroll lock.
27731
0ad46fd7
FZ
277322009-12-25 Felix Zielcke <fzielcke@z-51.de>
27733
27734 * util/hostdisk.c (open_device): Fix a comment.
27735
d0e158c2
RM
277362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27737
27738 * util/grub-install.in (host_os): New variable.
27739 * util/i386/efi/grub-install.in (host_os): Likewise.
27740
401c0ad6
RM
277412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27742
27743 * util/mkisofs/write.c (padblock_write): Abort when given an
27744 excedingly large embed image, instead of silently truncating it.
27745
d14d3370
RM
277462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27747
27748 * include/multiboot.h: Indentation fixes.
27749
eeed10b4
RM
277502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27751
27752 * include/multiboot.h (struct multiboot_aout_symbol_table)
27753 (struct multiboot_elf_section_header_table): New structure
27754 declarations (stolen from GRUB Legacy).
27755 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27756 table information.
27757
27758 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27759 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27760 type aliases.
27761
681c70ab
RM
277622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27763
27764 * include/multiboot.h: Make comments src2texi-friendly.
27765
e4d47d8d
RM
277662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27767
27768 For consistency with [multiboot]/docs/boot.S.
27769
27770 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27771 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27772 (MULTIBOOT_MAGIC2): Rename from this ...
27773 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27774
a0b70bda
RM
277752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27776
27777 * include/multiboot.h: Remove `<grub/types.h>'.
27778 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27779 types. Update all users.
27780
61ba42be 277812009-12-25 Carles Pina i Estany <carles@pina.cat>
27782
27783 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27784 `couldn't' and `can not' by `cannot'.
27785 * commands/i386/pc/drivemap.c: Likewise.
27786 * disk/ata.c: Likewise.
27787 * disk/ieee1275/nand.c: Likewise.
27788 * fs/affs.c: Likewise.
27789 * fs/fat.c: Likewise.
27790 * fs/hfs.c: Likewise.
27791 * fs/hfsplus.c: Likewise.
27792 * fs/iso9660.c: Likewise.
27793 * fs/jfs.c: Likewise.
27794 * fs/minix.c: Likewise.
27795 * fs/reiserfs.c: Likewise.
27796 * fs/sfs.c: Likewise.
27797 * fs/udf.c: Likewise.
27798 * fs/ufs.c: Likewise.
27799 * fs/xfs.c: Likewise.
27800 * loader/powerpc/ieee1275/linux.c: Likewise.
27801 * loader/sparc64/ieee1275/linux.c: Likewise.
27802 * util/grub-probe.c: Likewise.
27803 * util/misc.c: Likewise.
27804
7fd0baee 278052009-12-24 Carles Pina i Estany <carles@pina.cat>
27806
27807 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27808 grub_errno calls.
27809 * commands/acpi.c: Likewise.
27810 * commands/blocklist.c: Likewise.
27811 * commands/efi/loadbios.c: Likewise.
27812 * commands/i386/pc/drivemap.c: Likewise.
27813 * commands/loadenv.c: Likewise.
27814 * commands/memrw.c: Likewise.
27815 * commands/password.c: Likewise.
27816 * commands/videotest.c: Likewise.
27817 * disk/ata.c: Likewise.
27818 * disk/ata_pthru.c: Likewise.
27819 * disk/dmraid_nvidia.c: Likewise.
27820 * disk/ieee1275/nand.c: Likewise.
27821 * disk/ieee1275/ofdisk.c: Likewise.
27822 * disk/loopback.c: Likewise.
27823 * disk/lvm.c: Likewise.
27824 * disk/mdraid_linux.c: Likewise.
27825 * disk/raid.c: Likewise.
27826 * disk/raid6_recover.c: Likewise.
27827 * disk/scsi.c: Likewise.
27828 * efiemu/main.c: Likewise.
27829 * efiemu/mm.c: Likewise.
27830 * efiemu/pnvram.c: Likewise.
27831 * efiemu/symbols.c: Likewise.
27832 * font/font.c: Likewise.
27833 * fs/cpio.c: Likewise.
27834 * fs/hfsplus.c: Likewise.
27835 * fs/iso9660.c: Likewise.
27836 * fs/jfs.c: Likewise.
27837 * fs/minix.c: Likewise.
27838 * fs/ntfs.c: Likewise.
27839 * fs/ntfscomp.c: Likewise.
27840 * fs/reiserfs.c: Likewise.
27841 * fs/ufs.c: Likewise.
27842 * fs/xfs.c: Likewise.
27843 * gettext/gettext.c: Likewise.
27844 * include/grub/auth.h: Likewise.
27845 * kern/elf.c: Likewise.
27846 * kern/file.c: Likewise.
27847 * kern/ieee1275/init.c: Likewise.
27848 * kern/ieee1275/mmap.c: Likewise.
27849 * kern/ieee1275/openfw.c: Likewise.
27850 * kern/powerpc/dl.c: Likewise.
27851 * kern/sparc64/dl.c: Likewise.
27852 * lib/arg.c: Likewise.
27853 * loader/i386/bsd.c: Likewise.
27854 * loader/i386/bsdXX.c: Likewise.
27855 * loader/i386/efi/linux.c: Likewise.
27856 * loader/i386/efi/xnu.c: Likewise.
27857 * loader/i386/ieee1275/linux.c: Likewise.
27858 * loader/i386/linux.c: Likewise.
27859 * loader/i386/multiboot.c: Likewise.
27860 * loader/i386/pc/linux.c: Likewise.
27861 * loader/i386/pc/multiboot2.c: Likewise.
27862 * loader/i386/xnu.c: Likewise.
27863 * loader/ieee1275/multiboot2.c: Likewise.
27864 * loader/macho.c: Likewise.
27865 * loader/machoXX.c: Likewise.
27866 * loader/multiboot2.c: Likewise.
27867 * loader/multiboot_loader.c: Likewise.
27868 * loader/powerpc/ieee1275/linux.c: Likewise.
27869 * loader/sparc64/ieee1275/linux.c: Likewise.
27870 * loader/xnu.c: Likewise.
27871 * loader/xnu_resume.c: Likewise.
27872 * mmap/i386/pc/mmap.c: Likewise.
27873 * normal/menu_viewer.c: Likewise.
27874 * partmap/acorn.c: Likewise.
27875 * partmap/amiga.c: Likewise.
27876 * partmap/apple.c: Likewise.
27877 * script/lexer.c: Likewise.
27878 * term/gfxterm.c: Likewise.
27879 * term/i386/pc/serial.c: Likewise.
27880 * term/i386/pc/vga.c: Likewise.
27881 * term/ieee1275/ofconsole.c: Likewise.
27882 * term/terminfo.c: Likewise.
27883 * video/bitmap.c: Likewise.
27884 * video/efi_gop.c: Likewise.
27885 * video/efi_uga.c: Likewise.
27886 * video/fb/video_fb.c: Likewise.
27887 * video/i386/pc/vbe.c: Likewise.
27888 * video/readers/tga.c: Likewise.
27889 * video/video.c: Likewise.
27890
0ad46fd7 278912009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27892
27893 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27894 * commands/lspci.c: Likewise.
27895 * commands/probe.c: Likewise.
27896 * commands/xnu_uuid.c: Likewise.
27897 * conf/i386-coreboot.rmk: Likewise.
27898 * conf/i386-efi.rmk: Likewise.
27899 * conf/i386-ieee1275.rmk: Likewise.
27900 * conf/i386-pc.rmk: Likewise.
27901 * conf/powerpc-ieee1275.rmk: Likewise.
27902 * conf/sparc64-ieee1275.rmk: Likewise.
27903 * conf/x86_64-efi.rmk: Likewise.
27904 * fs/i386/pc/pxe.c: Likewise.
27905 * gettext/gettext.c: Likewise.
27906 * include/grub/efi/graphics_output.h: Likewise.
27907 * include/grub/i386/pc/memory.h: Likewise.
27908 * kern/env.c: Likewise.
27909 * kern/i386/qemu/startup.S: Likewise.
27910 * lib/i386/pc/biosnum.c: Likewise.
27911 * lib/i386/relocator.c: Likewise.
27912 * lib/i386/relocator_asm.S: Likewise.
27913 * lib/relocator.c: Likewise.
27914 * loader/i386/bsd.c: Likewise.
27915 * loader/i386/multiboot.c: Likewise.
27916 * loader/i386/pc/chainloader.c: Likewise.
27917 * loader/i386/xnu.c: Likewise.
27918 * loader/xnu.c: Likewise.
27919 * normal/main.c: Likewise.
27920 * normal/menu_text.c: Likewise.
27921 * util/getroot.c: Likewise.
27922 * util/grub-mkconfig_lib.in: Likewise.
27923 * util/grub.d/00_header.in: Likewise.
27924 * util/i386/pc/grub-mkimage.c: Likewise.
27925 * util/mkisofs/eltorito.c: Likewise.
27926 * util/mkisofs/exclude.h: Likewise.
27927 * util/mkisofs/hash.c: Likewise.
27928 * util/mkisofs/iso9660.h: Likewise.
27929 * util/mkisofs/joliet.c: Likewise.
27930 * util/mkisofs/mkisofs.c: Likewise.
27931 * util/mkisofs/mkisofs.h: Likewise.
27932 * util/mkisofs/multi.c: Likewise.
27933 * util/mkisofs/name.c: Likewise.
27934 * util/mkisofs/rock.c: Likewise.
27935 * util/mkisofs/tree.c: Likewise.
27936 * util/mkisofs/write.c: Likewise.
27937 * video/efi_gop.c: Likewise.
27938
009ec743
VS
279392009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27940
27941 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27942 size counting.
27943
0ad46fd7 279442009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27945
27946 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27947 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27948
d3d30ea0
VS
279492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27952 (GRUB_MOD_INIT(memrw)): Update help line.
27953
a34f5c70
VS
279542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27955
27956 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27957 Use grub_extcmd_t. All users updated.
27958 (options): New variable.
27959 (grub_cmd_read): Restructure for readability. Support "-v" option.
27960 (grub_cmd_write): Restructure for readability.
27961
0ad46fd7 279622009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27963
27964 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27965
0ad46fd7 279662009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27967
27968 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27969 with the actual contents of the correspondending make variable.
27970 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27971 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27972 specifying `*.lst' and `efiemu??.o'
27973
0ad46fd7 279742009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27975
27976 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27977 after function name.
27978 Noticed by Rene Engelhard <rene@debian.org>.
27979
dc77a799
VS
279802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27981
27982 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27983 (options): New variable.
27984 (iospace): Likewise.
27985 (grub_lspci_iter): List IO spaces if "-i" was given.
27986 (grub_cmd_lspci): Parse options.
27987 (GRUB_MOD_INIT(lspci)): Use extcmd.
27988 (GRUB_MOD_FINI(lspci)): Likewise.
27989
0ad46fd7 279902009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27991
27992 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27993 `function' keyword.
27994 Patch by Tony Mancill <tmancill@debian.org>.
27995
b5d5993b
VS
279962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27997
27998 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27999 (grub_uhci_portstatus): Likewise.
28000 (grub_uhci_portstatus): Add necessary delay.
11d18281 28001 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28002
941903f2 280032009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28004
941903f2 28005 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28006 (GRUB_MOD_INIT): Likewise.
28007 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28008 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28009 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28010 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28011 (enable_rom_area): Likewise.
28012 (GRUB_MOD_INIT): Likewise.
28013 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28014 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28015 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28016 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28017 * commands/hexdump.c (options): Likewise.
28018 * commands/i386/cpuid.c (options): Likewise.
28019 (GRUB_MOD_INIT): Likewise.
28020 * commands/i386/pc/drivemap.c (options): Likewise.
28021 (GRUB_MOD_INIT): Likewise.
28022 * commands/i386/pc/halt (options): Likewise.
28023 (GRUB_MOD_INIT): Likewise.
28024 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28025 * commands/i386/pc/pxecmd.c (options): Likewise.
28026 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28027 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28028 * commands/keystatus.c (options): Likewise.
28029 (GRUB_MOD_INIT): Likewise.
28030 * commands/loadenv.c (options): Likewise.
28031 * commands/ls.c (options): Likewise.
28032 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28033 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28034 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28035 * commands/parttool.c (helpmsg): Likewise.
28036 * commands/probe.c (options): Likewise.
28037 * commands/read.c (GRUB_MOD_INIT): Likewise.
28038 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28039 * commands/search.c (options): Likewise.
28040 * commands/sleep.c (options): Likewise.
28041 * commands/test.c (GRUB_MOD_INIT): Likewise.
28042 * commands/true.c (GRUB_MOD_INIT): Likewise.
28043 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28044 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28045 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28046 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28047 `$(XGETTEXT)'.
98a50553 28048 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28049
0ad46fd7 280502009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28051
ef3c2c3a 28052 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28053 instead of specifying them explicit.
28054
7922f68b
RM
280552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28056
28057 * NEWS: Add grub-probe support for GNU/Hurd.
28058
537ce47f
RM
280592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28060
28061 * NEWS: gettext was added after 1.97.
28062
9b214e3a
RM
280632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28064
28065 * util/mkisofs/msdos_partition.h: New file (based on
28066 include/grub/msdos_partition.h).
28067 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28068 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28069 (ld_options, main): Recognize --protective-msdos-label.
28070 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28071 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28072 (padblock_write): If `use_protective_msdos_label' is set, patch a
28073 protective DOS-style label in the output image.
28074
28075 * util/grub-mkrescue.in: Use --protective-msdos-label.
28076
e9309813
RM
280772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28078
28079 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28080 boot.
28081
0ae56929
RM
280822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28083
28084 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28085 variables.
28086 (ld_options, main): Recognize `--embedded-boot'.
28087 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28088 declarations.
28089 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28090 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28091 (padblock_write): Likewise. Rewrite to support embedded boot image.
28092
28093 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28094 for BIOS-based disk boot instead of only ElTorito.
28095
b15937b1
RM
280962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28097
28098 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28099 build (not needed for bootstrap).
28100
52cc3ce0
RM
281012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28102
28103 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28104 from i386-pc build (not needed for bootstrap).
28105 Rewrite a pair of strings.
28106
36f5ff04
RM
281072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28108
28109 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28110
973c6c85 281112009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28112
28113 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28114
05d21547
AB
281152009-12-21 Andreas Born <futur.andy@googlemail.com>
28116
28117 * kern/env.c (grub_env_context_open): Mark exported variable for
28118 reexport.
28119
0175d51f
AB
281202009-12-21 Andreas Born <futur.andy@googlemail.com>
28121
28122 * kern/env.c (grub_env_export): Create nonexistent variables before
28123 exporting.
28124
7f39d92f 281252009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28126
7f39d92f 28127 * include/grub/auth.h: Include `<grub/i18n.h>'.
28128 (GRUB_GET_PASSWORD): Gettextizze string.
28129 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28130 menu_text.c.
28131 (grub_utf8_to_ucs4_alloc): Fix indentation.
28132 (grub_print_ucs4): Likewise.
28133 (grub_getstringwidth): Likewise.
28134 (print_message_indented): New declaration.
28135 * normal/auth.c: Include `<grub/i18n.h>'.
28136 (grub_auth_check_authentication): Gettexttize string.
28137 * normal/cmdline.c: Include `<grub/i18n.h>'.
28138 (grub_cmdline_get): Gettextizze.
28139 * normal/color.c: Include `<grub/i18n.h>'.
28140 (grub_parse_color_name_pair): Gettexttize strings.
28141 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28142 string (use `print_message_indented').
28143 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
28144 `include/grub/normal.h'.
28145 (print_message_indented): Renamed to ...
28146 (grub_print_message_indented): ... this. Remove `static' qualifer (now
28147 used in normal/main.c).
28148 (print_message): Use `grub_print_message_indented' instead of
28149 `print_message_indented'.
28150 (print_timeout): Likewise.
28151 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
28152 (grub_normal_print_device_info): Gettexttize strings.
28153 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
28154
3041d898
VS
281552009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28156
28157 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
28158 of arguments. Return number of tokens and not arguments. All users
28159 updated.
28160
de15bf8e
VS
281612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
28162
28163 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
28164 non-MSDOS paritions.
28165
e0a6ca52
VS
281662009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
28167
28168 * include/grub/types.h (UNUSED): Removed since it conflicts with
28169 NetBSD headers. All users changed to direct __attribute__ ((unused)).
28170 Reported by Grégoire Sutre.
28171
b99518d1 281722009-12-19 Carles Pina i Estany <carles@pina.cat>
28173
28174 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
28175 (grub_print_ucs4_alloc): Likewise.
28176 (grub_getstringwidth): Likewise.
28177 * normal/main.c (grub_normal_init_page): Gettextize version string.
28178 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28179 (getstringwidth): Renamed to ...
28180 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28181 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28182 (grub_print_ucs4): Remove `static' qualifer (now used in
28183 normal/main.c).
28184 * po/POTFILES: Add normal/main.c.
28185
bfd5e52b 281862009-12-19 Carles Pina i Estany <carles@pina.cat>
28187
28188 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28189 (print_message_indented): Add `margin_left' and `margin_right'
28190 parameters.
28191 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28192 strings.
28193 (print_timeout): Use `print_message_indented' to print the message.
28194 Deletes `second_stage' parameter.
28195 (run_menu): Update `print_timeout' calls.
28196
5a1ad2b9
VS
281972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28198
28199 Fix console palette on OpenFirmware.
28200
28201 * term/ieee1275/ofconsole.c (MAX): Removed.
28202 (colors): Redone based on VGA palette.
28203 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28204 colors are supported.
28205 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28206
b045f00a
VS
282072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28208
28209 Fix potential EfiEmu double prepare.
28210
28211 * efiemu/main.c (prepared): New variable
28212 (grub_efiemu_unload): Set prepare to '0'.
28213 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28214
28215 set_virtual_address_map support.
28216
28217 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28218 prototype.
28219 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28220 prototype.
28221 (grub_efiemu_crc32): Likewise.
28222 (grub_efiemu_crc64): Likewise.
28223 (grub_efiemu_set_virtual_address_map): Likewise.
28224 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28225 New definition.
28226 (grub_autoefi_set_virtual_address_map): Likewise.
28227 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28228 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28229 Restructure flow to accomodate it.
28230 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28231 (grub_efiemu_crc): Recompute CRC32.
28232 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28233 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28234 * efiemu/symbols.c (relocated_handle): New variable.
28235 (grub_efiemu_free_syms): Free relocated_handle.
28236 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28237 (grub_efiemu_write_sym_markers): New function.
28238 (grub_efiemu_set_virtual_address_map): Likewise.
28239
28240 Newer XNU parameters.
28241
28242 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28243 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28244 (grub_xnu_fill_devicetree): New prototype.
28245 (grub_xnu_heap_real_start): New variable.
28246 * loader/xnu.c (get_name_ptr): New function.
28247 (grub_xnu_load_driver): Fill namelen and name.
28248
28249 64-bit xnu support.
28250
28251 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28252 and 'loader/macho64.c'.
28253 * conf/i386-pc.rmk: Likewise.
28254 * conf/x86_64-efi.rmk: Likewise.
28255 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28256 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28257 * include/grub/macho.h (grub_macho_segment64): New structure.
28258 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28259 (grub_macho_size32): ... to this.
28260 (grub_macho32_get_entry_point): Renamed from ...
28261 (grub_macho_get_entry_point32): ... to this.
28262 (grub_macho_contains_macho64): New prototype.
28263 (grub_macho_size64): Likewise.
28264 (grub_macho_get_entry_point64): Likewise.
28265 (grub_macho32_load): Renamed from ...
28266 (grub_macho_load32): ... to this.
28267 (grub_macho32_filesize): Renamed from ...
28268 (grub_macho_filesize32): ... to this.
28269 (grub_macho32_readfile): Renamed from ...
28270 (grub_macho_readfile32): ... to this.
28271 (grub_macho_filesize64): New prototype.
28272 (grub_macho_readfile64): Likewise.
28273 (grub_macho_parse32): Likewise.
28274 (grub_macho_parse64): Likewise.
28275 * loader/macho.c: Split into ...
28276 * loader/machoXX.c: ... and this. Replace 32 with XX.
28277 * loader/macho32.c: New file.
28278 * loader/macho64.c: Likewise.
28279 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28280 (grub_cmd_xnu_kernel): Make 32-bit only.
28281 (grub_cmd_xnu_kernel64): New function.
28282 (grub_xnu_load_driver): Support Mach-O 64.
28283 (grub_cmd_xnu_mkext): Likewise.
28284 * util/grub.d/30_os-prober.in (osx_entry): New function.
28285 Generate entries for 64-bit boot too.
28286
28287 Eliminate ad-hoc tree format in XNU and EfiEmu.
28288
28289 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28290 * efiemu/pnvram.c: Rewritten to use environment variables.
28291 All users updated.
28292
28293 Inline utf16_to_utf8.
28294
28295 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28296 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28297 All users updated.
28298 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28299
28300 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28301 * commands/usbtest.c (grub_usb_get_string): ... move here.
28302 (usb_print_str): Fix error handling.
28303 * include/grub/usb.h (grub_usb_get_string): Remove.
28304
28305 UTF-8 to UTF-16 transformation.
28306
28307 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28308 (charset_mod_SOURCES): New variable.
28309 (charset_mod_CFLAGS): Likewise.
28310 (charset_mod_LDFLAGS): Likewise.
28311 * include/grub/utf.h: New file.
28312 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28313
28314 Support for device properties.
28315
28316 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28317 (grub_xnu_devprop_device_header): Likewise.
28318 (grub_xnu_devprop_device_descriptor): Likewise.
28319 (grub_xnu_devprop_add_device): New prototype.
28320 (grub_xnu_devprop_remove_device): Likewise.
28321 (grub_xnu_devprop_remove_property): Likewise.
28322 (grub_xnu_devprop_add_property_utf8): Likewise.
28323 (grub_xnu_devprop_add_property_utf16): Likewise.
28324 (grub_cpu_xnu_init): Likewise.
28325 (grub_cpu_xnu_fini): Likewise.
28326 (grub_cpu_xnu_unload): Likewise.
28327 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28328 (property_descriptor): Likewise.
28329 (devices): New variable.
28330 (grub_xnu_devprop_remove_property): New function.
28331 (grub_xnu_devprop_add_device): Likewise.
28332 (grub_xnu_devprop_remove_device): Likewise.
28333 (grub_xnu_devprop_add_property): Likewise.
28334 (grub_xnu_devprop_add_property_utf8): Likewise.
28335 (grub_xnu_devprop_add_property_utf16): Likewise.
28336 (hextoval): Likewise.
28337 (grub_cpu_xnu_fill_devprop): Likewise.
28338 (grub_cmd_devprop_load): Likewise.
28339 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28340 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28341 (cmd_devprop_load): New variable.
28342 (grub_cpu_xnu_init): New function.
28343 (grub_cpu_xnu_fini): Likewise.
28344 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28345 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28346 (grub_cmd_xnu_devtree): Likewise.
28347 (hextoval): New function.
28348 (unescape): Likewise.
28349 (grub_xnu_fill_devicetree): Likewise.
28350
28351 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28352 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28353
0945f181
VS
283542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28355
28356 Workaround for broken ATI VBE.
28357
28358 * video/i386/pc/vbe.c (last_set_mode): New variable.
28359 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28360 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28361 (grub_video_vbe_setup): Don't check for reserved flag.
28362
0ad46fd7 283632009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28364
28365 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28366 the `find' command.
28367
c179ebe4
VS
283682009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28369
28370 UUID support for HFS.
28371
28372 * fs/hfs.c (grub_hfs_uuid): New function.
28373 (grub_hfs_fs): New value .uuid.
28374 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28375
0ad46fd7 283762009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28377
28378 Fix a segfault with parsing unknown long options.
28379
28380 * util/grub-mkrelpath.c (options): Zero terminate it.
28381
c4a3e41a
CPE
283822009-12-13 Carles Pina i Estany <carles@pina.cat>
28383
28384 * include/grub/misc.h (grub_puts): New declaration.
28385 (grub_puts_): Likewise.
a22008a6 28386 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28387 (grub_puts_): Likewise.
28388
2e8a7602
RM
283892009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28390
28391 * util/grub-probe.c (probe): Improve error message.
28392
b50b77b9
RM
283932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28394
28395 * loader/i386/multiboot_elfxx.c
28396 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28397 initialization.
28398
283992009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28400
28401 Relocator framework
28402
28403 * loader/i386/xnu_helper.S: Removed. All users updated.
28404 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28405 (relocator_mod_SOURCES): New variable.
28406 (relocator_mod_CFLAGS): Likewise.
28407 (relocator_mod_LDFLAGS): Likewise.
28408 (relocator_mod_ASFLAGS): Likewise.
28409 * conf/x86_64.rmk: Likewise.
28410 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28411 (grub_multiboot_payload_entry_offset): Likewise.
28412 (grub_multiboot_forward_relocator): Likewise.
28413 (grub_multiboot_forward_relocator_end): Likewise.
28414 (grub_multiboot_backward_relocator): Likewise.
28415 (grub_multiboot_backward_relocator_end): Likewise.
28416 (grub_multiboot_payload_eip): New variable.
28417 (grub_multiboot_payload_orig): Likewise.
28418 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28419 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28420 * include/grub/i386/memory.h
28421 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28422 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28423 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28424 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28425 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28426 * include/grub/i386/relocator.h: New file.
28427 * include/grub/x86_64/relocator.h: Likewise.
28428 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28429 (XNU_RELOCATOR): New macro.
28430 (grub_xnu_launcher_start): Remove.
28431 (grub_xnu_launcher_end): Likewise.
28432 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28433 (grub_xnu_heap_real_start): Remove.
28434 (grub_xnu_heap_start): Change to void *. All users updated.
28435 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28436 * lib/i386/relocator.c: New file.
28437 * lib/i386/relocator_asm.S: Likewise.
28438 * lib/i386/relocator_backward.S: Likewise.
28439 * lib/mips/relocator.c: Likewise.
28440 * lib/mips/relocator_asm.S: Likewise.
28441 * lib/relocator.c: Likewise.
28442 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28443 (entry): Removed.
28444 (playground): Likewise.
28445 (grub_multiboot_payload_orig): New variable.
28446 (grub_multiboot_payload_dest): Likewise.
28447 (grub_multiboot_payload_size): Likewise.
28448 (grub_multiboot_payload_eip): Likewise.
28449 (grub_multiboot_payload_esp): Likewise.
28450 (grub_multiboot_boot): Use grub_relocator32_boot.
28451 (grub_multiboot_unload): Free relocators.
28452 (grub_multiboot): Setup stack. Use relocators.
28453 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28454 (grub_multiboot_load_elfXX): Use relocators.
28455 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28456 (grub_multiboot_payload_size): Likewise.
28457 (grub_multiboot_payload_dest): Likewise.
28458 (grub_multiboot_payload_entry_offset): Likewise.
28459 (grub_multiboot_forward_relocator): Likewise.
28460 (grub_multiboot_backward_relocator): Likewise.
28461 (grub_multiboot_real_boot): Likewise.
28462 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28463 (grub_xnu_entry_point): Likewise.
28464 (grub_xnu_arg1): Likewise.
28465 (grub_xnu_stack): Likewise.
28466 (grub_xnu_launch): Removed.
28467 (grub_xnu_boot_resume): New function.
28468 (grub_xnu_boot): Use relocators.
28469 * loader/i386/xnu_helper.S: Removed.
28470 * loader/xnu.c (grub_xnu_heap_start): New variable.
28471 (grub_xnu_heap_size): Likewise.
28472 (grub_xnu_heap_malloc): Use relocators.
28473 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28474
29eb90c6
VS
284752009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28476
28477 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28478 anything.
28479
31027430
CPE
284802009-12-13 Carles Pina i Estany <carles@pina.cat>
28481
28482 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28483 GRUB_ERR_NONE before calling grub_env_set.
28484
dc0c71d9
RM
284852009-12-12 Robert Millan <rmh@aybabtu.com>
28486
28487 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28488 * genmk.rb (video): New variable.
28489 (CLEANFILES, VIDEOFILES): Add #{video}.
28490 (#{video}): New target rule.
28491 * genvideolist.sh: New file.
28492 * Makefile.in (pkglib_DATA): Add video.lst.
28493 (video.lst): New target rule.
28494 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28495 `video.lst'.
28496 * util/grub.d/30_os-prober.in: Replace `vbe' with
28497 ${GRUB_VIDEO_BACKEND}.
28498
2a4bfcf0
RM
284992009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28500
28501 * THANKS: Add David Miller.
28502
2a3aa4d5
RM
285032009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28504
28505 libpciaccess support.
28506
28507 * Makefile.in (LIBPCIACCESS): New variable.
28508 (enable_grub_emu_pci): Likewise.
28509 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28510 util/pci.c and commands/lspci.c.
28511 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28512 * configure.ac (grub-emu-pci): New option.
28513 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28514 (grub_pci_device_unmap_range): Likewise.
28515 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28516 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28517 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28518 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28519 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28520 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28521 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28522 * include/grub/pciutils.h: New file.
28523 * util/pci.c: Likewise.
28524
0ad46fd7 285252009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28526
28527 * util/misc.c: Don't include <errno.h> twice.
28528
0ad46fd7 285292009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28530
28531 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28532 name in an error message.
28533 (grub_biosdisk_rw): Likewise.
28534
2e59983c
VS
285352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28536
28537 Eliminate NTFS 4Gib barrier.
28538
28539 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28540 (read_run_data): Likewise.
28541 (grub_ntfs_read_run_list): Likewise.
28542 (grub_ntfs_read_block): Likewise.
28543 (grub_ntfs_iterate_dir): Likewise.
28544 (read_mft): Likewise.
28545 (read_data): Likewise.
28546 Use COM_LOG_LEN.
28547 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28548 to avoid 64-bit division
28549 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28550 (grub_ntfs_rlst): Use grub_disk_addr_t.
28551
71ee178a
VS
285522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28553
28554 Eliminate grub-fstest 4Gib barrier.
28555
28556 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28557 (read_file): Fix error reporting.
28558
2520d4b8
VS
285592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28560
28561 Eliminate hexdump 4Gib barrier.
28562
28563 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28564 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28565
e1f27065
VS
285662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28567
28568 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28569 Fixes amarsh bug.
28570
1a0f7f45
RM
285712009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28572
28573 Remove miscellaneous files in distclean target.
28574
28575 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28576
c631d9fb
CW
285772009-12-09 Colin Watson <cjwatson@ubuntu.com>
28578
28579 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28580 if they're already set. This resolves the conflict between my
28581 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28582 fixing the --grub-probe option again.
28583 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28584 change on 2009-10-06, so that we now once again source
28585 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28586
7c7b6106
RM
285872009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28588
28589 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28590 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28591 `util/devicemap.c'.
28592
e3069ec1
CPE
285932009-12-08 Carles Pina i Estany <carles@pina.cat>
28594
28595 * include/grub/misc.h (grub_printf_): New declaration.
28596 * kern/misc.c (grub_printf_): New definition.
28597 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28598 instead of `grub_printf' and `_'.
28599 * normal/menu_entry.c (store_completion): Likewise.
28600 (run): Likewise.
28601 (grub_menu_entry_run): Likewise.
28602 * normal/menu_text.c (grub_wait_after_message): Likewise.
28603 (notify_booting): Likewise.
28604 (notify_fallback): Likewise.
28605 (notify_execution_failure): Likewise.
28606
d6ceebf1
CW
286072009-12-07 Colin Watson <cjwatson@ubuntu.com>
28608
28609 * configure.ac: Check for vasprintf.
28610 * util/misc.c (asprintf): Move allocation from here ...
28611 (vasprintf): ... to here. New function.
28612 (xasprintf): New function.
28613 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28614 prototypes.
28615 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28616 * util/grub-mkfont.c (write_font): Likewise.
28617 * util/grub-probe.c (probe): Likewise.
28618 * util/hostdisk.c (make_device_name): Likewise.
28619
de6daa8b
DM
286202009-12-06 David S. Miller <davem@sunset.davemloft.net>
28621
28622 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28623 anything even prefixed with 'cdrom' as a cdrom.
28624
0ad46fd7 286252009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28626
28627 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28628 mount points.
28629
98d3dc02
CPE
286302009-12-05 Carles Pina i Estany <carles@pina.cat>
28631
28632 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28633 grub_gettext_msg_list.
28634 (grub_gettext_gettranslation_from_position): Return const char *
28635 and not char *.
a2c1332b 28636 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28637 returns from the list if existing there.
28638 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28639 (grub_gettext_delete_list): Delete the list.
28640 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28641 lang environment variable is changed.
28642 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28643
b283f108
VS
286442009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28645
28646 Rename kernel.mod to kernel.img.
28647
28648 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28649 (kernel_mod_EXPORTS): Rename to ...
28650 (kernel_img_EXPORTS): ... this.
28651 (kernel_mod_SOURCES): Rename to ...
28652 (kernel_img_SOURCES): ... this.
28653 (kernel_mod_HEADERS): Rename to ...
28654 (kernel_img_HEADERS): ... this. All users updated.
28655 (kernel_mod_CFLAGS): Rename to ...
28656 (kernel_img_CFLAGS): ... this.
28657 (kernel_mod_ASFLAGS): Rename to ...
28658 (kernel_img_ASFLAGS): ... this.
28659 (kernel_mod_LDFLAGS): Rename to ...
28660 (kernel_img_LDFLAGS): ... this.
28661 * conf/x86_64-efi.rmk: Likewise.
28662 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28663 (read_kernel_image): ... this. All users updated.
28664 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28665
69055f8a
CPE
286662009-12-05 Carles Pina i Estany <carles@pina.cat>
28667
28668 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28669 (print_spaces): New function.
28670 (grub_print_ucs4): New function.
28671 (getstringwidth): New function.
28672 (print_message_indented): New function.
28673 (print_message): Gettexttize strings using print_message_indented.
28674 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28675 width.
28676 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28677 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28678 Gettextize.
28679 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28680 string.
28681 (run): Likewise.
28682 (grub_menu_entry_run): Likewise.
28683 * PO/POTFILES: Add normal/menu_entry.c.
28684
f616f51c
VS
286852009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28686
28687 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28688
57bbe3be
CPE
286892009-12-05 Carles Pina i Estany <carles@pina.cat>
28690
28691 * util/grub-install.in: Install gettext .mo files.
28692 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28693
013d67a1
CPE
286942009-12-05 Carles Pina i Estany <carles@pina.cat>
28695
28696 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28697 grub_dprintf.
28698
fb954db0
RM
286992009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28700
28701 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28702 non-firmware-dependant one in realmode.S takes precedence.
28703
6b8474f8
RM
287042009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28705
28706 * commands/halt.c: Replace misc arch-specific headers with
28707 `<grub/misc.h>'.
28708 * commands/reboot.c: Likewise.
28709 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28710 `<grub/misc.h>'.
28711 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28712 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28713 (kernel_img_SOURCES): ... to here.
28714
28715 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28716 * include/grub/i386/pc/init.h: Likewise.
28717 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28718 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28719
28720 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28721
28722 * include/grub/i386/halt.h: Remove.
28723 * include/grub/i386/reboot.h: Likewise.
28724
28725 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28726
4b2e6ca2
DM
287272009-12-03 David S. Miller <davem@sunset.davemloft.net>
28728
28729 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28730 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28731 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28732 "progname.h"
28733 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28734 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28735 (usage): Add missing comma in printf.
28736
5239348f
RM
287372009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28738
28739 Use the same reboot approach on i386 coreboot and qemu as we do on
28740 BIOS.
28741
28742 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28743 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28744 * kern/i386/reboot.c: Remove.
28745 * include/grub/i386/reboot.h (grub_reboot): Export function.
28746 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28747 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28748 0xf000:0xfff0 instead of 0xffff:0x0000.
28749 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28750 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28751
ef34cbd4
RM
287522009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28753
28754 Fix $srcdir != $objdir build.
28755
28756 * Makefile.in (po/%.po): Rewrite as ...
28757 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28758
dc9837ea
ST
287592009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28760
28761 Fix GNU/Hurd grub-install crash.
28762 * util/grub-probe.c (probe): Try to access `path' only when it is not
28763 NULL.
28764
2f857f98
VS
287652009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28766
28767 Correct module naming.
28768
28769 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28770 (GRUB_MOD_INIT(efi_uga)): ... to this
28771 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28772 (GRUB_MOD_FINI(efi_uga)): ... to this
28773 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28774 (GRUB_MOD_INIT(efi_gop)): ... to this
28775 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28776 (GRUB_MOD_FINI(efi_gop)): ... to this
28777
c5448046
RM
287782009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28779
28780 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28781 translatable.
28782 (usage): Translate `arg' strings using gettext().
28783 Thanks to Jordi Mallach for the suggestion.
28784
c85184ad
VS
287852009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28786
28787 GOP support. Based on patch from Bean
28788 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28789
28790 * video/efi_gop.c: New file.
28791 * include/grub/efi/graphics_output.h: Likewise.
28792 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28793 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28794 variables.
28795 * conf/x86_64-efi.rmk: Likewise.
28796
8a4c48d8
VS
287972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28798
28799 Rename efi_fb to efi_uga.
28800
28801 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28802 'efi_uga.mod'.
28803 (efi_fb_mod_SOURCES): Rename this ...
28804 (efi_uga_mod_SOURCES): ... to this.
28805 (efi_fb_mod_CFLAGS): Rename this ...
28806 (efi_uga_mod_CFLAGS): ... to this.
28807 (efi_fb_mod_LDFLAGS): Rename this ...
28808 (efi_uga_mod_LDFLAGS): ... to this.
28809 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28810 'efi_uga.mod'.
28811 (efi_fb_mod_SOURCES): Rename this ...
28812 (efi_uga_mod_SOURCES): ... to this.
28813 (efi_fb_mod_CFLAGS): Rename this ...
28814 (efi_uga_mod_CFLAGS): ... to this.
28815 (efi_fb_mod_LDFLAGS): Rename this ...
28816 (efi_uga_mod_LDFLAGS): ... to this.
28817 * video/efi_fb.c: Move this ...
28818 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28819
fb6c1a7b
RM
288202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28821
28822 * po/README: New file. Explain our PO file workflow.
28823
3bc7896c
RM
288242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28825
28826 * po/ChangeLog: Remove. Move relevant entries back to ...
28827 * ChangeLog: ... here.
28828 * po/ca.po: Remove (now handled by TLP).
28829 * po/id.po: Likewise.
28830 * po/zh_CN.po: Likewise.
28831 * Makefile.in (LINGUAS): Initialize in a way that supports
28832 empty set.
28833
9ed4841d
RM
288342009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28835
28836 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28837 reliing on po/LINGUAS.
28838 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28839 (po/%.po): ... this.
28840
0ad46fd7 288412009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28842
28843 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28844 (main): Use `program_name' instead of nonexistent `progname'.
28845
e30dd392
FZ
288462009-11-26 Felix Zielcke <fzielcke@z-51.de>
28847
28848 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28849 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28850
7656de4f
RM
288512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28852
28853 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28854 commit.
28855 * conf/i386-efi.rmk: Likewise.
28856 * conf/i386-ieee1275.rmk: Likewise.
28857 * conf/powerpc-ieee1275.rmk: Likewise.
28858 * conf/sparc64-ieee1275.rmk: Likewise.
28859 * conf/x86_64-efi.rmk: Likewise.
28860
db77c4d4
FZ
288612009-11-26 Felix Zielcke <fzielcke@z-51.de>
28862
28863 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28864
a755bb04
FZ
288652009-11-26 Felix Zielcke <fzielcke@z-51.de>
28866
28867 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28868
8a4c07fd
RM
288692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28870
28871 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28872 (grub_mkdevicemap_SOURCES): New variable.
28873 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28874 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28875 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28876 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28877 (grub_mkdevicemap_SOURCES): Remove.
28878 * conf/i386-efi.rmk: Likewise.
28879 * conf/i386-ieee1275.rmk: Likewise.
28880 * conf/i386-pc.rmk: Likewise.
28881 * conf/powerpc-ieee1275.rmk: Likewise.
28882 * conf/sparc64-ieee1275.rmk: Likewise.
28883 * conf/x86_64-efi.rmk: Likewise.
28884 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28885 (usage): Fix strings to use `program_name'.
28886 (main): Initialize gettext.
28887 * util/grub-editenv.c: Likewise.
28888 * util/grub-emu.c: Likewise.
28889 * util/grub-fstest.c: Likewise.
28890 * util/grub-mkdevicemap.c: Likewise.
28891 * util/grub-mkfont.c: Likewise.
28892 * util/grub-mkrelpath.c: Likewise.
28893 * util/grub-pe2elf.c: Likewise.
28894 * util/grub-probe.c: Likewise.
28895 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28896 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28897 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28898
28899 * util/misc.c: Include `"progname.h"'.
28900 (progname): Remove variable.
28901 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28902
6f61ed55
FZ
289032009-11-25 Felix Zielcke <fzielcke@z-51.de>
28904
28905 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28906 printf and print a newline after the menuentry header line.
28907 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28908
f022876b
FZ
289092009-11-25 Felix Zielcke <fzielcke@z-51.de>
28910
28911 autoconf >= 2.60 support $(localedir).
28912
28913 * INSTALL: Note that autoconf 2.60 is required.
28914 * configure.ac (AC_PREREQ): Bump to 2.60.
28915 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28916 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28917
6717926e
YB
289182009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28919
28920 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28921 aclocal is run.
28922
08806a54
RM
289232009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28924
28925 * normal/main.c (grub_normal_read_line): Fix off-by-one
28926 buffer overflow.
28927
13b33fba
RM
289282009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28929
28930 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28931 "parser.grub" in grub_command_execute() call.
28932
4a8572e9
CPE
289332009-11-24 Carles Pina i Estany <carles@pina.cat>
28934
28935 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28936 * conf/i386-efi.rmk: Likewise.
28937 * conf/i386-ieee1275.rmk: Likewise.
28938 * conf/i386-pc.rmk: Likewise.
28939 * conf/powerpc-ieee1275.rmk: Likewise.
28940 * conf/sparc64-ieee1275.rmk: Likewise.
28941 * conf/x86_64-efi.rmk: Likewise.
28942 * gettext/gettex.c: Include <grub/i18n.h>.
28943 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28944 here ...
28945 * include/grub/i18n.h: ... to here
28946 * include/grub/i18n.h: ... to here.
28947 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28948 (grub_gettext_dummy): Move above user.
4a8572e9 28949
bee48093
FZ
289502009-11-24 Felix Zielcke <fzielcke@z-51.de>
28951
28952 * util/Makefile.in (install-local): Convert a `for' into a normal
28953 shell expansion.
28954
a031e91c
RM
289552009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28956
28957 * autogen.sh: Add automake call.
28958 * config.guess: Remove.
28959 * config.sub: Likewise.
28960 * install-sh: Likewise.
28961
26bec39d
FZ
289622009-11-24 Felix Zielcke <fzielcke@z-51.de>
28963
28964 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28965
8e2532fd
FZ
289662009-11-24 Felix Zielcke <fzielcke@z-51.de>
28967
28968 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28969 function to a normal shell `for'.
28970
fefa1b7d
FZ
289712009-11-24 Felix Zielcke <fzielcke@z-51.de>
28972
28973 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28974
4501250b
FZ
289752009-11-24 Felix Zielcke <fzielcke@z-51.de>
28976
28977 * util/grub-mkrelpath.c: New file.
28978 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28979 (grub_mkrelpath_SOURCES): New variable.
28980 * include/grub/util/misc.h: New function prototype.
28981 * util/misc.c (make_system_path_relative_to_its_root): New function.
28982
28983 * util/grub-mkconfig_lib.in (bindir): New variable.
28984 (grub_mkrelpath): Likewise.
28985 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28986
28987 * util/probe.c (probe): Make the file path relative to its root.
28988 Change a info message to use the GRUB path. Enable again the
28989 check if we can read the file with GRUB facilities.
28990
28991 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28992 to its root.
28993
11d9778b
FZ
289942009-11-24 Felix Zielcke <fzielcke@z-51.de>
28995
28996 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28997 platform.
28998
4465287d
FZ
289992009-11-24 Felix Zielcke <fzielcke@z-51.de>
29000
29001 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29002 strncmp().
29003
62b47f22
FZ
290042009-11-24 Felix Zielcke <fzielcke@z-51.de>
29005
29006 * util/getroot.c (grub_util_is_dmraid): New function.
29007 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29008 devices as normal ones, not as LVM.
29009
1eafb9b9 290102009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29011
29012 * conf/common.rmk: Add grub-gettext_lib target and updates
29013 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29014 LDFLAGS.
29015 * gettext/gettext.c: New file. (Reads mo files).
29016 * include/grub/file.h (grub_file_pread): New prototype.
29017 * include/grub/i18n.h (_): New prototype.
29018 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29019 prototypes.
29020 * kern/misc.c (grub_gettext_dummy): New function.
29021 * normal/menu_text.c: Include <grub/i18n.h>.
29022 * normal/menu_text.c (print_timeout): Gettexttize string.
29023 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29024 * po/POTFILES: Add `normal/menu_text.c'.
29025 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29026 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29027 gettext module and defines locale_dir and lang in grub.cfg.
29028 * NEWS: Add gettext support.
29029
0fdb2568
RM
290302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29031
29032 * util/hostdisk.c: Include `<grub/i18n.h>'.
29033 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29034 (make_device_name): Rewrite using asprintf.
29035 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29036 (find_system_device): If a device is not found, generate one just
29037 by reusing the OS path name.
29038 (read_device_map): Make it permissible for device.map not to exist.
29039
f515aa62
RM
290402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29041
29042 * script/sh/execute.c: Move from here ...
29043 * script/execute.c: ... to here. Update all users.
29044 * script/sh/function.c: Move from here ...
29045 * script/function.c: ... to here. Update all users.
29046 * script/sh/lexer.c: Move from here ...
29047 * script/lexer.c: ... to here. Update all users.
29048 * script/sh/main.c: Move from here ...
29049 * script/main.c: ... to here. Update all users.
29050 * script/sh/parser.y: Move from here ...
29051 * script/parser.y: ... to here. Update all users.
29052 * script/sh/script.c: Move from here ...
29053 * script/script.c: ... to here. Update all users.
29054
f84b481b
RM
290552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29056
29057 * configure.ac: Detect all `emu' platforms. Define
29058 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29059 --enable-grub-emu logic. Disable include/grub/machine
29060 symlink on `emu' platforms.
29061
29062 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29063 * gensymlist.sh.in: Likewise.
29064
29065 * include/grub/i386/coreboot/machine.h: Remove file.
29066 * include/grub/i386/efi/machine.h: Likewise.
29067 * include/grub/i386/ieee1275/machine.h: Likewise.
29068 * include/grub/i386/pc/machine.h: Likewise.
29069 * include/grub/i386/qemu/machine.h: Likewise.
29070 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29071 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29072 * include/grub/x86_64/efi/machine.h: Likewise.
29073
29074 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29075 * commands/halt.c: Likewise.
29076 * commands/reboot.c: Likewise.
29077 * include/grub/autoefi.h: Likewise.
29078 * include/grub/i386/at_keyboard.h: Likewise.
29079 * include/grub/i386/kernel.h: Likewise.
29080 * include/grub/i386/loader.h: Likewise.
29081 * include/grub/i386/pc/memory.h: Likewise.
29082 * kern/dl.c: Likewise.
29083 * kern/i386/coreboot/init.c: Likewise.
29084 * loader/i386/bsd.c: Likewise.
29085 * loader/i386/linux.c: Likewise.
29086 * loader/multiboot_loader.c: Likewise.
29087 * term/i386/pc/serial.c: Likewise.
29088 * term/usb_keyboard.c: Likewise.
29089
29090 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29091 `<grub/machine/machine.h>'
29092 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29093 * util/misc.c: Remove `<grub/machine/machine.h>' and
29094 `<grub/machine/time.h>'.
29095
29096 * Makefile.in (enable_grub_emu): Remove variable.
29097 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29098
29099 * conf/any-emu.rmk: New file.
29100 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29101 (grub_emu_init.c): Move from here ...
29102 * conf/any-emu.rmk: ... to here.
29103
29104 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29105 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29106 * conf/any-emu.rmk: ... to here.
29107
4efeab03
RM
291082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29109
29110 * include/grub/parser.h (grub_parser_register): Document need
29111 of `name' parameter.
29112 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29113 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29114 "sh" to "grub".
29115
ea1dd8bf
RM
291162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29117
29118 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29119 `$(XGETTEXT)'.
29120 * include/grub/i18n.h (N_): New macro.
29121 * util/mkisofs/mkisofs.h: Likewise.
29122 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29123 around N_().
29124 (usage): Use gettext() to translate help strings when printing them.
29125
0c140626
RM
291262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29127
29128 Based on patch from Bean
29129 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29130
29131 * video/efi_fb.c: New file.
29132 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29133 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29134 variables.
29135 * conf/x86_64-efi.rmk: Likewise.
29136
87d58298
RM
291372009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29138
29139 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29140 * util/i386/pc/grub-setup.c: Likewise.
29141
994cc3a3
ST
291422009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
29143
29144 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
29145 <hurd/fs.h>
29146 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
29147 file_get_storage_info to implement grub_guess_root_device.
29148
26a61d6a
FZ
291492009-11-21 Felix Zielcke <fzielcke@z-51.de>
29150
29151 * Makefile.in (target): Use make's builtin $(shell) function
29152 instead of calling directly $(SHELL) to create the locale directories,
29153 inside the $(foreach) function.
29154
74ff1dd5
FZ
291552009-11-21 Felix Zielcke <fzielcke@z-51.de>
29156
29157 * util/grub-mkrescue.in: Print an error and usage if output option
29158 has not been given.
29159
0b787d0e
FZ
291602009-11-21 Felix Zielcke <fzielcke@z-51.de>
29161
29162 Patch from Loïc Minier <loic.minier@ubuntu.com>.
29163 * util/grub.d/30_os-prober.in: Cope with Linux entries where
29164 root and /boot are on different devices.
29165
1164b270
RM
291662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29167
29168 Fix build for srcdir != objdir.
29169
29170 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
29171 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
29172 $(srcdir).
29173 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
29174 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
29175 reference for input.
29176
13774a2f
RM
291772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29178
29179 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29180 or hardlinking it). Remove -J option, Joliet is not compatible with
29181 multiple source directories.
29182
efda854e
RM
291832009-11-21 Carles Pina i Estany <carles@pina.cat>
291842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29185
29186 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29187 (process_input_dir): New function. Process an arbitrary input
29188 directory.
29189 Misc adjustments to support both "override mode" and system-wide mode.
29190
6c09890c
FZ
291912009-11-20 Felix Zielcke <fzielcke@z-51.de>
29192
29193 * configure.ac (UNIFONT_BDF): Rename to ...
29194 (FONT_SOURCE): ... this. Update all users.
29195
a797824f
FZ
291962009-11-20 Felix Zielcke <fzielcke@z-51.de>
29197
29198 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29199 to the list of unifont files to look for.
29200
cd4f42b0
RM
292012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29202
29203 Patch from Joe Auricchio <jauricchio@gmail.com>
29204 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29205 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29206 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29207
393c783d
FZ
292082009-11-19 Felix Zielcke <fzielcke@z-51.de>
29209
29210 * Makefile.in (install-local): Add a missing backslash.
29211
b2f1e327
FZ
292122009-11-19 Felix Zielcke <fzielcke@z-51.de>
29213
29214 * include/grub/x86_64/io.h: New file.
29215
f577f7a0
RM
292162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29217
29218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29219 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29220 Include `"progname.h"'.
29221 (main): Initialize gettext.
29222 * util/i386/pc/grub-setup.c: Gettexttize.
29223 * util/i386/pc/grub-mkimage.c: Likewise.
29224
29225 * Makefile.in (po/*.po): Redefine as ...
29226 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29227
3bc7896c
RM
29228 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29229
c37943b6
RM
292302009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29231
29232 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29233 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29234 (program_name): Remove.
29235 (main): Initialize gettext support.
6323f705
RM
29236 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29237 Include `<libintl.h>'.
29238 (_): New macro.
c37943b6
RM
29239
29240 * util/mkisofs/eltorito.c: Gettexttize.
29241 * util/mkisofs/joliet.c: Likewise.
29242 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29243 * util/mkisofs/multi.c: Likewise.
29244 * util/mkisofs/rock.c: Likewise.
29245 * util/mkisofs/tree.c: Likewise.
29246 * util/mkisofs/write.c: Likewise.
29247
3bc7896c
RM
29248 * po/POTFILES: Update with new files.
29249
5ce77c6e
RM
292502009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29253 * util/mkisofs/iso9660.h: Likewise.
29254 * util/mkisofs/joliet.c: Likewise.
29255 * util/mkisofs/mkisofs.c: Likewise.
29256 * util/mkisofs/mkisofs.h: Likewise.
29257 * util/mkisofs/rock.c: Likewise.
29258 * util/mkisofs/tree.c: Likewise.
29259 * util/mkisofs/write.c: Likewise.
29260
29261 * util/mkisofs/eltorito.c (rcsid): Remove.
29262 * util/mkisofs/hash.c: Likewise.
29263 * util/mkisofs/joliet.c: Likewise.
29264 * util/mkisofs/name.c: Likewise.
29265 * util/mkisofs/rock.c: Likewise.
29266 * util/mkisofs/tree.c: Likewise.
29267 * util/mkisofs/write.c: Likewise.
29268
1dabbc77
RM
292692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29270
29271 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29272 instead of static allocation.
29273 * util/mkisofs/match.h: Likewise.
29274
633877cb
RM
292752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29276
3bc7896c
RM
29277 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29278 and `util/grub.d/10_linux.in'.
633877cb
RM
29279 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29280 translatable Shell files.
29281
af1c0c85
RM
292822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29283
29284 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29285
769ae37b
RM
292862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29287
29288 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29289 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29290 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29291 Add gettext initialization.
29292 (kfreebsd_entry): Make menuentry output translatable.
29293
292942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29295
29296 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29297 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29298 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29299 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29300 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29301 * po/LINGUAS: New file.
769ae37b
RM
29302
293032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29304
29305 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29306 other things).
29307 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29308 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29309 bindtextdomain() calls for gettext initialization.
29310
293112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29312
29313 * gnulib/progname.c: New file (imported from Gnulib).
29314 * gnulib/progname.h: Likewise.
29315 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29316 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29317 (usage): Replace `progname' with `program_name'.
29318 (main): Use set_program_name() for program name initialization.
29319
293202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29321
29322 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29323 from here ...
29324 * Makefile.in (CPPFLAGS): ... to here.
29325
293262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29327
29328 * aclocal.m4: Move from here ...
29329 * acinclude.m4: ... to here.
29330 * autogen.sh: Add call to `aclocal'.
29331 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29332
293332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29334
29335 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29336 (LINGUAS): New variable.
29337 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29338 (install-local): Install MO files.
29339 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29340 * include/grub/i18n.h: New file.
3bc7896c
RM
29341 * po/POTFILES: New file.
29342 * po/ca.po: New file.
769ae37b
RM
29343 * util/grub.d/10_linux.in (bindir): New variable.
29344 Add gettext initialization.
29345 (linux_entry): Make menuentry output translatable.
29346 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29347 (usage): Make --help output translatable.
29348 (main): Initialize gettext.
29349
02c0a6ad
RM
293502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29351
29352 * import_gcry.py: New file (written by Vladimir with minor
29353 adjustments).
29354 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29355 ciphers.
29356 * INSTALL: Document that Python is required for bootstrap.
29357
293582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29359
29360 Import ciphers from libgcrypt 1.4.4.
29361
29362 * lib/libgcrypt/cipher/ChangeLog
29363 * lib/libgcrypt/cipher/ac.c
29364 * lib/libgcrypt/cipher/arcfour.c
29365 * lib/libgcrypt/cipher/bithelp.h
29366 * lib/libgcrypt/cipher/blowfish.c
29367 * lib/libgcrypt/cipher/camellia-glue.c
29368 * lib/libgcrypt/cipher/camellia.c
29369 * lib/libgcrypt/cipher/camellia.h
29370 * lib/libgcrypt/cipher/cast5.c
29371 * lib/libgcrypt/cipher/cipher.c
29372 * lib/libgcrypt/cipher/crc.c
29373 * lib/libgcrypt/cipher/des.c
29374 * lib/libgcrypt/cipher/dsa.c
29375 * lib/libgcrypt/cipher/ecc.c
29376 * lib/libgcrypt/cipher/elgamal.c
29377 * lib/libgcrypt/cipher/hash-common.c
29378 * lib/libgcrypt/cipher/hash-common.h
29379 * lib/libgcrypt/cipher/hmac-tests.c
29380 * lib/libgcrypt/cipher/md.c
29381 * lib/libgcrypt/cipher/md4.c
29382 * lib/libgcrypt/cipher/md5.c
29383 * lib/libgcrypt/cipher/primegen.c
29384 * lib/libgcrypt/cipher/pubkey.c
29385 * lib/libgcrypt/cipher/rfc2268.c
29386 * lib/libgcrypt/cipher/rijndael-tables.h
29387 * lib/libgcrypt/cipher/rijndael.c
29388 * lib/libgcrypt/cipher/rmd.h
29389 * lib/libgcrypt/cipher/rmd160.c
29390 * lib/libgcrypt/cipher/rsa.c
29391 * lib/libgcrypt/cipher/seed.c
29392 * lib/libgcrypt/cipher/serpent.c
29393 * lib/libgcrypt/cipher/sha1.c
29394 * lib/libgcrypt/cipher/sha256.c
29395 * lib/libgcrypt/cipher/sha512.c
29396 * lib/libgcrypt/cipher/tiger.c
29397 * lib/libgcrypt/cipher/twofish.c
29398 * lib/libgcrypt/cipher/whirlpool.c
29399
af2f93ac
RM
294002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29401
29402 Fix build for systems without error().
29403
29404 * gnulib/error.c: New file (imported from Gnulib).
29405 * gnulib/error.h: Likewise.
29406 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29407 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29408 (this variable is now used by error()).
29409
73fb3dd5
FZ
294102009-11-16 Felix Zielcke <fzielcke@z-51.de>
29411
814f5e96
FZ
29412 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29413 instead of relying that char is signed.
73fb3dd5 29414
a691ca33
VS
294152009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29416
29417 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29418 blocksize different from specified.
29419 (grub_pxefs_read): Likewise.
29420
2af8f0f4
FZ
294212009-11-16 Felix Zielcke <fzielcke@z-51.de>
29422
29423 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29424
29425 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29426 (grub_ata_readwrite): Likewise. Update 2 format strings.
29427 (grub_atapi_read): Likewise.
29428
29429 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29430 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29431 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29432 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29433 (ata_mod_LDFLAGS): Move from here ...
29434 * conf/i386.rmk: ... to here ...
29435 * conf/x86_64-efi.rmk: ... and here.
29436 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29437 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29438
83bdecaf
RM
294392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29440
29441 Relicense multiboot.h, with RMS' blessing.
29442
29443 * include/multiboot.h: Change to X11 license.
29444
fd6fd3d7
RM
294452009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29446
29447 Support --version in grub-mkisofs.
29448
29449 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29450 (OPTION_VERSION): New macro.
29451 (ld_options): Recognize --version.
29452 (usage): Move `program_name' from here ...
29453 (program_name): ... to here. Add `static' qualifier.
29454 (main): Recognize `OPTION_VERSION'.
29455
16a88c49
FZ
294562009-11-15 Felix Zielcke <fzielcke@z-51.de>
29457
29458 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29459 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29460
a4158476
RM
294612009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29462
29463 Fix help2man generation for mkisofs.
29464
29465 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29466 (usage): Send output to stdout (rather than stderr).
29467
fc2208b0
RM
294682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29469
29470 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29471 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29472 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29473 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29474 (bin_SCRIPTS): Add `grub-mkfloppy'.
29475 (grub_mkfloppy_SOURCES): New variable.
29476
29477 * util/grub-mkrescue.in: New file.
29478 * util/i386/pc/grub-mkfloppy.in: New file.
29479
29480 * util/i386/coreboot/grub-mkrescue.in: Remove.
29481 * util/i386/pc/grub-mkrescue.in: Remove.
29482
8d0edf4a
RM
294832009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29484
29485 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29486 from here ...
29487 * include/multiboot.h (struct multiboot_header): ... to here. Update
29488 all users.
29489 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29490 from here ...
29491 * include/multiboot.h (struct multiboot_info): ... to here. Update
29492 all users.
29493 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29494 from here ...
29495 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29496 Update all users.
29497 * include/grub/multiboot.h (struct grub_mod_list): Move
29498 from here ...
29499 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29500 Update all users.
29501
a73f5969
RM
295022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29503
29504 * include/multiboot2.h (multiboot_word): Rename from this ...
29505 (multiboot2_word): ... to this. Update all users.
29506 (multiboot_header): Rename from this ...
29507 (multiboot2_header): ... to this. Update all users.
29508 (multiboot_tag_header): Rename from this ...
29509 (multiboot2_tag_header): ... to this. Update all users.
29510 (multiboot_tag_start): Rename from this ...
29511 (multiboot2_tag_start): ... to this. Update all users.
29512 (multiboot_tag_name): Rename from this ...
29513 (multiboot2_tag_name): ... to this. Update all users.
29514 (multiboot_tag_module): Rename from this ...
29515 (multiboot2_tag_module): ... to this. Update all users.
29516 (multiboot_tag_memory): Rename from this ...
29517 (multiboot2_tag_memory): ... to this. Update all users.
29518 (multiboot_tag_unused): Rename from this ...
29519 (multiboot2_tag_unused): ... to this. Update all users.
29520 (multiboot_tag_end): Rename from this ...
29521 (multiboot2_tag_end): ... to this. Update all users.
29522
1c8927f0
RM
295232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29524
29525 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29526 this platform we should support Multiboot1 first.
29527
29528 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29529 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29530 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29531
6e1e0d89
RM
295322009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29533
29534 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29535 of write calls (converting them to fwrite() if they aren't already).
29536 (get_torito_desc): Likewise.
29537 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29538
7f2b34d8
RM
295392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29540
29541 * util/i386/pc/grub-install.in: Move from here ...
29542 * util/grub-install.in: ... to here. Update all users.
29543
c0ef3311
CW
295442009-11-11 Colin Watson <cjwatson@ubuntu.com>
29545
29546 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29547
e1f240ff
RM
295482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29549
29550 Support for El Torito without floppy emulation.
29551
29552 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29553 (init_boot_catalog): Improve error handling.
29554 (get_torito_desc): Don't use floppy emulation unless requested by
29555 user. Patch boot information table when requested via
29556 `-boot-info-table'.
29557 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29558 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29559 (use_boot_info_table): New variables.
29560 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29561 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29562 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29563 `--eltorito-emul-floppy'.
29564 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29565 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29566 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29567 (use_boot_info_table, get_731): New prototypes.
29568 * util/mkisofs/write.c (get_731): New function.
29569
af7d4de5
FZ
295702009-11-11 Felix Zielcke <fzielcke@z-51.de>
29571
29572 Fix the generation of the man page.
29573
29574 * util/pc/i386/grub-install.in: Source
29575 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29576
2c55dbc0
RM
295772009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29578
29579 Large file support for grub-mkisofs.
29580
29581 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29582 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29583 (session_start): Upgrade type to `uint64_t'. Update all users.
29584 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29585 (struct directory_entry): Upgrade type of `starting_block' and
29586 `size' to `uint64_t'. Update all users.
29587 (struct deferred): Remove unused structure.
29588 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29589 Update all users.
29590 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29591 file is larger than `UINT32_MAX'.
29592 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29593 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29594 return value.
29595 (struct deferred_write): Upgrade type of `extent' and `size' to
29596 `uint64_t'. Update all users.
29597 (last_extent_written): Upgrade type to `uint64_t'. Update all
29598 users.
29599 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29600 Update all users. Upgrade type of `remain' to `int64_t' and
29601 `use' to `size_t'. Use error() to handle fread() errors.
29602 (write_files): Rely on write_one_file() rather than calling
29603 xfwrite() directly.
29604
6a9cead5
FZ
296052009-11-09 Felix Zielcke <fzielcke@z-51.de>
29606
29607 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29608
4825d790
RM
296092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29610
29611 * util/mkisofs/fnmatch.c: Remove.
29612 * util/mkisofs/getopt1.c: Likewise.
29613 * util/mkisofs/getopt.c: Likewise.
29614 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29615 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29616 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29617 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29618 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29619
29620 * configure.ac: Detect `mingw32msvc' host_os.
29621 Check for lstat(), getuid() and getgid().
29622
29623 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29624 instances of `u_char' with `uint8_t'.
29625
29626 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29627 [!HAVE_GETUID] (getuid): New function (stub).
29628 [!HAVE_GETGID] (getgid): Likewise.
29629 [!HAVE_LSTAT] (lstat): Likewise.
29630 [!S_IROTH] (S_IROTH): New macro (dummy).
29631 [!S_IRGRP] (S_IRGRP): Likewise.
29632
84b860d8
RM
296332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29634
29635 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29636 conditional expression).
29637
66e9b712
RM
296382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29639
29640 Import from Gnulib.
29641
29642 * gnulib/fnmatch.c: New file.
29643 * gnulib/fnmatch.h: Likewise.
29644 * gnulib/fnmatch_loop.c: Likewise.
29645 * gnulib/getopt.c: Likewise.
29646 * gnulib/getopt.h: Likewise.
29647 * gnulib/getopt1.c: Likewise.
29648 * gnulib/getopt_int.h: Likewise.
29649 * gnulib/gettext.h: Likewise.
29650
34f4a5b0
RM
296512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29652
29653 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29654 * normal/handler.c (read_handler_list): Likewise.
29655
ac451143
RM
296562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29657
29658 Misc cleanup.
29659
29660 * kern/command.c (grub_register_command_prio): Use
29661 grub_zalloc() instead of explicitly zeroing data.
29662 * kern/list.c: Include `<grub/mm.h>'.
29663 (grub_named_list_find): Replace `0' with `NULL'.
29664 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29665 (fs_module_list): Change type to `grub_named_list_t'. Update all
29666 users.
29667 * normal/dyncmd.c (read_command_list): Add space between function
29668 call and parenthesis.
29669 * normal/handler.c (read_handler_list): Likewise.
29670
4089b167
RM
296712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29672
29673 * normal/auth.c (punishment_delay): Moved from here ...
29674 (grub_auth_strcmp): ... to here (inside function).
29675
325f5037
RM
296762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29677
29678 * include/grub/list.h (struct grub_named_list): Remove `const'
29679 qualifier from `name'.
29680 (struct grub_prio_list): Likewise.
29681
7aea29a3
RM
296822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29683
29684 * normal/auth.c: Include `<grub/time.h>'.
29685 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29686
3fd6f044
RM
296872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 * normal/auth.c (punishment_delay): New variable.
29690 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29691 (grub_auth_check_authentication): Punish failed login attempts with
29692 an incremental (2^N) delay.
29693
a4cd68e4
RM
296942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29695
29696 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29697 path with $(srcdir).
29698
7ad12f43
VS
296992009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29700
29701 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29702
c1129f03
RM
297032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29704
29705 * util/i386/coreboot/grub-mkrescue.in: New file.
29706 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29707 variables.
29708
29709 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29710 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29711 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29712 requirements.
29713 * util/mkisofs/defaults.h: New file.
29714 * util/mkisofs/eltorito.c: Likewise.
29715 * util/mkisofs/exclude.h: Likewise.
29716 * util/mkisofs/fnmatch.c: Likewise.
29717 * util/mkisofs/getopt.c: Likewise.
29718 * util/mkisofs/getopt1.c: Likewise.
29719 * util/mkisofs/hash.c: Likewise.
29720 * util/mkisofs/include/fctldefs.h: Likewise.
29721 * util/mkisofs/include/mconfig.h: Likewise.
29722 * util/mkisofs/include/prototyp.h: Likewise.
29723 * util/mkisofs/include/statdefs.h: Likewise.
29724 * util/mkisofs/iso9660.h: Likewise.
29725 * util/mkisofs/joliet.c: Likewise.
29726 * util/mkisofs/match.c: Likewise.
29727 * util/mkisofs/match.h: Likewise.
29728 * util/mkisofs/mkisofs.c: Likewise.
29729 * util/mkisofs/mkisofs.h: Likewise.
29730 * util/mkisofs/multi.c: Likewise.
29731 * util/mkisofs/name.c: Likewise.
29732 * util/mkisofs/rock.c: Likewise.
29733 * util/mkisofs/tree.c: Likewise.
29734 * util/mkisofs/write.c: Likewise.
29735
ec8bb77d
VS
297362009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29737
29738 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29739 being insecure.
29740
3716b12c
RM
297412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29742
29743 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29744 `grub-mkimage' (and use $0 when possible).
29745
b97b7b91
RM
297462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29747
29748 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29749 error message for excessively large memory map.
29750
04114812
RM
297512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29752
29753 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29754 executable bit.
29755
e4eb2373
RM
297562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29757
29758 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29759 message for coreboot users.
29760
c926e1d5 297612009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29762
29763 Fix build with GNU gold.
29764
29765 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29766 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29767 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29768 link addresses.
29769 * aclocal.m4: Likewise.
29770
86e5b1db 297712009-11-04 Felix Zielcke <fzielcke@z-51.de>
29772
29773 * configure.ac (AC_PREREQ): Bump to 2.59d.
29774 * INSTALL: Make it more clear when Autoconf and Ruby are
29775 needed and when to run `./autogen.sh'.
29776
246cd78f 297772009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29778
29779 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29780 OSes.
29781
4f9dfb37 297822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29783
29784 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29785
b82bd5e1 297862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29787
29788 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29789 giving it to GNU Mach.
29790
ff1a9bca 297912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29792
29793 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29794 GNU partition number to get internal GRUB partition number.
29795
61697d9c 297962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29797
29798 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29799 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29800
a50569e1 298012009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29802
29803 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29804 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29805 case.
29806
5b153867 298072009-11-01 Felix Zielcke <fzielcke@z-51.de>
29808
29809 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29810
d9e2cd70 298112009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29812
29813 Fix build problem.
29814
29815 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29816 `-isystem=$(srcdir)/include'.
29817
805111a4 298182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29819
29820 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29821 checked (grub-install doesn't currently rely on it).
29822
fa6e945f 298232009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29824
29825 Revert SVN r2660.
29826
29827 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29828 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29829 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29830 * conf/i386-ieee1275.rmk: Likewise.
29831 * conf/i386-pc.rmk: Likewise.
29832 * conf/powerpc-ieee1275.rmk: Likewise.
29833 * conf/sparc64-ieee1275.rmk: Likewise.
29834 * conf/x86_64-efi.rmk: Likewise.
29835
cee15086 298362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29837
29838 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29839
95b9239e 298402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29841
29842 * include/grub/misc.h: Stop checking for APPLE_CC.
29843
2ed19dfd 298442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29845
29846 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29847 doesn't cause an infinite call loop.
29848
fdcdde19 298492009-10-28 Felix Zielcke <fzielcke@z-51.de>
29850
29851 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29852 strings.
29853
cefabfe1 298542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29855
29856 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29857 variable.
29858 * Makefile.in: Likewise.
29859
ed96ab6d 298602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29861
29862 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29863
0579b753 298642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29865
29866 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29867
478df409 298682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29869
29870 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29871
083d1679 298722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29873
29874 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29875 from here ...
29876 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29877
5947ae32 298782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29879
29880 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29881 in $(MAKEINFO) invocation. This makes it clear in output that
29882 errors are being ignored.
29883
94180ff6 298842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29885
29886 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29887 from here ...
29888 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29889 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29890 * conf/i386-ieee1275.rmk: Likewise.
29891 * conf/i386-pc.rmk: Likewise.
29892 * conf/powerpc-ieee1275.rmk: Likewise.
29893 * conf/sparc64-ieee1275.rmk: Likewise.
29894 * conf/x86_64-efi.rmk: Likewise.
29895
9031b03a 298962009-10-26 Colin Watson <cjwatson@ubuntu.com>
29897
29898 * util/grub-editenv.c (main): If only a command is given, use
29899 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29900 (usage): FILENAME is now optional and has a default.
29901
e4f6809b 299022009-10-26 Colin Watson <cjwatson@ubuntu.com>
29903
29904 Improve grub-mkconfig performance when there are several menu
29905 entries on a single filesystem.
29906
29907 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29908 prepare_grub_to_access_device.
29909 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29910 * util/grub.d/30_os-prober.in: Likewise.
29911
67937d4d 299122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29913
29914 * util/grub.d/10_freebsd.in: Remove.
29915 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29916 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29917
ee3756cc 299182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29919
5c35048e 29920 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29921
4dea1c6f 299222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29923
29924 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29925 grub_util_error() call.
29926
042484d7 299272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29928
29929 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29930 `reserved_first_sector' member.
29931 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29932 `reserved_first_sector' to 1.
29933 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29934 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29935 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29936 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29937 filesystems which begin at first sector.
29938 (options): New option --skip-fs-probe.
29939 (main): Handle --skip-fs-probe and pass it to setup().
29940
d64448a7 299412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29942
29943 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29944 (memset): Fix function prototype.
29945
508d42ec 299462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
299472009-10-25 Vasily Averin <vvs@parallels.com>
29948
29949 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29950 `dirent.direntlen == 0'.
29951
b240e30c 299522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29953
29954 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29955 `cpio'.
29956 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29957
346e7fbe 299582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29959
29960 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29961 `__trampoline_setup' and `__ucmpdi2'.
29962 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29963 that libgcc provides.
29964
cdb308b0 299652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29966
29967 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29968 * include/grub/sparc64/libgcc.h (memset): Likewise.
29969 * include/grub/misc.h (memset, memcmp): New function prototypes.
29970
fb26abc2 299712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29972
29973 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29974 `cpio'.
29975 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29976
f6693890 299772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29978
29979 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29980 * docs/grub.cfg: Compensate for recent change in multiboot
29981 loader (since 2009-08-14 it won't pass filename to payload).
29982 * util/grub.d/10_hurd.in: Likewise.
29983
0933cdc0 299842009-10-21 Felix Zielcke <fzielcke@z-51.de>
29985
29986 * config.guess: Update to latest version from config git
29987 repository.
29988 * config.sub: Likewise.
29989
3b2fe8c2 299902009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 Fix build on sparc64.
29993
29994 * configure.ac: Perform checks for libgcc symbols before
29995 adding `-nostdlib' to LDFLAGS.
29996
46695a62 299972009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29998
29999 Let user specify OpenBSD root device.
30000
30001 * loader/i386/bsd.c (openbsd_root): New variable.
30002 (openbsd_opts): New option 'root'.
30003 (OPENBSD_ROOT_ARG): New macro.
30004 (grub_openbsd_boot): Use 'openbsd_root'.
30005 (grub_cmd_openbsd): Fill 'openbsd_root'.
30006
d2b6b7fc 300072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30008
30009 * NEWS: Misc adjustments.
30010
421bd7ac 300112009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30012
30013 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30014
f1d29d87 300152009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30016
30017 * configure.ac: Bump version to 1.97.
30018
6f3cd880 300192009-10-16 Colin Watson <cjwatson@ubuntu.com>
30020
30021 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30022 -mno-3dnow on x86 architectures. Some toolchains enable these
30023 features by default, but they rely on registers that aren't enabled
30024 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30025
035f7122 300262009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30027
30028 Make entry text a bit more readable.
30029
30030 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30031
44998e58 300322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30033
30034 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30035
cd2851b3 300362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30037
30038 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30039 operations.
30040
c6f3b249 300412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30042
30043 * configure.ac: Add missing dollar.
30044
6b5886ba 300452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30046
30047 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30048
30049 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30050 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30051 exports.
30052 * include/grub/sparc64/libgcc.h: Likewise. Use
30053 preprocessor conditionals.
30054
e9d66f6d 300552009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30056
30057 * conf/common.rmk (grub-dumpbios): Remove rule.
30058 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30059 * util/grub-dumpbios.in: Remove file.
30060
9155bc17 300612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30062
30063 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30064 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30065
30066 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30067 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30068 users.
30069
30070 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30071 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30072 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30073 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30074 users.
30075
bf7f7a18 300762009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30077
30078 * term/tparm.c: Switch to GPLv3.
30079
86564c26 300802009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30081
30082 * include/grub/i386/cpuid.h: Add header protection.
30083
5c936493 300842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30085
30086 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30087
30088 * include/grub/i386/cpuid.h: New file.
30089 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30090 (has_longmode): Rename to ...
30091 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30092 `static' attribute.
30093 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30094 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30095 on a CPU that doesn't implement AMD64 instruction set.
30096
186e7cf2 300972009-10-06 Colin Watson <cjwatson@ubuntu.com>
30098
30099 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30100 that version.texi is rebuilt on version number changes.
30101
83b65c4a 301022009-10-06 Colin Watson <cjwatson@ubuntu.com>
30103
30104 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30105 Fixes bug #27602.
30106
d244281c 301072009-10-06 Colin Watson <cjwatson@ubuntu.com>
30108
30109 * util/i386/pc/grub-install.in: Source
30110 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30111 that the --grub-probe option will work.
30112 * util/sparc64/ieee1275/grub-install.in: Likewise.
30113
da25306d 301142009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30115
30116 * configure.ac: Bump version to 1.97~beta4.
30117
e8ee83c0 301182009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30119
30120 Resync grub-mkdevicemap in x86_64-efi.
30121
30122 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30123 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30124 `util/devicemap.c'.
30125
50dcabcf 301262009-10-01 Colin Watson <cjwatson@ubuntu.com>
30127
30128 * util/grub-editenv.c (create_envblk_file): Write new block with a
30129 .new suffix and then rename it into place, to ensure atomic
30130 creation.
30131
0e51c3a7 301322009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30133
30134 Do not automatically install headers.
30135
30136 * Makefile.in (include_DATA): Remove. Update all users.
30137
31299a95 301382009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30139
30140 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30141 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30142
30143 * util/osdetect.lua: Remove.
30144 * script/lua/lauxlib.c: Likewise.
30145 * script/lua/ldebug.c: Likewise.
30146 * script/lua/grub_main.c: Likewise.
30147 * script/lua/lauxlib.h: Likewise.
30148 * script/lua/ldebug.h: Likewise.
30149 * script/lua/ltablib.c: Likewise.
30150 * script/lua/liolib.c: Likewise.
30151 * script/lua/lstrlib.c: Likewise.
30152 * script/lua/lualib.h: Likewise.
30153 * script/lua/ldo.c: Likewise.
30154 * script/lua/ldump.c: Likewise.
30155 * script/lua/ldo.h: Likewise.
30156 * script/lua/loslib.c: Likewise.
30157 * script/lua/lundump.c: Likewise.
30158 * script/lua/grub_lib.c: Likewise.
30159 * script/lua/ldblib.c: Likewise.
30160 * script/lua/lundump.h: Likewise.
30161 * script/lua/lmem.c: Likewise.
30162 * script/lua/grub_lib.h: Likewise.
30163 * script/lua/lmathlib.c: Likewise.
30164 * script/lua/lstate.c: Likewise.
30165 * script/lua/ltm.c: Likewise.
30166 * script/lua/lvm.c: Likewise.
30167 * script/lua/lmem.h: Likewise.
30168 * script/lua/lstate.h: Likewise.
30169 * script/lua/ltm.h: Likewise.
30170 * script/lua/ltable.c: Likewise.
30171 * script/lua/lvm.h: Likewise.
30172 * script/lua/llex.c: Likewise.
30173 * script/lua/lgc.c: Likewise.
30174 * script/lua/grub_lua.h: Likewise.
30175 * script/lua/loadlib.c: Likewise.
30176 * script/lua/lfunc.c: Likewise.
30177 * script/lua/lopcodes.c: Likewise.
30178 * script/lua/lparser.c: Likewise.
30179 * script/lua/ltable.h: Likewise.
30180 * script/lua/llex.h: Likewise.
30181 * script/lua/lgc.h: Likewise.
30182 * script/lua/lfunc.h: Likewise.
30183 * script/lua/lbaselib.c: Likewise.
30184 * script/lua/lopcodes.h: Likewise.
30185 * script/lua/lparser.h: Likewise.
30186 * script/lua/lzio.c: Likewise.
30187 * script/lua/linit.c: Likewise.
30188 * script/lua/lobject.c: Likewise.
30189 * script/lua/llimits.h: Likewise.
30190 * script/lua/lstring.c: Likewise.
30191 * script/lua/lzio.h: Likewise.
30192 * script/lua/lapi.c: Likewise.
30193 * script/lua/lcode.c: Likewise.
30194 * script/lua/lua.h: Likewise.
30195 * script/lua/lobject.h: Likewise.
30196 * script/lua/lstring.h: Likewise.
30197 * script/lua/lapi.h: Likewise.
30198 * script/lua/lcode.h: Likewise.
30199 * script/lua/luaconf.h: Likewise.
30200
cb8a2c38 302012009-09-26 Colin Watson <cjwatson@ubuntu.com>
30202
30203 * docs/grub.texi (Command-line and menu entry commands): Document
30204 date and echo commands.
30205
6b9b6276 302062009-09-24 Pavel Roskin <proski@gnu.org>
30207
30208 * include/grub/kernel.h (struct grub_module_header): Remove
30209 `grub_module_header_types'. Make `type' unsigned. Make `size'
30210 32-bit on all platforms.
30211 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30212 8-bit field. Use grub_host_to_target32() for `size'.
30213 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30214 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30215 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30216
4e5a02a7 302172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30218
30219 Fix "lost keypress" bug in at_keyboard.
30220
30221 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30222 Checks for readyness of input buffer (without flushing it).
30223 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30224 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30225
c6dcedf6 302262009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30227
30228 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30229 size check within GRUB_MACHINE_PCBIOS section.
30230
74c958b1 302312009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30232
30233 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30234 return value.
30235 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30236 KEYBOARD_ISREADY check.
30237 (grub_at_keyboard_checkkey): Rename to ...
30238 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30239 Remove gratuitous cast.
30240
ff420223 302412009-09-23 Colin Watson <cjwatson@ubuntu.com>
30242
30243 * configure.ac: Call AC_PROG_MKDIR_P.
30244 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30245 version.texi in $(builddir) rather than $(srcdir).
30246 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30247 to makeinfo's @include search path.
30248
d96875df 302492009-09-23 Felix Zielcke <fzielcke@z-51.de>
30250
30251 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30252
9b3f8365 302532009-09-23 Felix Zielcke <fzielcke@z-51.de>
30254
30255 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30256 for `*.dpkg-new'.
30257
c44c90db 302582009-09-21 Colin Watson <cjwatson@ubuntu.com>
30259
30260 Build info documentation. Some code borrowed from Automake.
30261
30262 * configure.ac: Check for makeinfo.
30263 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30264 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30265 docs/version.texi.
30266 (MOSTLYCLEANFILES): Add vti.tmp.
30267 (docs/version.texi, docs/stamp-vti): Update automatically.
30268 (docs/grub.info): Build info documentation. Use --force and ignore
30269 errors for now.
30270 (all-local): Add $(INFOS).
30271 (install-local): Install info files.
30272 (uninstall): Uninstall info files.
30273 * docs/version.texi: Remove from revision control. This file is
30274 automatically generated on build now.
30275 * gendistlist.sh: Add `*.info'.
30276
e0b37bb5 302772009-09-21 Felix Zielcke <fzielcke@z-51.de>
30278
30279 * kern/term.c: Fix indentation.
30280
5a78865b 302812009-09-21 Felix Zielcke <fzielcke@z-51.de>
30282
30283 * util/hostdisk.c: Fix a comment.
30284
dace7e8a 302852009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30286
30287 Fix regression introduced in r2539.
30288
30289 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30290 to 0xA1.
30291
a83d079b 302922009-09-19 Colin Watson <cjwatson@ubuntu.com>
30293
30294 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30295 os-prober. Under normal operation, it does not print anything to
30296 stderr; if it does, we need to debug it, and throwing away stderr
30297 makes that excessively difficult.
a83d079b 30298
be94a509 302992009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30300
30301 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30302
63f745e8 303032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30304
30305 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30306 AC_LANG_PROGRAM from autoconf.
30307 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30308 prototypes (fixes warning).
30309
30310 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30311 `--disable-werror' was used.
30312
bbb2a70f 303132009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30314
30315 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30316 uninitialized `lastaddr'.
30317
77c24f1d 303182009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30319
0f0b8c87 30320 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30321
07197f23 303222009-09-14 Colin Watson <cjwatson@ubuntu.com>
30323
30324 * commands/test.c (get_fileinfo): Return immediately if
30325 grub_fs_probe fails.
30326
dabf1798 303272009-09-14 José Martínez <xosemp@gmail.com>
30328
30329 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30330
d52109a7 303312009-09-14 Colin Watson <cjwatson@ubuntu.com>
30332
30333 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30334 output.
30335
56532179 303362009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30337
30338 * configure.ac: Remove --enable-grub-pe2elf. Only build
30339 grub-pe2elf when needed by the build system itself.
30340 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30341
8ef070f5 303422009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30343
30344 * configure.ac: Bump version to 1.97~beta3.
30345 * docs/version.texi: Likewise.
30346
61229557 303472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30348
30349 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30350 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30351 from here ...
30352 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30353 (grub_linux_setup_video): ... to here (with some adjustments).
30354
5c9f8d84 303552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30356
30357 Fix memory corruption issue (spotted by Colin Watson).
30358
30359 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30360 causing returned size to be stored in an incorrect memory location.
30361 Fix use of uninitialized value when storing the returned size.
30362
e8f5d6e9 303632009-09-12 Yves Blusseau <blusseau@zetam.org>
30364
30365 Change clean rules to properly remove files
30366
30367 * genmk.rb: add new clean rules
30368 * Makefile.in (clean): add the new targets
30369 (mostlyclean): likewise
30370
cda2a409 303712009-09-11 Colin Watson <cjwatson@ubuntu.com>
30372
30373 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30374 to grub_uint64_t.
30375 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30376 non-resident files.
30377
86695375 303782009-09-11 Colin Watson <cjwatson@ubuntu.com>
30379
30380 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30381 part of bug #27349.
30382
8aa1541a 303832009-09-10 Felix Zielcke <fzielcke@z-51.de>
30384
30385 * util/grub-mkconfig.in: Make the created config mode 400 and
30386 print a warning if it fails.
30387
48d9bb0a 303882009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30389
30390 * util/grub.d/40_custom.in: Ask user to type custom entries below
30391 comment, rather than below 'exec tail' line.
30392
3b0521be 303932009-09-10 Colin Watson <cjwatson@ubuntu.com>
30394
30395 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30396 visible in grub.cfg.
30397
50051d55 303982009-09-10 Colin Watson <cjwatson@ubuntu.com>
30399
30400 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30401 file.
30402
c0d34387 304032009-09-10 Felix Zielcke <fzielcke@z-51.de>
30404
30405 * docs/grub.cfg: Add an example menu entry for memtest86+.
30406
80a608f3 304072009-09-09 Felix Zielcke <fzielcke@z-51.de>
30408
a2094832 30409 * config.guess: Update to latest version from config git.
80a608f3 30410 * config.sub: Likewise.
30411
99423078 304122009-09-08 Colin Watson <cjwatson@ubuntu.com>
30413
30414 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30415 unknown-command case. Fixes bug #27320.
30416
44454e4c 304172009-09-08 Felix Zielcke <fzielcke@z-51.de>
30418
30419 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30420 `help' if the command exists.
30421
e30d87ad 304222009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30423
30424 * INSTALL: Require GCC 4.1.3 or later.
30425
9a86f1ec 304262009-09-06 Yves Blusseau <blusseau@zetam.org>
30427
30428 * Makefile.in (RMKFILES): add i386-qemu.rmk
30429 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30430 $(srcdir)/stamp-h.in
30431
7f26d466 304322009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30433
30434 * util/grub-probe.c (probe): Comment out buggy codepath, which
30435 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30436 should be re-enabled after 1.97.
30437
3a613259 304382009-09-05 Felix Zielcke <fzielcke@z-51.de>
30439
30440 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30441 find searches for.
30442
197f76c7 304432009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30444
30445 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30446 unnecessary calls to grub_error.
30447
70ba68ce 304482009-09-04 Colin Watson <cjwatson@ubuntu.com>
30449
30450 * NEWS: Mention `keystatus' and Unicode fonts.
30451
4ff0d7a4 304522009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30453
30454 * configure.ac: Bump version to 1.97~beta2.
30455 * docs/version.texi: Likewise.
30456
77c55a87 304572009-09-03 Colin Watson <cjwatson@ubuntu.com>
30458
30459 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30460 containing unwind information in some cases where it previously did
30461 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30462 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30463 discussion.
30464
f79572cd 304652009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30466
30467 Embedding loadenv module into grub-emu
30468
30469 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30470 commands/loadenv.c
30471 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30472 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30473 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30475 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30476 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30477
93a81088 304782009-09-03 Magnus Granberg <zorry@ume.nu>
30479
30480 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30481 include -fPIE in the default specs.
30482 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30483 to TARGET_CFLAGS.
30484
160034b2 304852009-09-03 Felix Zielcke <fzielcke@z-51.de>
30486
30487 * INSTALL: Note that GNU Bison 2.3 or later is required.
30488
087c07c4 304892009-09-03 Colin Watson <cjwatson@ubuntu.com>
30490
30491 * kern/i386/pc/startup.S: Fix typo.
30492
cbf978c0 304932009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30494
30495 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30496 according to GCS.
30497
304982009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30499
30500 * docs/grub.texi (Naming convention): Describe one-based partition
30501 numbering.
30502 (Device syntax): Likewise.
30503 (File name syntax): Likewise.
30504 (Block list syntax): Likewise.
30505 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30506 menu.lst.
30507 (File name syntax): Likewise.
30508 (Command-line and menu entry commands): Document acpi, blocklist,
30509 crc, export, insmod, keystatus, ls, set, and unset commands.
30510
f3e8cdfd 305112009-09-02 Colin Watson <cjwatson@ubuntu.com>
30512
30513 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30514 to avoid implying that only one of --shift, --ctrl, or --alt may be
30515 used.
30516
c0bc232b 305172009-09-02 Colin Watson <cjwatson@ubuntu.com>
30518
30519 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30520 rather than comparing against S_IFREG, which will almost never work.
30521
aa0f752d 305222009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30523
30524 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30525 (write_blocklists): Likewise.
30526
ecb3166a 305272009-09-01 Colin Watson <cjwatson@ubuntu.com>
30528
30529 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30530 argument to grub_printf.
30531
c403a125 305322009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30533
30534 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30535 non GNU test.
31aba781 30536
b5e7312c 305372009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30538
30539 * kern/file.c (grub_file_read): Spelling fix
30540
fe00f472 305412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30542
30543 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30544 loading of headers in some cases.
30545
cc55302e 305462009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30547
30548 * configure.ac: Bump version to 1.97~beta1.
30549 * docs/version.texi: Likewise.
30550
5c90cdd2 305512009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30552
30553 * include/grub/i386/xnu.h: Add license header.
30554 include grub/err.h explicitly.
30555
c90edae4 305562009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30557
30558 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30559 to `ufs' in the vfs.root.mountfrom kernel parameter.
30560
d8888b5c 305612009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30562
30563 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30564
30565 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30566 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30567
30568 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30569 `ARRAY_SIZE' macro.
30570
6f07b921 305712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30572
30573 * kern/file.c (grub_file_read): Check offset.
30574 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30575 * fs/jfs.c (grub_jfs_read_file): Likewise.
30576 * fs/ntfs.c (grub_ntfs_read): Likewise.
30577 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30578 * fs/minix.c (grub_minix_read_file): Correct offset check.
30579 * fs/ufs.c (grub_ufs_read_file): Likewise.
30580
b4f34077 305812009-08-28 Colin Watson <cjwatson@ubuntu.com>
30582
30583 * term/i386/pc/console.c (bios_data_area): Cast
30584 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30585
e7c69859 305862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30587
30588 1-bit optimised blitters.
30589
30590 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30591 prototype.
30592 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30593 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30594 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30595 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30596 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30597 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30598 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30599 function.
30600 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30601 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30602 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30603 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30604 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30605 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30606 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30607 when possible.
30608 * video/video.c (grub_video_get_blit_format): Return
30609 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30610
a57da43f 306112009-08-28 Colin Watson <cjwatson@ubuntu.com>
30612
30613 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30614 the first argument to grub_printf.
30615
4cbe67e5 306162009-08-28 Colin Watson <cjwatson@ubuntu.com>
306172009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30618
30619 Add `getkeystatus' terminal method. Add a new `keystatus' command
30620 to query it.
30621
30622 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30623 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30624 modifier key bitmasks.
30625 (struct grub_term_input): Add `getkeystatus' member.
30626 (grub_getkeystatus): Add prototype.
30627 * kern/term.c (grub_getkeystatus): New function.
30628
30629 * include/grub/i386/pc/memory.h
30630 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30631 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30632 Data Area layout.
30633 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30634 (grub_console_term_input): Set `getkeystatus' member.
30635 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30636 constants.
30637 (grub_usb_keyboard_getreport): Likewise.
30638 (grub_usb_keyboard_checkkey): Likewise.
30639 (grub_usb_keyboard_getkeystatus): New function.
30640 (grub_usb_keyboard_term): Set `getkeystatus' member.
30641
30642 * commands/keystatus.c: New file.
30643 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30644 (keystatus_mod_SOURCES): New variable.
30645 (keystatus_mod_CFLAGS): Likewise.
30646 (keystatus_mod_LDFLAGS): Likewise.
30647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30648 commands/keystatus.c.
30649 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30651 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30653 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30654 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30655
6e2a9085 306562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30657
30658 Split befs.mod and afs.mod into *_be.mod and *.mod
30659
30660 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30661 (grub_fstest_SOURCES): Likewise.
30662 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30663 (afs_be_mod_SOURCES): New variable.
30664 (afs_be_mod_CFLAGS): Likewise.
30665 (afs_be_mod_LDFLAGS): Likewise.
30666 (befs_be_mod_SOURCES): Likewise.
30667 (befs_be_mod_CFLAGS): Likewise.
30668 (befs_be_mod_LDFLAGS): Likewise.
30669 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30670 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30671 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30672 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30673 (grub_emu_SOURCES): Likewise.
30674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30675 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30676 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30677 * fs/afs_be.c: New file.
30678 * fs/befs_be.c: New file.
30679 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30680 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30681 (U16): Replaced with ...
30682 (grub_afs_to_cpu16): ...this. All users updated.
30683 (U32): Replaced with ...
30684 (grub_afs_to_cpu32): ...this. All users updated.
30685 (U64): Replaced with ...
30686 (grub_afs_to_cpu64): ...this. All users updated.
30687 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30688 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30689 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30690 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30691 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30692 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30693 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30694 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30695 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30696 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30697 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30698
32a71655 306992009-08-26 Bean <bean123ch@gmail.com>
30700
30701 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30702 64-bit number.
30703 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30704 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30705 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30706
552bf6c5 307072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30708
30709 NetBSD memory map support.
30710
30711 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30712 (grub_netbsd_btinfo_mmap_header): New structure.
30713 (grub_netbsd_btinfo_mmap_entry): Likewise.
30714 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30715
1ae2078c 307162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30717
30718 Enable bsd.mod on coreboot.
30719
30720 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30721 (bsd_mod_SOURCES): New variable.
30722 (bsd_mod_CFLAGS): Likewise.
30723 (bsd_mod_LDFLAGS): Likewise.
30724 (bsd_mod_ASFLAGS): Likewise.
30725 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30726 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30727
beefc598 307282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30729
30730 Cleanup NetBSD root support.
30731
30732 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30733 grub_bsd_get_device.
30734 Fix typo.
30735
3b76e68b 307362009-08-25 Felix Zielcke <fzielcke@z-51.de>
30737
30738 * util/grub.d/00_header.in: Move check for the video backend of
30739 gfxterm from here ...
30740 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30741 a suitable video backend.
30742
aea664ea 307432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30744
30745 Fix breakage in grub-setup.
30746
30747 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30748 "msdos_partition_map".
30749
ff747d50 307502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30751
30752 Fix breakage in normal/auth.c.
30753
30754 * normal/auth.c (grub_iswordseparator): New function.
30755
e7e1f93f 307562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30757
30758 Authentication support.
30759
30760 * commands/password.c: New file.
30761 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30762 (password_mod_SOURCES): New variable.
30763 (password_mod_CFLAGS): Likewise.
30764 (password_mod_LDFLAGS): Likewise.
30765 (normal_mod_SOURCES): Add normal/auth.c.
30766 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30767 normal/auth.c.
30768 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30769 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30770 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30772 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30773 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30774 * include/grub/auth.h: New file.
30775 * include/grub/err.h (grub_err_t): New enum value
30776 GRUB_ERR_ACCESS_DENIED.
30777 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30778 'users'.
30779 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30780 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30781 users updated.
30782 * normal/auth.c: New file.
30783 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30784 (grub_cmdline_run): Don't allow to go to command line without
30785 authentication.
30786 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30787 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30788 menuentry without superuser rights.
30789 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30790 user isn't a superuser.
30791
70f1161d 307922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30793
30794 Save space by inlining misc.c functions.
30795
30796 * kern/misc.c (grub_iswordseparator): Made static.
30797 * kern/misc.c (grub_strcat): Moved from here ...
30798 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30799 * kern/misc.c (grub_strncat): Moved from here ...
30800 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30801 * kern/misc.c (grub_strcasecmp): Moved from here ...
30802 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30803 * kern/misc.c (grub_strncasecmp): Moved from here ...
30804 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30805 * kern/misc.c (grub_isalpha): Moved from here ...
30806 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30807 * kern/misc.c (grub_isdigit): Moved from here ...
30808 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30809 * kern/misc.c (grub_isgraph): Moved from here ...
30810 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30811 * kern/misc.c (grub_tolower): Moved from here ...
30812 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30813
48e40bff 308142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30815
30816 * script/sh/function.c (grub_script_function_find): Cut error message
30817 not to flood terminal.
30818 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30819 limit.
30820 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30821
c385bfc3 308222009-08-24 Colin Watson <cjwatson@ubuntu.com>
30823
30824 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30825 `report' grub_uint8_t *.
30826 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30827 Use a 50-millisecond timeout rather than just repeating
30828 grub_usb_keyboard_getreport 50 times.
30829 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30830
2d21e3e8 308312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30832
30833 Rename *_partition_map to part_*
30834
30835 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30836 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30837 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30838 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30839 All users updated.
30840 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30841 All users updated.
30842 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30843 * util/grub-probe.c (probe_partmap): Don't transform partition name
30844 to get module name.
30845
dd103c4e 308462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30847
30848 Fix OpenBSD and NetBSD support.
30849
30850 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30851 memory address conflict.
30852 (OPENBSD_MMAP_ACPI): New definition.
30853 (OPENBSD_MMAP_NVS): Likewise.
30854 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30855 and OPENBSD_MMAP_NVS.
30856 Add memory map terminator
30857 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30858 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30859
16c84d74 308602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30861
30862 Let user specify NetBSD root device.
30863
30864 * loader/i386/bsd.c (netbsd_root): New variable.
30865 (netbsd_opts): New option 'root'.
30866 (NETBSD_ROOT_ARG): New macro.
30867 (grub_netbsd_boot): Use 'netbsd_root'.
30868 (grub_bsd_unload): Free 'netbsd_root'.
30869 (grub_cmd_netbsd): Fill 'netbsd_root'.
30870
adb29902 308712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30872
30873 Support for 64-bit NetBSD.
30874
30875 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30876 point when booting non-FreeBSD.
30877
f5ae9f74 308782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30879
30880 Support --no-smp and --no-acpi for NetBSD.
30881
30882 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30883 (NETBSD_AB_NOACPI): Likewise.
30884 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30885 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30886
de74f136 308872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30888
30889 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30890 errors.
30891 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30892 errors. Call grub_error when needed.
30893
e9a925da 308942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30895
30896 * commands/search.c (search_fs): Try searching without autoload first.
30897 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30898 filesystem module explicitly for faster booting.
30899
5174302b 309002009-08-23 Colin Watson <cjwatson@ubuntu.com>
30901
30902 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30903
c8c80635 309042009-08-23 Colin Watson <cjwatson@ubuntu.com>
30905
30906 * util/grub.d/30_os-prober.in: Disable os-prober if
30907 `GRUB_DISABLE_OS_PROBER' was set to true.
30908
71acf5e5 309092009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30910
30911 * partmap/pc.c: Rename to ...
30912 * partmap/msdos.c: ... this. Update all users.
30913 (grub_pc_partition_map): Rename to ...
30914 (grub_msdos_partition_map): ... this. Update all users.
30915
30916 * parttool/pcpart.c: Rename to ...
30917 * parttool/msdospart.c: ... this. Update all users.
30918
30919 * include/grub/pc_partition.h: Rename to ...
30920 * include/grub/msdos_partition.h: ... this. Update all users.
30921 (grub_pc_partition_bsd_entry): Rename to ...
30922 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30923 (grub_pc_partition_disk_label): Rename to ...
30924 (grub_msdos_partition_disk_label): ... this. Update all users.
30925 (grub_pc_partition_entry): Rename to ...
30926 (grub_msdos_partition_entry): ... this. Update all users.
30927 (grub_pc_partition_mbr): Rename to ...
30928 (grub_msdos_partition_mbr): ... this. Update all users.
30929 (grub_pc_partition): Rename to ...
30930 (grub_msdos_partition): ... this. Update all users.
30931 (grub_pc_partition_is_empty): Rename to ...
30932 (grub_msdos_partition_is_empty): ... this. Update all users.
30933 (grub_pc_partition_is_extended): Rename to ...
30934 (grub_msdos_partition_is_extended): ... this. Update all users.
30935 (grub_pc_partition_is_bsd): Rename to ...
30936 (grub_msdos_partition_is_bsd): ... this. Update all users.
30937
30938 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30939 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30940 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30941 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30942 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30943 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30944 (gpt_mod_LDFLAGS): Rename to ...
30945 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30946 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30947 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30948 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30949 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30950 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30951 (part_gpt_mod_LDFLAGS): ... this.
30952 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30953 `pcpart.mod' to `msdospart.mod'.
30954 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30955 to ...
30956 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30957 (msdospart_mod_LDFLAGS): ... this.
30958
c11fded5 309592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30960
30961 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30962 (openbsd_opts): Likewise.
30963 (netbsd_opts): Likewise.
30964 (freebsd_flags): Added 0 terminator.
30965 (openbsd_flags): Likewise.
30966 (netbsd_flags): Likewise.
30967 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30968 (grub_cmd_freebsd): Transformed into extended command.
30969 (grub_cmd_openbsd): Likewise.
30970 (grub_cmd_netbsd): Likewise.
30971 (cmd_freebsd): Changed type to grub_extcmd_t.
30972 (cmd_openbsd): Likewise.
30973 (cmd_netbsd): Likewise.
30974 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30975 grub_cmd_openbsd as extended commands.
30976 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30977 cmd_netbsd and cmd_openbsd
30978
11d1c769 309792009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30980
30981 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30982
7a9094e5 309832009-08-21 Pavel Roskin <proski@gnu.org>
30984
5496c37e 30985 * Makefile.in (install-local): When checking if a file is in the
30986 build directory, use "test -e" to detect symlinks.
30987
7a9094e5 30988 * Makefile.in (install-local): Remove all files in
30989 $(DESTDIR)$(pkglibdir) before installing new files there.
30990
e53cea11 309912009-08-18 Felix Zielcke <fzielcke@z-51.de>
30992
30993 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30994 grub-mkelfimage.
30995
9aced544 309962009-08-18 Felix Zielcke <fzielcke@z-51.de>
30997
30998 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30999 explicitly specified by the user.
31000
b7da6bab 310012009-08-18 Pavel Roskin <proski@gnu.org>
31002
31003 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31004 grub_uint8_t pointer for data.
31005 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31006 Likewise.
31007 * video/fb/fbutil.c: Remove unnecessary casts.
31008
19f1b335 310092009-08-17 Michal Suchanek <hramrach@centrum.cz>
31010
31011 VBE cleanup.
31012
31013 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31014 (grub_vbe_set_video_mode): Save active mode info
31015 only after setting the mode.
31016 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31017 second argument.
31018
2f467aa9 310192009-08-17 Michal Suchanek <hramrach@centrum.cz>
31020
31021 Rename variables for clarity.
31022
31023 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31024 (active_vbe_mode_info): ... this. All users updated.
31025 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31026 All users updated.
31027 (initial_mode): Rename to ...
31028 (initial_vbe_mode): ... this. All users updated.
31029 (mode_in_use): Rename to ..
31030 (vbe_mode_in_use): ... this. All users updated.
31031 (mode_list): Rename to ..
31032 (vbe_mode_list): ... this. All users updated.
31033 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31034 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31035 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31036 'mode_list_size' to 'vbe_mode_list_size'.
31037 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31038 'best_mode_info' to 'best_vbe_mode_info' and
31039 'best_mode' to 'best_vbe_mode'
31040
6025fcd7 310412009-08-17 Michal Suchanek <hramrach@centrum.cz>
31042
31043 Remove duplicate grub_video_fb_get_video_ptr.
31044
31045 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31046 (grub_video_fb_get_video_ptr): ... this.
31047 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31048 * video/fb/fbutil.c: Add comment about addressing.
31049 (get_data_ptr): Rename to ...
31050 (grub_video_fb_get_video_ptr): ... this. All users updated.
31051 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31052
cc8c6faf 310532009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31054
31055 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31056 grub_dprintf() that was just added.
31057
08aa61f0 310582009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31059
31060 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31061 (DEFAULT_VIDEO_MODE): Remove macros.
31062 (grub_linux_boot): Remove assumption that Linux has FB support,
31063 and use "text" as default video mode.
31064
7cef4f75 310652009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31066
31067 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31068 grub_dprintf.
31069 * fs/fat.c (grub_fat_read_data): Likewise.
31070
e1f39873 310712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31072
31073 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31074 payload.
31075 (grub_module): Likewise.
31076
c166d79e 310772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31078
31079 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31080 mbi->cmdline but free playground.
31081
c60cee8e 310822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31083
31084 Handle group offset on UFS1.
31085
31086 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31087 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31088
c0d8b5d4 310892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31090
31091 Split ufs.mod into ufs1.mod and ufs2.mod.
31092
31093 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31094 (grub_fstest_SOURCES): Likewise.
31095 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31096 (ufs_mod_SOURCES): Remove.
31097 (ufs_mod_CFLAGS): Likewise.
31098 (ufs_mod_LDFLAGS): Likewise.
31099 (ufs1_mod_SOURCES): New variable.
31100 (ufs1_mod_CFLAGS): Likewise.
31101 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31102 (ufs2_mod_SOURCES): New variable.
31103 (ufs2_mod_CFLAGS): Likewise.
31104 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31105 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31106 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31107 Likewise.
31108 (grub_emu_SOURCES): Likewise.
31109 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31110 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31111 (grub_setup_SOURCES): Likewise.
31112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31113 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31114 (grub_setup_SOURCES): Likewise.
31115 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31116 Likewise.
31117 * fs/ufs2.c: New file.
31118 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31119
d3539132 311202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31121
31122 Framebuffer split.
31123
31124 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31125 subsystem at the end.
31126 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31127 (video_fb_mod_SOURCES): New variable.
31128 (video_fb_mod_CFLAGS): Likewise.
31129 (video_fb_mod_LDFLAGS): Likewise.
31130 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31131 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31132 * video/i386/pc/vbeblit.c: Moved from here ...
31133 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31134 * video/i386/pc/vbefill.c: Moved from here ...
31135 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31136 * video/i386/pc/vbeutil.c: Moved from here ...
31137 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31138 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31139 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31140 * include/grub/i386/pc/vbefill.h: Moved from here ...
31141 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31142 * include/grub/i386/pc/vbeutil.h: Moved from here ...
31143 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
31144 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
31145 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
31146 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
31147 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
31148 (grub_video_adapter): Added 'get_info_and_fini'.
31149 (grub_video_get_info_and_fini): New prototype.
31150 (grub_video_set_mode): make modestring const char *.
31151 * loader/i386/linux.c (grub_linux_setup_video): Use
31152 grub_video_get_info_and_fini.
31153 (grub_linux_boot): Move modesetting just before booting.
31154 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
31155 grub_video_get_info_and_fini.
31156 * video/i386/pc/vbe.c: Moved framebuffer part ...
31157 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
31158 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
31159 grub_video_fbstd_colors and grub_video_fb_set_palette.
31160 (grub_video_vbe_init): Clear 'framebuffer' variable and use
31161 grub_video_fb_init.
31162 (grub_video_vbe_fini): Use grub_video_fb_fini.
31163 (grub_video_vbe_setup): Use framebuffer.render_target instead of
31164 render_target and use grub_video_fb_set_active_render_target and
31165 grub_video_fb_set_palette.
31166 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
31167 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
31168 (grub_video_vbe_adapter): Use framebuffer.
31169 * video/video.c (grub_video_get_info_and_fini): New function.
31170 (grub_video_set_mode): Make modestring const char *.
31171 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
31172 values are already initialised.
31173
d404ee56 311742009-08-14 Pavel Roskin <proski@gnu.org>
31175
31176 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31177 ABS and APPLE_CC.
31178 * boot/i386/pc/diskboot.S: Likewise.
31179 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31180 sectors allow compilation on MacOSX.
31181 * conf/i386-pc.rmk: Enable unconditional compilation of
31182 lnxboot.img.
31183
9a10df16 311842009-08-13 Colin Watson <cjwatson@ubuntu.com>
31185
31186 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31187 * util/grub.d/00_header.in: Enter interruptible sleep if
31188 GRUB_HIDDEN_TIMEOUT is set.
31189
be3c9ca7 311902009-08-13 Yves Blusseau <blusseau@zetam.org>
31191
31192 * include/grub/symbol.h: Add the LOCAL macro.
31193 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31194 starting with "L_".
31195
1f9e557e 311962009-08-13 Pavel Roskin <proski@gnu.org>
31197
9ca62843 31198 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31199 any modern compilers we support.
31200
1f9e557e 31201 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31202 Use local labels starting with "L_" so that Apple assembler
31203 knows they are local.
31204
81623db6 312052009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31206
31207 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31208 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31209 (bsd_kernel_types): ... this enum.
31210
31211 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31212 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31213 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31214
31215 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31216 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31217 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31218 messages.
31219
f5d35e7a 312202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31221
31222 * util/grub-dumpdevtree: Moved from here ...
31223 * util/i386/efi/grub-dumpdevtree: ... to here.
31224 (hexify): New function. Converts a string to its hex version.
31225 Generate hex versions of "efi" and "device-properties" by calling
31226 hexify() on the ASCII strings rather than by hardcoding numbers.
31227
d1e1d527 312282009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31229
31230 * fs/jfs.c: Update copyright year.
31231
1ebbe064 312322009-08-08 Felix Zielcke <fzielcke@z-51.de>
31233
31234 * util/grub.d/00_header.in: Fix a comment.
31235 * util/grub.d/10_linux.in: Likewise.
31236 * util/grub.d/10_windows.in: Likewise.
31237 * util/grub.d/10_hurd.in: Likewise.
31238
a78c8d24 312392009-08-08 Felix Zielcke <fzielcke@z-51.de>
31240
31241 * util/grub-mkconfig.in: Allow the user to specify the used font
31242 with GRUB_FONT.
31243
29a6b9e8 312442009-08-08 Pavel Roskin <proski@gnu.org>
31245
b5f16cc4 31246 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31247 available, xfs.mod needs it now.
31248
2f5cb827 31249 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31250 the "g" modifier in sed when the intention is to strip something
31251 once. This fixes comparison of kernels with multiple dashes.
31252
29a6b9e8 31253 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31254 on it. Add missing space before closing bracket. Fix
31255 misleading formatting.
31256
892a3d98 312572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31258
31259 * docs/grub.texi: Major overhaul. Remove all sections that are
31260 specific to GRUB Legacy, or mostly composed of Legacy-specific
31261 information.
31262
ed94253f 312632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31264
31265 * docs/version.texi: New file. Provides version information for
31266 grub.texi.
31267
126d6628 312682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31269
31270 * docs/grub.texi: Update CVS information to SVN.
31271 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31272
998b5aa9 312732009-08-07 Felix Zielcke <fzielcke@z-51.de>
31274
31275 * util/grub-mkconfig.in: Remove a wrong `fi'.
31276
818e094a 312772009-08-07 Felix Zielcke <fzielcke@z-51.de>
31278
31279 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31280 (grub_jfs_uuid): New function.
31281 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31282
b969c52f 312832009-08-07 Felix Zielcke <fzielcke@z-51.de>
31284
31285 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31286 of it to ...
31287 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31288 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31289
7a4894cc 312902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31291
31292 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31293 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31294 Update all users.
31295
31296 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31297 not just "vmlinu[zx]".
31298 Moved from here ...
31299 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31300 all users.
31301
31302 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31303 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31304 all users.
31305
4e2171f8 313062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31307
31308 * util/grub.d/10_freebsd.in: Use an absolute device path for
31309 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31310
6dcfcb32 313112009-08-06 Felix Zielcke <fzielcke@z-51.de>
31312
31313 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31314 handling of multiple abstraction modules.
31315
f56a8756 313162009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31317
31318 Fix a bug resulting in black screen when loading Linux using a
31319 packed video mode.
31320
31321 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31322 function.
31323
31324 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31325 (grub_vbe_bios_getset_dac_palette_width): New function.
31326 (grub_vbe_bios_get_dac_palette_width)
31327 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31328 grub_vbe_bios_getset_dac_palette_width()).
31329
31330 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31331 check for return status.
31332 (grub_vbe_get_video_mode_info): When getting information for a packed
31333 mode (<= 8 bpp), obtain DAC palette width using
31334 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31335 {red,green,blue}_mark_size.
31336
222671b2 313372009-08-04 Felix Zielcke <fzielcke@z-51.de>
31338
ecb1a6d9 31339 * commands/search.c (options): Fix help output to match actual code.
222671b2 31340
f84114f5 313412009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31342
31343 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31344 of homegrown code.
31345
bd288a20 313462009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31347
31348 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31349 on XFS or ReiserFS.
31350
8aab5e25 313512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31352
31353 Support Apple partition map with sector size different from 512 bytes.
31354
31355 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31356 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31357 and 'apart.partmap_size'.
31358
6ad6258a 313592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
313602009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31361
31362 Fix cpuid command.
31363
31364 * commands/i386/cpuid.c (options): New variable.
31365 (grub_cmd_cpuid): Return real error.
31366 (GRUB_MOD_INIT(cpuid)): Declare options.
31367
67459bc6 313682009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31369
31370 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31371 valid.
31372
fbc6ab54 313732009-07-31 Bean <bean123ch@gmail.com>
31374
31375 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31376 log2_inode.
31377 (grub_fshelp_node): Move inode field to the end.
31378 (grub_xfs_data): Remove inode field.
31379 (grub_xfs_inode_block): Calculate inode size using sblock.
31380 (grub_xfs_inode_offset): Likewise.
31381 (grub_xfs_read_inode): Calculate inode size using sblock.
31382 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31383 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31384 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31385 to match inode size.
31386 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31387 not accessible when data is null.
31388 (grub_xfs_open): Likewise.
31389
f45d6cfc 313902009-07-31 Bean <bean123ch@gmail.com>
31391
31392 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31393 Don't change pv->disk if it's already set.
31394
31395 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31396 (grub_raid_register): ... here.
31397 (grub_raid_rescan): Removed.
31398
31399 * include/grub/raid.h (grub_raid_rescan): Removed.
31400
31401 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31402 (fstest): Replace grub_raid_rescan with module fini function followed
31403 by init function.
31404
31405 * util/grub-probe.c: Add include file <grub/raid.h>.
31406 (probe_raid_level): New function.
31407 (probe): Detect abstraction by walking the disk device, support two
31408 level of abstraction (LVM on RAID) when detecting partition map.
31409
24443b5a 314102009-07-31 Pavel Roskin <proski@gnu.org>
31411
31412 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31413 to grub_zalloc(), it was erroneous.
31414 Reported by Bean <bean123ch@gmail.com>
31415
a275d9e7 314162009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31417
31418 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31419 embedding zone, not only the first one.
a275d9e7 31420
56c5a47f 314212009-07-29 Joe Auricchio <jauricchio@gmail.com>
31422
31423 * term/gfxterm.c (clear_char): New function.
31424 (grub_virtual_screen_setup): Use clear_char.
31425 (scroll_up): Likewise.
31426 (grub_virtual_screen_cls): Likewise.
31427
67bb323a 314282009-07-29 Felix Zielcke <fzielcke@z-51.de>
31429
31430 * util/deviceiter.c (get_acceleraid_disk_name): New static
31431 function.
31432 (grub_util_iterate_devices): Handle Accelraid devices.
31433 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31434
388a7c75 314352009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31436
31437 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31438 separator for the suggested gfxpayload string (';' collides with the
31439 parser and needs escaping).
31440
3bb7abcf 314412009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31442
31443 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31444 Clear direction flag before jumping to OS.
31445 (grub_multiboot2_real_boot): Likewise.
31446
2ddd36d7 314472009-07-28 Felix Zielcke <fzielcke@z-51.de>
31448
31449 * util/i386/pc/grub-install: Fix parsing of --disk-module
31450 option.
31451
c521b62b 314522009-07-28 Felix Zielcke <fzielcke@z-51.de>
31453
31454 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31455 when embedding.
31456
880e0a0c 314572009-07-26 Felix Zielcke <fzielcke@z-51.de>
31458
31459 * util/grub-mkconfig.in (package_version): New variable.
31460 Use it do display the version.
31461
2366e356 314622009-07-25 Felix Zielcke <fzielcke@z-51.de>
31463
31464 * kern/file.c (grub_file_open): Revert to previous check with
31465 grub_errno.
31466
7ad8c80e 314672009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31468
31469 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31470 from help line. It's out of sync with code.
31471
72b9658b 314722009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31473
31474 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31475 entries on failed boot.
31476
77435277 314772009-07-25 Felix Zielcke <fzielcke@z-51.de>
31478
31479 * kern/file.c (grub_file_open): Fix an error check.
31480
fcaa8b21 314812009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31482
35d16c74 31483 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31484 partition map couldn't be identified.
fcaa8b21 31485
48904cd1 314862009-07-23 Pavel Roskin <proski@gnu.org>
31487
ef3c317f 31488 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31489 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31490 case of little endian words becomes just an optimization.
31491 Respect const modifier.
ad8ea1f4 31492 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31493
48904cd1 31494 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31495 to avoid loss of upper bits if align is unsigned and shorter
31496 than addr.
31497
260c9a89 314982009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31499
31500 UUID support for UFS
31501
31502 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31503 (grub_ufs_uuid): New function.
31504 (grub_ufs_fs): add .uuid
31505
f76ce889 315062009-07-21 Pavel Roskin <proski@gnu.org>
31507
31508 * kern/dl.c (grub_dl_check_header): Make static.
31509
6a6cbcaf 315102009-07-21 Felix Zielcke <fzielcke@z-51.de>
31511
31512 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31513 add drivemap for Vista. It breaks Windows 7.
31514
cffcddb2 315152009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31516
31517 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31518 128 bytes
31519
1ef44b80 315202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31521
31522 Add BFS support
31523
31524 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31525 (grub_fstest_SOURCES): Likewise.
31526 (pkglib_MODULES): Add befs.mod.
31527 (befs_mod_SOURCES): New variable.
31528 (befs_mod_CFLAGS): Likewise.
31529 (befs_mod_LDFLAGS): Likewise.
31530 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31531 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31532 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31533 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31534 (grub_setup_SOURCES): Likewise.
31535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31536 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31537 (grub_setup_SOURCES): Likewise.
31538 * fs/befs.c: New file.
31539 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31540 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31541 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31542 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31543 (B_KEY_INDEX_ALIGN): New declaration.
31544 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31545 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31546 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31547 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31548 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31549 (grub_afs_mount) [MODE_BFS]: Likewise.
31550 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31551 (grub_afs_fs): Use GRUB_AFS_FSNAME
31552 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31553 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31554 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31555 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31556
4f253044 315572009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31558
31559 * util/getroot.c (find_root_device): Add support for MacOSX.
31560 * util/hostdisk.c: Likewise.
31561
57a55913 315622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31563
31564 * font/font.c (find_glyph): Check whether a font is present to avoid
31565 segmentation fault.
75421ca9 31566
315672009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31568
31569 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31570
e98cd0c2 315712009-07-20 Pavel Roskin <proski@gnu.org>
31572
31573 * configure.ac: Trim excessively wordy excuses.
31574
1d2d169a 315752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31576
31577 Add symlink, mtime and label support to AtheFS.
31578
31579 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31580 (grub_afs_iterate_dir): Handle symlinks.
31581 (grub_afs_open): Use grub_afs_read_symlink.
31582 (grub_afs_dir): Likewise.
31583 Pass mtime.
31584 (grub_afs_label): New function.
31585 (grub_afs_fs): Add grub_afs_label.
31586 (grub_afs_read_symlink): New function.
31587
186f3189 315882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31589
31590 Fix AtheFS support.
31591
31592 * fs/afs.c: Fix comments style.
31593 (grub_afs_blockrun): Declare as packed.
31594 (grub_afs_datastream): Likewise.
31595 (grub_afs_bnode): Likewise.
31596 (grub_afs_btree): Likewise.
31597 (grub_afs_sblock): Likewise.
31598 Declare `name' as char.
31599 (grub_afs_inode): Declare as packed.
31600 Change void *vnode to grub_uint32_t unused.
31601 (grub_afs_iterate_dir): Check that key_size is positive.
31602 (grub_afs_mount): Don't read superblock twice.
75421ca9 31603 (grub_afs_dir): Don't free node in case of error,
186f3189 31604 grub_fshelp_find_file already handles this.
31605 (grub_afs_open): Likewise.
31606
5680109e 316072009-07-19 Pavel Roskin <proski@gnu.org>
31608
31609 * Makefile.in: Remove LIBLZO and enable_lzo.
31610 * conf/i386-pc.rmk: Remove lzo support.
31611 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31612 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31613 support.
31614 * kern/i386/pc/lzo1x.S: Remove.
31615 * kern/i386/pc/startup.S: Remove lzo support.
31616 * util/i386/pc/grub-mkimage.c: Likewise.
31617
ac70fa32 316182009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31619
31620 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31621 * fs/xfs.c (grub_xfs_dir): Likewise.
31622 * fs/afs.c (grub_afs_dir): Likewise.
31623 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31624 (grub_iso9660_open): Likewise.
31625 * fs/jfs.c (grub_jfs_open): Likewise.
31626 * fs/ext2.c (grub_ext2_dir): Likewise.
31627 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31628 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31629
eab58da2 316302009-07-16 Pavel Roskin <proski@gnu.org>
31631
d2838156 31632 * configure.ac: Never add "-c" to CFLAGS.
31633
55c70904 31634 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31635
43e6200c 31636 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31637 grub_cv_cc_efiemu should be used.
31638
ce7a733d 31639 * configure.ac: Typo fixes.
31640
eab58da2 31641 * kern/mm.c (grub_zalloc): New function.
31642 (grub_debug_zalloc): Likewise.
31643 * include/grub/mm.h: Declare grub_zalloc() and
31644 grub_debug_zalloc().
31645 * util/misc.c (grub_zalloc): New function.
31646 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31647 instead of grub_malloc(), remove unneeded initializations.
31648 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31649 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31650 * commands/parttool.c (grub_cmd_parttool): Likewise.
31651 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31652 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31653 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31654 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31655 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31656 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31657 (grub_cmd_efiemu_pnvram): Likewise.
31658 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31659 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31660 (grub_iso9660_iterate_dir): Likewise.
31661 * fs/jfs.c (grub_jfs_opendir): Likewise.
31662 * fs/ntfs.c (list_file): Likewise.
31663 (grub_ntfs_mount): Likewise.
31664 * kern/disk.c (grub_disk_open): Likewise.
31665 * kern/dl.c (grub_dl_load_core): Likewise.
31666 * kern/elf.c (grub_elf_file): Likewise.
31667 * kern/env.c (grub_env_context_open): Likewise.
31668 (grub_env_set): Likewise.
31669 (grub_env_set_data_slot): Likewise.
31670 * kern/file.c (grub_file_open): Likewise.
31671 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31672 * loader/i386/multiboot.c (grub_module): Likewise.
31673 * loader/xnu.c (grub_xnu_create_key): Likewise.
31674 (grub_xnu_create_value): Likewise.
31675 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31676 (read_config_file): Likewise.
31677 * normal/menu_entry.c (make_screen): Likewise.
31678 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31679 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31680 * script/sh/script.c (grub_script_parse): Likewise.
31681 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31682 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31683 * video/readers/png.c (grub_png_output_byte): Likewise.
31684 (grub_video_reader_png): Likewise.
31685
830afef7 316862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31687
31688 Enable all targets that can be built by default
31689
830afef7 31690 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31691 grub-mkfont and grub-fstest if they can be built
31692
ee293aee 316932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31694
31695 Fix hang and segmentation fault in grub-emu-usb
31696
31697 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31698 * util/usb.c (grub_libusb_devices): likewise
31699 (grub_libusb_init): rename to ...
31700 (GRUB_MOD_INIT (libusb)):...this
31701 (grub_libusb_fini): rename to ..
31702 (GRUB_MOD_FINI (libusb)):...this
31703 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31704 * include/grub/disk.h (grub_raid_init): removed, it's useless
31705 (grub_raid_fini): likewise
31706 (grub_lvm_init): likewise
31707 (grub_lvm_fini): likewise
31708 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31709 by grub_init_all
31710
94414221 317112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31712
31713 Fix libusb
31714
31715 * Makefile.in (LIBUSB): new macro
31716 * genmk.rb (Utility/print_tail): new method
31717 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31718 (top level): call util.print_tail at the end.
31719
59ade63d 317202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31721
31722 Make FreeBSD accept zpool.cache
31723
31724 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31725 type is /boot/zfs/zpool.cache
31726
a58da8c7 317272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31728
31729 Fix 64-bit efiemu
31730
31731 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31732 correct wrong typedef
31733 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31734
20591577 317352009-07-15 Pavel Roskin <proski@gnu.org>
31736
560ca572 31737 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31738 * kern/disk.c (struct grub_disk_cache): Likewise.
31739
e8e8e4fd 31740 * commands/probe.c (options): Typo fix.
31741
fde24e10 31742 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31743 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31744 accordingly.
31745 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31746
379c54c1 31747 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31748 the end of "Error" to make the message more readable.
31749
7bd8f5bf 31750 * boot/i386/pc/boot.S (kernel_segment): Remove.
31751 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31752 for destination.
31753
40b132c5 31754 * boot/i386/pc/boot.S (boot_version): Remove.
31755 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31756 Remove.
31757
20591577 31758 * include/grub/i386/pc/boot.h: Sort all offsets.
31759 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31760 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31761 * boot/i386/pc/boot.S: Assert location of every offset listed in
31762 include/grub/i386/pc/boot.h.
31763
2df32b2c 317642009-07-13 Pavel Roskin <proski@gnu.org>
31765
44b5d879 31766 * include/grub/i386/coreboot/machine.h: Rename
31767 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31768 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31769 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31770
17dc3751 31771 * kern/dl.c: Force native word size to suppress warnings when
31772 compiling grub-emu.
31773
2df32b2c 31774 * kern/device.c (grub_device_iterate): Change struct part_ent to
31775 hold the name, not a pointer to it. Use one grub_malloc() per
31776 partition, not two. Free partition_name if grub_malloc() fails.
31777 Set ents to NULL only before grub_partition_iterate() is called.
31778
75c59f59 317792009-07-11 Bean <bean123ch@gmail.com>
31780
31781 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31782 childname.
31783
0ae1bf88 317842009-07-10 Bean <bean123ch@gmail.com>
317852009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31786
31787 * kern/ieee1275/openfw.c (grub_children_iterate)
31788 (grub_devalias_iterate): Fix size evaluation for property or path
31789 strings, which was broken since r2132.
31790
8279cade 317912009-07-07 Pavel Roskin <proski@gnu.org>
31792
7d8a52d3 31793 * commands/search.c (search_file): Merge into ...
31794 (search_fs): ... this. Accept search type as argument.
31795 (grub_cmd_search): Pass search type to search_fs().
31796
25f9a05a 31797 * include/grub/util/console.h: New file.
31798 * util/console.c: Use it instead of grub/machine/console.h.
31799 * util/grub-emu.c: Likewise.
31800
8279cade 31801 * lib/arg.c (find_long_option): Remove.
31802 (find_long): Add `len' argument, make `s' const char *.
31803 (grub_arg_parse): Parse long options in place, not in a
31804 temporary buffer.
31805
4a11b60f 318062009-07-06 Pavel Roskin <proski@gnu.org>
31807
99f68041 31808 * commands/search.c (search_fs): Fix potential NULL pointer
31809 dereference.
31810
4a11b60f 31811 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31812 function pointer.
31813
e110f4de 318142009-07-06 Daniel Mierswa <impulze@impulze.org>
31815
31816 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31817 comparison.
31818
46eeb6a2 318192009-07-05 Pavel Roskin <proski@gnu.org>
31820
bab74958 31821 * include/grub/i386/linux.h (struct linux_kernel_params):
31822 Restore padding3, it's still needed.
31823
46eeb6a2 31824 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31825 FreeBSD.
31826 * util/osdetect.lua: Likewise.
31827
b4a1dc79 318282009-07-05 Bean <bean123ch@gmail.com>
31829
31830 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31831
31832 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31833 (grub_lua_getenv): Likewise.
31834 (grub_lua_setenv): Likewise.
31835 (save_errno): New function.
31836 (push_result): Likewise.
31837 (grub_lua_enum_device): Likewise.
31838 (grub_lua_enum_file): Likewise.
31839 (grub_lua_file_open): Likewise.
31840 (grub_lua_file_close): Likewise.
31841 (grub_lua_file_seek): Likewise.
31842 (grub_lua_file_read): Likewise.
31843 (grub_lua_file_getline): Likewise.
31844 (grub_lua_file_getsize): Likewise.
31845 (grub_lua_file_getpos): Likewise.
31846 (grub_lua_file_eof): Likewise.
31847 (grub_lua_file_exist): Likewise.
31848 (grub_lua_add_menu): Likewise.
31849
31850 * script/lua/grub_lua.h (isupper): New inline function.
31851 (islower): Likewise.
31852 (ispunct): Likewise.
31853 (isxdigit): Likewise.
31854 (strcspn): Change to normal function.
31855 (strpbkr): New function declaration.
31856 (memchr): Likewise.
31857
31858 * script/lua/grub_main.c (scan_str): New function.
31859 (strcspn): Likewise.
31860 (strpbrk): Likewise.
31861 (memchr): Likewise.
31862
31863 * script/lua/linit.c (lualibs): Enable the string library.
31864
31865 * util/osdetect.lua: New file.
31866
2da92295 318672009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31868
31869 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31870 `capabilities' member.
31871
b2582ec9 318722009-07-02 Pavel Roskin <proski@gnu.org>
31873
31874 * genparttoollist.sh: Add missing newline at the end.
31875
32622956 318762009-07-01 Pavel Roskin <proski@gnu.org>
31877
87a7339e 31878 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31879
d23af54e 31880 * util/hostdisk.c (open_device): Remove `const' from
31881 `sysctl_size', as sysctlbyname() can change it (in this case it
31882 doesn't actually happen).
31883
c94b18a9 31884 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31885 using signed long int constants.
31886
c6cd3ef0 31887 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31888 constant to avoid a warning on FreeBSD.
31889
0df63420 31890 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31891 where it's needed.
31892
999577f1 31893 * Makefile.in: Install include/grub/machine symlink.
31894
6f41557f 31895 * Makefile.in: When installing symlinks, use "cp -fR", which
31896 works on FreeBSD and MacOSX.
31897 From Yves Blusseau <cl7m42e02@sneakemail.com>
31898
c8d22988 31899 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31900 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31901
1b96e952 31902 * util/misc.c: Move grub_reboot() and grub_halt() ...
31903 * util/grub-emu.c: ... here. Make main_env static.
31904 * include/grub/util/misc.h: Remove main_env.
31905
2ef0084d 31906 * kern/mm.c: Use correct format to print size_t.
31907
32622956 31908 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31909 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31910 * kern/powerpc/dl.c: Likewise.
31911 * kern/sparc64/dl.c: Likewise.
31912 * kern/x86_64/dl.c: Likewise.
31913
3f7f0cd0 319142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31915
31916 Fix grub-emu build on sparc64-ieee1275.
31917
75421ca9 31918 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31920
211d06b5 319212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31922
31923 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31924 (grub_reboot, grub_halt): New functions.
31925
31926 * util/i386/pc/misc.c: Delete. Update all users.
31927 * util/sparc64/ieee1275/misc.c: Likewise.
31928 * util/powerpc/ieee1275/misc.c: Likewise.
31929
aaf53e3c 319302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31931
31932 * conf/i386.rmk (setjmp_mod_SOURCES)
31933 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31934 * conf/common.rmk (setjmp_mod_SOURCES)
31935 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31936 to use $(target_cpu).
31937 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31938 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31939 * conf/powerpc-ieee1275.rmk: Likewise.
31940 * conf/sparc64-ieee1275.rmk: Likewise.
31941
31942 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31943 $(target_cpu) for kern/$(target_cpu)/dl.c.
31944 * conf/i386-efi.rmk: Likewise.
31945 * conf/i386-ieee1275.rmk: Likewise.
31946 * conf/x86_64-efi.rmk: Likewise.
31947 * conf/i386-coreboot.rmk: Likewise.
31948 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31949 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31950 kern/$(target_cpu)/cache.S.
31951 * conf/sparc64-ieee1275.rmk: Likewise.
31952
a337130b 319532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31954
31955 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31956 type to `grub_uint8_t', and adjust `padding9' accordingly.
31957
c6fe4d53 319582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31959
b09db61d 31960 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31961
c6fe4d53 31962 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31963 assembly in final jump, using register constraints.
31964
b09db61d 31965 (grub_linux_boot): For text mode, initialize `have_vga' using
31966 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31967
31968 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31969 right before the final jump.
31970
31971 Set `video_mode' to 0x3.
31972
31973 Document initialization of `video_page', `video_mode' and
31974 `video_ega_bx'.
31975
28333ad0 319762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31977
31978 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31979 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31980 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31981
02164e1b 319822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31983
31984 Fix build on Debian / sparc.
31985
31986 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31987
18b6c557 319882009-06-28 Pavel Roskin <proski@gnu.org>
31989
85f2aab6 31990 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31991 fix a warning.
31992
18b6c557 31993 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31994
ad760f81 319952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31996
31997 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31998 `err'.
31999
87a4623b 320002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32001
32002 Revert r2338.
32003
32004 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32005 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32006 grub_errno / grub_errmsg appropriately.
87a4623b 32007 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32008
8231fb77 320092009-06-27 Pavel Roskin <proski@gnu.org>
320102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32011
32012 * include/grub/dl.h: Include grub/elf.h.
32013 (struct grub_dl): Add symtab field.
32014 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32015 GRUB_MODULES_MACHINE_READONLY.
32016 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32017 of the header for read-only modules.
32018 (grub_dl_unload): Free mod->symtab for read-only modules.
32019 * kern/i386/dl.c: Use mod->symtab.
32020 * kern/powerpc/dl.c: Likewise.
32021 * kern/sparc64/dl.c: Likewise.
32022 * kern/x86_64/dl.c: Likewise.
32023
32024 * conf/i386-qemu.rmk: New file.
32025 * kern/i386/qemu/startup.S: Likewise.
32026 * kern/i386/qemu/mmap.c: Likewise.
32027 * boot/i386/qemu/boot.S: Likewise.
32028 * include/grub/i386/qemu/time.h: Likewise.
32029 * include/grub/i386/qemu/serial.h: Likewise.
32030 * include/grub/i386/qemu/kernel.h: Likewise.
32031 * include/grub/i386/qemu/console.h: Likewise.
32032 * include/grub/i386/qemu/boot.h: Likewise.
32033 * include/grub/i386/qemu/init.h: Likewise.
32034 * include/grub/i386/qemu/machine.h: Likewise.
32035 * include/grub/i386/qemu/loader.h: Likewise.
32036 * include/grub/i386/qemu/memory.h: Likewise.
32037
32038 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32039 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32040 [qemu] (pkglib_IMAGES): Add `boot.img'.
32041 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32042 [qemu] (boot_img_FORMAT): New variables.
32043 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32044 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32045 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32046 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32047 [qemu] (kernel_img_FORMAT): New variables.
32048
32049 * configure.ac: Recognise `i386-qemu'.
32050
32051 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32052 (for no compression).
32053 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32054 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32055 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32056 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32057 ifdefs).
32058
97fe384e 320592009-06-27 Pavel Roskin <proski@gnu.org>
32060
32061 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32062 read.
32063 * efiemu/prepare32.c: Likewise.
32064 * efiemu/prepare64.c: Likewise.
32065
c402ab17 320662009-06-26 Pavel Roskin <proski@gnu.org>
32067
32068 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32069 * include/grub/elf.h: Define symbols without "32" or "64" based
32070 on GRUB_TARGET_WORDSIZE.
32071 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32072 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32073 ELF definitions.
32074 * efiemu/loadcore64.c: Likewise.
32075 * loader/i386/bsd32.c: Likewise.
32076 * loader/i386/bsd64.c: Likewise.
32077 * kern/dl.c: Remove own ELF definitions.
32078 * util/i386/efi/grub-mkimage.c: Likewise.
32079
9bbdfd4d 320802009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32081
32082 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32083 segment 0x0 unconditionally, because the reference generated by
32084 GAS is an absolute address.
32085
a42ce6e9 320862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32087
32088 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32089 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32090
c952cf92 320912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32092
32093 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32094 indexes. Check for -f explicitly.
cc3752ad 32095 (search_file): Improve error message.
32096 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32097
132a0a59 320982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32099
32100 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32101 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32102
387a140c 321032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32104
32105 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32106 * conf/i386-ieee1275.rmk: Likewise.
32107 * conf/i386-coreboot.rmk: Likewise.
32108
32109 * kern/i386/pc/startup.S (grub_stop): Remove function.
32110 * kern/i386/ieee1275/startup.S: Likewise.
32111 * kern/i386/coreboot/startup.S: Likewise.
32112 * kern/i386/misc.S (grub_stop): New function.
32113
41da9665 321142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32115
32116 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32117 * kern/i386/realmode.S (real_to_prot): ... to here.
32118
bf337234 321192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32120
32121 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32122 with `kernel.img'.
32123 (kernel_elf_SOURCES): Rename to ...
32124 (kernel_img_SOURCES): ... this.
32125 (kernel_elf_HEADERS): Rename to ...
32126 (kernel_img_HEADERS): ... this. Update all users.
32127 (kernel_elf_ASFLAGS): Rename to ...
32128 (kernel_img_ASFLAGS): ... this.
32129 (kernel_elf_CFLAGS): Rename to ...
32130 (kernel_img_CFLAGS): ... this.
32131 (kernel_elf_LDFLAGS): Rename to ...
32132 (kernel_img_LDFLAGS): ... this.
32133 * conf/i386-coreboot.rmk: Likewise.
32134 * conf/powerpc-ieee1275.rmk: Likewise.
32135
32136 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32137 with "kernel.img".
32138
f52196ff 321392009-06-21 Pavel Roskin <proski@gnu.org>
32140
c3cee413 32141 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32142 to match nested functions.
32143 * loader/sparc64/ieee1275/linux.c: Likewise.
32144
f52196ff 32145 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
32146
58750afc 321472009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32148
32149 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
32150 all i386 platforms.
32151
15355c7d 321522009-06-21 Robert Millan <rmh.grub@aybabtu.com>
32153
32154 Fix asm file handling on ELF, and remove workarounds.
32155
32156 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 32157 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 32158 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
32159 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
32160
3f3ec72b 321612009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
32162
32163 Load BSD ELF modules
32164
32165 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
32166 and loader/i386/bsd64.c
32167 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
32168 (FREEBSD_MODTYPE_ELF_MODULE): New definition
32169 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
32170 (grub_freebsd_load_elfmodule32): New declaration
32171 (grub_freebsd_load_elfmoduleobj64): Likewise
32172 (grub_freebsd_load_elf_meta32): Likewise
32173 (grub_freebsd_load_elf_meta64): Likewise
32174 (grub_freebsd_add_meta): Likewise
32175 (grub_freebsd_add_meta_module): Likewise
32176 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32177 (grub_freebsd_add_meta_module): Likewise and move module-specific
32178 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32179 (grub_cmd_freebsd): Add elf-kernel specific parts
32180 based on grub_freebsd_add_meta_module
32181 (grub_cmd_freebsd_module): Add type parsing moved from
32182 grub_freebsd_add_meta_module
32183 (grub_cmd_freebsd_module_elf): New function
32184 (cmd_freebsd_module_elf): New variable
32185 (GRUB_MOD_INIT): Register freebsd_module_elf
32186 * loader/i386/bsd32.c: New file
32187 * loader/i386/bsd64.c: Likewise
32188 * loader/i386/bsdXX.c: Likewise
32189 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32190 (grub_elf64_load): Likewise
32191 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32192 All users updated
32193 (grub_elf64_load_hook_t): Likewise
32194
0db15301 321952009-06-21 Colin Watson <cjwatson@ubuntu.com>
32196
32197 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32198 variable.
32199 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32200 don't write a menu entry for recovery mode.
32201
546796c1 322022009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32203
32204 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32205 after it's no longer needed.
32206
cd7310d5 322072009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32208
32209 * include/grub/i386/loader.h (grub_linux_prot_size)
32210 (grub_linux_tmp_addr, grub_linux_real_addr)
32211 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32212 GRUB_MACHINE_PCBIOS.
32213 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32214 common grub_util_info() call to ...
32215 (generate_image): ... here.
32216 Fix use of uninitialized memory, comparison of signed with
32217 unsigned integers and memory leak.
32218 Remove bogus module address message.
32219
ab32d3b5 322202009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32221
32222 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32223 grub_raid_register
32224 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32225
024ef597 322262009-06-19 Pavel Roskin <proski@gnu.org>
32227
32228 * configure.ac: Remove stray AC_MSG_CHECKING.
32229
3ac72b51 322302009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32231
32232 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32233
e14cd814 322342009-06-18 Pavel Roskin <proski@gnu.org>
32235
32236 * conf/common.rmk: Add fs_file.mod.
32237 * disk/fs_file.c: New file.
32238 * include/grub/disk.h (enum grub_disk_dev_id): Add
32239 GRUB_DISK_DEVICE_FILE_ID.
32240
26586d98 322412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32242
32243 Fix build with Apple's toolchain. Part 2
32244
32245 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32246 a fake start
32247
26de2bcd 322482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32249
32250 Fix build with Apple's toolchain. Part 1
32251
32252 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32253 for long calls
32254 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32255 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32256 Apple's toolchain
32257
09b3490b 322582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32259
32260 Fix warnings
32261
32262 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32263 (decomp_block): initialize ch
32264 use grub_memcpy instead of memcpy
32265
c22a006a 322662009-06-17 Pavel Roskin <proski@gnu.org>
32267
d3638678 32268 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32269 version, use declarations needed to use vga_text as the startup
32270 console.
32271
c22a006a 32272 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32273 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32274 the kernel.
32275 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32276 and grub_at_keyboard_fini(), it's done on module load and
32277 unload.
32278
05b129e0 322792009-06-17 Felix Zielcke <fzielcke@z-51.de>
32280
32281 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32282 file can't be found.
32283 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32284
cf24ed9e 322852009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32286
32287 Fix newline handling
32288
32289 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32290 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32291 (grub_script_yylex): don't segfault on unterminated script
32292 newline terminates command and variable
32293
74aa8e4b 322942009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32295
32296 avoid double grub_adjust_range call. Bug reported by David Simner
32297
32298 * kern/disk.c (grub_disk_write): change to raw disk access before
32299 calling disk_read
32300
1bd265f3 323012009-06-17 Colin Watson <cjwatson@ubuntu.com>
32302
32303 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32304 spaces, for the benefit of help2man.
32305 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32306
a2d08c06 323072009-06-16 Pavel Roskin <proski@gnu.org>
32308
32309 * kern/i386/halt.c: Include grub/machine/init.h.
32310 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32311
b97bcb19 323122009-06-16 Felix Zielcke <fzielcke@z-51.de>
32313
32314 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32315 drivemap menuentry.
32316
0644f96c 323172009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32318
32319 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32320 `echo' command.
32321
3ef17a2e 323222009-06-16 Pavel Roskin <proski@gnu.org>
32323
32324 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32325 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32326 save %dx, we only need %dl and we never change it.
32327 * boot/i386/pc/cdboot.S: Don't set the root drive.
32328 * boot/i386/pc/pxeboot.S: Likewise.
32329 * include/grub/i386/pc/boot.h: Remove
32330 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32331 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32332 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32333 * kern/i386/pc/init.c (make_install_device): Remove references
32334 to grub_root_drive.
32335 * kern/i386/pc/startup.S: Likewise.
32336 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32337
693fe637 323382009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32339
32340 xnu_uuid command
32341
32342 * commands/xnu_uuid.c: new file
32343 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32344 (xnu_uuid_mod_SOURCES): new variable
32345 (xnu_uuid_mod_CFLAGS): likewise
32346 (xnu_uuid_mod_LDFLAGS): likewise
32347 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32348 * conf/i386-ieee1275.rmk: likewise
32349 * conf/i386-pc.rmk: likewise
32350 * conf/powerpc-ieee1275.rmk: likewise
32351 * conf/sparc64-ieee1275.rmk: likewise
32352 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32353
c9da87d0 323542009-06-16 Pavel Roskin <proski@gnu.org>
32355
32356 * configure.ac: Avoid '==' in test command, it's not portable.
32357
9c6f4596 323582009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32359
32360 Probe command
32361
32362 * commands/probe.c: new file
32363 * conf/common.rmk (pkglib_MODULES): add probe.mod
32364 (probe_mod_SOURCES): new variable
32365 (probe_mod_CFLAGS): likewise
32366 (probe_mod_LDFLAGS): likewise
32367 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32368 * conf/i386-ieee1275.rmk: likewise
32369 * conf/i386-pc.rmk: likewise
32370 * conf/powerpc-ieee1275.rmk: likewise
32371 * conf/sparc64-ieee1275.rmk: likewise
32372
70b7f9fd 323732009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32374
32375 Fix handling of string like \"hello\" and "a
32376 b"
32377
32378 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32379 (grub_script_yylex): fix parsing of quoting, escaping and newline
32380
71c79a6b 323812009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32382
dd74360c 32383 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32384 handling
dd74360c 32385
0644f96c 323862009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32387
32388 * util/grub-mkconfig.in: Fix parsing of --output option.
32389
e40893c3 323902009-06-12 Pavel Roskin <proski@gnu.org>
32391
32392 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32393 genmk.rb don't need to be generated or installed.
32394
3a1acfe2 323952009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32396
32397 * commands/i386/pc/drivemap_int13h.S: add more comments
32398
3a4575d4 323992009-06-11 Pavel Roskin <proski@gnu.org>
32400
0658e928 32401 * Makefile.in (uninstall): Uninstall manuals.
32402
ca0388f0 32403 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32404 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32405 and update-grub_lib in two places.
32406 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32407
e3b27c39 32408 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32409 a compiler warning.
32410
3a4575d4 32411 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32412 `entry_lo' to fix variable shadowing.
32413
af1f4f55 324142009-06-11 Christian Franke <franke@computer.org>
32415
32416 * kern/misc.c (__enable_execute_stack): Add missing return type
32417 to prevent gcc warning.
32418
5225e649 324192009-06-11 Felix Zielcke <fzielcke@z-51.de>
32420
32421 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32422
7d83bd47 324232009-06-11 Pavel Roskin <proski@gnu.org>
32424
c1cb63ba 32425 * Makefile.in: Don't rely on any scripts being executable.
32426 Always use $(SHELL) to run shell scripts.
32427
7d83bd47 32428 * configure.ac: Always define ___main if using -nostdlib. This
32429 fixes tests on Cygwin.
32430
948f48e7 324312009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32432
32433 UDF fix
32434
7d83bd47 32435 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32436 is in bytes and not in blocks
7d83bd47 32437
8ada9bc1 324382009-06-11 Pavel Roskin <proski@gnu.org>
32439
32440 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32441 warning.
32442
25ad2323 324432009-06-11 Felix Zielcke <fzielcke@z-51.de>
32444
32445 * util/grub.d/30_os-prober.in: Fix a comment. Source
32446 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32447 to set the root device. Place drivemap command in the generated
32448 chain entry.
32449
e65acb0c 324502009-06-11 Pavel Roskin <proski@gnu.org>
32451
32452 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32453 have long been resolved.
32454
f285fe2d 324552009-06-11 Colin Watson <cjwatson@ubuntu.com>
32456
bd47b0b5 32457 * util/grub.d/10_linux.in: Capitalise "Linux".
32458
f285fe2d 32459 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32460
a0c62e4e 324612009-06-11 Pavel Roskin <proski@gnu.org>
32462
b6783cb2 32463 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32464 fix a gcc warning and ensure that the function won't ever exit.
32465
dde032e8 32466 * kern/i386/ieee1275/init.c: Add missing prototype for
32467 grub_stop_floppy().
32468
22cd079d 32469 * loader/ieee1275/multiboot2.c [__i386__]: Include
32470 grub/cpu/multiboot.h.
32471
a0c62e4e 32472 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32473 casts to short - they are not portable and cause warnings. Fix
32474 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32475
63963d17 324762009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32477
32478 Drivemap fixes
32479
32480 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32481 new function
32482 (grub_get_root_biosnumber_saved): new variable
32483 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32484 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32485 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32486 %dx after the call if necessary
32487 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32488 (boot_mod_SOURCES): remove
32489 (boot_mod_CFLAGS): remove
32490 (boot_mod_LDFLAGS): remove
32491 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32492 (boot_mod_SOURCES): new variable
32493 (boot_mod_CFLAGS): likewise
32494 (boot_mod_LDFLAGS): likewise
32495 * conf/i386-efi.rmk: likewise
32496 * conf/i386-ieee1275.rmk: likewise
32497 * conf/i386-pc.rmk: likewise
32498 * conf/powerpc-ieee1275.rmk: likewise
32499 * conf/sparc64-ieee1275.rmk: likewise
32500 * conf/x86_64-efi.rmk: likewise
32501 * include/grub/i386/pc/biosnum.h: new file
32502 * lib/i386/pc/biosnum.c: likewise
32503 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32504 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32505 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32506
33abf7ae 325072009-06-10 Pavel Roskin <proski@gnu.org>
32508
5ac35b35 32509 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32510 Use separate variables. Read only the file size at the end, but
32511 not the checksum that we don't use.
32512
5c5215d5 32513 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32514 Adjust all callers.
32515
27d5fef7 32516 * kern/ieee1275/openfw.c: Remove libc includes.
32517 * kern/ieee1275/cmain.c: Likewise.
32518 * include/grub/ieee1275/ieee1275.h: Likewise.
32519
33abf7ae 32520 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32521 compiler warnings.
32522
19d50c2b 325232009-06-10 Felix Zielcke <fzielcke@z-51.de>
32524
32525 * Makefile.in: Remove all trailing whitespace.
32526 * conf/i386-pc.rmk: Likewise.
32527 * conf/powerpc-ieee1275.rmk: Likewise.
32528 * conf/sparc64-ieee1275.rmk: Likewise.
32529 * docs/grub.texi: Likewise.
32530 * docs/texinfo.tex: Likewise.
32531 * disk/fs_uuid.c: Likewise.
32532 * disk/lvm.c: Likewise.
32533 * disk/scsi.c: Likewise.
32534 * disk/ata.c: Likewise.
32535 * disk/ieee1275/ofdisk.c: Likewise.
32536 * disk/i386/pc/biosdisk.c: Likewise.
32537 * disk/host.c: Likewise.
32538 * disk/raid.c: Likewise.
32539 * disk/efi/efidisk.c: Likewise.
32540 * disk/usbms.c: Likewise.
32541 * disk/memdisk.c: Likewise.
32542 * disk/loopback.c: Likewise.
32543 * kern/powerpc/dl.c: Likewise.
32544 * kern/device.c: Likewise.
32545 * kern/dl.c: Likewise.
32546 * kern/sparc64/dl.c: Likewise.
32547 * kern/ieee1275/ieee1275.c: Likewise.
32548 * kern/term.c: Likewise.
32549 * kern/fs.c: Likewise.
32550 * kern/i386/dl.c: Likewise.
32551 * kern/i386/pc/startup.S: Likewise.
32552 * kern/i386/pc/init.c: Likewise.
32553 * kern/i386/pc/mmap.c: Likewise.
32554 * kern/i386/pc/lzo1x.S: Likewise.
32555 * kern/i386/ieee1275/init.c: Likewise.
32556 * kern/i386/realmode.S: Likewise.
32557 * kern/i386/tsc.c: Likewise.
32558 * kern/partition.c: Likewise.
32559 * kern/corecmd.c: Likewise.
32560 * kern/file.c: Likewise.
32561 * kern/efi/efi.c: Likewise.
32562 * kern/efi/init.c: Likewise.
32563 * kern/efi/mm.c: Likewise.
32564 * kern/main.c: Likewise.
32565 * kern/err.c: Likewise.
32566 * kern/env.c: Likewise.
32567 * kern/disk.c: Likewise.
32568 * kern/generic/millisleep.c: Likewise.
32569 * kern/generic/rtc_get_time_ms.c: Likewise.
32570 * kern/misc.c: Likewise.
32571 * kern/parser.c: Likewise.
32572 * genmk.rb: Likewise.
32573 * configure.ac: Likewise.
32574 * boot/i386/pc/diskboot.S: Likewise.
32575 * boot/i386/pc/pxeboot.S: Likewise.
32576 * boot/i386/pc/boot.S: Likewise.
32577 * boot/i386/pc/lnxboot.S: Likewise.
32578 * boot/i386/pc/cdboot.S: Likewise.
32579 * parttool/pcpart.c: Likewise.
32580 * video/readers/tga.c: Likewise.
32581 * video/video.c: Likewise.
32582 * video/bitmap.c: Likewise.
32583 * lib/envblk.c: Likewise.
32584 * lib/i386/setjmp.S: Likewise.
32585 * fs/xfs.c: Likewise.
32586 * fs/afs.c: Likewise.
32587 * fs/fat.c: Likewise.
32588 * fs/ntfs.c: Likewise.
32589 * fs/udf.c: Likewise.
32590 * fs/affs.c: Likewise.
32591 * fs/iso9660.c: Likewise.
32592 * fs/hfs.c: Likewise.
32593 * fs/fshelp.c: Likewise.
32594 * fs/ext2.c: Likewise.
32595 * fs/jfs.c: Likewise.
32596 * fs/reiserfs.c: Likewise.
32597 * fs/hfsplus.c: Likewise.
32598 * fs/minix.c: Likewise.
32599 * fs/cpio.c: Likewise.
32600 * fs/sfs.c: Likewise.
32601 * fs/ufs.c: Likewise.
32602 * efiemu/prepare.c: Likewise.
32603 * efiemu/loadcore_common.c: Likewise.
32604 * efiemu/runtime/efiemu.sh: Likewise.
32605 * efiemu/runtime/efiemu.S: Likewise.
32606 * efiemu/runtime/efiemu.c: Likewise.
32607 * efiemu/pnvram.c: Likewise.
32608 * efiemu/main.c: Likewise.
32609 * efiemu/i386/pc/cfgtables.c: Likewise.
32610 * efiemu/i386/loadcore64.c: Likewise.
32611 * efiemu/i386/loadcore32.c: Likewise.
32612 * efiemu/loadcore.c: Likewise.
32613 * efiemu/symbols.c: Likewise.
32614 * efiemu/mm.c: Likewise.
32615 * include/grub/autoefi.h: Likewise.
32616 * include/grub/datetime.h: Likewise.
32617 * include/grub/term.h: Likewise.
32618 * include/grub/hfs.h: Likewise.
32619 * include/grub/lvm.h: Likewise.
32620 * include/grub/i386/tsc.h: Likewise.
32621 * include/grub/i386/linux.h: Likewise.
32622 * include/grub/i386/xnu.h: Likewise.
32623 * include/grub/i386/efiemu.h: Likewise.
32624 * include/grub/i386/pc/biosdisk.h: Likewise.
32625 * include/grub/i386/pc/memory.h: Likewise.
32626 * include/grub/i386/pc/vbe.h: Likewise.
32627 * include/grub/parttool.h: Likewise.
32628 * include/grub/video.h: Likewise.
32629 * include/grub/memory.h: Likewise.
32630 * include/grub/fs.h: Likewise.
32631 * include/grub/partition.h: Likewise.
32632 * include/grub/xnu.h: Likewise.
32633 * include/grub/efi/api.h: Likewise.
32634 * include/grub/efi/pe32.h: Likewise.
32635 * include/grub/efi/memory.h: Likewise.
32636 * include/grub/multiboot.h: Likewise.
32637 * include/grub/usbdesc.h: Likewise.
32638 * include/grub/multiboot2.h: Likewise.
32639 * include/grub/acpi.h: Likewise.
32640 * include/grub/efiemu/efiemu.h: Likewise.
32641 * include/grub/disk.h: Likewise.
32642 * include/grub/ieee1275/ieee1275.h: Likewise.
32643 * include/grub/net.h: Likewise.
32644 * include/grub/machoload.h: Likewise.
32645 * include/grub/macho.h: Likewise.
32646 * include/multiboot.h: Likewise.
32647 * genmoddep.awk: Likewise.
32648 * normal/main.c: Likewise.
32649 * normal/menu_entry.c: Likewise.
32650 * normal/menu_viewer.c: Likewise.
32651 * normal/completion.c: Likewise.
32652 * normal/cmdline.c: Likewise.
32653 * normal/misc.c: Likewise.
32654 * normal/datetime.c: Likewise.
32655 * bus/usb/usbtrans.c: Likewise.
32656 * bus/usb/ohci.c: Likewise.
32657 * bus/usb/uhci.c: Likewise.
32658 * bus/usb/usb.c: Likewise.
32659 * mmap/efi/mmap.c: Likewise.
32660 * mmap/i386/pc/mmap_helper.S: Likewise.
32661 * mmap/i386/pc/mmap.c: Likewise.
32662 * mmap/i386/mmap.c: Likewise.
32663 * mmap/i386/uppermem.c: Likewise.
32664 * mmap/mmap.c: Likewise.
32665 * commands/acpi.c: Likewise.
32666 * commands/echo.c: Likewise.
32667 * commands/blocklist.c: Likewise.
32668 * commands/loadenv.c: Likewise.
32669 * commands/usbtest.c: Likewise.
32670 * commands/boot.c: Likewise.
32671 * commands/parttool.c: Likewise.
32672 * commands/search.c: Likewise.
32673 * commands/cat.c: Likewise.
32674 * commands/i386/pc/play.c: Likewise.
32675 * commands/i386/pc/drivemap.c: Likewise.
32676 * commands/i386/pc/vbeinfo.c: Likewise.
32677 * commands/i386/pc/acpi.c: Likewise.
32678 * commands/i386/pc/vbetest.c: Likewise.
32679 * commands/ls.c: Likewise.
32680 * commands/cmp.c: Likewise.
32681 * commands/test.c: Likewise.
32682 * commands/efi/acpi.c: Likewise.
32683 * commands/gptsync.c: Likewise.
32684 * commands/help.c: Likewise.
32685 * partmap/amiga.c: Likewise.
32686 * partmap/apple.c: Likewise.
32687 * partmap/acorn.c: Likewise.
32688 * partmap/pc.c: Likewise.
32689 * partmap/sun.c: Likewise.
32690 * partmap/gpt.c: Likewise.
32691 * script/sh/lexer.c: Likewise.
32692 * script/sh/function.c: Likewise.
32693 * font/font.c: Likewise.
32694 * font/font_cmd.c: Likewise.
32695 * loader/powerpc/ieee1275/linux.c: Likewise.
32696 * loader/efi/chainloader.c: Likewise.
32697 * loader/multiboot_loader.c: Likewise.
32698 * loader/macho.c: Likewise.
32699 * loader/i386/multiboot.c: Likewise.
32700 * loader/i386/linux.c: Likewise.
32701 * loader/i386/pc/linux.c: Likewise.
32702 * loader/i386/pc/multiboot2.c: Likewise.
32703 * loader/i386/pc/chainloader.c: Likewise.
32704 * loader/i386/pc/xnu.c: Likewise.
32705 * loader/i386/bsd_trampoline.S: Likewise.
32706 * loader/i386/efi/linux.c: Likewise.
32707 * loader/i386/multiboot_elfxx.c: Likewise.
32708 * loader/i386/bsd_helper.S: Likewise.
32709 * loader/i386/bsd.c: Likewise.
32710 * loader/i386/linux_trampoline.S: Likewise.
32711 * loader/i386/xnu_helper.S: Likewise.
32712 * loader/i386/xnu.c: Likewise.
32713 * loader/i386/bsd_pagetable.c: Likewise.
32714 * loader/i386/multiboot_helper.S: Likewise.
32715 * loader/xnu.c: Likewise.
32716 * loader/xnu_resume.c: Likewise.
32717 * io/gzio.c: Likewise.
32718 * term/efi/console.c: Likewise.
32719 * term/terminfo.c: Likewise.
32720 * term/ieee1275/ofconsole.c: Likewise.
32721 * term/i386/pc/serial.c: Likewise.
32722 * term/i386/pc/vesafb.c: Likewise.
32723 * term/i386/pc/vga.c: Likewise.
32724 * term/usb_keyboard.c: Likewise.
32725 * term/gfxterm.c: Likewise.
32726 * aclocal.m4: Likewise.
32727 * util/lvm.c: Likewise.
32728 * util/grub.d/30_os-prober.in: Likewise.
32729 * util/grub.d/10_hurd.in: Likewise.
32730 * util/console.c: Likewise.
32731 * util/grub-macho2img.c: Likewise.
32732 * util/grub-probe.c: Likewise.
32733 * util/hostfs.c: Likewise.
32734 * util/i386/pc/grub-mkimage.c: Likewise.
32735 * util/i386/pc/grub-setup.c: Likewise.
32736 * util/i386/efi/grub-mkimage.c: Likewise.
32737 * util/grub-mkconfig.in: Likewise.
32738 * util/raid.c: Likewise.
32739 * util/resolve.c: Likewise.
32740 * util/grub-mkdevicemap.c: Likewise.
32741 * util/grub-emu.c: Likewise.
32742 * util/getroot.c: Likewise.
32743 * util/hostdisk.c: Likewise.
32744 * util/usb.c: Likewise.
32745 * util/grub-editenv.c: Likewise.
32746 * util/misc.c: Likewise.
32747
d2d49665 327482009-06-10 Felix Zielcke <fzielcke@z-51.de>
32749
32750 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32751 `genparttoollist.sh'.
32752 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32753 Add `*.sh' to the list find searches for and change `mdate.sh'
32754 to `mdate-sh'.
32755
fe052e37 327562009-06-10 Pavel Roskin <proski@gnu.org>
32757
2763ac18 32758 * include/grub/multiboot2.h: Provide compatibility defines for
32759 multiboot2.h.
32760 * include/multiboot2.h: Include stdint.h only if needed, using
32761 angle brackets.
32762 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32763 grub/multiboot2.h.
32764 * loader/ieee1275/multiboot2.c: Likewise.
32765 * loader/multiboot2.c: Likewise.
32766 * loader/multiboot_loader.c: Likewise.
32767
437e6adc 32768 * configure.ac: Use -nostdlib when probing for the target. It
32769 should not be required to have libc for the target.
32770
06a6836c 32771 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32772 they fail without libc headers for the target.
32773 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32774 exports.
32775 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32776 preprocessor conditionals.
32777
fe052e37 32778 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32779 build system doesn't need to be aware of the tar.c internals.
32780
afd22553 327812009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32782
afd22553 32783 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32784
6b787c4f 327852009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32786
32787 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32788 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32789
327902009-06-09 Felix Zielcke <fzielcke@z-51.de>
32791
32792 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32793 aren't available if ata.mod gets used.
6b787c4f 32794
473d1e45 327952009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32796
473d1e45 32797 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32798 initialising controller.
473d1e45 32799 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32800
255a27d4 328012009-06-08 Felix Zielcke <fzielcke@z-51.de>
32802
32803 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32804 to choose between ata and biosdisk module on i386-pc.
32805
473d1e45 328062009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32807
d55842d8 32808 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32809 Subclass and Programming Interface fields in terms of the 3 byte
32810 Class Code register.
32811 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32812
fa5db0b1 32813 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32814 interface is OHCI. Add grub_dprintf for symmetry with
32815 bus/usb/uhci.c.
32816 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32817 interface is UHCI. Add interf variable for programming
32818 interface. Print interface with class/subclass.
32819
c0947beb 32820 * bus/usb/ohci.c: Set interf with correct field.
32821
69da8877 32822 * bus/usb/uhci.c: Remove unneeded doubled lines.
32823 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32824 Remove whitespace inside comment.
32825
9e172e30 328262009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32827
32828 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32829 as fallback an equivalent option without depth.
32830
de65ee2b 328312009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32832
32833 Not fail if unable to retrieve C/H/S on LBA disks
32834
473d1e45 32835 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32836 if unable to retrieve C/H/S on LBA disks
32837
b57ea2c9 328382009-06-08 Pavel Roskin <proski@gnu.org>
32839
32840 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32841 about aliasing.
32842
af361263 328432009-06-08 Felix Zielcke <fzielcke@z-51.de>
32844
32845 * Makefile.in (uninstall): Remove all $lib_DATA files.
32846
4c9ec6b3 328472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32848
32849 Bugfix: install on partitionless device
32850
32851 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32852 is a whole disk
32853
e76fc924 328542009-06-08 Felix Zielcke <fzielcke@z-51.de>
32855
32856 * Makefile.in (uninstall): Remove all $include_DATA files.
32857
ba5a0d05 328582009-06-08 Felix Zielcke <fzielcke@z-51.de>
32859
32860 * commands/true.c: New file. Implement the true and false commands.
32861 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32862 (true_mod_SOURCES): New variable.
32863 (true_mod_CFLAGS): Likewise.
32864 (true_mod_LDFLAGS): Likewise.
32865
c8048e32 328662009-06-05 Colin D Bennett <colin@gibibit.com>
32867
32868 Optimized font character lookup using binary search instead of linear
32869 search. Fonts now are required to have the character index ordered by
32870 code point.
32871
32872 * font/font.c (load_font_index): Verify that fonts have ordered
32873 character indices.
32874 (find_glyph): Use binary search instead of linear search to find a
32875 character in a font.
32876
408305be 328772009-06-05 Michael Scherer <misc@mandriva.org>
32878
32879 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32880 uses case sensitive btree.
32881 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32882 only for case insensitive filesystems.
32883
8ee1e0d9 328842009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32885
32886 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32887 * conf/common.rmk (search_mod_CFLAGS): likewise
32888
a9966eb1 328892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32890
473d1e45 32891 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32892 compensate a compiler bug
32893
9e7100fb 328942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32895
473d1e45 32896 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32897 instead of '\b'
473d1e45 32898
ede21d71 328992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32900
32901 Definitions for creating asm symbols with Apple's CC
32902
32903 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32904 [APPLE_CC] (VARIABLE): likewise
32905
9dbf7653 329062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32907
32908 Disable lnxboot.img when compiled
32909 with Apple's CC
32910
32911 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32912 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32913 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32914 [! APPLE_CC] (CODE_LENG): skip
32915 [! APPLE_CC] (setup_sects): likewise
32916 [! APPLE_CC]: skip filling
473d1e45 32917
e93cdc3d 329182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32919
32920 Address in trampolines based on 32-bit registers when compiled
32921 with Apple's CC
32922
473d1e45 32923 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32924 for addresses
32925 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32926
6c688477 329272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32928
32929 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32930
32931 * kern/misc.c [APPLE_CC] (memcpy): new function
32932 [APPLE_CC] (memmove): likewise
32933 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32934 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32935 (memset): likewise
32936 (abort): likewise
32937 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32938 APPLE_CC are defined
32939 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32940 (grub_assert_fail): make prototype conditional
32941
e37ffc5c 329422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32943
32944 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32945
473d1e45 32946 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32947 grub-macho2img
e37ffc5c 32948 (CLEANFILES): add grub-macho2img
32949 (grub_macho2img_SOURCES): new variable
32950 * kern/i386/pc/startup.S (bss_start): new variable
32951 (bss_end): likewise
32952 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32953 * util/grub-macho2img.c: new file
32954
cf00df31 329552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32956
32957 Use objconv when compiling with Apple's CC
32958
32959 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32960 (efiemu64.o): likewise
32961 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32962 when compiling with Apple's CC
32963 (efiemu64_s.o): likewise
32964 * configure.ac: check for objconv when compiling with Apple's CC
32965 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32966
d119a20c 329672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32968
32969 Define segment as well as section when compiling with
32970 Apple's CC
32971
32972 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32973 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32974 (efiemu_convert_pointer): likewise
32975 (efiemu_set_virtual_address_map): likewise
32976 (efiemu_convert_pointer): likewise
32977 (efiemu_getcrc32): likewise
32978 (init_crc32_table): likewise
32979 (reflect): likewise
32980 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32981 (GRUB_MOD_DEP): likewise
473d1e45 32982
c8600122 329832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32984
32985 Allow a compilation without -mcmodel=large
32986
32987 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32988 when compiled without -mcmodel=large
473d1e45 32989 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32990 without -mcmodel=large
473d1e45 32991 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32992 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32993
e8df1d4e 329942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32995
32996 Remove nested functions in efiemu core
32997
32998 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32999
cc6c3ac1 330002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33001
33002 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33003
33004 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33005 temporary storage
473d1e45 33006 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33007 using Apple's CC
cc6c3ac1 33008 (grub_cpu_is_tsc_supported): likewise
33009 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33010
3e325901 330112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33012
33013 Absolute addressing through constant with Apple's cc
33014
33015 * kern/i386/pc/startup.S: Define necessary constants
33016 and address through it when using ABS with Apple's CC
33017 * boot/i386/pc/diskboot.S: likewise
33018 * boot/i386/pc/boot.S: likewise
33019 * boot/i386/pc/lnxboot.S: likewise
33020 * boot/i386/pc/cdboot.S: likewise
33021 * mmap/i386/pc/mmap_helper.S: likewise
33022 * commands/i386/pc/drivemap_int13h.S: likewise
33023
2b167a72 330242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33025
33026 Check if compiler is apple cc
33027
33028 * Makefile.in (ASFLAGS): new variable
33029 (TARGET_ASFLAGS): likewise
33030 (TARGET_MODULE_FORMAT): likewise
33031 (TARGET_APPLE_CC): likewise
33032 (OBJCONV): likewise
33033 (TARGET_IMG_CFLAGS): likewise
33034 (TARGET_CPPFLAGS): add includedir
33035 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33036 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33037 Check for linker script only if compiler isn't Apple's CC
33038 (TARGET_MODULE_FORMAT): set
33039 (TARGET_APPLE_CC): likewise
33040 (TARGET_ASFLAGS): likewise
33041 (ASFLAGS): likewise
33042 Check for objcopy only if compiler isn't Apple's CC
33043 Check for BSS symbol only if compiler isn't Apple's CC
33044 * genmk.rb: adapt nm options if we use Apple's utils
33045 * aclocal.m4 (grub_apple_cc): new test
33046 (grub_apple_target_cc): likewise
473d1e45 33047
fb14123e 330482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33049
33050 Simplify sed expressions and improve awk
33051
33052 * Makefile.in (install-local): simplify sed expression
33053 * gencmdlist.sh: likewise
33054 * genmoddep.awk: avoid adding module as a dependency of itself
33055
5b889789 330562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33057
33058 Add missing start symbols
33059
33060 * boot/i386/pc/boot.S: add start
fb14123e 33061 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33062
fd2bf2e3 330632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33064
33065 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33066
33067 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33068 (relocate_addresses): consider both r_addend and value at offset
33069 (make_mods_section): zerofill modinfo and header
33070 (convert_elf): write prefix here
473d1e45 33071
5389763d 330722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33073
33074 Use .asciz instead of .string
33075
33076 * i386/pc/diskboot.S: use .asciz instead of .string
33077 * i386/pc/boot.S: likewise
33078 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33079 (GRUB_MOD_NAME): likewise
473d1e45 33080
3eb5ed4e 330812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33082
33083 gfxpayload support
33084
33085 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33086 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33087 (grub_video_setup): remove
33088 (grub_video_set_mode): new prototype
33089 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33090 (vid_mode): remove
33091 (linux_vesafb_res): compile only on PCBIOS
33092 (grub_linux_boot): support gfxpayload
33093 * loader/i386/pc/xnu.c (video_hook): new function
33094 (grub_xnu_set_video): support gfxpayload
33095 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33096 (DEFAULT_VIDEO_HEIGHT): likewise
33097 (DEFAULT_VIDEO_FLAGS): likewise
33098 (DEFAULT_VIDEO_MODE): new definition
33099 (video_hook): new function
33100 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33101 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33102 loading xnu
33103 * video/video.c (grub_video_setup): removed
473d1e45 33104 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33105 grub_video_setup
33106
4b0e1143 331072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33108
33109 Avoid calling biosdisk in drivemap
33110
33111 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33112 (revparse_biosdisk): likewise
33113 (list_mappings): derive name from id directly
33114 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33115
fda6cb98 331162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33117
33118 Script fixes
33119
33120 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33121 (grub_lexer_param): add tokenonhold
33122 (grub_script_create_cmdline): remove cmdline. All callers updated
33123 (grub_script_function_create): make functionname
33124 grub_script_arg. All callers updated
33125 (grub_script_execute_argument_to_string): new prototype
33126 * kern/parser.c (state_transitions): reorder
33127 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33128 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33129 make global
33130 (grub_script_execute_cmdline): use new format
33131 * script/sh/function.c (grub_script_function_create): make functionname
33132 grub_script_arg. All callers updated
473d1e45 33133 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33134 (grub_script_yylex): remove
33135 (grub_script_yylex2): renamed to ...
33136 (grub_script_yylex): ...renamed
33137 parse the expressions like a${b}c
33138 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33139 (GRUB_PARSER_TOKEN_VAR): remove
33140 (GRUB_PARSER_TOKEN_NAME): likewise
33141 ("if"): declare as typeless
33142 ("while"): likewise
33143 ("function"): likewise
33144 ("else"): likewise
33145 ("then"): likewise
33146 ("fi"): likewise
33147 (text): remove
33148 (argument): likewise
33149 (script): accept empty scripts and make exit on error
33150 (arguments): use GRUB_PARSER_TOKEN_ARG
33151 (function): likewise
33152 (command): move error handling to script
33153 (menuentry): move grub_script_lexer_ref before
473d1e45 33154 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 33155 argument. All callers updated
33156
f4448a07 331572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33158
33159 Prevent GRUB from probing floppies during boot.
33160
33161 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
33162 * commands/search.c (options): Add --no-floppy.
33163 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
33164 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
33165 --no-floppy when searching for UUIDs.
33166
2bf5885a 331672009-06-04 Robert Millan <rmh.grub@aybabtu.com>
33168
33169 Simplify the code duplication in commands/search.c.
33170
33171 * commands/search.c (search_label, search_fs_uuid): Merge into ...
33172 (search_fs): ... this. Update all users.
33173
f6fd460a 331742009-06-03 Felix Zielcke <fzielcke@z-51.de>
33175
33176 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33177
cbb3c83e 331782009-05-28 Pavel Roskin <proski@gnu.org>
33179
57788cfd 33180 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33181 Remove the original symlink explicitly.
33182
cbb3c83e 33183 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33184 just one slash. That's how grub_fshelp_find_file() does it.
33185
cd0d5e30 331862009-05-26 Pavel Roskin <proski@gnu.org>
33187
f0f8bbe2 33188 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33189 to `str'.
33190
cd0d5e30 33191 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33192 possibly unused.
33193
8c2cab51 331942009-05-25 Christian Franke <franke@computer.org>
33195
33196 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33197 register.
33198 (grub_atapi_identify): Add wait after drive select.
33199 (grub_ata_identify): Do more strict status register check before
33200 calling grub_atapi_identify (). Suppress error message if status
33201 register is 0x00 after command failure. Add status register
33202 check after PIO read to avoid bogus identify due to stuck DRQ.
33203 Thanks to Pavel Roskin for testing.
33204 (grub_device_initialize): Remove unsafe status register check.
33205 Thanks to 'phcoder' for problem report and patch.
33206 Prevent sign extension in debug message.
33207
230c0ad6 332082009-05-23 Colin D Bennett <colin@gibibit.com>
33209
33210 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33211 definition file, and functions defined in `normal/menu.c' have had
33212 their prototypes moved to `include/grub/menu.h' for consistency.
33213
33214 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33215 from normal.h.
33216 (grub_menu_get_entry): Likewise.
33217 (grub_menu_get_timeout): Likewise.
33218 (grub_menu_set_timeout): Likewise.
33219 (grub_menu_execute_entry): Likewise.
33220 (grub_menu_execute_with_fallback): Likewise.
33221 (grub_menu_entry_run): Likewise.
33222
33223 * include/grub/normal.h: Re-ordered and grouped function
33224 prototypes by file that the function is defined in.
33225 (grub_menu_execute_callback): Removed; moved to menu.h.
33226 (grub_menu_get_entry): Likewise.
33227 (grub_menu_get_timeout): Likewise.
33228 (grub_menu_set_timeout): Likewise.
33229 (grub_menu_execute_entry): Likewise.
33230 (grub_menu_execute_with_fallback): Likewise.
33231 (grub_menu_entry_run): Likewise.
33232 (grub_menu_addentry): Renamed from this ...
33233 (grub_normal_add_menu_entry): ... to this.
33234
33235 * normal/main.c (grub_menu_addentry): Renamed from this ...
33236 (grub_normal_add_menu_entry): ... to this.
33237
33238 * script/sh/execute.c (grub_script_execute_menuentry): Update
33239 reference to renamed grub_menu_addentry function.
33240
861f03a5 332412009-05-23 Felix Zielcke <fzielcke@z-51.de>
33242
33243 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33244
96b1619a 332452009-05-22 Pavel Roskin <proski@gnu.org>
33246
bf6a5fb2 33247 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33248 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33249 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33250 compiling for the i386 targets, but not for the utilities.
33251
96b1619a 33252 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33253 to grub_uint8_t.
33254 (grub_root_drive): Likewise.
33255 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33256 remove alignment.
33257 (grub_root_drive): Change size to byte.
33258 (grub_start_addr): Remove.
33259 (grub_end_addr): Likewise.
33260 (grub_apm_bios_info): Likewise.
33261
b729776b 332622009-05-21 Felix Zielcke <fzielcke@z-51.de>
33263
33264 * normal/i386: Remove.
33265 * normal/powerpc: Likewise.
33266 * normal/sparc64: Likewise.
33267 * normal/x86_64: Likewise.
33268
0a15ce80 332692009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33270
33271 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33272 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33273 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33274
33db9015 332752009-05-18 Colin D Bennett <colin@gibibit.com>
33276
d6da58e6 33277 Display error messages when parsing a Lua statement fails.
33278 Previously, executing a syntactically invalid statement like
33279 ")foo" or "bar;" would silently fail.
33db9015 33280
33281 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33282 (grub_lua_parse_line): Improved reporting of Lua parser and
33283 execution errors.
33db9015 33284
46422c89 332852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33286
33287 Remove -Werror which causes build to fail on some systems
33288
33289 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33290 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33291 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33292
22f53a96 332932009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33294
33295 trampoline for linux on 64-bit platform
33296
18f547ad 33297 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33298 loader/i386/efi/linux_trampoline.S
33299 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33300 declaration
d6da58e6 33301 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33302 here
22f53a96 33303 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33304 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33305 trampoline
22f53a96 33306 (jumpvector): removed
33307 (grub_linux_trampoline_start): new declaration
33308 (grub_linux_trampoline_end): likewise
33309 (grub_linux_boot): use trampoline when on 64-bit platform
33310 * loader/i386/linux.c: likewise
33311
cb5a0f40 333122009-05-16 Pavel Roskin <proski@gnu.org>
33313
33314 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33315 const to avoid a warning.
33316 (grub_lua_setenv): Likewise.
33317 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33318 lmsg to fix a warning.
33319
334f2c28 333202009-05-16 Felix Zielcke <fzielcke@z-51.de>
33321
33322 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33323 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33324 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33325 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33326 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33327 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33328 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33329 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33330
59e5d3ec 333312009-05-16 Felix Zielcke <fzielcke@z-51.de>
33332
33333 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33334
9d87a1ba 333352009-05-16 Bean <bean123ch@gmail.com>
33336
33337 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33338 (lua_mod_SOURCES): New variable.
33339 (lua_mod_CFLAGS): Likewise.
33340 (lua_mod_LDFLAGS): Likewise.
33341
33342 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33343 (setjmp_mod_SOURCES): New variable.
33344 (setjmp_mod_CFLAGS): Likewise.
33345 (setjmp_LDFLAGS): Likewise.
33346
33347 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33348 (setjmp_mod_SOURCES): New variable.
33349 (setjmp_mod_CFLAGS): Likewise.
33350 (setjmp_LDFLAGS): Likewise.
33351
33352 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33353 (setjmp_mod_SOURCES): New variable.
33354 (setjmp_mod_CFLAGS): Likewise.
33355 (setjmp_LDFLAGS): Likewise.
33356
33357 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33358 (setjmp_mod_SOURCES): New variable.
33359 (setjmp_mod_CFLAGS): Likewise.
33360 (setjmp_LDFLAGS): Likewise.
33361
33362 * normal/i386/setjmp.S: Moved from here ...
33363 * lib/i386/setjmp.S: ... Moved here
33364 * normal/x86_64/setjmp.S: Moved from here ...
33365 * lib/x86_64/setjmp.S: ... Moved here
33366 * normal/powerpc/setjmp.S: Moved from here ...
33367 * lib/powerpc/setjmp.S: ... Moved here
33368 * normal/sparc64/setjmp.S: Moved from here ...
33369 * lib/sparc64/setjmp.S: ... Moved here
33370
33371 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33372 returns_twice in mingw.
33373
33374 * script/lua/grub_lib.c: New file.
33375 * script/lua/grub_lib.h: Likewise.
33376 * script/lua/grub_lua.h: Likewise.
33377 * script/lua/grub_main.c: Likewise.
33378 * script/lua/lapi.c: Likewise.
33379 * script/lua/lapi.h: Likewise.
33380 * script/lua/lauxlib.c: Likewise.
33381 * script/lua/lauxlib.h: Likewise.
33382 * script/lua/lbaselib.c: Likewise.
33383 * script/lua/lcode.c: Likewise.
33384 * script/lua/lcode.h: Likewise.
33385 * script/lua/ldblib.c: Likewise.
33386 * script/lua/ldebug.c: Likewise.
33387 * script/lua/ldebug.h: Likewise.
33388 * script/lua/ldo.c: Likewise.
33389 * script/lua/ldo.h: Likewise.
33390 * script/lua/ldump.c: Likewise.
33391 * script/lua/lfunc.c: Likewise.
33392 * script/lua/lfunc.h: Likewise.
33393 * script/lua/lgc.c: Likewise.
33394 * script/lua/lgc.h: Likewise.
33395 * script/lua/linit.c: Likewise.
33396 * script/lua/liolib.c: Likewise.
33397 * script/lua/llex.c: Likewise.
33398 * script/lua/llex.h: Likewise.
33399 * script/lua/llimits.h: Likewise.
33400 * script/lua/lmathlib.c: Likewise.
33401 * script/lua/lmem.c: Likewise.
33402 * script/lua/lmem.h: Likewise.
33403 * script/lua/loadlib.c: Likewise.
33404 * script/lua/lobject.c: Likewise.
33405 * script/lua/lobject.h: Likewise.
33406 * script/lua/lopcodes.c: Likewise.
33407 * script/lua/lopcodes.h: Likewise.
33408 * script/lua/loslib.c: Likewise.
33409 * script/lua/lparser.c: Likewise.
33410 * script/lua/lparser.h: Likewise.
33411 * script/lua/lstate.c: Likewise.
33412 * script/lua/lstate.h: Likewise.
33413 * script/lua/lstring.c: Likewise.
33414 * script/lua/lstring.h: Likewise.
33415 * script/lua/lstrlib.c: Likewise.
33416 * script/lua/ltable.c: Likewise.
33417 * script/lua/ltable.h: Likewise.
33418 * script/lua/ltablib.c: Likewise.
33419 * script/lua/ltm.c: Likewise.
33420 * script/lua/ltm.h: Likewise.
33421 * script/lua/lua.h: Likewise.
33422 * script/lua/luaconf.h: Likewise.
33423 * script/lua/lualib.h: Likewise.
33424 * script/lua/lundump.c: Likewise.
33425 * script/lua/lundump.h: Likewise.
33426 * script/lua/lvm.c: Likewise.
33427 * script/lua/lvm.h: Likewise.
33428 * script/lua/lzio.c: Likewise.
33429 * script/lua/lzio.h: Likewise.
33430
5e898c9d 334312009-05-16 Bean <bean123ch@gmail.com>
33432
33433 * include/grub/kernel.h (grub_module_header_types): Add type
33434 OBJ_TYPE_CONFIG.
33435
33436 * kern/main.c (grub_load_config): New function.
33437 (grub_main): Call grub_load_config to read boot config.
33438
33439 * grub-mkimage (generate_image): New parameter config_path.
33440 (options): New option --config.
33441 (main): Parse --config option, and pass it to generate_image.
33442
cf353a47 334432009-05-14 Christian Franke <franke@computer.org>
33444
33445 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33446 This fixes build on Cygwin.
33447
3834887f 334482009-05-14 Pavel Roskin <proski@gnu.org>
33449
33450 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33451 jump. This saves two bytes, so the typical case of 2 swapped
33452 drives would fit 32 bytes.
33453
8090fc01 334542009-05-13 Pavel Roskin <proski@gnu.org>
33455
ac963883 33456 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33457 grub_uint32_t to avoid a warning.
33458
8090fc01 33459 * loader/i386/linux.c (allocate_pages): When assigning
33460 real_mode_mem, cast through grub_size_t to fix a warning. The
33461 code already makes sure that the value would fit a pointer.
33462 (grub_linux_setup_video): Cast render_target->data to
33463 grub_size_t to fix a warning.
33464
18f547ad 334652009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33466
33467 * commands/i386/pc/drivemap.c: New file - implement drivemap
33468 command.
33469 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33470 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33471
6f6a8b28 334722009-05-13 Pavel Roskin <proski@gnu.org>
33473
33474 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33475 embedding_area_exists.
33476
15fbf4c4 334772009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33478
33479 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33480 it easier to understand / work with.
59978c8a 33481 Improve warning messages for cases where there's no embedding area,
33482 or when it is too small (or core.img too large).
15fbf4c4 33483
238e871f 334842009-05-13 Pavel Roskin <proski@gnu.org>
33485
0ab3a9a4 33486 * loader/i386/pc/multiboot2.c: Add necessary includes for
33487 grub_multiboot2_real_boot().
33488
a2c8c5f8 33489 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33490 PX record is always little-endian. We only need the lower 2
33491 bytes of the mode.
33492
faec96af 33493 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33494 facilitate code reuse.
33495 (grub_cpio_mount): Use "struct head", not a char buffer. This
33496 fixes a warning reported by gcc 4.4.
33497
238e871f 33498 * kernel/disk.c (grub_disk_read): Use void pointer for the
33499 buffer.
33500 (grub_disk_write): Use const void pointer for the buffer.
33501 Adjust all callers. Remove unnecessary casts.
33502
901d2f0c 335032009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33504
33505 * util/i386/pc/grub-install.in: Update copyright year.
33506
18f547ad 335072009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33508
33509 gptsync
33510
33511 * commands/gptsync.c: new file
33512 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33513 (gptsync_mod_SOURCES): new variable
33514 (gptsync_mod_CFLAGS): likewise
33515 (gptsync_mod_LDFLAGS): likewise
18f547ad 33516 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33517 new definition
33518 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33519 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33520 * conf/i386-ieee1275.rmk: likewise
33521 * conf/i386-pc.rmk: likewise
33522 * conf/powerpc-ieee1275.rmk: likewise
33523
b4ba690a 335242009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33525
33526 Fixed grub-emu
33527
33528 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33529 (grub_dl_ref): likewise
33530
317e1a44 335312009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33532
33533 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33534 split in two functions (one for msdos and one for gpt).
33535
041b8094 335362009-05-08 Pavel Roskin <proski@gnu.org>
33537
752473c2 33538 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33539 not modified.
33540
041b8094 33541 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33542 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33543 Initialize them with -1. Add sanity check for bad1. Eliminate
33544 nerr variable.
33545
172800ce 335462009-05-08 David S. Miller <davem@davemloft.net>
33547
33548 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33549
29aa5e81 335502009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33551
33552 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33553 existence.
29aa5e81 33554
96613b62 335552009-05-05 Felix Zielcke <fzielcke@z-51.de>
33556
33557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33558 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33559
eef73c8a 335602009-05-05 David S. Miller <davem@davemloft.net>
33561
33562 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33563
119494b5 335642009-05-05 Pavel Roskin <proski@gnu.org>
33565
33566 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33567 of grub_dl_ref() and grub_dl_unref().
33568 * commands/parttool.c: Remove preprocessor conditionals around
33569 grub_dl_ref() and grub_dl_unref().
33570 * fs/affs.c: Likewise.
33571 * fs/afs.c: Likewise.
33572 * fs/cpio.c: Likewise.
33573 * fs/ext2.c: Likewise.
33574 * fs/fat.c: Likewise.
33575 * fs/hfs.c: Likewise.
33576 * fs/hfsplus.c: Likewise.
33577 * fs/iso9660.c: Likewise.
33578 * fs/jfs.c: Likewise.
33579 * fs/minix.c: Likewise.
33580 * fs/ntfs.c: Likewise.
33581 * fs/reiserfs.c: Likewise.
33582 * fs/sfs.c: Likewise.
33583 * fs/udf.c: Likewise.
33584 * fs/ufs.c: Likewise.
33585 * fs/xfs.c: Likewise.
33586 * include/grub/dl.h: Likewise.
33587 * loader/xnu.c: Likewise.
33588
de5fd76e 335892009-05-04 Pavel Roskin <proski@gnu.org>
33590
33591 * commands/acpi.c: Remove unused variable my_mod.
33592 * partmap/amiga.c: Likewise.
33593 * partmap/apple.c: Likewise.
33594 * partmap/gpt.c: Likewise.
33595 * partmap/pc.c: Likewise.
33596 * partmap/sun.c: Likewise.
33597 * term/gfxterm.c: Likewise.
33598 * term/i386/pc/vesafb.c: Likewise.
33599 * term/i386/pc/vga.c: Likewise.
33600
983598ad 336012009-05-04 David S. Miller <davem@davemloft.net>
33602
33603 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33604 pointer args to grub_ieee1275_get_property().
33605
8aadec43 33606 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33607
9554b15e 33608 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33609 devices, and do not traverse down under controller nodes.
33610
67e23c90 33611 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33612 (grub_ofdisk_open): Use it to un-escape "," characters.
33613 * kern/disk.c (find_part_sep): New.
33614 (grub_disk_open): Use it to find the first non-escaped ','
33615 character in the disk name.
33616 * util/ieee1275/devicemap.c (escape_of_path): New.
33617 (grub_util_emit_devicemap_entry): Use it.
33618 * util/sparc64/ieee1275/grub-install.in: Update script to
33619 strip partition specifiers properly by not triggering on
33620 '\' escaped ',' characters.
33621
74bfdd2f 336222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33623
33624 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33625 to 0x300.
33626 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33627 resolutions.
33628 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33629 on documentation from Wikipedia).
33630
4241d2b1 336312009-05-04 Pavel Roskin <proski@gnu.org>
33632
33633 * disk/ata.c: Spelling fixes.
33634 * disk/raid.c: Likewise.
33635 * disk/usbms.c: Likewise.
33636 * disk/dmraid_nvidia.c: Likewise.
33637 * kern/ieee1275/openfw.c: Likewise.
33638 * kern/ieee1275/init.c: Likewise.
33639 * kern/ieee1275/cmain.c: Likewise.
33640 * boot/i386/pc/cdboot.S: Likewise.
33641 * video/readers/png.c: Likewise.
33642 * video/i386/pc/vbe.c: Likewise.
33643 * fs/udf.c: Likewise.
33644 * fs/hfs.c: Likewise.
33645 * fs/reiserfs.c: Likewise.
33646 * efiemu/runtime/efiemu.c: Likewise.
33647 * efiemu/main.c: Likewise.
33648 * efiemu/mm.c: Likewise.
33649 * include/grub/elf.h: Likewise.
33650 * include/grub/xnu.h: Likewise.
33651 * include/grub/usbdesc.h: Likewise.
33652 * include/grub/usb.h: Likewise.
33653 * include/grub/script_sh.h: Likewise.
33654 * include/grub/lib/LzmaEnc.h: Likewise.
33655 * include/grub/efiemu/efiemu.h: Likewise.
33656 * include/grub/command.h: Likewise.
33657 * normal/menu.c: Likewise.
33658 * normal/main.c: Likewise.
33659 * normal/datetime.c: Likewise.
33660 * bus/usb/uhci.c: Likewise.
33661 * mmap/i386/uppermem.c: Likewise.
33662 * mmap/mmap.c: Likewise.
33663 * commands/acpi.c: Likewise.
33664 * commands/test.c: Likewise.
33665 * partmap/apple.c: Likewise.
33666 * font/font.c: Likewise.
33667 * loader/sparc64/ieee1275/linux.c: Likewise.
33668 * loader/macho.c: Likewise.
33669 * loader/i386/bsd_trampoline.S: Likewise.
33670 * loader/i386/bsd.c: Likewise.
33671 * loader/xnu.c: Likewise.
33672 * term/i386/pc/vesafb.c: Likewise.
33673 * term/usb_keyboard.c: Likewise.
33674 * util/resolve.c: Likewise.
33675 * util/getroot.c: Likewise.
33676
0cfc0083 336772009-05-04 Felix Zielcke <fzielcke@z-51.de>
33678
33679 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33680
7c1d00cd 336812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33682
33683 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33684 build error.
33685
b01f0548 336862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33687
33688 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33689 parameter only available on BIOS.
33690
ecc3eb22 336912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33692
33693 Removed wrong semicolon in declaration
33694
33695 * grub/misc.h (grub_dprintf): remove semicolon
33696
112972a9 336972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33698
33699 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33700 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33701 is done by grub_cmd_linux() now).
33702 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33703 restore video to text mode.
33704 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33705 indicates lack of "vga=" parameter. "vga=0" is mapped to
33706 `GRUB_LINUX_VID_MODE_NORMAL'.
33707
afd5c115 337082009-05-04 Felix Zielcke <fzielcke@z-51.de>
33709
33710 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33711 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33712 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33713 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33714 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33715 `grub_script.tab.c'.
33716
33717 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33718 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33719 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33720 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33721 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33722
faa517ce 33723 * Makefile.in: Remove duplicated 2008 in Copyright line.
33724
ae0c0bdc 337252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33726
473d1e45 33727 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33728 unconditionally.
33729 * include/grub/util/misc.h (grub_util_warn): New declaration.
33730
33731 * util/i386/pc/grub-install.in: Understand --force and pass it down
33732 to grub-setup.
33733
33734 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33735 down to setup().
33736 (setup): Improve error messages and add warnings when requested to
33737 install in odd layouts. Refuse to install using blocklists unless
33738 --force was set.
33739
18f547ad 337402009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33741
33742 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33743
6d260daa 337442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33745
33746 Updated copyright year
33747
33748 * fs/hfsplus.c: updated copyright year
18f547ad 33749
69f853f8 337502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33751
33752 HFS+ UUID
33753
18f547ad 33754 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33755 in the space previously used by unused3
33756 (grub_hfsplus_uuid): new function
33757 (grub_hfsplus_fs): added uuid field
33758
4c402e73 337592009-05-03 Pavel Roskin <proski@gnu.org>
33760
33761 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33762 suppress warnings. It's no longer needed.
33763 * disk/host.c: Likewise.
33764 * disk/ata_pthru.c: Likewise.
33765 * disk/loopback.c: Likewise.
33766 * hook/datehook.c: Likewise.
33767 * parttool/pcpart.c: Likewise.
33768 * fs/i386/pc/pxe.c: Likewise.
33769 * fs/ntfscomp.c: Likewise.
33770 * efiemu/main.c: Likewise.
33771 * mmap/mmap.c: Likewise.
33772 * commands/crc.c: Likewise.
33773 * commands/hexdump.c: Likewise.
33774 * commands/hdparm.c: Likewise.
33775 * commands/acpi.c: Likewise.
33776 * commands/echo.c: Likewise.
33777 * commands/minicmd.c: Likewise.
33778 * commands/blocklist.c: Likewise.
33779 * commands/memrw.c: Likewise.
33780 * commands/loadenv.c: Likewise.
33781 * commands/usbtest.c: Likewise.
33782 * commands/lsmmap.c: Likewise.
33783 * commands/boot.c: Likewise.
33784 * commands/parttool.c: Likewise.
33785 * commands/configfile.c: Likewise.
33786 * commands/search.c: Likewise.
33787 * commands/ieee1275/suspend.c: Likewise.
33788 * commands/cat.c: Likewise.
33789 * commands/i386/pc/pxecmd.c: Likewise.
33790 * commands/i386/pc/play.c: Likewise.
33791 * commands/i386/pc/halt.c: Likewise.
33792 * commands/i386/pc/vbeinfo.c: Likewise.
33793 * commands/i386/pc/vbetest.c: Likewise.
33794 * commands/lspci.c: Likewise.
33795 * commands/date.c: Likewise.
33796 * commands/handler.c: Likewise.
33797 * commands/ls.c: Likewise.
33798 * commands/test.c: Likewise.
33799 * commands/cmp.c: Likewise.
33800 * commands/efi/loadbios.c: Likewise.
33801 * commands/efi/fixvideo.c: Likewise.
33802 * commands/halt.c: Likewise.
33803 * commands/help.c: Likewise.
33804 * commands/reboot.c: Likewise.
33805 * hello/hello.c: Likewise.
33806 * script/sh/main.c: Likewise.
33807 * loader/xnu.c: Likewise.
33808 * term/terminfo.c: Likewise.
33809 * term/i386/pc/serial.c: Likewise.
33810 * term/usb_keyboard.c: Likewise.
33811
515b5079 338122009-05-03 David S. Miller <davem@davemloft.net>
33813
33814 * normal/menu.c: Include grub/parser.h
33815
dfc31a22 338162009-05-03 Pavel Roskin <proski@gnu.org>
33817
2fee74f1 33818 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33819 not char*.
33820 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33821 Suggested by Javier Martín <lordhabbit@gmail.com>
33822
dfc31a22 33823 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33824 efiemu??.o doesn't exist.
33825 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33826 copying.
33827
18f547ad 338282009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33829
33830 FreeBSD 64-bit support
33831
18f547ad 33832 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33833 and loader/i386/bsd_trampoline.S
33834 (bsd_mod_ASFLAGS): new variable
33835 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33836 (FREEBSD_MODTYPE_KERNEL64): likewise
33837 (grub_bsd64_trampoline_start): likewise
33838 (grub_bsd64_trampoline_end): likewise
33839 (grub_bsd64_trampoline_selfjump): likewise
33840 (grub_bsd64_trampoline_gdt): likewise
33841 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33842 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33843 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33844 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33845 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33846 of "attrib" member
33847 * loader/i386/bsd_pagetable.c: new file
33848 * loader/i386/bsd_trampoline.S: likewise
33849 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33850 (ALIGN_VAR): likewise
33851 (entry_hi): new variable
33852 (kern_end_mdofs): likewise
33853 (is_64bit): likewise
33854 (grub_freebsd_add_meta): use ALIGN_VAR
33855 (grub_e820_mmap): new declaration
33856 (grub_freebsd_add_mmap): new function
33857 (grub_freebsd_add_meta_module): support 64 bit kernels
33858 (grub_freebsd_list_modules): use ALIGN_VAR
33859 (gdt_descriptor): new declaration
33860 (grub_freebsd_boot): support 64 bit kernels
33861 (grub_bsd_elf64_hook): new function
33862 (grub_bsd_load_elf): support elf64
33863
038c5720 338642009-05-03 Bean <bean123ch@gmail.com>
33865
33866 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33867 after we get the result of if statement.
33868
fc45fb58 338692009-05-03 Bean <bean123ch@gmail.com>
33870
33871 * Makefile.in (enable_efiemu): New variable.
33872
33873 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33874 set.
33875 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33876 path.
33877 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33878 path, add -mno-red-zone option.
33879 (efiemu64_s.o): Likewise.
33880 (efiemu64.o): Use macro $^ for source file.
33881
33882 * configure.ac (--enable-efiemu): New option.
33883
bbee0f2b 338842009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33885
33886 xnu support
33887
33888 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33889 (pkglib_MODULES): add xnu.mod
33890 (xnu_mod_SOURCES): new variable
33891 (xnu_mod_CFLAGS): likewise
33892 (xnu_mod_LDFLAGS): likewise
33893 (xnu_mod_ASFLAGS): likewise
33894 * conf/i386-pc.rmk: likewise
33895 * conf/x86_64-efi.rmk: likewise
7dd4a573 33896 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33897 new declaration
33898 * include/grub/i386/macho.h: new file
33899 * include/grub/i386/xnu.h: likewise
33900 * include/grub/macho.h: likewise
33901 * include/grub/machoload.h: likewise
33902 * include/grub/x86_64/macho.h: likewise
33903 * include/grub/x86_64/xnu.h: likewise
33904 * include/grub/xnu.h: likewise
33905 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33906 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33907 * loader/i386/efi/xnu.c: new file
33908 * loader/i386/pc/xnu.c: likewise
33909 * loader/i386/xnu.c: likewise
33910 * loader/i386/xnu_helper.S: likewise
33911 * loader/macho.c: likewise
33912 * loader/xnu.c: likewise
33913 * loader/xnu_resume.c: likewise
33914 * util/grub-dumpdevtree: likewise
33915 * include/grub/i386/pit.h: include grub/err.h
33916 (grub_pit_wait): export
33917 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33918
5caf964d 339192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33920
33921 Efiemu
7dd4a573 33922
5caf964d 33923 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33924 _linux_efi, linux_efi.
33925 new files in grub-emu
5caf964d 33926 new targets efiemu32.o and efiemu64.o
33927 * loader/linux_normal_efiemu.c: likewise
33928 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33929 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33930 files to copy
33931 * include/grub/autoefi.h: new file
7dd4a573 33932 * include/grub/i386/efiemu.h: likewise
5caf964d 33933 * include/grub/i386/pc/efiemu.h: likewise
33934 * include/grub/efi/api.h: add LL suffix when necessary
33935 new definitions relating to tables
33936 * include/grub/efiemu/efiemu.h: new file
33937 * include/grub/efiemu/runtime.h: likewise
33938 * efiemu/prepare.c: likewise
33939 * efiemu/loadcore_common.c: likewise
33940 * efiemu/loadcore64.c: likewise
33941 * efiemu/runtime/efiemu.sh: likewise
33942 * efiemu/runtime/efiemu.S: likewise
33943 * efiemu/runtime/efiemu.c: likewise
33944 * efiemu/runtime/config.h: likewise
33945 * efiemu/prepare32.c: likewise
33946 * efiemu/main.c: likewise
33947 * efiemu/modules/pnvram.c: likewise
33948 * efiemu/modules/i386: likewise
33949 * efiemu/modules/i386/pc: likewise
33950 * efiemu/modules/acpi.c: likewise
33951 * efiemu/i386/pc/cfgtables.c: likewise
33952 * efiemu/i386/loadcore64.c: likewise
33953 * efiemu/i386/loadcore32.c: likewise
33954 * efiemu/prepare64.c: likewise
33955 * efiemu/loadcore.c: likewise
33956 * efiemu/symbols.c: likewise
33957 * efiemu/mm.c: likewise
33958 * efiemu/loadcore32.c: likewise
7dd4a573 33959
339602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33961
33962 ACPI spoofing
33963
33964 * commands/acpi.c: new file
33965 * commands/i386/pc/acpi.c: likewise
33966 * commands/efi/acpi.c: likewise
33967 * include/grub/acpi.h: likewise
33968 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33969 (acpi_mod_SOURCES): new variable
33970 (acpi_mod_CFLAGS): likewise
33971 (acpi_mod_LDFLAGS): likewise
33972 * conf/i386-efi.rmk: likewise
33973 * conf/x86_64-efi.rmk: likewise
33974
7dd4a573 339752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33976
33977 Missing part from mmap patch
33978
33979 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33980 (grub_mmap_unregister)
33981 (grub_mmap_free_and_unregister): use grub_mmap_register
33982
7dd4a573 339832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33984
33985 Mmap services
33986
33987 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33988 * loader/i386/linux.c (find_mmap_size): likewise
33989 (allocate_pages): likewise
33990 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33991 (grub_fill_multiboot_mmap): likewise
33992 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33993 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33994 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33995 (OPENBSD_MMAP_RESERVED): likewise
33996 * include/grub/i386/pc/memory.h: include grub/memory.h
33997 (grub_lower_mem): removed
33998 (grub_upper_mem): likewise
33999 (GRUB_MACHINE_MEMORY_ACPI): new definition
34000 (GRUB_MACHINE_MEMORY_NVS): likewise
34001 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34002 (GRUB_MACHINE_MEMORY_HOLE): likewise
34003 (grub_machine_mmap_register): likewise
34004 (grub_machine_mmap_unregister): likewise
34005 (grub_machine_get_upper): likewise
34006 (grub_machine_get_lower): likewise
34007 (grub_machine_get_post64): likewise
34008 * include/grub/i386/efi/memory.h: new file
34009 * include/grub/x86_64/efi/memory.h: likewise
34010 * include/grub/efi/memory.h: likewise
34011 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34012 (mmap_mod_SOURCES): new variable
34013 (mmap_mod_LDFLAGS): likewise
34014 (mmap_mod_ASFLAGS): likewise
34015 * conf/i386-coreboot.rmk: likewise
34016 * conf/i386-ieee1275.rmk: likewise
34017 * conf/i386-efi.rmk: likewise
34018 * conf/x86_64-efi.rmk: likewise
34019 * include/grub/types.h (UINT_TO_PTR): new macro
34020 (PTR_TO_UINT32): likewise
34021 (PTR_TO_UINT64): likewise
34022 * include/grub/memory.h: new file
34023 * mmap/i386/pc/mmap.c: likewise
34024 * mmap/i386/pc/mmap_helper.S: likewise
34025 * mmap/i386/uppermem.c: likewise
34026 * mmap/mmap.c: likewise
34027 * mmap/efi/mmap.c: likewise
7dd4a573 34028 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34029 grub_upper_mem
34030 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34031 (grub_upper_mem): likewise
34032 (grub_machine_init): don't use grub_upper_mem,
34033 make grub_lower_mem local
34034 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34035 grub_mmap_iterate and grub_mmap_get_upper
34036 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34037
d558e6b5 340382009-05-02 Bean <bean123ch@gmail.com>
34039
34040 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34041 script/sh/parser.y.
34042 (pkglib_MODULES): Add normal.mod and sh.mod.
34043 (normal_SOURCES): New variable.
34044 (normal_mod_CFLAGS): Likewise.
34045 (normal_mod_LDFLAGS): Likewise.
34046 (sh_mod_SOURCES): Likewise.
34047 (sh_mod_CFLAGS): Likewise.
34048 (sh_mod_LDFLAGS): Likewise.
34049
34050 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34051 script/sh/lexer.c_DEPENDENCIES.
34052 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34053 kern/rescue_reader.c and kern/rescue_parser.c.
34054 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34055 (grub_emu_SOURCES): Change source files.
34056 (pkglib_MODULES): Remove normal.mod.
34057 (normal_SOURCES): Removed.
34058 (normal_mod_CFLAGS): Likewise.
34059 (normal_mod_LDFLAGS): Likewise.
34060 * conf/i386-coreboot.rmk: Likewise.
34061 * conf/i386-efi.rmk: Likewise.
34062 * conf/i386-ieee1276.rmk: Likewise.
34063 * conf/powerpc-ieee1275.rmk: Likewise.
34064 * conf/sparc64-ieee1275.rmk: Likewise.
34065 * conf/x86_64-efi.rmk: Likewise.
34066
34067 * include/grub/command.h (grub_command_execute): New inline function.
34068
34069 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34070
34071 * include/grub/normal.h: Remove <grub/setjmp.h>.
34072 (grub_fs_module_list): Moved to normal/autofs.c.
34073 (grub_exit_env): Removed.
34074 (grub_command_execute): Likewise.
34075 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34076 parameter script.
34077 (read_command_list): New function declaration.
34078 (read_fs_list): Likewise.
34079
34080 * include/parser.h: Include <grub/reader.h>.
34081 (grub_parser_split_cmdline): Change type of getline parameter.
34082 (grub_parser): New structure.
34083 (grub_parser_class): New variable.
34084 (grub_parser_execute): New function declaration.
34085 (grub_register_rescue_parser): Likewise.
34086 (grub_parser_register): New inline function.
34087 (grub_parser_unregister): Likewise.
34088 (grub_parser_get_current): Likewise.
34089 (grub_parser_set_current): Likewise.
34090
34091 * include/grub/reader.h: New file.
34092 * kern/reader.c: Likewise.
34093 * kern/rescue_parser.c: Likewise.
34094 * kern/rescue_reader.c: Likewise.
34095 * normal/autofs.c: Likewise.
34096 * normal/dyncmd.c: Likewise.
34097
34098 * include/grub/rescue.h: Removed.
34099 * normal/command.h: Likewise.
34100
34101 * include/grub/script.h: Moved to ...
34102 * include/grub/script_sh.h: ... Moved here.
34103 * normal/execute.c: Moved to ...
34104 * script/sh/execute.c: ... Moved here.
34105 * normal/function.c: Moved to ...
34106 * script/sh/function.c: ... Moved here.
34107 * normal/lexer.c: Moved to ...
34108 * script/sh/lexer.c: ... Moved here.
34109 * normal/parser.y: Moved to ...
34110 * script/sh/parser.y: ... Moved here.
34111 * normal/script.c: Moved to ...
34112 * script/sh/script.c: ... Moved here.
34113
34114 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34115 <grub/reader.h>.
34116 (grub_exit_env): Removed.
34117 (fs_module_list): Moved to normal/autofs.c.
34118 (grub_file_getline): Don't handle comment here.
34119 (free_menu): Skip removed field entry->commands.
34120 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34121 script parameter.
34122 (read_config_file): Removed nested parameter, change getline function.
34123 (grub_enter_normal_mode): Removed.
34124 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34125 (read_command_list): Likewise.
34126 (autoload_fs_module): Moved to normal/autofs.c.
34127 (read_fs_list): Likewise.
34128 (reader_nested): New variable.
34129 (grub_normal_execute): Run parser.sh to switch to sh parser.
34130 (grub_cmd_rescue): Removed.
34131 (cmd_normal): Removed.
34132 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34133 rescue command.
34134 (grub_cmdline_run): New function.
34135 (grub_normal_reader_init): Likewise.
34136 (grub_normal_read_line): Likewise.
34137 (grub_env_write_pager): Likewise.
34138 (cmdline): New variable.
34139 (grub_normal_reader): Likewise.
34140 (GRUB_MOD_INIT): Register normal reader and set as current, register
34141 pager hook, register normal command with grub_register_command_prio,
34142 so that it won't show up in command.lst.
34143 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
34144 grub_fs_autoload_hook.
34145
34146 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
34147 (grub_menu_execute_entry): Replace grub_script_execute with
34148 grub_parser_execute, change parameter to grub_command_execute.
34149
34150 * normal/menu_text.c: Remove <grub/script.h>.
34151
34152 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
34153 and <grub/parser.h>.
34154 (run): Change editor_getline to use new parser interface. Change
34155 parameter to grub_command_execute.
34156
34157 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
34158 <grub/reader.h> and <grub/parser.h>.
34159 (grub_load_normal_mode): Execute normal command.
34160 (grub_main): Call grub_register_core_commands,
34161 grub_register_rescue_parser and grub_register_rescue_reader, use
34162 grub_reader_loop to enter input loop.
34163
7dd4a573 34164 * kern/parser.c (grub_parser_split_cmdline): Change type of
34165 getline parameter.
d558e6b5 34166 (grub_parser_class): New variable.
34167 (grub_parser_execute): New function.
34168
34169 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
34170 * loader/multiboot2.c: Likewise.
34171 * loader/sparc64/ieee1275/linux.c: Likewise.
34172
34173 * util/grub-emu.c (read_command_list): New dummy function.
34174
18db813d 341752009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34176
34177 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34178 count to 16 for CCISS and IDA.
34179
6c67de15 341802009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34181
34182 * normal/menu_text.c (grub_wait_after_message): Print a newline
34183 after waiting for user input.
34184
34185 * loader/i386/linux.c: Include `<grub/normal.h>'.
34186 (grub_cmd_linux): Improve the error message about `ask' mode, by
34187 waiting for user input so it's not missed (we can do this, since
34188 user requested interaction).
34189
d9dc87b0 341902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34191
34192 Added missing lst to grub-mkrescue
34193
34194 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34195 and ${input_dir}/parttool.lst
34196
ac8a2baa 341972009-04-30 David S. Miller <davem@davemloft.net>
34198
ad22a610 34199 * util/hostdisk.c (device_is_wholedisk): New function.
34200 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34201 zero only if device_is_wholedisk() returns true.
34202
6966215d 34203 * util/hostdisk.c (convert_system_partition_to_system_disk):
34204 Handle virtual disk devices named /dev/vdiskX as found on sparc
34205 and powerpc.
34206
ac8a2baa 34207 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34208 lettered partition specifier is found, convert to numbered.
34209
979b4fb4 342102009-04-29 David S. Miller <davem@davemloft.net>
34211
e2bf39b2 34212 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34213 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34214
3c64e104 34215 * normal/command.c: Add missing newline at end of file.
34216
979b4fb4 34217 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34218 warnings.
34219 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34220 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34221 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34222 ihandles have a 32-bit type but need to be stored in a "void *".
34223
136d9f82 342242009-04-28 Pavel Roskin <proski@gnu.org>
34225
9459c306 34226 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34227 not disk. Adjust all dependencies.
2e08a26a 34228 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34229 grub_disk_close().
34230
136d9f82 34231 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34232 parent's partition, don't copy it by reference, as it gets freed
34233 on close.
34234
7dd4a573 342352009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34236
34237 Preboot hooks support
34238
34239 * commands/boot.c (struct grub_preboot_t): new declaration
34240 (preboots_head): new variable
34241 (preboots_tail): likewise
34242 (grub_loader_register_preboot_hook): new function
34243 (grub_loader_unregister_preboot_hook): likewise
34244 (grub_loader_set): launch preboot hooks
34245 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34246 (grub_loader_register_preboot_hook): new declaration
34247 (grub_loader_unregister_preboot_hook): likewise
34248
5af922b5 342492009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34250
34251 Warning fix
34252
7dd4a573 34253 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34254 calling grub_dprintf
34255
a5562c30 342562009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34257
34258 Bug and warning fixes
34259
7dd4a573 34260 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34261 declaration
34262 * commands/test.c (test_parse): fixed bug with file tests and corrected
34263 declaration of find_file
34264
4006f85c 342652009-04-26 Pavel Roskin <proski@gnu.org>
34266
34267 * Makefile.in: Don't install empty manual pages if help2man is
34268 missing. Use help2man option for output, not shell redirection.
34269
5c77c3de 342702009-04-26 David S. Miller <davem@davemloft.net>
34271
34272 * util/grub-mkdevicemap.c (make_device_map): Add missing
34273 NESTED_FUNC_ATTR to process_device().
34274
033b10a8 342752009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34276
34277 Test command
34278
34279 * commands/test.c: rewritten to use bash-like test
34280
e4343593 342812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34282
34283 Parttool autoloading and improvements
34284
7dd4a573 34285 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34286 (parttool.lst): new target
34287 * genmk.rb: generate parttool-*
34288 (CLEANFILES): add #{parttool}
34289 (PARTTOOLFILES): new variable
34290 * genparttoollist.sh: new file
7dd4a573 34291 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34292 (grub_pcpart_type): likewise
34293 * commands/parttool.c (helpmsg): new variable
34294 (grub_cmd_parttool): output help if not enough arguments are supplied
34295 autoload modules
34296 (GRUB_MOD_INIT(parttool)): use helpmsg
34297
0d312500 342982009-04-24 David S. Miller <davem@davemloft.net>
34299
7dd4a573 34300 Avoiding opening same device multiple times in device iterator.
0d312500 34301
34302 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34303 and use it to build a list of partitions in iterate_disk() and
0d312500 34304 iterate_partition().
34305
ac20caff 34306 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34307 on disk->data.
34308
0dcf7495 34309 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34310 grub_devalias_iterate() result instead of unconditional 0.
34311 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34312 Also, capture hook return value, either directly or via
34313 grub_children_iterate(), and propagate to caller.
34314 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34315 grub_children_iterate): Return value is now 'int' instead of
34316 'grub_err_t'.
34317 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34318 like a proper iterator, stopping when hooks return non-zero.
34319 (grub_devalias_iterate): Likewise.
34320
c8c08833 343212009-04-23 David S. Miller <davem@davemloft.net>
34322
34323 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34324
f01005a8 343252009-04-22 David S. Miller <davem@davemloft.net>
34326
34327 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34328 is larger than address_cells, use that value for address_cells too.
34329
4e8269da 34330 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34331 IEEE1275_MAX_PATH_LEN): Define.
34332 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34333 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34334 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34335 'devtype'. Explicitly NULL terminate devalias expansion.
34336
a1447506 34337 * util/sparc64/ieee1275/misc.c: New file.
34338 * util/sparc64/ieee1275/grub-setup.c: New file.
34339 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34340 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34341 * util/sparc64/ieee1275/grub-install.in: New file.
34342 * util/ieee1275/ofpath.c: New file.
34343 * util/ieee1275/devicemap.c: New file.
34344 * util/devicemap.c: New file.
34345 * util/deviceiter.c: New file.
34346 * kern/sparc64/ieee1275/init.c: New file.
34347 * include/grub/util/ofpath.h: New file.
34348 * include/grub/util/deviceiter.h: New file.
34349 * util/grub-mkdevicemap.c: Include deviceiter.h.
34350 Implement using grub_util_emit_devicemap_entry and
34351 grub_util_iterate_devices.
34352 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34353 util/devicemap.c into grub-mkdevicemap
34354 * conf/i386-efi.rmk: Likewise.
34355 * conf/i386-ieee1275.rmk: Likewise.
34356 * conf/i386-pc.rmk: Likewise.
34357 * conf/powerpc-ieee1275.rmk: Likewise.
34358 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34359 images and installation utilities. Build kernel as image
34360 instead of as elf binary. Use common rules as much as possible.
34361
7dd4a573 343622009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34363
34364 Correct GPT definition
34365
7dd4a573 34366 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34367 of "attrib" member
34368
c6c5219f 343692009-04-19 Felix Zielcke <fzielcke@z-51.de>
34370
34371 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34372
0552ff9f 343732009-04-19 David S. Miller <davem@davemloft.net>
34374
34375 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34376 (grub_rescue_cmd_linux): Rename to...
34377 (grub_cmd_linux): and fix prototype.
34378 (grub_rescue_cmd_initrd): Rename to...
34379 (grub_cmd_initrd): and fix prototype.
34380 (cmd_linux, cmd_initrd): New.
34381 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34382 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34383
d1a282fc 343842009-04-17 Pavel Roskin <proski@gnu.org>
34385
07c5039f 34386 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34387 format.
34388 (grub_ohci_transfer): Likewise.
34389
b012002d 34390 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34391
1bc09c35 34392 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34393 return without a value. Fix inconsistent indentation.
34394
e0ff9126 34395 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34396 match struct grub_fs.
34397
d1a282fc 34398 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34399 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34400 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34401 * commands/lspci.c (grub_lspci_iter): Likewise.
34402
a96df3f2 344032009-04-16 Bean <bean123ch@gmail.com>
34404
34405 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34406 value.
34407
41bb0fe9 344082009-04-15 Pavel Roskin <proski@gnu.org>
34409
34410 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34411 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34412 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34413 definitions.
34414
596c6970 344152009-04-15 Felix Zielcke <fzielcke@z-51.de>
34416
34417 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34418 that no multiple data or metadata areas are supported and `Unknown
596c6970 34419 metadata header'.
34420
7dd4a573 344212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34422
34423 Move loader out of the kernel
34424
34425 * kern/loader.c: moved to ...
34426 * commands/boot.c: ... moved here
34427 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34428 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34429 * include/grub/kernel.h (grub_machine_fini): export
34430 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34431 (grub_loader_set): likewise
34432 (grub_loader_unset): likewise
34433 (grub_loader_boot): likewise
34434 * conf/common.rmk: new module boot.mod
34435 (pkglib_MODULES): add boot.mod
34436 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34437 (grub_emu_SOURCES): likewise
34438 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34439 (grub_emu_SOURCES): likewise
34440 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34441 (grub_emu_SOURCES): likewise
34442 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34443 (grub_emu_SOURCES): likewise
34444 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34445 (grub_emu_SOURCES): likewise
7dd4a573 34446 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34447 (grub_emu_SOURCES): likewise
0d5d5653 34448 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34449 (grub_emu_SOURCES): likewise
0d5d5653 34450
7dd4a573 344512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34452
34453 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34454
5999d619 34455 * kern/misc.c (grub_itoa): Removed function
34456 (grub_ltoa): likewise
34457 (grub_vsprintf): use grub_lltoa
34458
7dd4a573 344592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34460
34461 Restore grub-emu
34462
34463 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34464 * conf/i386-coreboot.rmk: likewise
34465 * conf/i386-ieee1275.rmk: likewise
34466 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34467
20318222 344682009-04-15 Felix Zielcke <fzielcke@z-51.de>
34469
34470 * INSTALL: Add that `./autogen.sh' needs to be run before
34471 `./configure.'.
34472
d05f0df3 344732009-04-14 Bean <bean123ch@gmail.com>
34474
34475 * Makefile.in (pkglib_DATA): Add handler.lst.
34476 (handler.lst): New rule.
34477
34478 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34479 * conf/i386-coreboot.rmk: Likewise.
34480 * conf/i386-ieee1275.rmk: Likewise.
34481 * conf/i386-efi.rmk: Likewise.
34482 * conf/x86_64-efi.rmk: Likewise.
34483 * conf/powerpc-ieee1275.rmk: Likewise.
34484 * conf/sparc64-ieee1275.rmk: Likewise.
34485
34486 * genhandlerlist.sh: New file.
34487
34488 * genmk.rb: Add rules to generate handler.lst.
34489
34490 * include/grub/normal.h (grub_file_getline): New function definition.
34491 (read_handler_list): Likewise.
34492 (free_handler_list): Likewise.
34493
34494 * include/grub/term.h (grub_term_register_input): Add name parameter
34495 for auto generation of handler.lst.
34496 (grub_term_register_output): Likewise.
34497
34498 * normal/handler.c: New file.
34499
34500 * normal/main.c (get_line): Renamed to grub_file_getline.
34501 (read_config_file): Use the newly renamed grub_file_getline.
34502 (read_command_list): Likewise.
34503 (read_fs_list): Likewise.
34504 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34505 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34506
34507 * term/efi/console.c (grub_console_init): Add name parameter for auto
34508 generation of handler.lst.
34509 * term/gfxterm.c: Likewise.
34510 * term/i386/pc/at_keyboard.c: Likewise.
34511 * term/i386/pc/console.c: Likewise.
34512 * term/i386/pc/serial.c: Likewise.
34513 * term/i386/pc/vesafb.c: Likewise.
34514 * term/i386/pc/vga.c: Likewise.
34515 * term/i386/pc/vga_text.c: Likewise.
34516 * term/ieee1275/ofconsole.c: Likewise.
34517 * term/usb_keyboard.c: Likewise.
34518
33c846be 345192009-04-14 Bean <bean123ch@gmail.com>
34520
34521 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34522 properly with null character.
34523
4484e01e 345242009-04-14 Felix Zielcke <fzielcke@z-51.de>
34525
34526 * configure: Remove.
34527 * config.h.in: Likewise.
f93d668e 34528 * stamp-h.in: Likewise.
4484e01e 34529 * DISTLIST: Likewise.
34530 * conf/common.mk: Likewise.
34531 * conf/i386-coreboot.mk: Likewise.
34532 * conf/i386-efi.mk: Likewise.
34533 * conf/i386-ieee1275.mk: Likewise.
34534 * conf/i386.mk: Likewise.
34535 * conf/i386-pc.mk: Likewise.
34536 * conf/powerpc-ieee1275.mk: Likewise.
34537 * conf/sparc64-ieee1275.mk: Likewise.
34538 * conf/x86_64-efi.mk: Likewise.
34539
34540 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34541 develop on GRUB.
34542
7dd4a573 345432009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34544 David S. Miller <davem@davemloft.net>
34545
34546 * util/hostdisk.c (make_device_name): Fix buffer length
34547 calculations.
34548
e25b5a8c 345492009-04-14 Felix Zielcke <fzielcke@z-51.de>
34550
34551 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34552 <sys/param.h> and <sys/sysctl.h>.
34553 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34554 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34555 opening the device and reset them afterwards.
34556
1f1f580c 345572009-04-13 Pavel Roskin <proski@gnu.org>
34558
34559 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34560 Reported by John Stanley <jpsinthemix@verizon.net>
34561
7ebc2d6b 345622009-04-13 Robert Millan <rmh@aybabtu.com>
34563
34564 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34565 that name for menuentries when appropriate.
7ebc2d6b 34566
d8ba3667 345672009-04-13 Felix Zielcke <fzielcke@z-51.de>
34568
34569 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34570
cba416eb 345712009-04-13 Robert Millan <rmh@aybabtu.com>
34572
34573 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34574 to Linux, simply abort telling the user it's no longer supported.
34575
a547a745 345762009-04-13 Felix Zielcke <fzielcke@z-51.de>
34577
34578 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34579 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34580 `freebsd_loadenv' only when devices.hints exist.
34581
232a769c 345822009-04-13 Pavel Roskin <proski@gnu.org>
34583
34584 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34585
c3012039 345862009-04-13 Felix Zielcke <fzielcke@z-51.de>
34587
34588 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34589 partition number.
34590 (grub_drive): Likewise.
34591
234022fe 345922009-04-13 David S. Miller <davem@davemloft.net>
34593
34594 * kern/sparc64/ieee1275/ieee1275.c: New file.
34595 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34596 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34597 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34598 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34599 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34600 grub_ieee1275_alloc_physmem): Declare new exported functions.
34601
d8e1836c 34602 * include/grub/sparc64/ieee1275/loader.h: New file.
34603 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34604 * include/grub/sparc64/kernel.h: Likewise.
34605 * loader/sparc64/ieee1275/linux.c: Likewise.
34606
96bd81ec 34607 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34608 (grub_fstest_SOURCES): Likewise.
34609
6a4737e5 34610 * util/hostdisk.c (make_device_name): Do not make any assumptions
34611 about the length of drive names.
34612
1d7a72fd 34613 * kern/dl.c (grub_dl_load_file): Close file immediately when
34614 we are done using it.
34615
56bc2471 346162009-04-12 David S. Miller <davem@davemloft.net>
34617
34618 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34619 values. Noticed by Pavel Roskin.
34620
df38d0bb 34621 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34622 target compiler.
7dd4a573 34623
e382e93a 34624 * genmk.rb: Add more flexible image type specification, also
34625 pass --strip-unneeded to objcopy.
34626 * conf/i386-pc.rmk: Use *_FORMAT.
34627 * conf/i386-pc.mk: Rebuilt.
34628
f5dbbca9 34629 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34630 (OFDISK_HASH_SZ): Define.
34631 (ofdisk_hash): New hash table.
34632 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34633 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34634 instead of device phandle which is not unique.
34635
91c88b12 34636 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34637 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34638 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34639 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34640 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34641 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34642 GRUB_KERNEL_MACHINE_DATA_END): Define.
34643 (grub_kernel_image_size, grub_total_module_size): Declare.
34644
5b5d4aa5 346452009-04-12 Pavel Roskin <proski@gnu.org>
34646
7dd4a573 34647 * configure.ac: Change the logic when we check for target tools.
34648 Do it when the target is specified and it's different from the
34649 specified value of the host.
5b5d4aa5 34650
c91e1793 346512009-04-11 Felix Zielcke <fzielcke@z-51.de>
34652
34653 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34654 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34655 GNU/kFreeBSD. Check if a device is a character device. Use
34656 DIOCGMEDIASIZE to get the size.
34657 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34658 support for GNU/kFreeBSD.
34659 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34660 is a character device instead of a block device. Add support for
34661 FreeBSD device names.
34662
34663 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34664 is a character device instead of a block device.
34665
34666 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34667 is a character device instead of a block device.
34668
b1ac8644 346692009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34670
34671 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34672 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34673 FreeBSD. Check if a device is a character device. Use
34674 DIOCGMEDIASIZE to get the size.
34675 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34676 support for FreeBSD.
34677 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34678 is a character device instead of a block device. Add support for
34679 FreeBSD device names.
34680
34681 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34682 a character device instead of a block device.
34683 (grub_util_check_char_device): New function.
34684
34685 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34686 a character device instead of a block device.
34687
34688 * include/grub/util/getroot.h (grub_util_check_char_device): New
34689 prototype.
34690
a3f7515a 346912009-04-11 David S. Miller <davem@davemloft.net>
34692
34693 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34694 static libgcc.
34695 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34696 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34697 function, if present.
34698 (__bswapdi2): Likewise.
34699
0d44993d 34700 * include/grub/sparc64/ieee1275/boot.h: New file.
34701 * boot/sparc64/ieee1275/boot.S: Likewise.
34702 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34703
ed3d2bc2 34704 * kern/misc.c (grub_ltoa): New function.
34705 (grub_vsprintf): Use it to format 'long' integers.
34706
d3bfb59c 347072009-04-10 David S. Miller <davem@davemloft.net>
34708
34709 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34710 slots are of type grub_ieee1275_cell_t.
34711 (grub_nand_read): Likewise.
34712 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34713 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34714 macros are used to compare values in arg/ret block of the call.
34715 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34716 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34717 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34718 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34719 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34720 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34721 grub_ieee1275_close, grub_ieee1275_set_property,
34722 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34723 grub_ieee1275_cell_t.
34724 * kern/ieee1275/openfw.c (grub_map): Likewise.
34725 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34726 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34727
450e2238 34728 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34729 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34730 (grub_devalias_iterate): Likewise.
34731
7dd4a573 347322009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34733
34734 UFS improvements
34735
34736 * fs/ufs.c (INODE_NBLOCKS): new definition
34737 (struct grub_ufs_dirent): added fields for non-BSD dirents
34738 (grub_ufs_get_file_block): fixed double indirect handling
34739 (grub_ufs_lookup_symlink): use more robust way to determine whether
34740 symlink is inline
34741 (grub_ufs_find_file): support for non-BSD dirents
34742 (grub_ufs_dir): support for non-BSD dirents
34743
e7e6862a 347442009-04-10 Bean <bean123ch@gnail.com>
34745
34746 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34747 attribute, otherwise the size would be wrong for i386 platform.
34748
34749 * include/grub/pci.h (grub_pci_read_word): New inline function.
34750 (grub_pci_read_byte): Likewise.
34751 (grub_pci_write): Likewise.
34752 (grub_pci_write_word): Likewise.
34753 (grub_pci_write_byte): Likewise.
34754
34755 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34756
34757 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34758 (find_framebuf): Scan pci to locate the frame buffer address.
34759
34760 * commands/efi/fixvideo.c: New file.
34761
34762 * commands/efi/loadbios.c: Likewise.
34763
34764 * commands/memrw.c: Likewise.
34765
34766 * util/grub-dumpbios.in: Likewise.
34767
34768 * conf/common.rmk (grub-dumpbios): New utility.
34769 (pkglib_MODULES): New module memrw.mod.
34770 (memrw_mod_SOURCE): New macro.
34771 (memrw_mod_CFLAGS): Likewise.
34772 (memrw_mod_LDFLAGS): Likewise.
34773
7dd4a573 34774 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34775 fixvideo.mod.
34776 (loadbios_mod_SOURCE): New macro.
34777 (loadbios_mod_CFLAGS): Likewise.
34778 (loadbios_mod_LDFLAGS): Likewise.
34779 (fixvideo_mod_SOURCE): Likewise.
34780 (fixvideo_mod_CFLAGS): Likewise.
34781 (fixvideo_mod_LDFLAGS): Likewise.
34782
7dd4a573 34783 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34784 fixvideo.mod.
34785 (loadbios_mod_SOURCE): New macro.
34786 (loadbios_mod_CFLAGS): Likewise.
34787 (loadbios_mod_LDFLAGS): Likewise.
34788 (fixvideo_mod_SOURCE): Likewise.
34789 (fixvideo_mod_CFLAGS): Likewise.
34790 (fixvideo_mod_LDFLAGS): Likewise.
34791
af63ada2 347922009-04-08 Felix Zielcke <fzielcke@z-51.de>
34793
34794 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34795
c2cdde70 347962009-04-07 David S. Miller <davem@davemloft.net>
34797
34798 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34799 support for R_SPARC_OLO10 relocations. Fix compile warning for
34800 R_SPARC_WDISP30 case.
ea3f72cf 34801 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34802
761319cf 348032009-04-06 Pavel Roskin <proski@gnu.org>
34804
1007d1f5 34805 * include/grub/misc.h (ARRAY_SIZE): New macro.
34806 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34807 New macro.
34808 * loader/i386/linux.c (allocate_pages): Use free_pages().
34809 (grub_linux_unload): Don't use free_pages().
34810 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34811 wrong index. Treat all other modes as text modes.
34812 (grub_cmd_linux): Initialize vid_mode unconditionally to
34813 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34814
761319cf 34815 * commands/help.c (print_command_help): Use cmd->prio, not
34816 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34817
ea761d40 348182009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34819
ea761d40 34820 Parttool
34821
34822 * parttool/pcpart.c: new file
34823 * commands/parttool.c: likewise
34824 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34825 (parttool_mod_SOURCES): new variable
34826 (parttool_mod_CFLAGS): likewise
34827 (parttool_mod_LDFLAGS): likewise
34828 (pcpart_mod_SOURCES): likewise
34829 (pcpart_mod_CFLAGS): likewise
34830 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34831 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34832 and parttool/pcpart.c
34833 * conf/i386-efi.rmk: likewise
34834 * conf/i386-ieee1275.rmk: likewise
34835 * conf/i386-pc.rmk: likewise
34836 * conf/powerpc-ieee1275.rmk: likewise
34837 * conf/sparc64-ieee1275.rmk: likewise
34838 * conf/x86_64-ieee1275.rmk: likewise
34839
05aaebfb 348402009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34841
34842 Support for mtime and further expandability of dir command
34843
34844 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34845 * include/grub/datetime.h: ... moved here and added
05aaebfb 34846 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34847 * include/grub/fs.h: new syntax for dir and mtime functions in
34848 struct grub_fs
05aaebfb 34849 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34850 and GRUB_FSHELP_FLAGS_MASK
34851 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34852 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34853 (grub_ext2_mtime): new function
34854 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34855 (grub_hfsplus_mtime): new function
34856 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34857 (GRUB_UFS_ATTR_FILE): likewise
34858 (GRUB_UFS_ATTR_LNK): likewise
34859 (struct grub_ufs_sblock): new fields mtime
34860 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34861 all users updated
34862 (grub_ufs_dir): mtime support
34863 (grub_ufs_mtime): new function
34864 * fs/affs.c (grub_affs_dir): use new dir syntax
34865 * fs/afs.c (grub_afs_dir): likewise
34866 * fs/cpio.c (grub_cpio_dir): likewise
34867 * fs/fat.c (grub_fat_find_dir): likewise
34868 * fs/hfs.c (grub_hfs_dir): likewise
34869 * fs/iso9660.c (grub_iso9660_dir): likewise
34870 * fs/jfs.c (grub_jfs_dir): likewise
34871 * fs/minix.c (grub_minix_dir): likewise
34872 * fs/ntfs.c (grub_ntfs_dir): likewise
34873 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34874 * fs/sfs.c (grub_sfs_dir): likewise
34875 * fs/xfs.c (grub_xfs_dir): likewise
34876 * util/hostfs.c (grub_hostfs_dir): likewise
34877 * lib/datetime.c: moved to ...
34878 * normal/datetime.c: ... moved here
34879 (grub_unixtime2datetime): new function
34880 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34881 * normal/completion.c (iterate_dir): use new dir syntax
34882 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34883 last modification time of a volume
7dd4a573 34884 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34885 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34886 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34887 (normal_mod_SOURCES): likewise
34888 (datetime_mod_SOURCES): Removed lib/datetime.c
34889 * conf/i386-efi.rmk: likewise
7dd4a573 34890 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34891 * conf/i386-pc.rmk: likewise
34892 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34893 * conf/sparc64-ieee1275.rmk: likewise
34894 * conf/x86_64-efi.rmk: likewise
05aaebfb 34895
8a7e1a14 348962009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34897
34898 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34899
34900 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34901 on grub_fat_find_dir
34902 (grub_fat_find_dir): use grub_fat_iterate_dir
34903 (grub_fat_label): likewise
34904
04186a9c 349052009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34906
7dd4a573 34907 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34908 and command.h
34909 remove extraneous kernel_elf_HEADERS
34910
da4c0bb6 349112009-04-04 Bean <bean123ch@gnail.com>
34912
34913 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34914
34915 * util/misc.c: Likewise.
34916
54ad9555 349172009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34918
34919 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34920 instead of grub_printf.
34921
7a6bf9f2 349222009-04-03 Robert Millan <rmh@aybabtu.com>
34923
34924 * loader/i386/linux.c (grub_linux_setup_video): Fill
34925 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34926 values from `mode info' structure instead of hardcoded
34927 values.
34928
3fcc2083 349292009-04-01 Pavel Roskin <proski@gnu.org>
34930
34931 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34932 unused now.
34933 * genmk.rb: Likewise.
34934 * configure.ac: Likewise.
34935
5ec9740b 349362009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34937
34938 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34939 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34940
5270cec8 349412009-04-01 David S. Miller <davem@davemloft.net>
34942
34943 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34944 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34945 (grub_setjmp): Mark with 'returns_twice' attribute.
34946 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34947 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34948 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34949
9c3dd854 349502009-04-01 Robert Millan <rmh@aybabtu.com>
34951
34952 Reapply fix from 2008-07-28 which was accidentally reverted; also
34953 perform the same fix to a similar check in same function.
34954
34955 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34956 with the same number are found, just use issue a warning with
34957 grub_dprintf(), as this error has been reported to be non-fatal.
34958
0d818b7e 349592009-03-31 Pavel Roskin <proski@gnu.org>
34960
34961 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34962 for cross-compilation.
34963
95646d92 349642009-03-30 Robert Millan <rmh@aybabtu.com>
34965
34966 Fix i386-ieee1275 build.
34967
34968 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34969 Remove declaration.
34970
6a003ed1 349712009-03-30 Pavel Roskin <proski@gnu.org>
34972
34973 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34974 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34975 zero-terminated, rely only on the strlen value. Fix comparison
34976 of strings differing in length.
34977
92f33540 349782009-03-30 Robert Millan <rmh@aybabtu.com>
34979
34980 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34981 checking for abi version. Improve error messages on BIOS to notify
34982 user about `linux16' command.
34983
a8c48fd5 349842009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34985
f968172e 34986 Leak fixes
a8c48fd5 34987
f968172e 34988 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34989 in case of collision
34990 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34991
9c323f09 349922009-03-29 Robert Millan <rmh@aybabtu.com>
34993
34994 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34995 set `vid_mode' accordingly.
34996 (grub_linux_boot): Process `vid_mode' and set video mode.
34997
ae68f423 349982009-03-29 Robert Millan <rmh@aybabtu.com>
34999
35000 * util/grub.d/10_linux.in (linux_entry): New function.
35001 Factorize generation of Linux boot entries.
35002
5709cfc4 350032009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35004
35005 Make the format of Environment Block plain text. The boot loader
35006 part is not tested well yet.
7dd4a573 35007
5709cfc4 35008 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35009 (buffer): Removed.
35010 (envblk): Likewise.
35011 (usage): Remove "info" and "clear". Add "unset". Update the
35012 description of "set", as this does not delete variables any
35013 longer.
35014 (create_envblk_file): Complete rewrite.
35015 (open_envblk_file): Likewise.
35016 (cmd_info): Removed.
35017 (cmd_list): Likewise.
35018 (cmd_set): Likewise.
35019 (cmd_clear): Likewise.
35020 (list_variables): New function.
35021 (write_envblk): Likewise.
35022 (set_variables): Likewise.
35023 (unset_variables): Likewise.
35024 (main): Complete rewrite.
35025
35026 * commands/loadenv.c (buffer): Removed.
35027 (envblk): Likewise.
35028 (open_envblk_file): New function.
35029 (read_envblk_file): Complete rewrite.
35030 (grub_cmd_load_env): Likewise.
35031 (grub_cmd_list_env): Likewise.
35032 (struct blocklist): New struct.
35033 (free_blocklists): New function.
35034 (check_blocklists): Likewise.
35035 (write_blocklists): Likewise.
35036 (grub_cmd_save_env): Complete rewrite.
35037
35038 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35039 a plain text signature.
35040 (GRUB_ENVBLK_MAXLEN): Removed.
35041 (struct grub_envblk): Complete rewrite.
35042 (grub_envblk_find): Removed.
35043 (grub_envblk_insert): Likewise.
35044 (grub_envblk_open): New prototype.
35045 (grub_envblk_set): Likewise.
35046 (grub_envblk_delete): Put const to VALUE.
35047 (grub_envblk_iterate): Put const to NAME and VALUE.
35048 (grub_envblk_close): New prototype.
35049 (grub_envblk_buffer): New inline function.
35050 (grub_envblk_size): Likewise.
35051
35052 * lib/envblk.c: Include grub/mm.h.
35053 (grub_env_find): Removed.
35054 (grub_envblk_open): New function.
35055 (grub_envblk_close): Likewise.
35056 (escaped_value_len): Likewise.
35057 (find_next_line): Likewise.
35058 (grub_envblk_insert): Removed.
35059 (grub_envblk_set): New function.
35060 (grub_envblk_delete): Complete rewrite.
35061 (grub_envblk_iterate): Likewise.
35062
a9368fd3 350632009-03-28 Robert Millan <rmh@aybabtu.com>
35064
35065 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35066 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35067 variables. Use 16-bit loader.
35068 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35069 loader.
35070 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35071 (grub_linux16_boot): ... this. Update all users.
35072 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35073 (grub_linux_boot): ... this. Update all users.
35074
35075 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35076 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35077 commands to `linux16' and `initrd16'.
35078 (GRUB_MOD_FINI(linux)): Rename to ...
35079 (GRUB_MOD_FINI(linux16)): ... this.
35080
e4dd5a7e 350812009-03-24 Pavel Roskin <proski@gnu.org>
35082
35083 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35084 not just for compilation.
35085
c04d6e05 350862009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35087
35088 Move multiboot helper out of kernel
35089
35090 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35091 `loader/i386/multiboot_helper.S'.
35092 * conf/i386-coreboot.rmk: Likewise
35093 * conf/i386-ieee1275.rmk: Likewise
35094
35095 * kern/i386/loader.S: Move multiboot helpers from here...
35096 * loader/i386/multiboot_helper.S: ...moved here
35097 * include/grub/i386/loader.h: Move declarations of multiboot
35098 helpers from here...
35099 * include/grub/i386/multiboot.h: ...moved here
35100 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35101
42a5b3fc 351022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35103
35104 * kern/env.c (grub_env_context_open): Added an argument to specify
35105 whether a new context inherits exported variables from current
35106 one. This is useful when making a sandbox to interpret a config
35107 file.
35108 All callers updated.
35109
35110 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35111
b28bbc4e 351122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35113
35114 * kern/env.c (grub_env_context_close): Fix memory leaks.
35115
f04f02e4 351162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35117
35118 * normal/main.c (grub_normal_execute): Added an argument
35119 BATCH to specify if an interactive interface should be provided
35120 after reading a config file.
35121 All callers updated.
35122 (read_command_list): Prevent being executed twice.
35123 (read_fs_list): Likewise.
35124
42a5b3fc 35125 * include/grub/normal.h (grub_normal_execute): Updated the
35126 prototype.
f04f02e4 35127
41473ac2 351282009-03-22 Pavel Roskin <proski@gno.org>
35129
fbc00b0c 35130 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35131 _start.
35132 * kern/i386/pc/startup.S: Likewise.
35133 * kern/i386/efi/startup.S: Likewise.
35134 * kern/i386/ieee1275/startup.S: Likewise.
35135 * kern/i386/coreboot/startup.S: Likewise.
35136 * kern/x86_64/efi/startup.S: Likewise.
35137
41473ac2 35138 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35139 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35140 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35141
2274cc8f 351422009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
35143
35144 Bugfixes in multiboot for bugs uncovered by solaris kernel.
35145
35146 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
35147 limit detection.
35148 Use vaddr of correct segment for entry_point.
35149
b1b797cb 351502009-03-21 Bean <bean123ch@gmail.com>
35151
35152 * commands/blocklist.c: Add include file <grub/command.h>, remove
35153 <grub/normal.h> and <grub/arg.h>.
35154 (grub_cmd_blocklist): Use the new command interface.
35155 (GRUB_MOD_INIT): Likewise.
35156 (GRUB_MOD_FINI): Likewise.
35157 * commands/boot.c: Likewise.
35158 * commands/cat.c: Likewise.
35159 * commands/cmp.c: Likewise.
35160 * commands/configfile.c: Likewise.
35161 * commands/crc.c: Likewise.
35162 * commands/echo.c: Likewise.
35163 * commands/halt.c: Likewise.
35164 * commands/handler.c: Likewise.
35165 * commands/hdparm.c: Likewise.
35166 * commands/help.c: Likewise.
35167 * commands/hexdump.c: Likewise.
35168 * commands/loadenv.c: Likewise.
35169 * commands/ls.c: Likewise.
35170 * commands/lsmmap.c: Likewise.
35171 * commands/lspci.c: Likewise.
35172 * commands/loadenv.c: Likewise.
35173 * commands/read.c: Likewise.
35174 * commands/reboot.c: Likewise.
35175 * commands/search.c: Likewise.
35176 * commands/sleep.c: Likewise.
35177 * commands/test.c: Likewise.
35178 * commands/usbtest.c: Likewise.
35179 * commands/videotest.c: Likewise.
35180 * commands/i386/cpuid.c: Likewise.
35181 * commands/i386/pc/halt.c: Likewise.
35182 * commands/i386/pc/play.c: Likewise.
35183 * commands/i386/pc/pxecmd.c: Likewise.
35184 * commands/i386/pc/vbeinfo.c: Likewise.
35185 * commands/i386/pc/vbetest.c: Likewise.
35186 * commands/ieee1275/suspend.c: Likewise.
35187 * disk/loopback.c: Likewise.
35188 * font/font_cmd.c: Likewise.
35189 * hello/hello.c: Likewise.
35190 * loader/efi/appleloader.c: Likewise.
35191 * loader/efi/chainloader.c: Likewise.
35192 * loader/i386/bsd.c: Likewise.
35193 * loader/i386/efi/linux.c: Likewise.
35194 * loader/i386/ieee1275/linux.c: Likewise.
35195 * loader/i386/linux.c: Likewise.
35196 * loader/i386/pc/chainloader.c: Likewise.
35197 * loader/i386/pc/linux.c: Likewise.
35198 * loader/powerpc/ieee1275/linux.c: Likewise.
35199 * loader/multiboot_loader.c: Likewise.
35200 * term/gfxterm.c: Likewise.
35201 * term/i386/pc/serial.c: Likewise.
35202 * term/terminfo.c: Likewise.
35203
35204 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35205 * term/i386/pc/vga.c: Likewise.
35206 * video/readers/jpeg.c: Likewise.
35207 * video/readers/png.c: Likewise.
35208 * video/readers/tga.c: Likewise.
35209
35210 * util/grub-fstest (cmd_loopback): Removed.
35211 (cmd_blocklist): Likewise.
35212 (cmd_ls): Likewise.
35213 (grub_register_command): Likewise.
35214 (grub_unregister_command): Likewise.
35215 (execute_command): Use grub_command_find to locate command and execute
35216 it.
35217
35218 * include/grub/efi/chainloader.h: Removed.
35219 * loader/efi/chainloader_normal.c: Likewise.
35220 * loader/i386/bsd_normal.c: Likewise.
35221 * loader/i386/pc/chainloader_normal.c: Likewise.
35222 * loader/i386/pc/multiboot_normal.c: Likewise.
35223 * loader/linux_normal.c: Likewise.
35224 * loader/multiboot_loader_normal.c: Likewise.
35225 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35226
35227 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35228 and grub_register_command_p1.
35229
35230 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35231 kern/command.c, lib/arg.c and commands/extcmd.c.
35232 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35233 (minicmd_mod_SOURCES): New variable.
35234 (minicmd_mod_CFLAGS): Likewise.
35235 (minicmd_mod_LDFLAGS): Likewise.
35236 (extcmd_mod_SOURCES): Likewise.
35237 (extcmd_mod_CFLAGS): Likewise.
35238 (extcmd_mod_LDFLAGS): Likewise.
35239 (boot_mod_SOURCES): Removed.
35240 (boot_mod_CFLAGS): Likewise.
35241 (boot_mod_LDFLAGS): Likewise.
35242
35243 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35244 kern/corecmd.c.
35245 (kernel_img_HEADERS): Add command.h.
35246 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35247 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35248 and lib/arg.c.
35249 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35250 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35251 remove the corresponding normal mode command.
35252 (normal_mod_SOURCES): Remove normal/arg.c.
35253 * conf/i386-coreboot.rmk: Likewise.
35254 * conf/i386-efi.rmk: Likewise.
35255 * conf/i386-ieee1275.rmk: Likewise.
35256 * conf/powerpc-ieee1275.rmk: Likewise.
35257 * conf/x86_64-efi.rmk: Likewise.
35258
35259 * include/grub/arg.h: Move from here ...
35260 * include/grub/lib/arg.h: ... to here.
35261
35262 * normal/arg.c: Move from here ...
35263 * lib/arg.c: ... to here.
35264
35265 * commands/extcmd.c: New file.
35266 * commands/minicmd.c: Likewise.
35267 * include/grub/command.h: Likewise.
35268 * include/grub/extcmd.h: Likewise.
35269 * kern/command.c: Likewise.
35270 * kern/corecmd.c: Likewise.
35271
35272 * kern/list.c (grub_list_iterate): Return int instead of void.
35273 (grub_list_insert): New function.
35274 (grub_prio_list_insert): Likewise.
35275
35276 * kern/rescue.c (grub_rescue_command): Removed.
35277 (grub_rescue_command_list): Likewise.
35278 (grub_rescue_register_command): Likewise.
35279 (grub_rescue_unregister_command): Likewise.
35280 (grub_rescue_cmd_boot): Move to minicmd.c
35281 (grub_rescue_cmd_help): Likewise.
35282 (grub_rescue_cmd_info): Likewise.
35283 (grub_rescue_cmd_boot): Likewise.
35284 (grub_rescue_cmd_testload): Likewise.
35285 (grub_rescue_cmd_dump): Likewise.
35286 (grub_rescue_cmd_rmmod): Likewise.
35287 (grub_rescue_cmd_lsmod): Likewise.
35288 (grub_rescue_cmd_exit): Likewise.
35289 (grub_rescue_print_devices): Moved to corecmd.c.
35290 (grub_rescue_print_files): Likewise.
35291 (grub_rescue_cmd_ls): Likewise.
35292 (grub_rescue_cmd_insmod): Likewise.
35293 (grub_rescue_cmd_set): Likewise.
35294 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35295 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35296 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35297 commands, remove grub_rescue_register_command calls.
b1b797cb 35298
7d074e3c 35299 * normal/command.c (grub_register_command): Removed.
b1b797cb 35300 (grub_unregister_command): Likewise.
35301 (grub_command_find): Likewise.
35302 (grub_iterate_commands): Likewise.
35303 (rescue_command): Likewise.
35304 (export_command): Moved to corecmd.c.
35305 (set_command): Removed.
35306 (unset_command): Likewise.
35307 (insmod_command): Likewise.
35308 (rmmod_command): Likewise.
35309 (lsmod_command): Likewise.
35310 (grub_command_init): Likewise.
35311
35312 * normal/completion.c (iterate_command): Use cmd->prio to check for
35313 active command.
35314 (complete_arguments): Use grub_extcmd_t structure to find options.
35315 (grub_normal_do_completion): Change function grub_iterate_commands to
35316 grub_command_iterate.
35317
35318 * normal/execute.c (grub_script_execute_cmd): No need to parse
35319 argument here.
35320
35321 * normal/main.c (grub_dyncmd_dispatcher): New function.
35322 (read_command_list): Register unload commands as dyncmd.
35323 (grub_cmd_normal): Use new command interface, register rescue,
35324 unregister normal at entry, register normal, unregister rescue at exit.
35325
35326 * include/grub/list.h (grub_list_test_t): New type.
35327 (grub_list_iterate): Return int instead of void.
35328 (grub_list_insert): New function.
35329 (GRUB_AS_NAMED_LIST_P): New macro.
35330 (GRUB_AS_PRIO_LIST): Likewise.
35331 (GRUB_AS_PRIO_LIST_P): Likewise.
35332 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35333 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35334 (grub_prio_list): New structure.
35335 (grub_prio_list_insert): New function.
35336 (grub_prio_list_remove): New inline function.
35337
35338 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35339 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35340 (GRUB_COMMAND_FLAG_MENU): Likewise.
35341 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35342 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35343 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35344 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35345 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35346 (grub_command): Likewise.
35347 (grub_register_command): Likewise.
35348 (grub_command_find): Likewise.
35349 (grub_iterate_commands): Likewise.
35350 (grub_command_init): Likewise.
35351 (grub_arg_parse): Likewise.
35352 (grub_arg_show_help): Likewise.
35353
35354 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35355 (grub_rescue_unregister_command): Likewise.
35356
35357 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35358 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35359 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35360
35361 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35362 grub_rescue_cmd_initrd.
35363 * include/grub/i386/loader.h: Likewise.
35364 * include/grub/x86_64/loader.h: Likewise.
35365
35366 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35367
1f4147aa 353682009-03-21 Bean <bean123ch@gmail.com>
35369
35370 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35371 instead of stat in mingw environment.
35372
35373 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35374
35375 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35376
35377 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35378 AC_CONFIG_LINKS.
35379
2156d5ba 353802009-03-21 Bean <bean123ch@gmail.com>
35381
35382 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35383 out of range error.
35384
177b82ca 353852009-03-18 Michel Dänzer <michel@daenzer.net>
35386
35387 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35388 checking inode flags for EXT4_EXTENTS_FLAG.
35389
14aad807 353902009-03-18 Robert Millan <rmh@aybabtu.com>
35391
35392 * loader/i386/linux.c: Include `<grub/video.h>' and
35393 `<grub/i386/pc/vbe.h>'..
35394 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35395 (grub_linux32_boot): Attempt to configure video settings with
35396 grub_linux_setup_video().
35397 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35398 to avoid grub_console_fini() which would step out of graphical mode
35399 unconditionally.
35400
8cf83a27 354012009-03-14 Robert Millan <rmh@aybabtu.com>
35402
35403 Fix build on powerpc.
35404 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35405
40164e75 354062009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35407
35408 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35409 background image command.
35410
c58bc32a 354112009-03-12 Colin D Bennett <colin@gibibit.com>
35412
35413 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35414 (grub_gfxterm_putchar): Extract pairs of identical calls to
35415 draw_cursor out of conditional blocks.
35416
5415144a 354172009-03-11 Pavel Roskin <proski@gnu.org>
35418
35419 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35420 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35421
6394042e 354222009-03-11 Robert Millan <rmh@aybabtu.com>
35423
35424 * loader/i386/multiboot_elfxx.c
35425 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35426
b7b50e5f 354272009-03-11 Felix Zielcke <fzielcke@z-51.de>
35428
35429 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35430 `kern/handler.c'.
35431
1ca7fc96 354322009-03-11 Robert Millan <rmh@aybabtu.com>
35433
35434 * loader/i386/multiboot.c (code_size): New variable.
35435 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35436 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35437 4-byte alignment to MBI and others by increasing
7d074e3c 35438 `boot_loader_name_length' appropriately.
1ca7fc96 35439
35440 * loader/i386/multiboot_elfxx.c
35441 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35442
a83ea1d2 354432009-03-09 Felix Zielcke <fzielcke@z-51.de>
35444
35445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35446 `fs/ext2.c'.
35447
aa9f3bff 354482009-03-08 Robert Millan <rmh@aybabtu.com>
35449
35450 Make loader/i386/linux.c usable on i386-pc again.
35451
35452 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35453 memory to heap.
35454 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35455 `#error' stanza.
35456
d8b3b60e 354572009-03-07 Bean <bean123ch@gmail.com>
35458
35459 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35460 allocation.
35461
b362c9e9 354622009-03-06 Robert Millan <rmh@aybabtu.com>
35463
35464 Fix display issue on terminals with screen size other than 80x25
35465 (e.g. gfxterm with resolution higher than 640x480).
35466
35467 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35468 position relative to the center of the terminal instead of relying
b362c9e9 35469 on a hardcoded offset.
35470
9304eef1 354712009-03-04 Robert Millan <rmh@aybabtu.com>
35472
35473 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35474 installed.
35475
35476 * Makefile.in (host_kernel): New variable.
35477 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35478 scripts instead of just the windows one.
35479 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35480
eabc95fb 354812009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35482
35483 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35484 `kern/handler.c'.
35485 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35486 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35487 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35489 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35490 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35491
ceb1223c 354922009-03-04 Felix Zielcke <fzielcke@z-51.de>
35493
35494 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35495 or if there's no space for the disk label and print the partition number on a
35496 invalid magic.
35497
4910684a 354982009-03-04 Felix Zielcke <fzielcke@z-51.de>
35499
35500 * util/misc.c: Include <time.h>.
35501 (grub_millisleep): New function.
35502
7e9ca17a 355032009-03-04 Bean <bean123ch@gmail.com>
35504
35505 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35506 another option -mno-red-zone.
35507
35508 * commands/handler.c: Change module description.
35509
35510 * kern/handler.c: Add missing space at the end of description line.
35511
35512 * kern/list.c: Likewise.
35513
f501677c 355142009-03-03 Robert Millan <rmh@aybabtu.com>
35515
35516 Move more components to the relocation area, and fix mbi pointer
35517 handling to use the destination rather than the origin (thanks to
35518 Vladimir Serbinenko for spotting).
35519
35520 * loader/i386/multiboot.c (mbi_dest): New variable.
35521 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35522 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35523 relocation area.
35524
9902d047 355252009-03-01 Bean <bean123ch@gmail.com>
35526
50fb7002 35527 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35528 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35529 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35530 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35531
35532 * loader/i386/efi/linux.c (acpi_guid): New variable.
35533 (acpi_guid): Likewise.
35534 (EBDA_SEG_ADDR): New constant.
35535 (LOW_MEM_ADDR): Likewise.
35536 (FAKE_EBDA_SEG): Likewise.
35537 (fake_bios_data): New function.
35538 (grub_linux_boot): Call fake_bios_data.
35539
71b9f361 355402009-03-01 Bean <bean123ch@gmail.com>
35541
35542 * commands/terminal.c: Removed.
35543
35544 * commands/handler.c: New file.
35545
35546 * include/grub/list.h: Likewise.
35547
35548 * include/grub/handler.h: Likewise.
35549
35550 * kern/list.c: Likewise.
35551
35552 * kern/handler.c: Likewise.
35553
35554 * kern/term.h: Include header file <grub/handler.h>.
35555 (grub_term_input): Move next field to the beginning.
35556 (grub_term_output): Likewise.
35557 (grub_term_input_class): New variable.
35558 (grub_term_output_class): Likewise.
35559 (grub_term_register_input): Changed to inline function.
35560 (grub_term_register_output): Likewise.
35561 (grub_term_unregister_input): Likewise.
35562 (grub_term_unregister_output): Likewise.
35563 (grub_term_set_current_input): Likewise.
35564 (grub_term_set_current_output): Likewise.
35565 (grub_term_get_current_input): Likewise.
35566 (grub_term_get_current_output): Likewise.
35567 (grub_term_iterate_input): Removed.
35568 (grub_term_iterate_output): Likewise.
35569
35570 * kern/term.c (grub_term_list_input): Removed.
35571 (grub_term_list_output): Likewise.
35572 (grub_term_input_class): New variable.
35573 (grub_term_output_class): Likewise.
50fb7002 35574 (grub_cur_term_input): Change variable as macro.
71b9f361 35575 (grub_cur_term_output): Likewise.
35576 (grub_term_register_input): Removed.
35577 (grub_term_register_output): Likewise.
35578 (grub_term_unregister_input): Likewise.
35579 (grub_term_unregister_output): Likewise.
35580 (grub_term_set_current_input): Likewise.
35581 (grub_term_set_current_output): Likewise.
35582 (grub_term_iterate_input): Likewise.
35583 (grub_term_iterate_output): Likewise.
35584 (grub_term_get_current_input): Likewise.
35585 (grub_term_get_current_output): Likewise.
35586
35587 * util/grub-editenv.c: Include header file <grub/handler.h>.
35588 (grub_term_get_current_input): Removed.
35589 (grub_term_get_current_output): Likewise.
35590 (grub_term_input_class): New variable.
50fb7002 35591 (grub_term_output_class): Likewise.
71b9f361 35592
35593 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35594 (grub_term_get_current_output): Likewise.
35595 (grub_term_input_class): New variable.
50fb7002 35596 (grub_term_output_class): Likewise.
71b9f361 35597
35598 * util/grub-probe.c (grub_term_get_current_input): Removed.
35599 (grub_term_get_current_output): Likewise.
35600 (grub_term_input_class): New variable.
50fb7002 35601 (grub_term_output_class): Likewise.
71b9f361 35602
35603 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35604 (grub_term_get_current_output): Likewise.
35605 (grub_term_input_class): New variable.
50fb7002 35606 (grub_term_output_class): Likewise.
71b9f361 35607
35608 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35609 (terminal_mod_SOURCES): Likewise.
35610 (terminal_mod_CFLAGS): Likewise.
35611 (terminal_mod_LDFLAGS): Likewise.
35612
35613 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35614 handler.c.
35615 (kernel_img_SOURCES): Add list.c and handler.c.
35616 (kernel_img_HEADERS): Add list.h and handler.h.
35617
35618 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35619 handler.c.
35620 (kernel_mod_SOURCES): Add list.c and handler.c.
35621 (kernel_mod_HEADERS): Add list.h and handler.h.
35622
35623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35624 handler.c.
35625 (kernel_elf_SOURCES): Add list.c and handler.c.
35626 (kernel_elf_HEADERS): Add list.h and handler.h.
35627
35628 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35629 handler.c.
35630 (kernel_elf_SOURCES): Add list.c and handler.c.
35631 (kernel_elf_HEADERS): Add list.h and handler.h.
35632
35633 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35634 handler.c.
35635 (kernel_mod_SOURCES): Add list.c and handler.c.
35636 (kernel_mod_HEADERS): Add list.h and handler.h.
35637
35638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35639 handler.c.
35640 (kernel_elf_SOURCES): Add list.c and handler.c.
35641 (kernel_elf_HEADERS): Add list.h and handler.h.
35642
8a31787f 356432009-02-27 Robert Millan <rmh@aybabtu.com>
35644
35645 Factorize elf32 / elf64 code in Multiboot loader. This will
35646 prevent it from getting out of sync again.
35647
35648 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35649 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35650 grub_multiboot_load_elf64): Move from here ...
35651 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35652 grub_multiboot_load_elf): ... to here (new file).
35653
51cd3dfc 356542009-02-27 Robert Millan <rmh@aybabtu.com>
35655
35656 * util/grub.d/10_linux.in: Rename "single-user mode" to
35657 "recovery mode".
35658
6e8c9c3a 356592009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35660
35661 Don't leak in SCSI code.
35662 * disk/scsi.c (grub_scsi_close): free `scsi'.
35663
4b6bf4f9 356642009-02-27 Robert Millan <rmh@aybabtu.com>
35665
35666 * loader/i386/pc/multiboot.c: Move from here ...
35667 * loader/i386/multiboot.c: ... to here. Update all users.
35668
b9413424 356692009-02-27 Robert Millan <rmh@aybabtu.com>
35670
35671 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35672 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35673
50fb7002 356742009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35675
35676 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35677 b-tree.
35678
8cc50345 356792009-02-27 Robert Millan <rmh@aybabtu.com>
35680
35681 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35682 `0x' qualifier as 0 when base is specified as parameter).
35683
6e09b8b7 356842009-02-24 Bean <bean123ch@gmail.com>
35685
35686 * configure.ac: Check for -mcmodel=large in x86_64 target.
35687
35688 * include/grub/efi/api.h (efi_call_10): New macro.
35689 (efi_wrap_10): New function.
35690
35691 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35692 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35693 (GRUB_PE32_REL_BASED_LOW): Likewise.
35694 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35695 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35696 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35697 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35698 (GRUB_PE32_REL_BASED_REL): Likewise.
35699 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35700 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35701 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35702
35703 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35704 issue.
35705
35706 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35707 (efi_wrap_10): New function.
35708
35709 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35710
35711 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35712 MB/MBP model (NV chipset).
35713 (devdata_devs): Add devpath_5 to the list.
35714
35715 * load/i386/efi/linux.c (video_base): Remove variable.
35716 (RGB_MASK): New macro.
35717 (RGB_MAGIC): Likewise.
35718 (LINE_MIN): Likewise.
35719 (LINE_MAX): Likewise.
35720 (FBTEST_STEP): Likewise.
35721 (FBTEST_COUNT): Likewise.
35722 (fb_list): New variable.
35723 (grub_find_video_card): Remove function.
35724 (find_framebuf): New function.
35725 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35726 line length.
35727
35728 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35729 problem for x86_64.
35730
74b21bee 357312009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35732
35733 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35734
35735 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35736 coding tool name.
35737
a455f472 357382009-02-22 Robert Millan <rmh@aybabtu.com>
35739
35740 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35741 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35742 in our relocation, instead of using it directly from heap. Also
35743 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35744
6374daf3 357452009-02-21 Robert Millan <rmh@aybabtu.com>
35746
35747 Implement USB keyboard support (based on patch by Marco Gerards)
35748
35749 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35750 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35751 (usb_keyboard_mod_LDFLAGS): New variables.
35752
35753 * term/usb_keyboard.c: New file.
35754
8fa4ea70 357552009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35756
35757 Corrected wrong declaration
35758
35759 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35760
353976ac 357612009-02-14 Christian Franke <franke@computer.org>
35762
35763 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35764 (grub_lspci_iter): Print class code and programming interface byte.
35765
6aa1169b 357662009-02-14 Christian Franke <franke@computer.org>
35767
35768 * gendistlist.sh: Ignore `.svn' directories.
35769
265372ca 357702009-02-14 Felix Zielcke <fzielcke@z-51.de>
35771
35772 * fs/fat.c: Add 2009 to Copyright line.
35773
9ff516f3 357742009-02-14 Christian Franke <franke@computer.org>
35775
35776 * commands/hdparm.c: New file. Provides `hdparm' command
35777 which sends ATA commands via grub_disk_ata_pass_through ().
35778
35779 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35780
35781 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35782 and <grub/cpu/io.h> to include/grub/ata.h.
35783 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35784 (GRUB_CDROM_SECTOR_SIZE): Remove.
35785 (GRUB_ATA_*): Move to include/grub/ata.h.
35786 (GRUB_ATAPI_*): Likewise.
35787 (enum grub_ata_commands): Likewise.
35788 (enum grub_ata_timeout_milliseconds): Likewise.
35789 (struct grub_ata_device): Likewise.
35790 (grub_ata_regset): Likewise.
35791 (grub_ata_regget): Likewise.
35792 (grub_ata_regset2): Likewise.
35793 (grub_ata_regget2): Likewise.
35794 (grub_ata_check_ready): Likewise.
35795 (grub_ata_wait_not_busy): Remove static, exported in
35796 include/grub/ata.h.
35797 (grub_ata_wait_drq): Likewise.
35798 (grub_ata_pio_read): Likewise.
35799
35800 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35801 function for hdparm.mod.
35802
35803 * include/grub/ata.h: New file, contains declarations from
35804 disk/ata.c.
35805 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35806
35807 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35808 (grub_disk_ata_pass_through): New exported variable.
35809
35810 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35811
772e23da 358122009-02-13 Colin D Bennett <colin@gibibit.com>
35813
35814 Support multiple fallback entries, and provide an API to support
35815 executing default+fallback menu entries. Renamed the `terminal' menu
35816 viewer to `text'.
35817
35818 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35819 variable declaration.
35820 (grub_menu_execute_callback): New structure declaration.
35821 (grub_menu_execute_callback_t): New typedef.
35822 (grub_menu_execute_with_fallback): New function declaration.
35823 (grub_menu_get_entry): Likewise.
35824 (grub_menu_get_timeout): Likewise.
35825 (grub_menu_set_timeout): Likewise.
35826
35827 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35828
35829 * normal/menu.c (grub_wait_after_message): Moved to
35830 `normal/menu_text.c'.
35831 (draw_border): Likewise.
35832 (print_message): Likewise.
35833 (print_entry): Likewise.
35834 (print_entries): Likewise.
35835 (grub_menu_init_page): Likewise.
35836 (get_entry_number): Likewise.
35837 (print_timeout): Likewise.
35838 (run_menu): Likewise.
35839 (grub_menu_execute_entry): Likewise.
35840 (show_text_menu): Likewise.
35841 (get_and_remove_first_entry_number): New function.
35842 (grub_menu_execute_with_fallback): Likewise.
35843 (get_entry): Renamed to ...
35844 (grub_menu_get_entry): .. this and made it global.
35845 (get_timeout): Renamed to ...
35846 (grub_menu_get_timeout): ... this and made it global.
35847 (set_timeout): Renamed to ...
35848 (grub_menu_set_timeout): ... this and made it global.
35849 (grub_normal_terminal_menu_viewer): Renamed to ...
35850 (grub_normal_text_menu_viewer): ... this.
35851
35852 * normal/menu_text.c: New file. Extracted text-menu-specific code
35853 from normal/menu.c.
35854
35855 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35856 (normal_mod_SOURCES): Likewise.
35857
35858 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35859 (normal_mod_SOURCES): Likewise.
35860
35861 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35862 (normal_mod_SOURCES): Likewise.
35863
35864 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35865 (normal_mod_SOURCES): Likewise.
35866
35867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35868 (normal_mod_SOURCES): Likewise.
35869
35870 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35871 (normal_mod_SOURCES): Likewise.
35872
35873 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35874 (normal_mod_SOURCES): Likewise.
35875
16ac430e 358762009-02-11 Robert Millan <rmh@aybabtu.com>
35877
35878 * util/grub.d/00_header.in: Update old reference to `font' command.
35879
06ff20fc 358802009-02-10 Felix Zielcke <fzielcke@z-51.de>
35881
35882 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35883
35884 Based on patch from Javier Martín.
35885
96da9407 358862009-02-09 Felix Zielcke <fzielcke@z-51.de>
35887
35888 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35889 to avoid false positives with FAT.
96da9407 35890 (grub_fstest_SOURCES): Likewise.
35891 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35892 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35894 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35895 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35897
6dca6fe4 358982009-02-09 Felix Zielcke <fzielcke@z-51.de>
35899
06ff20fc 35900 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35901 bpb.version_specific.fat12_or_fat16.fstype and
35902 bpb.version_specific.fat32.fstype.
35903
2550c62f 359042009-02-08 Robert Millan <rmh@aybabtu.com>
35905
be110b30 35906 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35907
56978920 359082009-02-08 Robert Millan <rmh@aybabtu.com>
35909
35910 * Makefile.in (host_os, host_cpu): New variables.
35911 (target_os): Remove. Update all users.
35912
d64399b5 359132009-02-08 Marco Gerards <marco@gnu.org>
35914
35915 * Makefile.in (enable_grub_emu_usb): New variable.
35916 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35917 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35918 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35919 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35920 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35921 `usbtest.mod' and `usbms.mod'.
35922 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35923 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35924 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35925 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35926 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35927 variables.
35928
35929 * disk/usbms.c: New file.
35930
35931 * include/grub/usb.h: Likewise.
35932
35933 * include/grub/usbtrans.h: Likewise.
35934
35935 * include/grub/usbdesc.h: Likewise.
35936
35937 * bus/usb/usbtrans.c: Likewise.
35938
35939 * bus/usb/ohci.c: Likewise.
35940
35941 * bus/usb/uhci.c: Likewise.
35942
35943 * bus/usb/usbhub.c: Likewise.
35944
35945 * bus/usb/usb.c: Likewise.
35946
35947 * commands/usbtest.c: Likewise.
35948
35949 * util/usb.c: Likewise.
50fb7002 35950
d64399b5 35951 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35952
35953 * configure.ac: Test for libusb presence.
50fb7002 35954
d64399b5 35955 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35956
2b40d6bb 359572009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35958
35959 * kern/mm.c: Add more comments.
35960
73a4ce81 359612009-02-08 Robert Millan <rmh@aybabtu.com>
35962
35963 Patch from Javier Martín.
35964 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35965 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35966
f821ce59 359672009-02-08 Robert Millan <rmh@aybabtu.com>
35968
35969 * fs/cpio.c: Split tar functionality to ...
35970 * fs/tar.c: ... here (new file). Update all users.
35971
aebfc4b0 359722009-02-07 Robert Millan <rmh@aybabtu.com>
35973
35974 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35975 backward-incompatible features.
35976
35977 Based on patch from Javier Martín, with some adjustments.
35978
50fb7002 359792009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35980
35981 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35982
0bb5115e 359832009-02-07 Robert Millan <rmh@aybabtu.com>
35984
35985 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35986 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35987 after the RAID stuff.
35988
38a0f8e7 359892009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35990
50fb7002 35991 Fixes problem when running vbetest command as reported by
38a0f8e7 35992 Vladimir Serbinenko <phcoder@gmail.com>.
35993
35994 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35995
3143cc1c 359962009-02-04 Felix Zielcke <fzielcke@z-51.de>
35997
35998 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35999 /dev/md/NpN style mdraid devices.
36000
9cba6fce 360012009-02-03 Felix Zielcke <fzielcke@z-51.de>
36002
36003 * util/unifont2pff.rb: Remove.
36004
e507a2c1 360052009-02-03 Felix Zielcke <fzielcke@z-51.de>
36006
36007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36008 `#'.
36009
d2c2b4cd 360102009-02-03 Felix Zielcke <fzielcke@z-51.de>
36011
36012 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36013 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36014 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36015 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36017 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36018 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36019
b4315fb0 360202009-02-02 Christian Franke <franke@computer.org>
36021
36022 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36023
de3aa260 360242009-02-01 Felix Zielcke <fzielcke@z-51.de>
36025
7c3ff286 36026 * INSTALL: Note that we now require at least autoconf 2.59 and
36027 that LZO is optional.
de3aa260 36028
825a182b 360292009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36030
36031 Base on patch on bug #24154 created by Tomas Tintera
36032 <trosos@seznam.cz>.
36033
36034 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36035
a69ef770 360362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36037
7c3ff286 36038 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36039 <bero@arklinux.org>.
36040
36041 * normal/parser.y (script_init): Add missing semicolon.
36042
6fa42fa6 360432009-01-31 Colin D Bennett <colin@gibibit.com>
36044
7c3ff286 36045 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36046 (free_menu_entry_classes): Added.
36047 (grub_normal_menu_addentry): Added class property handling.
36048 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36049 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36050
36051 * normal/menu_viewer.c: New file.
36052
36053 * normal/menu.c (run_menu_entry): Renamed to ...
36054 (grub_menu_execute_entry): ... this and made it as global.
36055 (grub_menu_run): Renamed to ...
36056 (show_text_menu): ... this and made it local.
36057 (show_text_menu): Adapt to new function names.
36058 (grub_normal_terminal_menu_viewer): New global variable.
36059
36060 * include/grub/menu.h: New file.
36061
36062 * include/grub/menu_viewer.h: New file.
36063
36064 * include/grub/normal.h: Added include to grub/menu.h.
36065 (grub_menu_entry): Moved to include/grub/menu.h.
36066 (grub_menu_entry_t): Likewise.
36067 (grub_menu): Likewise.
36068 (grub_menu_t): Likewise.
36069 (grub_normal_terminal_menu_viewer): Added.
36070 (grub_menu_execute_entry): Likewise.
36071 (grub_menu_run): Removed.
36072
36073 * DISTLIST: Added include/grub/menu.h.
36074 Added include/grub/menu_viewer.h.
36075 Added normal/menu_viewer.c.
36076
360772009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36078
36079 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36080 arglist for menutitle arguments.
36081
36082 * normal/main.c (grub_normal_menu_addentry): Likewise.
36083
36084 * normal/parser.y (menuentry): Likewise.
36085
36086 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36087
36088 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36089 (grub_script_create_cmdmenu): Likewise.
36090
36091 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36092
36093 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36094 changes.
36095
36096 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36097
36098 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36099
36100 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36101
36102 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36103
36104 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36105
36106 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36107
56192c23 361082009-01-30 Christian Franke <franke@computer.org>
36109
36110 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36111 in option help text.
36112
d72521b3 361132009-01-27 Pavel Roskin <proski@gnu.org>
36114
36115 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36116
994b5e84 361172009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36118
36119 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36120
36121 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36122
36123 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36124 unregister function.
36125
6a7eab2c 361262009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36127
36128 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36129
36130 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36131
36132 * util/grub-mkfont.c (usage): Fix typo.
36133
36134 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36135
1806b56e 361362009-01-26 Daniel Mierswa <impulze@impulze.org>
36137
3fb18f09 36138 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36139
336e1fb9 36140 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36141
1806b56e 36142 * kern/misc.c (grub_strcasecmp): New function.
36143 (grub_strcasecmp): Use grub_size_t instead of int for length.
36144 Fix return value.
36145 * include/grub/misc.h: Update function prototypes.
36146
580b2a0f 361472009-01-26 Robert Millan <rmh@aybabtu.com>
36148
36149 * configure.ac: Fix cross-compilation check.
ef257b36 36150
d31c24f1 361512009-01-22 Christian Franke <franke@computer.org>
36152
36153 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
36154 (precision) digit string. Allow `.format2' without `format1' (width).
36155 Limit input chars for `%s' output to `format2' if specified. This is
36156 compatible with standard printf ().
36157
3138b44c 361582009-01-22 Christian Franke <franke@computer.org>
36159
36160 * disk/ata.c (grub_ata_wait_status): Replace by ...
36161 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
36162 other status bits may be invalid while BSY is asserted.
36163 (grub_ata_check_ready): New function.
36164 (grub_ata_cmd): Removed.
36165 (grub_ata_wait_drq): New function.
36166 (grub_ata_strncpy): Remove inline.
36167 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
36168 and error check now done by grub_ata_wait_drq ().
36169 (grub_ata_pio_write): Likewise.
36170 (grub_atapi_identify): Set DEV before check for !BSY. Use
36171 grub_ata_wait_drq () to wait for data.
36172 (grub_ata_device_initialize): Add status register check to
36173 detect missing SATA slave devices. Add debug messages.
36174 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
36175 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36176 transfer loop by grub_ata_pio_write ().
36177 (grub_ata_identify): Set DEV before check for !BSY. Use
36178 grub_ata_wait_drq () to wait for data.
ef257b36 36179 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36180 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36181 read/write in one loop. Fix invalid command on write. Fix incomplete
36182 command on (size % batch) == 0. Add missing error check after write of
36183 last block. Add debug messages.
36184 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36185
59a64ef6 361862009-01-19 Christian Franke <franke@computer.org>
36187
36188 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36189 (GRUB_ATAPI_IREASON_*): Likewise.
36190 (grub_ata_pio_write): Fix timeout error return.
36191 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36192 (grub_atapi_wait_drq): New function.
36193 (grub_atapi_packet): New parameter `size'.
36194 Use grub_atapi_wait_drq () and direct write instead of
36195 grub_ata_pio_write ().
36196 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36197 reads the number of bytes requested by the device for each DRQ
36198 assertion.
36199 (grub_atapi_write): Remove old implementation, return not
36200 implemented instead.
36201
1cfe20b3 362022009-01-19 Christian Franke <franke@computer.org>
36203
36204 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36205 of 512 to calculate data size.
36206 (grub_scsi_read12): Likewise.
36207 (grub_scsi_write10): Likewise.
36208 (grub_scsi_write12): Likewise.
36209 (grub_scsi_read): Adjust size according to blocksize.
36210 Add checks for invalid blocksize and unaligned transfer.
36211
bee5fe5d 362122009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36213
36214 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36215
ef257b36 36216 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36217 width glyphs.
36218
3e643f8c 362192009-01-19 Robert Millan <rmh@aybabtu.com>
36220
36221 * config.guess: Update to latest version from config git.
36222 * config.sub: Likewise.
36223
4fa80998 362242009-01-17 Felix Zielcke <fzielcke@z-51.de>
36225
36226 * Makefile.in: Change font compilation to use new grub-mkfont instead
36227 of java version.
36228
36229 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36230 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36231 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36232 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36233 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36234 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36235 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36236 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36237 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36238
7086085b 362392009-01-16 Christian Franke <franke@computer.org>
36240
36241 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36242 (enum grub_ata_timeout_milliseconds): New enum.
36243 (grub_ata_wait_status): Add parameter milliseconds.
36244 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36245 recovery from timed-out commands.
36246 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36247 return grub_errno instead of REG_ERROR.
36248 (grub_ata_pio_write): Add parameter milliseconds.
36249 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36250 Pass milliseconds to grub_ata_wait_status () and
36251 grub_ata_pio_read ().
36252 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36253 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36254 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36255 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36256 It is not suitable for device detection, because DEV bit is ignored,
36257 the command may run too long, and not all devices set the signature
36258 properly.
36259 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36260 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36261 Fix device selection, DEV bit must be set first to address the registers
36262 of the correct device.
36263 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36264 grub_ata_pio_read/write ().
36265 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36266 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36267
4a412913 362682009-01-13 Carles Pina i Estany <carles@pina.cat>
36269
36270 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36271
7795c55e 362722009-01-13 Bean <bean123ch@gmail.com>
d913988c 36273
36274 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36275
7795c55e 362762009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36277
36278 * Makefile.in: (enable_grub_mkfont): New variable.
36279 (freetype_cflags): Likewise.
36280 (freetype_libs): Likewise.
36281
36282 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36283 (grub_mkfont_SOURCES): New variable.
36284 (grub_mkfont_CFLAGS): Likewise.
36285 (grub_mkfont_LDFLAGS): Likewise.
36286
36287 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36288 library if `--enable-grub-mkfont' is requested.
36289 (enable_grub_mkfont): New variable.
36290 (freetype_cflags): Likewise.
36291 (freetype_libs): Likewise.
36292
36293 * util/grub-mkfont.c: New file.
36294
093af1fe 362952009-01-12 Christian Franke <franke@computer.org>
36296
36297 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36298 mode check. Fix setting of compat_use[].
36299
f36cc108 363002009-01-10 Robert Millan <rmh@aybabtu.com>
36301
36302 Update a few copyright years which we forgot to do in 2008 (only for
36303 files whose changes made in 2008 were copyright-significant)
36304
36305 * Makefile.in: Add 2008 to Copyright line.
36306 * disk/ieee1275/ofdisk.c: Likewise.
36307 * disk/efi/efidisk.c: Likewise.
36308 * kern/dl.c: Likewise.
36309 * kern/sparc64/ieee1275/init.c: Likewise.
36310 * kern/mm.c: Likewise.
36311 * kern/efi/mm.c: Likewise.
36312 * boot/i386/pc/boot.S: Likewise.
36313 * genfslist.sh: Likewise.
36314 * fs/iso9660.c: Likewise.
36315 * fs/hfs.c: Likewise.
36316 * fs/jfs.c: Likewise.
36317 * fs/minix.c: Likewise.
36318 * fs/ufs.c: Likewise.
36319 * gensymlist.sh.in: Likewise.
36320 * genkernsyms.sh.in: Likewise.
36321 * include/grub/misc.h: Likewise.
36322 * include/grub/types.h: Likewise.
36323 * include/grub/symbol.h: Likewise.
36324 * include/grub/elf.h: Likewise.
36325 * include/grub/kernel.h: Likewise.
36326 * include/grub/disk.h: Likewise.
36327 * include/grub/dl.h: Likewise.
36328 * include/grub/i386/linux.h: Likewise.
36329 * include/grub/i386/pc/biosdisk.h: Likewise.
36330 * include/grub/efi/api.h: Likewise.
36331 * include/grub/efi/pe32.h: Likewise.
36332 * include/grub/util/misc.h: Likewise.
36333 * normal/execute.c: Likewise.
36334 * normal/arg.c: Likewise.
36335 * normal/completion.c: Likewise.
36336 * normal/lexer.c: Likewise.
36337 * normal/parser.y: Likewise.
36338 * normal/misc.c: Likewise.
36339 * commands/i386/pc/vbeinfo.c: Likewise.
36340 * commands/hexdump.c: Likewise.
36341 * commands/terminal.c: Likewise.
36342 * commands/ls.c: Likewise.
36343 * commands/help.c: Likewise.
36344 * partmap/pc.c: Likewise.
36345 * loader/efi/chainloader.c: Likewise.
36346 * loader/multiboot_loader.c: Likewise.
36347 * loader/i386/pc/multiboot2.c: Likewise.
36348 * term/efi/console.c: Likewise.
36349 * term/i386/pc/serial.c: Likewise.
36350 * util/lvm.c: Likewise.
36351 * util/console.c: Likewise.
36352 * util/i386/efi/grub-mkimage.c: Likewise.
36353 * util/raid.c: Likewise.
36354
7f02114b 363552009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36356
36357 * commands/videotest.c: Removed include to grub/machine/memory.h.
36358
36359 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36360 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36361 (video_mod_SOURCES): Removed.
36362 (video_mod_CFLAGS): Likewise.
36363 (video_mod_LDFLAGS): Likewise.
36364 (gfxterm_mod_SOURCES): Likewise.
36365 (gfxterm_mod_CFLAGS): Likewise.
36366 (gfxterm_mod_LDFLAGS): Likewise.
36367 (videotest_mod_SOURCES): Likewise.
36368 (videotest_mod_CFLAGS): Likewise.
36369 (videotest_mod_LDFLAGS): Likewise.
36370 (bitmap_mod_SOURCES): Likewise.
36371 (bitmap_mod_CFLAGS): Likewise.
36372 (bitmap_mod_LDFLAGS): Likewise.
36373 (tga_mod_SOURCES): Likewise.
36374 (tga_mod_CFLAGS): Likewise.
36375 (tga_mod_LDFLAGS): Likewise.
36376 (jpeg_mod_SOURCES): Likewise.
36377 (jpeg_mod_CFLAGS): Likewise.
36378 (jpeg_mod_LDFLAGS): Likewise.
36379 (png_mod_SOURCES): Likewise.
36380 (png_mod_CFLAGS): Likewise.
36381 (png_mod_LDFLAGS): Likewise.
36382
36383 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36384 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36385 (video_mod_SOURCES): Added.
36386 (video_mod_CFLAGS): Likewise.
36387 (video_mod_LDFLAGS): Likewise.
36388 (videotest_mod_SOURCES): Likewise.
36389 (videotest_mod_CFLAGS): Likewise.
36390 (videotest_mod_LDFLAGS): Likewise.
36391 (bitmap_mod_SOURCES): Likewise.
36392 (bitmap_mod_CFLAGS): Likewise.
36393 (bitmap_mod_LDFLAGS): Likewise.
36394 (tga_mod_SOURCES): Likewise.
36395 (tga_mod_CFLAGS): Likewise.
36396 (tga_mod_LDFLAGS): Likewise.
36397 (jpeg_mod_SOURCES): Likewise.
36398 (jpeg_mod_CFLAGS): Likewise.
36399 (jpeg_mod_LDFLAGS): Likewise.
36400 (png_mod_SOURCES): Likewise.
36401 (png_mod_CFLAGS): Likewise.
36402 (png_mod_LDFLAGS): Likewise.
36403 (gfxterm_mod_SOURCES): Likewise.
36404 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36405 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36406
36407 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36408 grub/machine/console.h.
36409
644fff97 364102009-01-04 Jerone Young <jerone@gmail.com>
36411
36412 Make on screen instructions clearer
36413
36414 Based on patch created by Jidanni <jidanni@jidanni.org>
36415
36416 * normal/menu.c: print clearer instructions on the screen
36417
1e901a75 364182009-01-02 Colin D Bennett <colin@gibibit.com>
36419
36420 New font engine.
34c44600 36421
1e901a75 36422 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36423 build system and fixed gfxterm.c to work with different sized fonts.
36424
36425 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36426
1e901a75 36427 * configure: Re-generated.
34c44600 36428
1e901a75 36429 * DISTLIST: Removed font/manager.c.
36430 Added font/font.c.
36431 Added font/font_cmd.c.
34c44600 36432
1e901a75 36433 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36434 compilation.
34c44600 36435
1e901a75 36436 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36437
36438 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36439
36440 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36441
1e901a75 36442 * normal/menu.c: Likewise.
34c44600 36443
1e901a75 36444 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36445 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36446
1e901a75 36447 * include/grub/font.h: Replaced with new file.
34c44600 36448
1e901a75 36449 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36450 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36451 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36452 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36453 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36454 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36455 fg_red, fg_green, fg_blue, fg_alpha.
36456 (grub_video_adapter): Removed blit_glyph.
34c44600 36457 (grub_video_blit_glyph): Removed.
36458
1e901a75 36459 * font/manager.c: Removed file.
34c44600 36460
36461 * font/font.c: New file.
36462
1e901a75 36463 * font/font_cmd.c: Likewise.
34c44600 36464
1e901a75 36465 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36466
1e901a75 36467 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36468 (grub_video_vbe_map_rgba): Likewise.
36469 (grub_video_vbe_unmap_color_int): Likewise.
36470 (grub_video_vbe_blit_glyph): Removed.
36471 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36472
1e901a75 36473 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36474 (get_pixel): Likewise.
34c44600 36475 (set_pixel): Likewise.
36476
1e901a75 36477 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36478
1e901a75 36479 * term/gfxterm.c: Adapted to new font engine.
34c44600 36480
1e901a75 36481 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36482
1e901a75 36483 * term/i386/pc/vga.c: Likewise.
34c44600 36484
1e901a75 36485 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36486
1e901a75 36487 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36488
1e901a75 36489 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36490
1e901a75 36491 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36492
1e901a75 36493 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36494
1e901a75 36495 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36496
1e901a75 36497 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36498
1e901a75 36499 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36500
1e901a75 36501 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36502
36503 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36504
1e901a75 36505 * util/grub-mkconfig_lib.in: Changed font extension.
36506
278922e8 365072008-12-28 Felix Zielcke <fzielcke@z-51.de>
36508
36509 * util/getroot.c (grub_util_get_grub_dev): Add support for
36510 /dev/md/dNNpNN style partitionable mdraid devices.
36511
3ced05cf 365122008-12-12 Alex Smith <alex@alex-smith.me.uk>
36513
36514 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36515 at a time limit of the PXE TFTP API correctly.
36516 (grub_pxefs_close): Likewise.
36517
7fd0ee30 365182008-11-29 Robert Millan <rmh@aybabtu.com>
36519
34c44600 36520 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36521 grub_ata_device_initialize() calls.
36522
34c44600 365232008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36524
36525 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36526 iteration failed.
36527 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36528
89313780 365292008-11-28 Robert Millan <rmh@aybabtu.com>
36530
36531 Fix build on powerpc-ieee1275. Based on patch created by
36532 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36533 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36534 `kern/ieee1275/mmap.c'.
36535 * include/grub/powerpc/ieee1275/memory.h: New file.
36536
15257703 36537 Provide grub-install on coreboot.
36538 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36539 (grub_install_SOURCES): New variable.
36540 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36541 usable on coreboot.
36542
9fc5388a 365432008-11-25 Felix Zielcke <fzielcke@z-51.de>
36544
36545 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36546 to `grub_term_input_t'.
36547 (grub_term_get_current_output): Change return type to
36548 `grub_term_output_t'.
36549
bc3a2f31 365502008-11-22 Robert Millan <rmh@aybabtu.com>
36551
34c44600 36552 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36553 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36554 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36555 grub_vga_text_cls().
36556
80fc88f2 36557 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36558 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36559
cbf36fd3 36560 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36561 to 0x200000 (avoids trouble with some OFW implementations, and matches
36562 with the one in Yaboot).
36563 Reported by Manoel Abranches
36564
73e8e268 365652008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36566
36567 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36568 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36569
73e8e268 36570 * util/grub-mkconfig_lib.in (grub_warn): New function.
36571 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36572 warnings, to obtain consistent formatting.
36573 * util/grub.d/00_header.in: Likewise.
36574 * util/update-grub_lib.in: Likewise.
36575
e94045a1 36576 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36577 Move comment text to `#error' stanza.
e94045a1 36578
79d29fd7 36579 Harmonize ieee1275's grub_available_iterate() with the generic
36580 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36581 build problem on i386-ieee1275):
36582 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36583 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36584 parameter `type'. Update all users of this function.
36585 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36586 `kern/ieee1275/mmap.c'.
36587 * kern/ieee1275/init.c
36588 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36589 with ...
36590 (grub_machine_mmap_iterate): ... this.
36591 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36592 return type to `grub_err_t'. Update all implementations of this
36593 function prototype.
36594 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36595 Likewise.
36596
60d6b16e 36597 Add `lsmmap' command (lists firmware-provided memory map):
36598 * commands/lsmmap.c: New file.
36599 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36600 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36601 variables.
36602 * conf/powerpc-ieee1275.rmk: Likewise.
36603 * conf/i386-coreboot.rmk: Likewise.
36604 * conf/i386-ieee1275.rmk: Likewise.
36605
ebaaf49b 366062008-11-19 Robert Millan <rmh@aybabtu.com>
36607
36608 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36609 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36610 constraints to initrd allocation (based on code from
36611 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36612 for Linux to find it.
ebaaf49b 36613
dfab719f 366142008-11-14 Robert Millan <rmh@aybabtu.com>
36615
36616 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36617 order to cope with duplicate slashes.
36618
10fc3eb9 366192008-11-14 Robert Millan <rmh@aybabtu.com>
36620
36621 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36622 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36623 don't want to mess with lower memory, because it is used in the Linux
36624 loader.
36625
36626 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36627 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36628 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36629 is in our heap (probably as a result of it being corrupted during
2f2a3442 36630 decompression). Add #error instance with comment to explain why this
36631 loader isn't currently usable on PC/BIOS.
10fc3eb9 36632
e2e07847 366332008-11-14 Robert Millan <rmh@aybabtu.com>
36634
36635 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36636 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36637
fe8e8d69 366382008-11-12 Robert Millan <rmh@aybabtu.com>
36639
36640 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36641
36642 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36643 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36644 from here ...
36645 * include/grub/i386/pc/memory.h: ... to here.
36646
976b07d0 366472008-11-12 Robert Millan <rmh@aybabtu.com>
36648
36649 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36650 split).
36651
36652 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36653 (grub_console_cur_color, grub_console_real_putchar)
36654 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36655 (grub_console_setcolorstate, grub_console_setcolor)
36656 (grub_console_getcolor): Move from here ...
36657 * include/grub/i386/vga_common.h: ... to here (new file).
36658
36659 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36660 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36661 `<grub/i386/io.h>'.
36662 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36663 `<grub/i386/vga_common.h>'.
36664
76679cd3 366652008-11-12 Robert Millan <rmh@aybabtu.com>
36666
36667 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36668 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36669 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36670 variables.
36671 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36672 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36673
36674 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36675 grub_console_init() with call to grub_vga_text_init().
36676 (grub_machine_fini): Replace call to
36677 grub_console_fini() with call to grub_vga_text_fini() and
36678 grub_at_keyboard_fini().
36679
36680 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36681 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36682 (grub_console_setcolorstate, grub_console_setcolor)
36683 (grub_console_getcolor): New function prototypes.
36684
36685 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36686 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36687 (grub_vga_text_setcursor): Static-ize.
36688 (grub_vga_text_term): New structure.
36689 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36690
36691 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36692 (grub_console_cur_color, grub_console_standard_color)
36693 (grub_console_normal_color, grub_console_highlight_color)
36694 (map_char, grub_console_putchar, grub_console_getcharwidth)
36695 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36696 (grub_console_getcolor): Move from here ...
36697 * term/i386/vga_common.c: ... to here (same function names).
36698
95b841d3 366992008-11-12 Robert Millan <rmh@aybabtu.com>
36700
36701 Use newly-added Multiboot support in coreboot.
36702
36703 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36704 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36705
36706 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36707 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36708 (codestart): Store the MBI in `startup_multiboot_info' when we're
36709 being loaded using Multiboot.
36710
36711 * kern/i386/coreboot/init.c (grub_machine_init): Move
36712 grub_at_keyboard_init() call to beginning of function (useful for
36713 debugging). Call grub_machine_mmap_init() before attempting to use
36714 grub_machine_mmap_iterate().
36715 (grub_lower_mem, grub_upper_mem): Move from here ...
36716 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36717 here (new file).
36718
36719 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36720 function prototype.
36721
761ca975 367222008-11-12 Robert Millan <rmh@aybabtu.com>
36723
36724 Fix a regression introduced by the at_keyboard.mod split. Because
36725 some terminals are default on some platforms and non-default on
36726 others, the first terminal being registered determines which is
36727 going to be default.
36728
36729 * kern/term.c (grub_term_register_input): If this is the first
36730 terminal being registered, set it as the current one.
36731 (grub_term_register_output): Likewise.
36732
36733 * term/efi/console.c (grub_console_init): Do not call
36734 grub_term_set_current_output() or grub_term_set_current_input().
36735 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36736 * term/i386/pc/console.c (grub_console_init): Likewise.
36737 (grub_console_fini): Do not call grub_term_set_current_input()
36738 (but leave grub_term_set_current_output() to restore text mode).
36739
6c529df7 367402008-11-10 Robert Millan <rmh@aybabtu.com>
36741
36742 * util/grub.d/00_header.in: Add backward compatibility check for
36743 versions of terminal.mod that don't understand `terminal_input' or
36744 `terminal_output'.
36745
132e4113 367462008-11-09 Robert Millan <rmh@aybabtu.com>
36747
36748 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36749 `terminal_input' / `terminal_output', not `terminal'.
36750
ac293d50 367512008-11-08 Robert Millan <rmh@aybabtu.com>
36752
36753 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36754 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36755
0025933a 367562008-11-08 Robert Millan <rmh@aybabtu.com>
36757
36758 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36759 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36760 members. Update all users.
36761 * util/console.c (grub_ncurses_term): Split in ...
36762 (grub_ncurses_term_input): ... this, and ...
36763 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36764 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36765
37c86336 367662008-11-08 Robert Millan <rmh@aybabtu.com>
36767
36768 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36769 (PKGDATA): Add $(pkgdata_SRCDIR).
36770 (pkglib_BUILDDIR): New variable.
36771 (pkgdata_SRCDIR): New variable.
36772 (build_env.mk): New target.
36773 (include_DATA): New variable.
36774 (install-local): Install $(include_DATA) files in $(includedir).
36775
b6c15a2d 367762008-11-07 Pavel Roskin <proski@gnu.org>
36777
d99d46f1 36778 * gendistlist.sh: Use C locale for sorting to ensure consistent
36779 output on all systems.
36780
b6c15a2d 36781 * util/grub.d/00_header.in: Remove incorrect space before
36782 "serial".
36783
c32ee8c9 367842008-11-07 Robert Millan <rmh@aybabtu.com>
36785
36786 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36787 per specification.
36788 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36789 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36790 (based on find_multi_boot1_header).
36791 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36792 using find_multi_boot2_header(), and abort if neither Multiboot or
36793 Multiboot headers were found.
36794
651c29b7 367952008-11-07 Robert Millan <rmh@aybabtu.com>
36796
36797 Modularize at_keyboard.mod:
36798
36799 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36800 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36801 (at_keyboard_mod_LDFLAGS): New variables.
36802
36803 Actual terminal split:
36804
36805 * include/grub/term.h (struct grub_term): Split in ...
36806 (struct grub_term_input): ... this, and ...
36807 (struct grub_term_output): ... this. Update all users.
36808 (grub_term_set_current): Split in ...
36809 (grub_term_set_current_input): ... this, and ...
36810 (grub_term_set_current_output): ... this.
36811 (grub_term_get_current): Split in ...
36812 (grub_term_get_current_input): ... this, and ...
36813 (grub_term_get_current_output): ... this.
36814 (grub_term_register): Split in ...
36815 (grub_term_register_input): ... this, and ...
36816 (grub_term_register_output): ... this.
36817 (grub_term_unregister): Split in ...
36818 (grub_term_unregister_input): ... this, and ...
36819 (grub_term_unregister_output): ... this.
36820 (grub_term_iterate): Split in ...
36821 (grub_term_iterate_input): ... this, and ...
36822 (grub_term_iterate_output): ... this.
36823
36824 * kern/term.c (grub_term_list): Split in ...
36825 (grub_term_list_input): ... this, and ...
36826 (grub_term_list_output): ... this. Update all users.
36827 (grub_cur_term): Split in ...
36828 (grub_cur_term_input): ... this, and ...
36829 (grub_cur_term_output): ... this. Update all users.
36830 (grub_term_set_current): Split in ...
36831 (grub_term_set_current_input): ... this, and ...
36832 (grub_term_set_current_output): ... this.
36833 (grub_term_get_current): Split in ...
36834 (grub_term_get_current_input): ... this, and ...
36835 (grub_term_get_current_output): ... this.
36836 (grub_term_register): Split in ...
36837 (grub_term_register_input): ... this, and ...
36838 (grub_term_register_output): ... this.
36839 (grub_term_unregister): Split in ...
36840 (grub_term_unregister_input): ... this, and ...
36841 (grub_term_unregister_output): ... this.
36842 (grub_term_iterate): Split in ...
36843 (grub_term_iterate_input): ... this, and ...
36844 (grub_term_iterate_output): ... this.
36845
36846 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36847 a check for input and one for output (and only attempt to get keys
36848 from user when input works).
36849
36850 * util/grub-probe.c (grub_term_get_current): Split in ...
36851 (grub_term_get_current_input): ... this, and ...
36852 (grub_term_get_current_output): ... this.
36853 * util/grub-fstest.c: Likewise.
36854 * util/i386/pc/grub-setup.c: Likewise.
36855 * util/grub-editenv.c: Likewise.
36856
36857 Portability adjustments:
36858
36859 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36860 `term/i386/pc/at_keyboard.c'.
36861 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36862 grub_keyboard_controller_init() (now handled by terminal .init).
36863 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36864 grub_at_keyboard_init().
36865 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36866 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36867 at_keyboard.mod via input terminal interface).
36868 * include/grub/i386/coreboot/console.h: Convert into a stub for
36869 `<grub/i386/pc/console.h>'.
36870
36871 Migrate full terminals to new API:
36872
36873 * term/efi/console.c (grub_console_term): Split into ...
36874 (grub_console_term_input): ... this, and ...
36875 (grub_console_term_output): ... this. Update all users.
36876 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36877 (grub_ofconsole_init): Split into ...
36878 (grub_ofconsole_init_input): ... this, and ...
36879 (grub_ofconsole_init_output): ... this.
36880 (grub_ofconsole_term): Split into ...
36881 (grub_ofconsole_term_input): ... this, and ...
36882 (grub_ofconsole_term_output): ... this. Update all users.
36883 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36884 (grub_serial_term_input): ... this, and ...
36885 (grub_serial_term_output): ... this. Update all users.
36886 * term/i386/pc/console.c (grub_console_term): Split into ...
36887 (grub_console_term_input): ... this, and ...
36888 (grub_console_term_output): ... this. Update all users.
36889 (grub_console_term_input): Only enable it on PC/BIOS platform.
36890 (grub_console_init): Remove grub_keyboard_controller_init() call.
36891
36892 Migrate input terminals to new API:
36893
36894 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36895 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36896 i386-specific anyway).
36897 (grub_console_checkkey): Rename to ...
36898 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36899 users.
36900 (grub_keyboard_controller_orig): New variable.
36901 (grub_console_getkey): Rename to ...
36902 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36903 users.
36904 (grub_keyboard_controller_init): Static-ize. Save original
36905 controller value so that it can be restored ...
36906 (grub_keyboard_controller_fini): ... here (new function).
36907 (grub_at_keyboard_term): New structure.
36908 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36909 functions.
36910
36911 Migrate output terminals to new API:
36912
36913 * term/i386/pc/vga.c (grub_vga_term): Change type to
36914 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36915 members. Update all users.
36916 * term/gfxterm.c (grub_video_term): Change type to
36917 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36918 members. Update all users.
36919 * include/grub/i386/pc/console.h (grub_console_checkkey)
36920 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36921 etc).
36922
36923 Migrate `terminal' command and userland tools to new API:
36924
36925 * commands/terminal.c (grub_cmd_terminal): Split into ...
36926 (grub_cmd_terminal_input): ... this, and ...
36927 (grub_cmd_terminal_output): ... this.
36928 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36929 `terminal_input' and `terminal_output'.
36930 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36931 `terminal_input' / `terminal_output' API.
36932 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36933 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36934 provided ${GRUB_TERMINAL}, convert it).
36935
96e5d876 369362008-11-04 Robert Millan <rmh@aybabtu.com>
36937
36938 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36939 for FreeBSD.
36940 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36941
556f3775 369422008-11-03 Bean <bean123ch@gmail.com>
36943
36944 * kern/elf.c (grub_elf32_load): Revert to previous code.
36945 (grub_elf64_load): Likewise.
36946
36947 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36948
926b9823 369492008-11-01 Robert Millan <rmh@aybabtu.com>
36950
36951 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36952 (TARGET_CPPFLAGS): Likewise.
36953 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36954
1432e958 369552008-11-01 Carles Pina i Estany <carles@pina.cat>
36956
36957 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36958
dba3f844 369592008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36960
36961 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36962 addition of objects until the code is not going to be able to fail.
36963
dba3f844 369642008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36965
36966 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36967 (add a missing NULL check, and correct them by moving the pointer
36968 operations after the actual check).
36969
7ab28c21 369702008-10-29 Robert Millan <rmh@aybabtu.com>
36971
36972 * util/i386/pc/grub-install.in: Handle empty string as output from
36973 make_system_path_relative_to_its_root().
36974
1b7748eb 369752008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36976
36977 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36978 circular metadata worst case scenario. If the metadata is circular
36979 then copy the wrap in place.
36980 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36981 project lib/format_text/layout.h
36982 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36983
c9618ab2 369842008-10-03 Felix Zielcke <fzielcke@z-51.de>
36985
7a36edca 36986 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36987
bf981c62 369882008-10-03 Felix Zielcke <fzielcke@z-51.de>
36989
36990 * util/update-grub_lib.in: Mention filename in warning message.
36991
6d994591 369922008-09-29 Felix Zielcke <fzielcke@z-51.de>
36993
36994 * NEWS: Update for rename of update-grub to grub-mkconfig.
36995
18ade780 369962008-09-29 Felix Zielcke <fzielcke@z-51.de>
36997
36998 * util/update-grub_lib.in: Copy to ...
36999 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37000 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37001 * util/update-grub.in: Rename to ...
37002 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37003 option. Add `--output' option to allow users to specify the generated
37004 configuration file. Default to stdout.
37005 (update_grub_dir): Rename to ...
37006 (grub_mkconfig_dir): ... this.
37007 (grub_cfg): Default to an empty string.
37008 * conf/common.rmk (update-grub): Rename to ...
37009 (grub-mkconfig): ... this.
37010 (update-grub_lib): Copy to ...
37011 (grub-mkconfig_lib): ... this.
37012 (update-grub_SCRIPTS): Copy to ...
37013 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37014 (update-grub_DATA): Rename to ...
37015 (grub-mkconfig_DATA): ... this.
37016
556ce6ac 370172008-09-28 Robert Millan <rmh@aybabtu.com>
37018
37019 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37020 to `modified'. Add the real `created' field.
37021 (grub_iso9660_uuid): Use `modified' rather than `created' for
37022 constructing the UUID.
37023
370242008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37025
37026 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37027 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37028
92274e85 370292008-09-28 Bean <bean123ch@gmail.com>
37030
37031 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37032 Thanks to Christian Franke for finding this bug.
37033
add6f17a 370342008-09-25 Robert Millan <rmh@aybabtu.com>
37035
37036 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37037 instances of grub_util_get_disk_name() (see previous commit).
37038
d2a367b8 370392008-09-25 Robert Millan <rmh@aybabtu.com>
37040
37041 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37042 `util/i386/get_disk_name.c'.
37043 * conf/i386-efi.rmk: Likewise.
37044 * conf/x86_64-efi.rmk: Likewise.
37045 * conf/i386-coreboot.rmk: Likewise.
37046 * conf/i386-ieee1275.rmk: Likewise.
37047 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37048 `util/ieee1275/get_disk_name.c'.
37049 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37050 * util/ieee1275/get_disk_name.c: Remove file.
37051 * util/i386/get_disk_name.c: Remove file.
37052 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37053 "hd%d" for device.map entries, rather than using
37054 grub_util_get_disk_name().
37055
81a06771 370562008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37057
37058 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37059 warning.
37060 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37061
5a004279 370622008-09-24 Carles Pina i Estany <carles@pina.cat>
37063
37064 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37065 Changed to 0x5100.
37066 (GRUB_TERM_PPAGE): Changed to 0x4900.
37067
397093d3 370682008-09-24 Robert Millan <rmh@aybabtu.com>
37069
37070 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37071 macros (they were i386-pc specific).
37072 * include/grub/sparc64/ieee1275/console.h: Likewise.
37073 * include/grub/efi/console.h: Likewise.
37074
a91b6c7c 370752008-09-22 Bean <bean123ch@gmail.com>
37076
37077 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37078 resident and in attribute list.
37079
37080 * include/grub/ntfs.h (BMP_LEN): Removed.
37081
c40fd116 370822008-09-22 Bean <bean123ch@gmail.com>
37083
81a06771 37084 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37085 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37086
37087 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37088 error occurs, as grub_disk_open will call grub_disk_close, which will
37089 call p->close (scsi).
37090
81a06771 370912008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37092
37093 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37094 (AC_PREREQ): Bumped to 2.59.
37095 (AC_TRY_COMPILE): Replace obsolete macro with ...
37096 (AC_COMPILE_IFELSE): ... this.
37097 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37098 (AC_LINK_IFELSE): ... this.
37099
5dc43410 371002008-09-21 Felix Zielcke <fzielcke@z-51.de>
37101
37102 * autogen.sh: Add a call to `gendistlist.sh'.
37103
9035dce4 371042008-09-19 Christian Franke <franke@computer.org>
37105
37106 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37107 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37108 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37109 Export __enable_execute_stack() to modules.
37110 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37111 New function.
37112
7fd75377 371132008-09-09 Felix Zielcke <fzielcke@z-51.de>
37114
040030b3 37115 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37116 Sort the list.
37117
371182008-09-09 Felix Zielcke <fzielcke@z-51.de>
37119
37120 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37121 #include <grub/util/hostdisk.h>.
37122
89d5ffcf 371232008-09-08 Robert Millan <rmh@aybabtu.com>
37124
37125 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37126 segments when their filesz is zero (grub_file_read() interprets
81a06771 37127 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37128 Use `lowest_segment' rather than 0 for calculating the current
37129 segment load address.
37130
40da438f 371312008-09-08 Robert Millan <rmh@aybabtu.com>
37132
37133 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37134 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37135 clobbered useful information.
37136
ddbf5556 371372008-09-08 Robert Millan <rmh@aybabtu.com>
37138
37139 * include/grub/util/biosdisk.h: Move to ...
37140 * include/grub/util/hostdisk.h: ... here. Update all users.
37141 * util/biosdisk.c: Move to ...
37142 * util/hostdisk.c: ... here. Update all users.
37143
783d0f48 371442008-09-07 Robert Millan <rmh@aybabtu.com>
37145
37146 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
37147 variables.
37148 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
37149 and length can be stored directly in the `mbi->mmap_addr' and
37150 `mbi->mmap_length' struct fields.
37151
548e2ea5 371522008-09-07 Robert Millan <rmh@aybabtu.com>
37153
37154 * conf/i386.rmk: New file. Provides declaration for building
37155 `cpuid.mod'.
37156 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
37157 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
37158 variables.
37159 Include `conf/i386.mk'.
37160 * conf/i386-efi.rmk: Likewise.
37161 * conf/x86_64-efi.rmk: Likewise.
37162 * conf/i386-coreboot.rmk: Likewise.
37163 * conf/i386-ieee1275.rmk: Likewise.
37164
0ea85a37 371652008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
37166
37167 Based on patch created by Colin D Bennett <colin@gibibit.com>.
37168 Adds optimization support for BGR based modes.
37169
37170 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
37171 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37172 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37173 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37174 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37175 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37176 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37177 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37178 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37179 (grub_video_i386_vbeblit_index_index): Likewise.
37180 (grub_video_i386_vbeblit_replace_directN): Added.
37181 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37182 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37183 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37184 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37185 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37186 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37187 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37188 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37189 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37190 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37191 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37192 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37193 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37194
37195 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37196 (grub_video_i386_vbefill_R8G8B8): Likewise.
37197 (grub_video_i386_vbefill_index): Likewise.
37198 (grub_video_i386_vbefill_direct32): Added.
37199 (grub_video_i386_vbefill_direct24): Likewise.
37200 (grub_video_i386_vbefill_direct16): Likewise.
37201 (grub_video_i386_vbefill_direct8): Likewise.
37202
81a06771 37203 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37204 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37205 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37206 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37207 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37208 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37209
0ea85a37 37210 * video/video.c (grub_video_get_blit_format): Updated to use new
37211 blit formats. Added handling for 16 bit color modes.
81a06771 37212
37213 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37214 fillers.
37215 (common_blitter): Updated to use new blitters.
37216
37217 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37218 Removed.
37219 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37220 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37221 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37222 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37223 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37224 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37225 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37226 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37227 (grub_video_i386_vbeblit_index_index): Likewise.
37228 (grub_video_i386_vbeblit_replace_directN): Added.
37229 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37230 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37231 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37232 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37233 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37234 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37235 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37236 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37237 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37238 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37239 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37240 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37241 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37242
0ea85a37 37243 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37244 (grub_video_i386_vbefill_R8G8B8): Likewise.
37245 (grub_video_i386_vbefill_index): Likewise.
37246 (grub_video_i386_vbefill_direct32): Added.
37247 (grub_video_i386_vbefill_direct24): Likewise.
37248 (grub_video_i386_vbefill_direct16): Likewise.
37249 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37250
0ea85a37 37251 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37252 types.
81a06771 37253
0ea85a37 37254 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37255 types.
81a06771 37256
0ea85a37 37257 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37258 blitter types.
81a06771 37259
0ea85a37 37260 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37261 types.
37262
e8a83df6 372632008-09-06 Felix Zielcke <fzielcke@z-51.de>
37264
37265 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37266 RAID level 1.
37267
6bcd8ee5 372682008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37269
6bcd8ee5 37270 * fs/iso9660.c (grub_iso9660_date): New structure.
37271 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37272 (grub_iso9660_uuid): New function.
c375ae58 37273
59261157 372742008-09-05 Bean <bean123ch@gmail.com>
37275
37276 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37277
37278 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37279 insensitive bit for names in Win32 and Win32 & DOS namespace.
37280
37281 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37282
37283 * include/grub/types.h (LONG_MAX): Likewise.
37284
58b6645a 372852008-09-04 Felix Zielcke <fzielcke@z-51.de>
37286
4ee55921 37287 * util/getroot.c: Include <config.h>.
37288 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37289 add support for /dev/md/N devices and handle LVM double dash escaping.
37290
372912008-09-04 Felix Zielcke <fzielcke@z-51.de>
37292
37293 * config.guess: Update to latest version from config git.
37294 * config.sub: Likewise.
58b6645a 37295
9124f65d 372962008-09-03 Robert Millan <rmh@aybabtu.com>
37297
37298 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37299 `disk->total_sectors'.
37300
81a06771 373012008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37302
37303 * include/grub/normal.h: Fixed incorrect comment for
37304 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37305
81a06771 373062008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37307
37308 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37309 values with defines.
37310
37311 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37312 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37313 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37314 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37315 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37316 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37317 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37318 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37319 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37320 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37321 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37322 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37323 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37324 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37325 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37326 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37327 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37328 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37329 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37330
93d5cbf8 373312008-08-31 Robert Millan <rmh@aybabtu.com>
37332
37333 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37334 declaration.
37335 (grub_multiboot): Fix a few warnings.
37336
21751d50 373372008-08-31 Robert Millan <rmh@aybabtu.com>
37338
37339 * loader/i386/pc/multiboot.c: Update comment not to say that
37340 boot_device support is unimplemented.
37341
e27a75c5 373422008-08-31 Robert Millan <rmh@aybabtu.com>
37343
37344 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37345 or memory map support are unimplemented.
37346
81a06771 373472008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37348
37349 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37350
81a06771 373512008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37352
37353 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37354 total video memory in 'vbeinfo' output; show color format details for
37355 each video mode.
37356
7c5d8d95 373572008-08-30 Pavel Roskin <proski@gnu.org>
37358
37359 * util/genmoddep.c: Remove for real this time.
37360 * DISTLIST: Remove util/genmoddep.c.
37361
4cebd25a 373622008-08-30 Robert Millan <rmh@aybabtu.com>
37363
37364 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37365 as required by Multiboot spec (it was already 4-byte aligned, but
37366 only by chance).
37367
b497a269 373682008-08-29 Pavel Roskin <proski@gnu.org>
37369
e3925185 37370 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37371 * kern/powerpc/ieee1275/startup.S: ... this.
37372 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37373 * DISTLIST: Likewise.
37374
b497a269 37375 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37376 grub/cpu/kernel.h. Add start label for consistency with other
37377 platforms. Add grub_prefix immediately after start. Add jump
37378 to the code after grub_prefix.
37379 * include/grub/powerpc/kernel.h: Provide valid values for
37380 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37381
6e5a42fe 373822008-08-29 Bean <bean123ch@gmail.com>
37383
37384 * configure.ac: Change host_os to cygwin for mingw.
37385 (asprintf): New check for function.
37386
37387 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37388 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37389
37390 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37391 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37392 sync, sleep and grub_util_get_disk_size for mingw.
37393
37394 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37395 to get size in mingw.
37396 (open_device): Use flag O_BINARY if it's defined.
37397 (find_root_device): Add dummy code for mingw.
37398
37399 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37400 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37401 (get_scsi_disk_name): Return 0 for mingw.
37402
37403 * util/hostfs.c: #include <grub/util/misc.h>.
37404 (grub_hostfs_open): Use "rb" flag to open file, use
37405 grub_util_get_disk_size to get disk size for mingw.
37406
37407 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37408 (asprintf): New function if HAVE_ASPRINTF is not set.
37409 (sync): New function for mingw.
37410 (sleep): Likewise.
37411 (grub_util_get_disk_size): Likewise.
37412
ab3f2673 374132008-08-28 Pavel Roskin <proski@gnu.org>
37414
37415 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37416 kern/time.c.
37417
1c282483 374182008-08-28 Robert Millan <rmh@aybabtu.com>
37419
37420 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37421
678e849c 374222008-08-28 Robert Millan <rmh@aybabtu.com>
37423
37424 Change find_grub_drive() syntax so it doesn't prevent it from
37425 detecting NULL names as errors.
37426
37427 * util/biosdisk.c (find_grub_drive): Move free slot search code
37428 from here ...
37429 (find_free_slot): ... to here.
37430 (read_device_map): Use find_free_slot() to search for free slots.
37431
965c75ca 374322008-08-27 Marco Gerards <marco@gnu.org>
37433
37434 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37435 (scsi_mod_SOURCES): New variable.
37436 (scsi_mod_CFLAGS): Likewise
37437 (scsi_mod_LDFLAGS): Likewise.
37438
37439 * disk/scsi.c: New file.
37440
37441 * include/grub/scsi.h: Likewise.
37442
37443 * include/grub/scsicmd.h: Likewise.
37444
37445 * disk/ata.c: Include <grub/scsi.h>.
37446 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37447 instead.
37448 (grub_ata_iterate): Skip ATAPI devices.
37449 (grub_ata_open): Only handle ATAPI devices.
37450 (struct grub_atapi_read): Removed.
37451 (grub_atapi_readsector): Likewise.
37452 (grub_ata_read): No longer handle ATAPI devices.
37453 (grub_ata_write): Likewise.
37454 (grub_atapi_iterate): New function.
37455 (grub_atapi_read): Likewise.
37456 (grub_atapi_write): Likewise.
37457 (grub_atapi_open): Likewise.
37458 (grub_atapi_close): Likewise.
37459 (grub_atapi_dev): New variable.
37460 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37461 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37462
37463 * include/grub/disk.h (enum grub_disk_dev_id): Add
37464 `GRUB_DISK_DEVICE_SCSI_ID'.
37465
c07ae501 374662008-08-26 Robert Millan <rmh@aybabtu.com>
37467
37468 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37469 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37470 descriptive.
37471
5ed20adc 374722008-08-23 Bean <bean123ch@gmail.com>
37473
37474 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37475 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37476 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37477 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37478 dm_nv.mod.
37479 (raid5rec_mod_SOURCES): New macro.
37480 (raid5rec_mod_CFLAGS): Likewise.
37481 (raid5rec_mod_LDFLAGS): Likewise.
37482 (raid6rec_mod_SOURCES): Likewise.
37483 (raid6rec_mod_CFLAGS): Likewise.
37484 (raid6rec_mod_LDFLAGS): Likewise.
37485 (mdraid_mod_SOURCES): Likewise.
37486 (mdraid_mod_CFLAGS): Likewise.
37487 (mdraid_mod_LDFLAGS): Likewise.
37488 (dm_nv_mod_SOURCES): Likewise.
37489 (dm_nv_mod_CFLAGS): Likewise.
37490 (dm_nv_mod_LDFLAGS): Likewise.
37491
37492 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37493 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37494 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37495
37496 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37497 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37498
37499 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37500
37501 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37502
37503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37504
37505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37506
37507 * disk/raid5_recover.c: New file.
37508
37509 * disk/raid6_recover.c: Likewise.
37510
37511 * disk/mdraid_linux.c: Likewise.
37512
37513 * disk/dmraid_nvidia.c: Likewise.
37514
37515 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37516 ULONG_MAX.
37517
37518 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37519 calculate the size of raid device.
37520 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37521 different layout of raid5.
37522 (grub_raid_scan_device): Remove code specific to mdraid.
37523 (grub_raid_list): New variable.
37524 (free_array): New function.
37525 (grub_raid_register): Likewise.
37526 (grub_raid_unregister): Likewise.
37527 (grub_raid_rescan): Likewise.
37528 (GRUB_MOD_INIT): Don't iterate device here.
37529 (GRUB_MOD_FINI): Use free_array to release resource.
37530
37531 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37532 (grub_raid5_recover_func_t): New function variable type.
37533 (grub_raid6_recover_func_t): Likewise.
37534 (grub_raid5_recover_func): New variable.
37535 (grub_raid6_recover_func): Likewise.
37536 (grub_raid_register): New function.
37537 (grub_raid_unregister): Likewise.
37538 (grub_raid_rescan): Likewise.
37539 (grub_raid_block_xor): Likewise.
37540
37541 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37542 (CMD_CRC): New macro.
37543 (part): Removed.
37544 (read_file): Handle device as well as file.
37545 (cmd_crc): New function.
37546 (fstest): Handle multiple disks.
37547 (options): Remove part, raw and long, add root and diskcount.
37548 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37549 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37550 add handling for the new options, support multiple disks.
37551
37552 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37553
29c18915 375542008-08-23 Bean <bean123ch@gmail.com>
37555
37556 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37557
37558 * genfslist.sh: Ignore kernel.mod.
37559
37560 * genpartmaplist.sh: Likewise.
37561
8415f261 375622008-08-23 Robert Millan <rmh@aybabtu.com>
37563
37564 * util/getroot.c (find_root_device): Skip anything that starts with
37565 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37566
d5a7dc5b 375672008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37568
d5a7dc5b 37569 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37570 * util/grub.d/00_header.in: Allow the administrator to change default
37571 gfxmode via ${GRUB_GFXMODE}.
37572
380cfbb4 375732008-08-21 Felix Zielcke <fzielcke@z-51.de>
37574
37575 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37576
c9baafe7 375772008-08-21 Robert Millan <rmh@aybabtu.com>
37578
37579 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37580 loader.
37581 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37582 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37583
e290bef2 375842008-08-20 Carles Pina i Estany <carles@pina.cat>
37585
37586 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37587 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37588
f9dbfc96 375892008-08-19 Robert Millan <rmh@aybabtu.com>
37590
37591 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37592 (struct grub_virtual_screen): Remove `cursor_color'.
37593 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37594 initialization.
37595 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37596
dd6bd6ab 375972008-08-18 Robert Millan <rmh@aybabtu.com>
37598
37599 Unify (identical) linux_normal.c files.
37600 * loader/i386/efi/linux_normal.c: Move from here ...
37601 * loader/linux_normal.c: ... to here. Update all users.
37602 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37603 * loader/i386/ieee1275/linux_normal.c: Likewise.
37604
7f42f83e 376052008-08-18 Robert Millan <rmh@aybabtu.com>
37606
37607 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37608 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37609 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37610 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37611 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37612 New macros.
37613 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37614 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37615 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37616 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37617 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37618 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37619 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37620 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37621 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37622 portably using grub_getxy().
37623 Replace `-EFI' with `-bzImage' in boot message.
37624
38487ddb 376252008-08-17 Robert Millan <rmh@aybabtu.com>
37626
37627 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37628
deceb3ec 376292008-08-17 Robert Millan <rmh@aybabtu.com>
37630
37631 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37632
37633 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37634 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37635 (grub_machine_mmap_iterate): New function declaration.
37636 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37637 structure.
37638 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37639 macros.
37640
37641 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37642 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37643 Move e820 parsing from here ...
37644 * kern/i386/pc/mmap.c: New file.
37645 (grub_machine_mmap_iterate): ... to here.
37646
37647 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37648 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37649 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37650 (grub_available_iterate): Redeclare to return `void', and redeclare
37651 its hook to use grub_uint64_t as addr and size parameters, and rename
37652 to ...
37653 (grub_machine_mmap_iterate): ... this. Update all users.
37654
37655 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37656 to make it more readable. Rename to ...
37657 (grub_machine_mmap_iterate): ... this.
37658
37659 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37660 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37661 (grub_multiboot): Allocate an extra region after the payload, and fill
37662 it with a Multiboot memory map. Adjust a.out loader to calculate size
37663 with the extra space.
37664 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37665 with the extra space.
37666
f8aa0f43 376672008-08-17 Carles Pina i Estany <carles@pina.cat>
37668
9807deb9 37669 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37670
605f5bb6 376712008-08-17 Felix Zielcke <fzielcke@z-51.de>
37672
37673 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37674 mdate-sh to the list `find' searches for.
37675 * DISTLIST: Regenerated.
37676
210db6c6 376772008-08-16 Felix Zielcke <fzielcke@z-51.de>
37678
37679 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37680 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37681 genmoddep.awk, gensymlist.sh.in.
37682 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37683 * DISTLIST: Regenerated.
48cdbfd4 37684 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37685
1082b929 376862008-08-16 Robert Millan <rmh@aybabtu.com>
37687
37688 * disk/raid.c (grub_raid_init): Handle/report errors set by
37689 grub_device_iterate().
37690 * disk/lvm.c (grub_lvm_init): Likewise.
37691
42ce5170 376922008-08-15 Bean <bean123ch@gmail.com>
37693
37694 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37695 and datehook.mod.
37696 (datetime_mod_SOURCES): New macro.
37697 (datetime_mod_CFLAGS): Likewise.
37698 (datetime_mod_LDFLAGS): Likewise.
37699 (date_mod_SOURCES): Likewise.
37700 (date_mod_CFLAGS): Likewise.
37701 (date_mod_LDFLAGS): Likewise.
37702 (datehook_mod_SOURCES): Likewise.
37703 (datehook_mod_CFLAGS): Likewise.
37704 (datehook_mod_LDFLAGS): Likewise.
37705
37706 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37707 and datehook.mod.
37708 (datetime_mod_SOURCES): New macro.
37709 (datetime_mod_CFLAGS): Likewise.
37710 (datetime_mod_LDFLAGS): Likewise.
37711 (date_mod_SOURCES): Likewise.
37712 (date_mod_CFLAGS): Likewise.
37713 (date_mod_LDFLAGS): Likewise.
37714 (datehook_mod_SOURCES): Likewise.
37715 (datehook_mod_CFLAGS): Likewise.
37716 (datehook_mod_LDFLAGS): Likewise.
37717
37718 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37719 and datehook.mod.
37720 (datetime_mod_SOURCES): New macro.
37721 (datetime_mod_CFLAGS): Likewise.
37722 (datetime_mod_LDFLAGS): Likewise.
37723 (date_mod_SOURCES): Likewise.
37724 (date_mod_CFLAGS): Likewise.
37725 (date_mod_LDFLAGS): Likewise.
37726 (datehook_mod_SOURCES): Likewise.
37727 (datehook_mod_CFLAGS): Likewise.
37728 (datehook_mod_LDFLAGS): Likewise.
37729
37730 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37731 and datehook.mod.
37732 (datetime_mod_SOURCES): New macro.
37733 (datetime_mod_CFLAGS): Likewise.
37734 (datetime_mod_LDFLAGS): Likewise.
37735 (date_mod_SOURCES): Likewise.
37736 (date_mod_CFLAGS): Likewise.
37737 (date_mod_LDFLAGS): Likewise.
37738 (datehook_mod_SOURCES): Likewise.
37739 (datehook_mod_CFLAGS): Likewise.
37740 (datehook_mod_LDFLAGS): Likewise.
37741
37742 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37743 and datehook.mod.
37744 (datetime_mod_SOURCES): New macro.
37745 (datetime_mod_CFLAGS): Likewise.
37746 (datetime_mod_LDFLAGS): Likewise.
37747 (date_mod_SOURCES): Likewise.
37748 (date_mod_CFLAGS): Likewise.
37749 (date_mod_LDFLAGS): Likewise.
37750 (datehook_mod_SOURCES): Likewise.
37751 (datehook_mod_CFLAGS): Likewise.
37752 (datehook_mod_LDFLAGS): Likewise.
37753
37754 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37755
37756 * commands/date.c: New file.
37757
37758 * hook/datehook.c: Likewise.
37759
37760 * include/grub/lib/datetime.h: Likewise.
37761
37762 * include/grub/i386/cmos.h: Likewise.
37763
37764 * lib/datetime.c: Likewise.
37765
37766 * lib/i386/datetime.c: Likewise.
37767
37768 * lib/efi/datetime.c: Likewise.
37769
0e9242da 377702008-08-14 Robert Millan <rmh@aybabtu.com>
37771
37772 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37773 (grub_mkelfimage_SOURCES): New variable.
37774 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37775
37776 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37777 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37778 * conf/powerpc-ieee1275.rmk: Likewise.
37779 * conf/i386-ieee1275.rmk: Likewise.
37780
37781 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37782 * kern/i386/coreboot/init.c: Likewise.
37783
37784 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37785 with `<grub/cpu/kernel.h>'.
37786 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37787 to ...
37788 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37789 * kern/i386/coreboot/startup.S: Likewise.
37790
37791 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37792 (GRUB_MOD_GAP): Remove.
37793 * include/grub/powerpc/kernel.h: New file.
37794 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37795 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37796 * include/grub/i386/kernel.h: New file.
37797 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37798 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37799 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37800
37801 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37802 `grub-mkelfimage'.
37803 Use --directory when invoking grub_mkimage.
37804
37805 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37806 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37807 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37808 and GRUB_KERNEL_CPU_PREFIX.
37809
b86408f8 378102008-08-14 Felix Zielcke <fzielcke@z-51.de>
37811
d5e619ca 37812 * include/grub/err.h (grub_err_printf): New function prototype.
37813 * util/misc.c (grub_err_printf): New function.
37814 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37815 grub_printf.
37816 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37817
7161f0e0 378182008-08-13 Robert Millan <rmh@aybabtu.com>
37819
37820 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37821
a1967522 378222008-08-13 Robert Millan <rmh@aybabtu.com>
37823
37824 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37825 boot entry.
37826
371458b5 378272008-08-12 Robert Millan <rmh@aybabtu.com>
37828
37829 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37830 of the relocation code from here ...
37831 (grub_multiboot): ... to here.
37832 (forward_relocator, backward_relocator): Move from here ...
37833 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37834 (grub_multiboot_backward_relocator): ... to here.
37835 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37836 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37837 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37838 (grub_multiboot_forward_relocator_end)
37839 (grub_multiboot_backward_relocator)
37840 (grub_multiboot_backward_relocator_end): New variables.
37841
05f9452b 378422008-08-12 Bean <bean123ch@gmail.com>
37843
37844 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37845
20024ab0 378462008-08-11 Robert Millan <rmh@aybabtu.com>
37847
37848 * kern/i386/linuxbios/startup.S: Move from here ...
37849 * kern/i386/coreboot/startup.S: ... to here.
37850
37851 * kern/i386/linuxbios/init.c: Move from here ...
37852 * kern/i386/coreboot/init.c: ... to here.
37853
37854 * kern/i386/linuxbios/table.c: Move from here ...
37855 * kern/i386/coreboot/mmap.c: ... to here.
37856
37857 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37858
e352e9cd 378592008-08-11 Robert Millan <rmh@aybabtu.com>
37860
37861 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37862 errors. Leave it to the upper layer to handle them.
37863
2d05bc6a 378642008-08-09 Christian Franke <franke@computer.org>
37865
37866 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37867 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37868 Install `grub.d/10_windows' only on Cygwin.
37869 * configure.ac: Add subst of `target_os'.
37870 Check `target_os' also before setting TARGET_OBJ2ELF.
37871 Add `--enable-grub-pe2elf'.
37872
042bd419 378732008-08-08 Robert Millan <rmh@aybabtu.com>
37874
37875 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37876 (grub_last_time): Change type to grub_uint64_t.
37877 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37878 (grub_disk_close): Likewise.
37879
37880 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37881 (run_menu): Migrate code from to using grub_get_time_ms().
37882
37883 * util/misc.c (grub_get_time_ms): New function.
37884
7f280db5 378852008-08-08 Marco Gerards <marco@gnu.org>
37886
37887 * disk/ata.c (grub_ata_regget): Change return type to
37888 `grub_uint8_t'.
37889 (grub_ata_regget2): Likewise.
37890 (grub_ata_wait_status): New function.
37891 (grub_ata_wait_busy): Removed function, updated all users to use
37892 `grub_ata_wait_status'.
37893 (grub_ata_wait_drq): Likewise.
37894 (grub_ata_cmd): New function.
37895 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37896 error handling.
37897 (grub_ata_pio_write): Add error handling.
37898 (grub_atapi_identify): Likewise.
37899 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37900 handling.
37901 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37902 handling. Actually use the detected registers. Reorder the
37903 detection logic such that it is easier to read.
37904 (grub_ata_pciinit): Do not assign the same ID to each controller.
37905 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37906 handling.
37907 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37908
37909 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37910
1fbc5e66 379112008-08-08 Marco Gerards <marco@gnu.org>
37912
37913 * NEWS: Update.
37914
819ce6c0 379152008-08-07 Bean <bean123ch@gmail.com>
37916
37917 * include/grub/x86_64/pci.h: New file.
37918
5c41d44d 379192008-08-07 Christian Franke <franke@computer.org>
37920
37921 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37922 (TIMER2_GATE): Likewise.
37923 (grub_pit_wait): Add enable/disable of the timer2 gate
37924 bit of port 0x61. This fixes a possible infinite loop.
37925
5ebc275d 379262008-08-07 Bean <bean123ch@gmail.com>
37927
37928 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37929 kern/i386/tsc.c and kern/i386/pit.c.
37930
37931 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37932 x86_64 platform.
37933
37934 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37935 <grub/i386/tsc.h>.
37936
37937 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37938
e383b3d0 379392008-08-07 Bean <bean123ch@gmail.com>
37940
37941 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37942
37943 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37944
37945 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37946 multiple inclusion. Add #include <grub/types.h>.
37947
1cbb58ac 379482008-08-06 Christian Franke <franke@computer.org>
37949
37950 * conf/common.rmk: Build and install `10_windows'.
37951 * util/grub.d/10_windows.in: New script.
37952
337f5a1e 379532008-08-06 Pavel Roskin <proski@gnu.org>
37954
37955 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37956
057bc4ac 379572008-08-06 Robert Millan <rmh@aybabtu.com>
37958
37959 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37960 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37961
2b99f123 379622008-08-06 Bean <bean123ch@gmail.com>
37963
37964 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37965 (grub_pxefs_fs_int): Remove dummy definition.
37966 (grub_pxefs_open): Use data->block_size to store the current block
37967 size setting.
37968 (grub_pxefs_read): Use block size stored in data->block_size. As the
37969 value of grub_pxe_blksize can be changed after the file is opened.
37970
9f0234cb 379712008-08-06 Bean <bean123ch@gmail.com>
37972
37973 * fs/i386/pc/pxe.c (curr_file): new variable.
37974 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37975 require the dummy internal file system anymore.
37976 (grub_pxefs_read): Removed.
37977 (grub_pxefs_close): Likewise.
37978 (grub_pxefs_fs_int): Likewise.
37979 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37980 connection when we switch file.
37981 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37982
a55d42e0 379832008-08-06 Robert Millan <rmh@aybabtu.com>
37984
37985 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37986 `halt.mod'.
37987 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37988 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37989
37990 * kern/i386/halt.c: New file.
37991 * kern/i386/reboot.c: Likewise.
37992 * include/grub/i386/reboot.h: Likewise.
37993 * include/grub/i386/halt.h: Likewise.
37994
37995 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37996 Include `<grub/cpu/halt.h>'.
37997 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37998 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37999
38000 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38001 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38002 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38003 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38004 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38005 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38006 from here ...
38007 * include/grub/i386/at_keyboard.h: ... to here.
38008
24371d26 380092008-08-05 Robert Millan <rmh@aybabtu.com>
38010
38011 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38012 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38013 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38014 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38015 `kern/generic/millisleep.c'.
38016
38017 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38018 instead of grub_get_rtc().
38019 (grub_tsc_init): Initialize `tsc_boot_time'.
38020
38021 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38022 (grub_machine_init): Use grub_tsc_init() rather than
38023 installing an RTC-based handler via grub_install_get_time_ms().
38024
38025 * kern/i386/pit.c: New file.
38026 * include/grub/i386/pit.h: Likewise.
38027
9e7007b3 380282008-08-05 Bean <bean123ch@gmail.com>
38029
38030 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38031
38032 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38033 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38034 (pxe_mod_SOURCES): New macro.
38035 (pxe_mod_CFLAGS): Likewise.
38036 (pxe_mod_LDFLAGS): Likewise.
38037 (pxecmd_mod_SOURCES): Likewise.
38038 (pxecmd_mod_CFLAGS): Likewise.
38039 (pxecmd_mod_LDFLAGS): Likewise.
38040
38041 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38042 (grub_pxe_call): Likewise.
38043
38044 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38045
38046 * commands/i386/pc/pxecmd.c: New file.
38047
9f0234cb 38048 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38049
38050 * include/grub/i386/pc/pxe.h: Likewise.
38051
6977d49f 380522008-08-05 Bean <bean123ch@gmail.com>
38053
38054 * util/console.c (grub_console_cur_color): New variable.
38055 (grub_console_standard_color): Likewise.
38056 (grub_console_normal_color): Likewise.
38057 (grub_console_highlight_color): Likewise.
38058 (color_map): Likewise.
38059 (use_color): Likewise.
38060 (NUM_COLORS): New macro.
38061 (grub_ncurses_setcolorstate): Handle color properly.
38062 (grub_ncurses_setcolor): Don't change color here, just remember the
38063 settings, color will be set in grub_ncurses_setcolorstate.
38064 (grub_ncurses_getcolor): New function.
38065 (grub_ncurses_init): Initialize color pairs.
38066 (grub_ncurses_term): New member grub_ncurses_getcolor.
38067
9c2ff3ee 380682008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38069
9c2ff3ee 38070 High resolution timer support. Implemented for x86 CPUs using TSC.
38071 Extracted generic grub_millisleep() so it's linked in only as needed.
38072 This requires a Pentium compatible CPU; if the RDTSC instruction is
38073 not supported, then it falls back on the generic grub_get_time_ms()
38074 implementation that uses the machine's RTC.
38075
38076 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38077 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38078 `kern/generic/millisleep.c'.
38079
38080 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38081 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38082
38083 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38084 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38085
38086 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38087
38088 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38089 `kern/generic/millisleep.c'.
38090
38091 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38092
38093 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38094
38095 * kern/generic/rtc_get_time_ms.c: New file.
38096
38097 * kern/generic/millisleep.c: New file.
337f5a1e 38098
9c2ff3ee 38099 * kern/misc.c: Don't include
38100 <kern/time.h> anymore.
38101 (grub_millisleep_generic): Removed.
38102
38103 * commands/sleep.c (grub_interruptible_millisleep): Uses
38104 grub_get_time_ms() instead of grub_get_rtc().
38105
38106 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38107 function.
38108 (grub_cpu_is_cpuid_supported): New inline function.
38109 (grub_cpu_is_tsc_supported): New inline function.
38110 (grub_tsc_init): New function prototype.
38111 (grub_tsc_get_time_ms): New function prototype.
38112
38113 * kern/i386/tsc.c (grub_get_time_ms): New file.
38114
38115 * include/grub/time.h: Include <grub/types.h.
38116 (grub_millisleep_generic): Removed.
38117 (grub_get_time_ms): New prototype.
38118 (grub_install_get_time_ms): New prototype.
38119 (grub_rtc_get_time_ms): New prototype.
38120
38121 * kern/time.c (grub_get_time_ms): New function.
38122 (grub_install_get_time_ms): New function.
38123
38124 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38125 <grub/time.h> anymore.
38126 (grub_millisleep): Removed.
38127 (grub_machine_init): Call grub_tsc_init.
38128
38129 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38130 get_time_ms() implementation.
38131
38132 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38133 (ieee1275_get_time_ms): New function.
38134 (grub_machine_init): Install get_time_ms() implementation.
38135
38136 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38137 (grub_machine_init): Call grub_tsc_init().
38138 (grub_millisleep): Removed.
bf06a93f 38139
9c2ff3ee 38140 * kern/ieee1275/init.c (grub_millisleep): Removed.
38141 (grub_machine_init): Install ieee1275_get_time_ms()
38142 implementation.
38143 (ieee1275_get_time_ms): New function.
38144 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
38145 real work.
38146
9ec92aaf 381472008-08-05 Marco Gerards <marco@gnu.org>
38148
38149 * disk/ata.c: Include <grub/pci.h>.
38150 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
38151 (grub_ata_initialize): Rewritten.
38152 (grub_ata_device_initialize): New function.
38153
8d23f507 381542008-08-04 Pavel Roskin <proski@gnu.org>
38155
38156 * kern/main.c: Include grub/mm.h.
38157
5e15ee3d 381582008-08-04 Robert Millan <rmh@aybabtu.com>
38159
38160 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
38161 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
38162 corruption problem).
38163
a9053f8f 381642008-08-04 Robert Millan <rmh@aybabtu.com>
38165
38166 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
38167 warnings introduced in my last commit.
38168
dd19c7d7 381692008-08-03 Robert Millan <rmh@aybabtu.com>
38170
38171 Make PCI available on all i386 architectures.
38172
38173 * include/grub/i386/pc/pci.h: Move from here ...
38174 * include/grub/i386/pci.h: ... to here.
38175
38176 * include/grub/i386/pc/pci.h: Remove.
38177 * include/grub/i386/efi/pci.h: Remove.
38178 * include/grub/x86_64/efi/pci.h: Remove.
38179
38180 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38181 `<grub/cpu/pci.h>'.
38182
38183 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38184 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38185 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38186
38187 * conf/i386-ieee1275.rmk: Likewise.
38188
e14a6184 381892008-08-03 Robert Millan <rmh@aybabtu.com>
38190
38191 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38192 (grub_console_setcursor): Make it possible to set cursor off.
38193
52768e37 381942008-08-03 Robert Millan <rmh@aybabtu.com>
38195
38196 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38197 of modules instead of assuming which platform provides what.
38198 * util/update-grub.in: Likewise.
38199
2d52f57f 382002008-08-03 Robert Millan <rmh@aybabtu.com>
38201
38202 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38203 instead of `grub_install_dos_part' to determine whether a drive needs
38204 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38205 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38206
2a5cd121 382072008-08-02 Robert Millan <rmh@aybabtu.com>
38208
38209 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38210
93808428 382112008-08-02 Robert Millan <rmh@aybabtu.com>
38212
38213 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38214 of informational grub_dprintf() calls.
38215
3bd0a12a 382162008-08-02 Robert Millan <rmh@aybabtu.com>
38217
38218 * disk/memdisk.c (memdisk_size): Don't initialize.
38219 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38220
38221 * include/grub/i386/pc/kernel.h
38222 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38223 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38224 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38225 (grub_arch_memdisk_size): Remove.
38226
38227 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38228 field (was only used to transfer a constant). Add `type' field to
38229 support multiple module types.
38230 (grub_module_iterate): New function.
38231
38232 * kern/device.c (grub_device_open): Do not hide error messages
38233 when grub_disk_open() fails. Use grub_print_error() instead.
38234
38235 * kern/i386/pc/init.c (grub_arch_modules_addr)
38236 (grub_arch_memdisk_size): Remove functions.
38237 (grub_arch_modules_addr): Return the module address in high memory
38238 (now that it isn't copied anymore).
38239
38240 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38241 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38242 decompression routine (grub_total_module_size already includes that
38243 now). Don't copy modules back to low memory.
38244
38245 * kern/main.c: Include `<grub/mm.h>'.
38246 (grub_load_modules): Split out (and use) ...
38247 (grub_module_iterate): ... this function, which iterates through
38248 module objects and runs a hook.
38249 Comment out grub_mm_init_region() call, as it would cause non-ELF
38250 modules to be overwritten.
38251
38252 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38253 the memdisk image in its own region, make it part of the module list.
38254 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38255 (main): Parse --memdisk|-m option, and pass user-provided path as
38256 parameter to generate_image().
38257 (add_segments): Pass `memdisk_path' down to load_modules().
38258 (load_modules): Embed memdisk image in module section when requested.
38259 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38260 `header.type' instead of `header.offset'.
38261
38262 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38263 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38264 (memdisk_mod_LDFLAGS): New variables.
38265 * conf/i386-coreboot.rmk: Likewise.
38266 * conf/i386-ieee1275.rmk: Likewise.
38267
a927cc73 382682008-08-02 Robert Millan <rmh@aybabtu.com>
38269
38270 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38271 (backward_relocator): New variables. Used to allocate and relocate
38272 the payload, respectively.
38273 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38274 address, install the appropriate relocator code in each bound of
a927cc73 38275 the payload, and set the entry point such that
38276 grub_multiboot_real_boot() will jump to one of them.
38277
38278 * kern/i386/loader.S (grub_multiboot_payload_size)
38279 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38280 (grub_multiboot_payload_entry_offset): New variables.
38281 (grub_multiboot_real_boot): Set cpu context to what the relocator
38282 expects, and jump to the relocator instead of the payload.
38283
38284 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38285 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38286 (grub_multiboot_payload_entry_offset): Export.
38287
b15d8a0c 382882008-08-01 Bean <bean123ch@gmail.com>
38289
38290 * normal/menu_entry.c (editor_getline): Don't return the original
38291 string as result, as it will be released by lexer once it has done
38292 using it.
38293
cdfb3d22 382942008-08-01 Robert Millan <rmh@aybabtu.com>
38295
38296 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38297 within menuentries, not before them.
38298 util/grub.d/10_hurd.in: Likewise.
38299
9175e93d 383002008-08-01 Bean <bean123ch@gmail.com>
38301
38302 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38303 (bufio_mod_SOURCES): New macro.
38304 (bufio_mod_CFLAGS): Likewise.
38305 (bufio_mod_LDFLAGS): Likewise.
38306
38307 * include/grub/bufio.h: New file.
38308
38309 * io/bufio.c: Likewise.
38310
38311 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38312 (grub_video_reader_png): Use grub_buffile_open to open file.
38313
38314 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38315 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38316
38317 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38318 (grub_video_reader_tga): Use grub_buffile_open to open file.
38319
38320 * font/manager.c: Include <grub/bufio.h>.
38321 (add_font): Use grub_buffile_open to open file.
38322
3d8383e7 383232008-07-31 Robert Millan <rmh@aybabtu.com>
38324
38325 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38326 ELF segments, use a macro for arbitrarily accessing any of them instead
38327 of preparing a pointer that allows access to one at a time.
38328 (grub_multiboot_load_elf64): Likewise.
38329
16e641b6 383302008-07-31 Bean <bean123ch@gmail.com>
38331
38332 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38333 GRUB_KERNEL_MACHINE_DATA_END.
38334
59198b72 383352008-07-30 Robert Millan <rmh@aybabtu.com>
38336
38337 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38338 Increase from 0x50 to 0x60.
38339 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38340 use UUIDs to identify the root drive for them. If that's not
38341 possible, abort.
38342 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38343 check, for cross-disk installs.
38344
ae88bca3 383452008-07-30 Robert Millan <rmh@aybabtu.com>
38346
38347 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38348 is non-empty, use it to set the `prefix' environment variable instead
38349 of the usual approach.
38350 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38351 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38352 environment variable instead of dummy make_install_device().
38353
38354 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38355 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38356 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38357
38358 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38359 New variable reference.
38360 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38361 New macro. Defines offset of `grub_prefix' within startup.S (relative
38362 to `start').
38363 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38364 section within startup.S (relative to `start').
38365 * include/grub/i386/coreboot/kernel.h: Likewise.
38366
38367 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38368 Overwrite grub_prefix with its contents, at the beginning of the
38369 first segment.
38370 (main): Understand -p|--prefix.
38371
14f41dd1 383722008-07-30 Robert Millan <rmh@aybabtu.com>
38373
38374 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38375
4ca049a3 383762008-07-30 Robert Millan <rmh@aybabtu.com>
38377
38378 * term/i386/pc/vga_text.c (grub_console_cls): Use
38379 grub_console_gotoxy() to go back to beginning of the screen.
38380 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38381
2921d337 383822008-07-29 Christian Franke <franke@computer.org>
38383
38384 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38385 Add conversion of emulated mount points on Cygwin.
38386
b609876d 383872008-07-29 Christian Franke <franke@computer.org>
38388
38389 * util/update-grub.in: Add a check for admin
38390 group on Cygwin.
38391 Remove old `grub.cfg.new' before creation.
38392 Add `-f' to `mv' to handle the different filesystem
38393 semantics of Windows.
38394
e93e4679 383952008-07-29 Bean <bean123ch@gmail.com>
38396
38397 * normal/main.c (get_line): Fix buffer overflow bug.
38398
41694fd0 383992008-07-28 Robert Millan <rmh@aybabtu.com>
38400
38401 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38402 (struct grub_apple_header): New struct. Describes the layout of
38403 the partmap header.
38404 (apple_partition_map_iterate): Check the header magic as well as the
38405 partition magic (which was already being checked).
38406
cfd0b4e6 384072008-07-28 Pavel Roskin <proski@gnu.org>
38408
38409 * genmk.rb: Add a warning to the beginning of the output that
38410 it's a generated file and should not be edited.
38411
93cce016 384122008-07-28 Robert Millan <rmh@aybabtu.com>
38413
38414 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38415 with the same number are found, just use issue a warning with
38416 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38417
cd1df915 384182008-07-27 Robert Millan <rmh@aybabtu.com>
38419
38420 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38421 information.
38422
b70a8427 384232008-07-27 Bean <bean123ch@gmail.com>
38424
38425 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38426 (grub_fat_find_dir): Ignore case when comparing filename.
38427
8f5e379f 384282008-07-27 Bean <bean123ch@gmail.com>
38429
38430 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38431 smallino, as it's more descriptive, and i8count can be confused with
38432 the other field count.
38433 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38434 inode type.
38435
a85cd5a0 384362008-07-27 Bean <bean123ch@gmail.com>
38437
38438 * commands/crc.c: New file.
38439
38440 * lib/crc.c: Likewise.
38441
38442 * include/grub/lib/crc.h: Likewise.
38443
38444 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38445
38446 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38447 (hexdump): Move this function to ...
38448
38449 * lib/hexdump.c: ... here.
38450
38451 * include/grub/hexdump.h: Renamed to ...
38452
38453 * include/grub/lib/hexdump.h: ... this.
38454
38455 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38456
38457 * util/grub-editenv.c: Likewise.
38458
38459 * include/envblk.h: Renamed to ...
38460
38461 * include/lib/envblk.h: ... this.
38462
38463 * util/envblk.c: Renamed to ...
38464
38465 * lib/envblk.c: ... this.
38466
38467 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38468 lib/hexdump.c.
38469 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38470 (pkglib_MODULES): Add crc.mod.
38471 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38472 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38473 (crc_mod_SOURCES): New macro.
38474 (crc_mod_CFLAGS): Likewise.
38475 (crc_mod_LDFLAGS): Likewise.
38476
38477 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38478
38479 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38480
38481 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38482
38483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38484
38485 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38486
c298def0 384872008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38488
38489 * commands/help.c: Include <grub/term.h>.
38490 (TERM_WIDTH): Removed. Updated all users.
38491
cc349fb3 384922008-07-27 Pavel Roskin <proski@gnu.org>
38493
38494 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38495 spurious warnings about a comment within a comment.
38496
9051607e 384972008-07-25 Robert Millan <rmh@aybabtu.com>
38498
38499 * util/getroot.c (find_root_device): Skip devices that match
38500 /dev/dm-[0-9]. This lets the real device be found for any type of
38501 abstraction (LVM, EVMS, RAID..).
38502 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38503 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38504 device is found first, find_root_device() will now skip it.
38505
01453bfc 385062008-07-24 Pavel Roskin <proski@gnu.org>
38507
38508 * include/grub/types.h: Use __builtin_bswap32() and
38509 __builtin_bswap64() with gcc 4.3 and newer.
38510
6af9849f 385112008-07-24 Christian Franke <franke@computer.org>
38512
3a0fa256 38513 * util/i386/pc/grub-install.in: If `--debug' is specified,
38514 pass `--verbose' to grub-setup.
38515 Abort script if make_system_path_relative_to_its_root() fails.
38516
7810e747 385172008-07-24 Bean <bean123ch@gmail.com>
38518
38519 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38520 variable `target_platform' should be `platform'.
38521
42290e17 385222008-07-24 Bean <bean123ch@gmail.com>
38523
51cc5193 38524 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38525 (grub_png_init_fixed_block): New function.
38526 (grub_png_decode_image_data): Handle fixed huffman code compression.
38527
2a8a80e4 385282008-07-24 Bean <bean123ch@gmail.com>
38529
38530 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38531 (grub_pe2elf_SOURCES): New macro.
38532 (CLEANFILES): Add grub-pe2elf.
38533
38534 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38535 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38536 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38537 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38538 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38539 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38540 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38541 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38542 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38543 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38544 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38545 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38546 (GRUB_PE32_DT_FUNCTION): Likewise.
38547 (GRUB_PE32_REL_I386_DIR32): Likewise.
38548 (GRUB_PE32_REL_I386_REL32): Likewise.
38549 (grub_pe32_symbol): New structure.
38550 (grub_pe32_reloc): Likewise.
38551
38552 * util/grub-pe2elf.c: New file.
38553
38554 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38555 start symbol in non pc platform.
38556
38557 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38558
38559 The following patches are from Christian Franke.
38560
38561 * include/grub/dl.h: Remove .previous, gas supports this only
38562 for ELF format.
38563
38564 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38565 Remove .type, gas supports this only for ELF format.
38566
38567 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38568 nullbytes in symbol table. This fixes an infinite loop if table is
38569 zero filled.
38570
38571 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38572 TARGET_IMG_LDFLAGS and EXEEXT.
38573
38574 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38575 TARGET_IMG_LDFLAGS_AC.
38576 (grub_CHECK_STACK_ARG_PROBE): New function.
38577
38578 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38579
38580 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38581
38582 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38583 to set TARGET_IMG_LD* accordingly.
38584 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38585 Add call to grub_CHECK_STACK_ARG_PROBE.
38586 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38587
38588 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38589
38590 * genmk.rb: Add EXEEXT to CLEANFILES.
38591
12ccdb75 385922008-07-23 Robert Millan <rmh@aybabtu.com>
38593
38594 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38595 define the codes for arrows and lines used for the menu).
38596 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38597 as well.
38598
38599 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38600 fonts, because the latter are too slow.
38601
18eeaf04 386022008-07-21 Bean <bean123ch@gmail.com>
38603
38604 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38605 a20. Run keyboard test last, as it will cause macbook to halt.
38606
b095e2ad 386072008-07-18 Pavel Roskin <proski@gnu.org>
38608
38609 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38610 load foreign architecture modules correctly anyway. Keep
38611 support for loading host architecture modules, whether we
38612 compile them or not.
38613
737feb35 386142008-07-17 Pavel Roskin <proski@gnu.org>
38615
3f4ce737 38616 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38617 change target_cpu. The compiler default can mismatch target_cpu
38618 in any case.
38619
4ad2d049 38620 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38621 * kern/efi/efi.c: Likewise.
38622
f6130a12 38623 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38624 target compiler is functional.
38625 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38626 are set up.
38627
58393a2d 38628 * configure.ac: Default to efi platform for x86_64-apple. Allow
38629 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38630 adjustments from the rest, only do them if target is not
38631 explicitly given. Merge other adjustments with the final sanity
38632 check. Remove an extraneous check for supported CPU. Be
38633 specific which CPU and which platform is not supported.
38634
737feb35 38635 * configure.ac: Default to pc platform for x86_64.
38636
546f966a 386372008-07-17 Robert Millan <rmh@aybabtu.com>
38638
38639 Partial LinuxBIOS -> Coreboot rename.
38640
38641 * conf/i386-linuxbios.rmk: Renamed to ...
38642 * conf/i386-coreboot.rmk: ... this.
38643 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38644 * configure.ac: Accept "coreboot" as input platform (but maintain
38645 compatibility with "linuxbios").
38646 * include/grub/i386/linuxbios: Renamed to ...
38647 * include/grub/i386/coreboot: ... this.
38648
20011694 386492008-07-17 Bean <bean123ch@gmail.com>
38650
38651 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38652 (appleldr_mod_SOURCE): New variable.
20011694 38653 (appleldr_mod_CFLAGS): Likewise.
38654 (appleldr_mod_LDFLAGS): Likewise.
38655 (pci_mod_SOURCES): Likewise.
38656 (pci_mod_CFLAGS): Likewise.
38657 (pci_mod_LDFLAGS): Likewise.
38658 (lspci_mod_SOURCES): Likewise.
38659 (lspci_mod_CFLAGS): Likewise.
38660 (lspci_mod_LDFLAGS): Likewise.
38661
38662 * conf/x86_64-efi.rmk: New file.
38663
38664 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38665 macro.
38666 (grub_efidisk_write): Likewise.
38667
38668 * include/efi/api.h (efi_call_0): New macro.
38669 (efi_call_1): Likewise.
38670 (efi_call_2): Likewise.
38671 (efi_call_3): Likewise.
38672 (efi_call_4): Likewise.
38673 (efi_call_5): Likewise.
38674 (efi_call_6): Likewise.
38675
38676 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38677 grub_rescue_cmd_chainloader.
38678
38679 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38680 (grub_pe32_optional_header): Change some fields based on i386 or
38681 x86_64 platform.
38682 (GRUB_PE32_PE32_MAGIC): Likewise.
38683
38684 * include/grub/efi/uga_draw.h: New file.
38685
38686 * include/grub/elf.h (STN_ABS): New constant.
38687 (R_X86_64_NONE): Relocation constant for x86_64.
38688 (R_X86_64_64): Likewise.
38689 (R_X86_64_PC32): Likewise.
38690 (R_X86_64_GOT32): Likewise.
38691 (R_X86_64_PLT32): Likewise.
38692 (R_X86_64_COPY): Likewise.
38693 (R_X86_64_GLOB_DAT): Likewise.
38694 (R_X86_64_JUMP_SLOT): Likewise.
38695 (R_X86_64_RELATIVE): Likewise.
38696 (R_X86_64_GOTPCREL): Likewise.
38697 (R_X86_64_32): Likewise.
38698 (R_X86_64_32S): Likewise.
38699 (R_X86_64_16): Likewise.
38700 (R_X86_64_PC16): Likewise.
38701 (R_X86_64_8): Likewise.
38702 (R_X86_64_PC8): Likewise.
38703
38704 * include/grub/i386/efi/pci.h: New file.
38705
38706 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38707 Change it value based on platform.
38708 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38709 (GRUB_E820_RAM): Likewise.
38710 (GRUB_E820_RESERVED): Likewise.
38711 (GRUB_E820_ACPI): Likewise.
38712 (GRUB_E820_NVS): Likewise.
38713 (GRUB_E820_EXEC_CODE): Likewise.
38714 (GRUB_E820_MAX_ENTRY): Likewise.
38715 (grub_e820_mmap): New structure.
38716 (linux_kernel_header): Change the efi field according to different
38717 kernel version, also field from linux_kernel_header.
38718
38719 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38720
38721 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38722 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38723 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38724 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38725 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38726 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38727 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38728 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38729 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38730 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38731
38732 * include/grub/x86_64/efi/kernel.h: New file.
38733
38734 * include/grub/x86_64/efi/loader.h: Likewise.
38735
38736 * include/grub/x86_64/efi/machine.h: Likewise.
38737
38738 * include/grub/x86_64/efi/pci.h: Likewise.
38739
38740 * include/grub/x86_64/efi/time.h: Likewise.
38741
38742 * include/grub/x86_64/linux.h: Likewise.
38743
38744 * include/grub/x86_64/setjmp.h: Likewise.
38745
38746 * include/grub/x86_64/time.h: Likewise.
38747
38748 * include/grub/x86_64/types.h: Likewise.
38749
38750 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38751 GRUB_TARGET_SIZEOF_VOID_P.
38752
38753 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38754 (grub_efi_locate_handle): Likewise.
38755 (grub_efi_open_protocol): Likewise.
38756 (grub_efi_set_text_mode): Likewise.
38757 (grub_efi_stall): Likewise.
38758 (grub_exit): Likewise.
38759 (grub_reboot): Likewise.
38760 (grub_halt): Likewise.
38761 (grub_efi_exit_boot_services): Likewise.
38762 (grub_get_rtc): Likewise.
38763
38764 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38765 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38766 (grub_efi_allocate_pages): Wrap efi calls.
38767 (grub_efi_free_pages): Wrap efi calls.
38768 (grub_efi_get_memory_map): Wrap efi calls.
38769
38770 * kern/x86_64/dl.c: New file.
38771
38772 * kern/x86_64/efi/callwrap.S: Likewise.
38773
38774 * kern/x86_64/efi/startup.S: Likewise.
38775
38776 * loader/efi/appleloader.c: Likewise.
38777
38778 * loader/efi/chainloader.c (cmdline): New variable.
38779 (grub_chainloader_unload): Wrap efi calls.
38780 (grub_chainloader_boot): Likewise.
38781 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38782 command line.
38783
38784 * loader/efi/chainloader_normal.c (chainloader_command):
38785 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38786 command line.
38787
38788 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38789 method.
38790 (grub_e820_add_region): New function.
38791 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38792 booting.
38793 (grub_find_video_card): New function.
38794 (grub_linux_setup_video): New function.
38795 (grub_rescue_cmd_linux): Probe for video information.
38796
38797 * normal/x86_64/setjmp.S: New file.
38798
38799 * term/efi/console.c (map_char): New function.
38800 (grub_console_putchar): Map unicode char.
38801 (grub_console_checkkey): Wrap efi calls.
38802 (grub_console_getkey): Likewise.
38803 (grub_console_getwh): Likewise.
38804 (grub_console_gotoxy): Likewise.
38805 (grub_console_cls): Likewise.
38806 (grub_console_setcolorstate): Likewise.
38807 (grub_console_setcursor): Likewise.
38808
38809 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38810
59652a20 388112008-07-16 Pavel Roskin <proski@gnu.org>
38812
ef294055 38813 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38814 format strings.
38815
59652a20 38816 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38817 pointer, not an integer. This fixes a warning and prevents
38818 precision loss on 64-bit systems.
38819 (relocate_addresses): Remove unneeded cast.
38820
afc3b5d7 388212008-07-15 Pavel Roskin <proski@gnu.org>
38822
506b2b3e 38823 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38824
62ead89c 38825 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38826
c4cd51d7 38827 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38828 Fix comparison between signed and unsigned.
38829
0d3d8f28 38830 * include/grub/i386/ieee1275/console.h: Declare
38831 grub_console_init() and grub_console_fini().
38832
8804b286 38833 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38834 It's empty and unused.
38835
ee01cf35 38836 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38837 beginning to avoid warnings with some compilers.
38838
afc3b5d7 38839 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38840 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38841
e4e8eaa5 388422008-07-14 Pavel Roskin <proski@gnu.org>
38843
407aceb4 38844 * kern/env.c (grub_register_variable_hook): Don't copy empty
38845 string, it leaks memory. Pass "" to grub_env_set(), it should
38846 handle constant strings.
38847
e4e8eaa5 38848 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38849 * commands/cmp.c (grub_cmd_cmp): Likewise.
38850 * kern/dl.c (grub_dl_flush_cache): Likewise.
38851 (grub_dl_load_core): Likewise.
38852 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38853 (grub_elf64_load_phdrs): Likewise.
38854
d4e2dad3 388552008-07-13 Pavel Roskin <proski@gnu.org>
38856
38857 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38858 between signed and unsigned.
38859 (LzmaEnc_Finish): Fix warning about an unused parameter.
38860
aa24b516 388612008-07-13 Bean <bean123ch@gmail.com>
38862
38863 * Makefile.in (enable_lzo): New rule.
38864
38865 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38866
38867 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38868
38869 * boot/i386/pc/lnxboot.S: #include <config.h>.
38870
38871 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38872 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38873
38874 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38875 compression algorithm according to configure macro.
38876
38877 * kern/i386/pc/startup.S (codestart): Likewise.
38878
38879 * kern/i386/pc/lzma_decode.S: New file.
38880
38881 * include/grub/lib/LzFind.h: Likewise.
38882
38883 * include/grub/lib/LzHash.h: Likewise.
38884
38885 * include/grub/lib/LzmaDec.h: Likewise.
38886
38887 * include/grub/lib/LzmaEnc.h: Likewise.
38888
38889 * include/grub/lib/LzmaTypes.h: Likewise.
38890
38891 * lib/LzFind.c: Likewise.
38892
38893 * lib/LzmaDec.c: Likewise.
38894
38895 * lib/LzmaEnc.c: Likewise.
38896
4ae821ac 388972008-07-13 Bean <bean123ch@gmail.com>
38898
38899 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38900 (grub_ext4_extent_header): New structure.
38901 (grub_ext4_extent): Likewise.
38902 (grub_ext4_extent_idx): Likewise.
38903 (grub_ext4_find_leaf): New function.
38904 (grub_ext2_read_block): Handle extents.
38905
9a745147 389062008-07-12 Robert Millan <rmh@aybabtu.com>
38907
38908 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38909
d49a4cf6 389102008-07-11 Robert Millan <rmh@aybabtu.com>
38911
38912 * util/grub.d/40_custom.in: New file. Example on how to add custom
38913 entries to /etc/grub.d.
38914 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38915 40_custom (implicitly, by merging all the grub.d rules).
38916
947414b4 389172008-07-11 Pavel Roskin <proski@gnu.org>
38918
0059cf6f 38919 * commands/read.c (grub_getline): Fix invalid memory access.
38920 Don't add newline to the variable value.
38921
947414b4 38922 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38923 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38924 (serial_hw_get_port): Check validity of the port number.
38925 (grub_cmd_serial): Check return value of serial_hw_get_port().
38926
62a02d00 389272008-07-07 Pavel Roskin <proski@gnu.org>
38928
38929 * boot/i386/pc/diskboot.S (notification_string): Replace
38930 "Loading kernel" with just "loading". This is shorter, less
38931 confusing and saves a few bytes for possible future changes.
38932
3e5581b0 389332008-07-05 Pavel Roskin <proski@gnu.org>
38934
ea387a48 38935 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38936 size for ATAPI devices, they are undefined. Output sector
38937 number in decimal form.
38938
3e5581b0 38939 * disk/ata.c: Use named constants for status bits.
38940
fdecb8fd 389412008-07-04 Pavel Roskin <proski@gnu.org>
38942
bcd35b90 38943 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38944 grub_addr_t before casting it to the void pointer to fix a
38945 warning. Non-addressable regions are discarded earlier.
38946 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38947 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38948 (check_signature): Don't shadow table_header.
38949 (grub_linuxbios_table_iterate): Cast numeric constants to
38950 grub_linuxbios_table_header_t.
38951 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38952 grub_stop().
38953
af58ab3d 38954 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38955 prevent warnings.
38956
1759aa57 38957 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38958 pointer, which can cause warnings. Support 64-bit addresses.
38959
fdecb8fd 38960 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38961 of sizeof(long). This fixes PowerPC image generation on x86_64.
38962
8516d2a8 389632008-07-04 Robert Millan <rmh@aybabtu.com>
38964
38965 This fixes a performance issue when pc & gpt partmap iterators
38966 didn't abort iteration even after our hook found what it was
fe987087 38967 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38968
38969 Some callers relied on previous buggy behaviour, since they would
34c44600 38970 raise an error when their own hooks caused early abortion of its
8516d2a8 38971 iteration.
38972
38973 * kern/device.c (grub_device_open): Improve error message.
38974 * disk/lvm.c (grub_lvm_open): Likewise.
38975 * disk/raid.c (grub_raid_open): Likewise.
38976
38977 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38978 when hook requests it, independently of grub_errno.
38979 (pc_partition_map_probe): Do not fail when find_func() caused
38980 early abortion of pc_partition_map_iterate().
38981
38982 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38983 when hook requests it, independently of grub_errno.
38984 (gpt_partition_map_probe): Do not fail when find_func() caused
38985 early abortion of gpt_partition_map_iterate().
38986
38987 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38988 when hook requests it, independently of grub_errno. Do not fail when
38989 part_map_iterate_hook() caused early abortion of p->iterate().
38990
38991 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38992 when grub_partition_iterate() returned with non-zero.
38993
277d0de9 389942008-07-03 Pavel Roskin <proski@gnu.org>
38995
38996 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38997 like we do in grub_ata_pio_read().
38998 (grub_ata_readwrite): Always write individual sectors. Fix the
38999 sector count for the remainder.
39000 (grub_ata_write): Enable writing to ATA devices. Correctly
39001 report error for ATAPI devices.
39002
d4c9b428 390032008-07-02 Pavel Roskin <proski@gnu.org>
39004
e43fc690 39005 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39006 warning.
39007
f707af42 39008 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39009 for every read sector, we already increment it for the whole
39010 batch. This fixes reading more than 256 sectors at once.
39011
11e16b15 39012 * util/grub-editenv.c (cmd_info): Cast argument to long
39013 explicitly. ptrdiff_t reduces to int on i386.
39014
cbabfdd4 39015 * util/grub-editenv.c (main): Be specific which parameter is
39016 missing.
39017
b8fbce0a 39018 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39019 (memdisk): Make memdisk_orig_addr a pointer.
39020
c9c8e606 39021 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39022 for file offsets, use grub_off_t instead. Fix printf format
39023 warnings.
39024
ca62e598 39025 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39026 there. Real unexpected warnings should not drown in the noise
39027 about known problems.
39028
ce8d1766 39029 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39030 grub_disk_addr_t for memory addresses.
39031
00c7a56a 39032 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39033 explicitly to fix a warning.
39034
08d3ef09 39035 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39036
cb71ba20 39037 * Makefile.in (MODULE_LDFLAGS): New variable.
39038 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39039 the linker accepts --build-id=none.
39040 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39041 MODULE_LDFLAGS.
39042 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39043
d4c9b428 39044 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39045 those in Linux XFS code. Provide a way to access 64-bit parent
39046 inode.
39047 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39048 the end of struct grub_xfs_dir_header.
39049
d4156eee 390502008-07-02 Bean <bean123ch@gmail.com>
39051
39052 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39053 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39054 and GRUB_IEEE1275_FLAG_NO_ANSI.
39055
39056 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39057 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39058 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39059
39060 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39061 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39062
39063 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39064 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39065
39066 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39067 esc sequence on non ANSI terminal.
39068 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39069
39070 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39071 beginning of file.
39072
2270f77b 390732008-07-02 Bean <bean123ch@gmail.com>
39074
39075 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39076 (grub_editenv_SOURCES): New variable.
39077 (pkglib_MODULES): Add loadenv.mod.
39078 (loadenv_mod_SOURCES): New variable.
39079 (loadenv_mod_CFLAGS): Likewise.
39080 (loadenv_mod_LDFLAGS): Likewise.
39081
39082 * include/grub/envblk.h: New file.
39083
39084 * util/envblk.c: New file.
39085
39086 * util/grub-editenv.c: New file.
39087
39088 * commands/loadenv.c: New file.
39089
0e9e51ec 390902008-07-01 Pavel Roskin <proski@gnu.org>
39091
d89b7634 39092 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39093 not unsigned char. This fixes warnings and is consistent with
39094 other tags.
39095
bf1835b1 39096 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39097
8222a04b 39098 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39099
6a42d99d 39100 * term/tparm.c (analyze): Always set *popcount.
39101
10b159d1 39102 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39103 cast to fix a warning.
39104
b8789f6c 39105 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39106 cast to suppress a warning.
39107
29d7e38a 39108 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39109 grub_fshelp_read_file() expects.
39110
f341f669 39111 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39112 write uuid as a 32-bit value in CPU byte order, so declare and
39113 use it as such.
39114
0e9e51ec 39115 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39116 long if the format specifier expects it.
39117 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39118 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39119 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39120 long to fix a warning.
39121 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39122 grub_dprintf() arguments to fix warnings.
39123
3aefa857 391242008-06-30 Pavel Roskin <proski@gnu.org>
39125
56c7668b 39126 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39127 install_bsd_part immediately before core.img is embedded or
39128 modified on disk. This fixes core.img verification if core.img
39129 cannot be embedded.
39130
3aefa857 39131 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39132 core_path to calculate the blocklist.
39133 Patch from Javier Martín <lordhabbit@gmail.com>
39134
5444088d 391352008-06-29 Robert Millan <rmh@aybabtu.com>
39136
39137 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39138 block to disk block.
39139 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39140 Patch from Niels Böhm <bitbucket@arcor.de>
39141
674835c8 391422008-06-29 Robert Millan <rmh@aybabtu.com>
39143
39144 * util/update-grub_lib.in (font_path): Search for fonts in
39145 /boot/grub first, which is more likely to be readable (we aren't
39146 deciding where fonts live, just looking for them).
39147
f527dbc8 391482008-06-26 Pavel Roskin <proski@gnu.org>
39149
6c2d8df6 39150 * util/biosdisk.c (read_device_map): Don't leave dead map
39151 entries for devices failing stat() check.
39152
f527dbc8 39153 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
39154 core_path_dev for the core.img path on the target device.
39155
aebe3d13 391562008-06-26 Robert Millan <rmh@aybabtu.com>
39157
39158 * disk/fs_uuid.c: New file.
39159 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
39160 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
39161 (fs_uuid_mod_LDFLAGS): New variables.
39162 * include/grub/disk.h (grub_disk_dev_id): Add
39163 `GRUB_DISK_DEVICE_UUID_ID'.
39164 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
39165 implement iterate().
39166
37aaf354 391672008-06-26 Robert Millan <rmh@aybabtu.com>
39168
39169 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
39170 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
39171 Linux image includes no initrd.
39172
25ff262a 391732008-06-21 Javier Martín <lordhabbit@gmail.com>
39174
39175 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39176 call to resolve the core image location that effectively appended the
39177 name twice.
39178
76a2bd44 391792008-06-21 Robert Millan <rmh@aybabtu.com>
39180
39181 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39182 call from here ...
39183
39184 * util/grub.d/10_hurd.in: ... to here ...
39185 * util/grub.d/10_linux.in: ... and here.
39186
650e1c79 391872008-06-19 Robert Millan <rmh@aybabtu.com>
39188
fe987087 39189 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39190 after it has been set by grub_machine_set_prefix().
39191
6ce63911 391922008-06-19 Robert Millan <rmh@aybabtu.com>
39193
39194 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39195 search result when not saving to variable, not the other way around.
39196 When saving to variable, abort iteration as soon as a match is found.
39197
73940cec 391982008-06-19 Robert Millan <rmh@aybabtu.com>
39199
39200 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39201 check for partition that provides /boot/grub. Its logic is flawed,
39202 as it prevents prepare_grub_to_access_device() from being called
39203 multiple times.
39204
3c62a39d 392052008-06-19 Robert Millan <rmh@aybabtu.com>
39206
39207 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39208 "insmod" command directly when abstraction modules are needed,
fe987087 39209 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39210 since it had already been processed).
39211
47395a42 392122008-06-19 Pavel Roskin <proski@gnu.org>
39213
39214 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39215 changed. This is needed in case GRUB_LIBDIR changes.
39216 * conf/i386-ieee1275.rmk: Likewise.
39217 * conf/i386-linuxbios.rmk: Likewise.
39218 * conf/i386-pc.rmk: Likewise.
39219 * conf/powerpc-ieee1275.rmk: Likewise.
39220
a145ac2d 392212008-06-18 Pavel Roskin <proski@gnu.org>
39222
39223 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39224 kernel_elf_symlist.c to symlist.c for consistency with other
39225 architectures. Update all users.
39226 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39227
7847c51e 392282008-06-18 Robert Millan <rmh@aybabtu.com>
39229
39230 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39231 it in prefix.
39232
39233 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39234 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39235 a RAID device, run setup() for all members independently on whether
39236 LVM abstraction is being used.
39237 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39238 If grub-mkimage has set `*install_dos_part == -2', don't override this
39239 value.
39240 Perform *install_dos_part adjustments independently on whether
39241 we're embedding or not.
39242 Clarify error message when image is too big for embedding.
39243 Remove duplicate *install_dos_part stanza.
39244
b23e5644 392452008-06-17 Robert Millan <rmh@aybabtu.com>
39246
39247 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39248 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39249 variables.
39250 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39251 values in grub_ofconsole_normal_color and
39252 grub_ofconsole_highlight_color (they're not directly related to
39253 background and foreground).
39254 (grub_ofconsole_setcolorstate): Extract background and foreground
39255 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39256
0aac2f79 392572008-06-17 Robert Millan <rmh@aybabtu.com>
39258
39259 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39260 /boot/grub for the check in last commit, not /boot (they could be
39261 different partitions).
39262
3cca7ef3 392632008-06-16 Robert Millan <rmh@aybabtu.com>
39264
39265 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39266 asked to setup access for the same partition that provides /boot,
39267 don't bother using UUIDs since our root already has the value we
39268 want.
39269
347396d8 392702008-06-16 Robert Millan <rmh@aybabtu.com>
39271
39272 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39273 I2O devices.
39274 Patch from Sven Mueller <sven@debian.org>.
39275
991477f8 392762008-06-16 Robert Millan <rmh@aybabtu.com>
39277
39278 * util/update-grub.in: Check for $EUID instead of $UID.
39279 Reported by Vincent Zweije.
39280
d31a32a1 392812008-06-16 Bean <bean123ch@gmail.com>
39282
fe987087 39283 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39284 (grub_ext2_read_block): Likewise.
39285 (grub_ext2_read_inode): Likewise.
39286 (grub_ext2_mount): Likewise.
39287 (grub_ext2_close): Likewise.
39288 (grub_ext3_get_journal): Removed.
39289
fe987087 39290 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39291 (grub_reiserfs_read_symlink): Likewise.
39292 (grub_reiserfs_mount): Likewise.
39293 (grub_reiserfs_open): Likewise.
39294 (grub_reiserfs_read): Likewise.
39295 (grub_reiserfs_close): Likewise.
39296 (grub_reiserfs_get_journal): Removed.
39297
39298 * fs/fshelp.c (grub_fshelp_read): Removed.
39299 (grub_fshelp_map_block): Likewise.
39300
39301 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39302 (grub_fshelp_journal): Likewise.
39303 (grub_fshelp_read): Likewise.
39304 (grub_fshelp_map_block): Likewise.
39305
3540a760 393062008-06-16 Pavel Roskin <proski@gnu.org>
39307
39308 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39309 floating point anymore.
39310 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39311
95614c84 393122008-06-15 Pavel Roskin <proski@gnu.org>
39313
39314 * commands/ls.c (grub_ls_list_files): Use integer calculations
39315 for human readable format, avoid floating point use.
39316 * kern/misc.c (grub_ftoa): Remove.
39317 (grub_vsprintf): Remove floating point support.
39318
50465dd6 393192008-06-15 Robert Millan <rmh@aybabtu.com>
39320
fe6b695a 39321 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39322 devices.
39323 Reported by Max Vozeler.
39324
a9207284 393252008-06-15 Robert Millan <rmh@aybabtu.com>
39326
39327 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39328 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39329 skipped later.
39330 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39331 the beginning of the prefix.
39332
39333 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39334 It is assumed that if we have a memdisk, grub-mkimage has set
39335 grub_prefix to include the "(memdisk)" drive in it.
39336
a7cbd45a 393372008-06-15 Robert Millan <rmh@aybabtu.com>
39338
39339 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39340 Initialize keyboard controller after registering the terminal, so that
39341 grub_printf() can be called from grub_keyboard_controller_init().
39342
21cf716a 393432008-06-15 Robert Millan <rmh@aybabtu.com>
39344
39345 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39346 extent-btree which is written as big endian on disk.
39347 Reported by Alain Greppin <al@chilibi.org>.
39348
23a64d8e 393492008-06-14 Robert Millan <rmh@aybabtu.com>
39350
39351 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39352 * util/i386/pc/grub-install.in (modules): Likewise.
39353
d687651c 393542008-06-13 Pavel Roskin <proski@gnu.org>
39355
39356 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39357
dfe9ddd4 393582008-06-13 Bean <bean123ch@gmail.com>
39359
39360 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39361
39362 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39363
39364 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39365 to indicate sparse block.
39366
16ae7781 393672008-06-12 Pavel Roskin <proski@gnu.org>
39368
e6d1a308 39369 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39370 number, grub_fshelp_read() does it for us.
39371
16ae7781 39372 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39373 linear disk read with journal translation.
39374 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39375 * include/grub/fshelp.h: Declare grub_fshelp_read().
39376
40fd3a2b 393772008-06-09 Pavel Roskin <proski@gnu.org>
39378
39379 * fs/minix.c (grub_minix_mount): Handle error reading
39380 superblock.
39381
f5679726 393822008-06-08 Robert Millan <rmh@aybabtu.com>
39383
39384 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39385 don't append the RAID prefix afterwards.
39386 Reported by Clint Adams.
39387
ce525529 393882008-06-08 Robert Millan <rmh@aybabtu.com>
39389
39390 Based on description from Pavel:
39391 * kern/disk.c (grub_disk_check_range): Rename to ...
39392 (grub_disk_adjust_range): ... this. Add a comment explaining the
39393 tasks performed by this function.
39394
ad4936a0 393952008-06-08 Robert Millan <rmh@aybabtu.com>
39396
39397 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39398 `num_serial' (for consistency with other variables).
39399 (struct grub_ntfs_data): Add `uuid' member.
39400 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39401 (grub_ntfs_uuid): New function.
39402 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39403
dc20b0f9 394042008-06-07 Pavel Roskin <proski@gnu.org>
39405
39406 * util/biosdisk.c (open_device): Revert last change to the
39407 function, it broke installation. The sector needs to be
39408 different dependent on which device is opened.
39409
c5e3cfba 394102008-06-06 Robert Millan <rmh@aybabtu.com>
39411
39412 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39413 rest of GRUB, and breakage doesn't happen if its value were modified.
39414
39415 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39416 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39417 a constant (same value).
39418 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39419 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39420
26a1f8c4 394212008-06-06 Robert Millan <rmh@aybabtu.com>
39422
39423 * util/biosdisk.c (open_device): Do not modify sector offset when
39424 accessing a partition. kern/disk.c already handles this for us.
39425
25d6b327 394262008-06-06 Robert Millan <rmh@aybabtu.com>
39427
39428 * util/grub-emu.c (grub_machine_init): Move code in this function from
39429 here ...
39430 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39431 segfault in case grub_printf() is called).
39432
39433 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39434 grub_probe. Update all users not to explicitly add it again.
39435 (grub_device): New variable; contains corresponding device for grubdir.
39436 (fs_module, partmap_module, devabstraction_module): Pass
39437 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39438 every time.
39439
9ece62fb 394402008-06-05 Robert Millan <rmh@aybabtu.com>
39441
39442 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39443 is found, print it (same layout as with labels).
39444
1ad36d37 394452008-06-04 Robert Millan <rmh@aybabtu.com>
39446
39447 * util/biosdisk.c (get_drive): Rename to ...
39448 (find_grub_drive): ... this. Update all users.
39449
39450 (get_os_disk): Rename to ...
39451 (convert_system_partition_to_system_disk): ... this. Update all users.
39452
39453 (find_drive): Rename to ...
39454 (find_system_device): ... this. Update all users.
39455
e6a30859 394562008-06-04 Robert Millan <rmh@aybabtu.com>
39457
39458 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39459 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39460 (make_device_map): Likewise.
39461
00c108a4 394622008-06-01 Robert Millan <rmh@aybabtu.com>
39463
39464 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39465 before dereferencing it.
39466
39467 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39468 union with fat12/fat16-specific ones. Add some new fields, including
39469 `num_serial' for both versions.
39470 (struct grub_fat_data): Add `uuid' member.
39471 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39472 names. Initialize `data->uuid' using `num_serial'.
39473 (grub_fat_uuid): New function.
39474 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39475
39476 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39477 (grub_reiserfs_uuid): New function.
39478 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39479 member.
39480
39481 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39482 (grub_xfs_uuid): New function.
39483 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39484
1385c5bb 394852008-06-01 Robert Millan <rmh@aybabtu.com>
39486
39487 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39488 code that is backward compatible with pre-uuid search command.
39489
c682dfd7 394902008-05-31 Robert Millan <rmh@aybabtu.com>
39491
39492 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39493 floppies after everything else, to ensure floppy drive isn't accessed
39494 unnecessarily (patch from Bean).
39495
b7db5d47 394962008-05-31 Robert Millan <rmh@aybabtu.com>
39497
39498 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39499 not print device names when we were asked to set a variable.
39500
6e037aa9 395012008-05-31 Robert Millan <rmh@aybabtu.com>
39502
39503 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39504 using "cursor-on" and "cursor-off" commands (understood at least by
39505 the Open Firmware flavour on OLPC).
39506
41305bc8 395072008-05-31 Michael Gorven <michael@gorven.za.net>
39508
39509 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39510 on and off sequences.
39511
69ba137e 395122008-05-31 Robert Millan <rmh@aybabtu.com>
39513
39514 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39515 * util/update-grub.in: Likewise.
39516
520ae21b 395172008-05-30 Pavel Roskin <proski@gnu.org>
39518
39519 * util/biosdisk.c (linux_find_partition): Simplify logic and
39520 make the code more universal. Keep special processing for
39521 devfs, but use a simple rule for all other devices. If the
39522 device ends with a number, append 'p' and the partition number.
39523 Otherwise, append only the partition number.
39524
5786569b 395252008-05-30 Robert Millan <rmh@aybabtu.com>
39526
39527 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39528 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39529 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39530 the `root' parameter to Linux.
39531
51500452 395322008-05-30 Robert Millan <rmh@aybabtu.com>
39533
39534 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39535 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39536 --fs_uuid with --fs-uuid.
39537 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39538 all filesystems support them).
39539
811d3878 395402008-05-30 Robert Millan <rmh@aybabtu.com>
39541
39542 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39543 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39544
cab63c95 395452008-05-30 Robert Millan <rmh@aybabtu.com>
39546
39547 * util/grub.d/00_header.in: Remove obsolete comment referencing
39548 convert_system_path_to_grub_path().
39549 * util/update-grub.in: Likewise.
39550 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39551 (convert_system_path_to_grub_path): Add a warning message explaining
39552 that this function is deprecated. Rely on is_path_readable_by_grub()
39553 for the readability checks.
39554 (font_path): Use is_path_readable_by_grub() for the readability
39555 check rather than convert_system_path_to_grub_path().
39556
972e2f7a 395572008-05-30 Robert Millan <rmh@aybabtu.com>
39558
39559 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39560 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39561 converting it first.
39562 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39563 grub.cfg for access to font file, and afterwards call it again to set
39564 the root device.
39565
62191274 395662008-05-30 Robert Millan <rmh@aybabtu.com>
39567
39568 * commands/search.c (options): Add --fs_uuid option.
39569 (search_fs_uuid): New function.
39570 (grub_cmd_search): Fix --set argument passing.
39571 Use search_fs_uuid() when requested via --fs_uuid.
39572 (grub_search_init): Update help message.
39573 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39574 and redeclare it as an array of 16-bit words.
39575 (grub_ext2_uuid): New function.
39576 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39577 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39578 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39579 (GRUB_DEVICE_BOOT_UUID): New variables.
39580 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39581 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39582 whenever possible.
39583 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39584 just assume `root' variable has the right value.
39585 * util/grub.d/10_linux.in: Likewise.
39586 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39587 via PRINT_FS_UUID.
39588 (main): Recognise `-t fs_uuid' argument.
39589
01b73ec8 395902008-05-30 Robert Millan <rmh@aybabtu.com>
39591
39592 * util/biosdisk.c (map): Redefine structure to hold information
39593 about GRUB drive name.
fe6b695a 39594 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39595 drive names.
39596 (call_hook): Remove.
39597 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39598 member. Assume drive has partitions.
39599 (grub_util_biosdisk_open): Access device names via `.device' struct
39600 member.
39601 (open_device): Likewise.
39602 (find_drive): Likewise.
39603 (read_device_map): Adjust map[] usage to match the new struct
39604 definition. Don't check for duplicates (still possible, but not cheap
39605 anymore).
39606 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39607 (make_device_name): Remove assumption of BIOS-like drive names.
39608
22f16596 396092008-05-30 Pavel Roskin <proski@gnu.org>
39610
39611 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39612 compiling execute.c doesn't need grub_script.tab.h anymore.
39613 (normal/command.c_DEPENDENCIES): Likewise.
39614 (normal/function.c_DEPENDENCIES): Likewise.
39615 * conf/i386-ieee1275.rmk: Likewise.
39616 * conf/i386-linuxbios.rmk: Likewise.
39617 * conf/i386-pc.rmk: Likewise.
39618 * conf/powerpc-ieee1275.rmk: Likewise.
39619 * conf/sparc64-ieee1275.rmk: Likewise.
39620
528ad8f2 396212008-05-29 Pavel Roskin <proski@gnu.org>
39622
d1dff95d 39623 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39624 when scanning metadata for volume group name.
39625
528ad8f2 39626 * include/grub/script.h: Don't include grub_script.tab.h. It's
39627 a generated file, which may only be included from the files with
39628 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39629 use union YYSTYPE, as the later allows forward declaration.
39630 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39631
47248e08 396322008-05-29 Robert Millan <rmh@aybabtu.com>
39633
39634 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39635 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39636 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39637 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39638 scan codes.
39639
ee632529 396402008-05-29 Robert Millan <rmh@aybabtu.com>
39641
39642 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39643 control key combinations.
39644
eee96e08 396452008-05-29 Robert Millan <rmh@aybabtu.com>
39646
39647 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39648 * util/ieee1275/grub-install.in: ... to here.
39649 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39650 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39651 (grub_install_SOURCES): Likewise.
39652
da9a6a94 396532008-05-29 Robert Millan <rmh@aybabtu.com>
39654
39655 * fs/affs.c: Update copyright year.
39656 * fs/ext2.c: Likewise.
39657 * fs/fshelp.c: Likewise.
39658 * fs/hfsplus.c: Likewise.
39659 * fs/ntfs.c: Likewise.
39660 * fs/xfs.c: Likewise.
39661 * include/grub/fshelp.h: Likewise.
39662 * util/grub-mkdevicemap.c: Likewise.
39663
12e65f3a 396642008-05-28 Robert Millan <rmh@aybabtu.com>
39665
39666 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39667 might need to be fatfs to support some firmware implementations
39668 (e.g. OFW or EFI).
39669
23023641 396702008-05-28 Robert Millan <rmh@aybabtu.com>
39671
39672 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39673 devices.
39674 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39675 (make_device_map): Likewise.
39676
887d2619 396772008-05-20 Bean <bean123ch@gmail.com>
39678
39679 * fs/fshelp.c (grub_fshelp_map_block): New function.
39680 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39681 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39682
39683 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39684 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39685 (grub_fshelp_journal): New structure.
39686 (grub_fshelp_map_block): New function prototype.
39687 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39688 (grub_fshelp_map_block): Likewise.
39689
39690 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39691 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39692 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39693 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39694 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39695 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39696 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39697 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39698 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39699 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39700 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39701 (grub_ext2_sblock): New members for journal support.
39702 (grub_ext3_journal_header): New structure.
39703 (grub_ext3_journal_revoke_header): Likewise.
39704 (grub_ext3_journal_block_tag): Likewise.
39705 (grub_ext3_journal_sblock): Likewise.
39706 (grub_fshelp_node): New members logfile and journal.
39707 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39708 grub_fshelp_map_block to get real block number.
39709 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39710 number.
39711 (grub_ext2_read_inode): Likewise.
39712 (grub_ext3_get_journal): New function.
39713 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39714 (grub_ext2_close): Release memory used by journal.
39715
39716 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39717 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39718 (grub_reiserfs_transaction_header): Renamed to
39719 grub_reiserfs_description_block, replace field data with real_blocks.
39720 (grub_reiserfs_commit_block): New structure.
39721 (grub_reiserfs_data): New member journal.
39722 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39723 number.
39724 (grub_reiserfs_read_symlink): Likewise.
39725 (grub_reiserfs_iterate_dir): Likewise.
39726 (grub_reiserfs_open): Likewise.
39727 (grub_reiserfs_read): Likewise.
39728 (grub_reiserfs_get_journal): New function.
39729 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39730 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39731 using grub_reiserfs_get_journal.
39732 (grub_reiserfs_close): Release memory used by journal.
39733
39734 * fs/affs.c (grub_affs_read_block): Change block type to
39735 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39736
39737 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39738
39739 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39740
39741 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39742
39743 * fs/udf.c (grub_udf_read_block): Change block type to
39744 grub_disk_addr_t. Use type cast to avoid warning.
39745
39746 * fs/xfs.c (grub_xfs_read_block): Likewise.
39747
b7c6bed5 397482008-05-16 Christian Franke <franke@computer.org>
39749
39750 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39751 to ensure that break with ESC will always work.
39752 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39753 Remove ESC from keyboard queue.
39754
eedf167f 397552008-05-16 Christian Franke <franke@computer.org>
39756
39757 * util/biosdisk.c: [__CYGWIN__] Add includes.
39758 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39759 (get_os_disk): Move variable declarations to OS specific
39760 parts to avoid warning.
39761 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39762 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39763 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39764 Cygwin.
39765 * util/getroot.c: [__CYGWIN__] Add includes.
39766 (strip_extra_slashes): Fix "/" case.
39767 [__CYGWIN__] (get_win32_path): New function.
39768 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39769 [__CYGWIN__] (find_root_device): Disable.
39770 [__CYGWIN__] (get_bootsec_serial): New function.
39771 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39772 [__linux__] (grub_guess_root_device): Add early returns to simplify
39773 structure.
39774 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39775 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39776 check for Linux only.
39777
a079699e 397782008-05-15 Bean <bean123ch@gmail.com>
39779
39780 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39781 keyboard hang problem in apple's intel mac.
39782
1cf4059a 397832008-05-09 Robert Millan <rmh@aybabtu.com>
39784
39785 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39786 devices.
39787 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39788 (make_device_map): Likewise.
39789 Reported by Aurelien Jarno <aurel32@debian.org>
39790
ed759390 397912008-05-07 Ian Campbell <ijc@hellion.org.uk>
39792
39793 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39794 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39795 (make_device_map): Output entries for xvd type disks.
39796
b56c4eaa 397972008-05-07 Robert Millan <rmh@aybabtu.com>
39798
39799 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39800 devices.
39801 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39802 (make_device_map): Likewise.
39803 Reported by Roland Dreier <rdreier@cisco.com>
39804
7f8866ed 398052008-05-07 Robert Millan <rmh@aybabtu.com>
39806
39807 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39808 grub_strstr() call. Correct a few mistakes in failure path handling.
39809
b0346e0f 398102008-05-06 Robert Millan <rmh@aybabtu.com>
39811
39812 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39813 Do not print a trailing slash (therefore, the root directory is an
39814 empty string).
39815 (convert_system_path_to_grub_path): Do not remove trailing slash
39816 from make_system_path_relative_to_its_root() output.
39817
39818 * util/i386/pc/grub-install.in: Add trailing slash to output from
39819 make_system_path_relative_to_its_root().
39820
6cf12cbd 398212008-05-06 Robert Millan <rmh@aybabtu.com>
39822
39823 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39824 ensures that output lines aren't intermangled with those sent to
39825 stderr (via grub_util_info()).
39826 * util/grub-probe.c (grub_refresh): Likewise.
39827 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39828
0fbb3117 398292008-05-05 Christian Franke <franke@computer.org>
39830
39831 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39832 Add Cygwin device names.
39833 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39834 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39835 (check_device): Return error instead of success on empty name.
39836 (make_device_map): Move label inside linux specific code to
39837 prevent compiler warning.
39838
8124cdb7 398392008-04-30 Robert Millan <rmh@aybabtu.com>
39840
39841 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39842 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39843 first boot option.
39844 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39845
094c01d0 398462008-04-29 Robert Millan <rmh@aybabtu.com>
39847
39848 * docs/grub.cfg: New file (example GRUB configuration).
39849
f4b1fc02 398502008-04-26 Robert Millan <rmh@aybabtu.com>
39851
329ce2a5 39852 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39853 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39854 and `disk/ieee1275/nand.c'.
f4b1fc02 39855
25f16ec1 398562008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39857
25f16ec1 39858 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39859 i386-linuxbios.
39860
39861 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39862 change the buffer size to 4096 for cdrom device.
39863
39864 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39865 and nand.mod.
39866 (_linux_mod_SOURCES): New variable.
39867 (_linux_mod_CFLAGS): Likewise.
39868 (_linux_mod_LDFLAGS): Likewise.
39869 (linux_mod_SOURCES): Likewise.
39870 (linux_mod_CFLAGS): Likewise.
39871 (linux_mod_LDFLAGS): Likewise.
39872 (nand_mod_SOURCES): Likewise.
39873 (nand_mod_CFLAGS): Likewise.
39874 (nand_mod_LDFLAGS): Likewise.
39875
39876 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39877 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39878 type property. (nand device in olpc don't have this property)
39879
39880 * include/grub/disk.h (grub_disk_dev_id): New macro
39881 GRUB_DISK_DEVICE_NAND_ID.
39882
39883 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39884 function prototype.
39885 (grub_rescue_cmd_initrd): Likewise.
39886
39887 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39888 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39889 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39890
25f16ec1 39891 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39892 GRUB_MACHINE_IEEE1275 is defined.
39893
39894 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39895 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39896
39897 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39898 on nested function heap_init.
39899 (grub_upper_mem): New variable for i386-ieee1275.
39900 (grub_get_extended_memory): New function for i386-ieee1275.
39901 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39902
39903 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39904 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39905 property.
f19dbdb7 39906
25f16ec1 39907 * loader/i386/ieee1275/linux.c: New file.
39908
39909 * loader/i386/ieee1275/linux_normal.c: New file.
39910
39911 * disk/ieee1275/nand.c: New file.
39912
e89d61e9 399132008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39914
39915 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39916 value.
39917 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39918
602566f6 399192008-04-18 Robert Millan <rmh@aybabtu.com>
39920
39921 Restructures early code path on ieee1275 to unify grub_main() as
39922 the first C function that is executed in every platform.
39923
39924 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39925 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39926 cmain().
39927 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39928 * kern/ieee1275/cmain.c (cmain): Rename to ...
39929 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39930 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39931 at the beginning.
39932
57490c2b 399332008-04-18 Robert Millan <rmh@aybabtu.com>
39934
39935 * util/update-grub.in: Fix syntax error when setting
39936 `GRUB_PRELOAD_MODULES'.
39937 Reported by Stephane Chazelas <stephane@artesyncp.com>
39938
1977517d 399392008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39940
39941 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39942 section into account, newer toolchains generate unique build ids
39943 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39944 we want build ids to be preserved
1977517d 39945 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39946 far from other sections don't cause the raw binary images grow
39947 size
39948
bfb1f1a2 399492008-04-15 Robert Millan <rmh@aybabtu.com>
39950
39951 * disk/lvm.c: Update copyright year.
39952 * kern/misc.c: Likewise.
39953
01979850 399542008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39955
39956 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39957 there is no memory left for physical volume name.
01979850 39958
0a1150e2 399592008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39960
39961 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39962 volume name mapping to support bigger than 9 character names properly.
39963
82ead3fe 399642008-04-13 Robert Millan <rmh@aybabtu.com>
39965
39966 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39967 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39968
e54a72f5 399692008-04-13 Christian Franke <franke@computer.org>
39970
39971 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39972 to create a floppy emulation boot CD when non emulation mode
39973 does not work.
39974 Enable Joliet CD filesystem extension.
39975
9fe86034 399762008-04-13 Robert Millan <rmh@aybabtu.com>
39977
39978 * kern/misc.c (grub_strncat): Fix off-by-one error.
39979 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39980
39981 * kern/env.c (grub_env_context_close): Clear current context, not
39982 previous one.
39983 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39984
39985 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39986
7ceeee39 399872008-04-13 Robert Millan <rmh@aybabtu.com>
39988
39989 Improve robustness when handling LVM.
39990
39991 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39992 (and leave `*p' unmodified).
7ceeee39 39993 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39994 through it.
39995 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39996 iterating through it.
39997 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39998 through it.
fe6b695a 39999 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40000 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40001 Don't assume `vg->pvs != NULL' when iterating through it.
40002
58cd3d85 400032008-04-13 Robert Millan <rmh@aybabtu.com>
40004
40005 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40006 * genmk.rb (partmap): New variable.
40007 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40008 (#{partmap}): New target rule.
40009 * genpartmaplist.sh: New file.
40010 * Makefile.in (pkglib_DATA): Add partmap.lst.
40011 (partmap.lst): New target rule.
40012 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40013 modules (including all partition maps), instead of preloading them.
40014
78b51059 400152007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40016
40017 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40018 `linux-boot-prober' (if installed) to detect other operating
40019 systems which are installed on the computer and add them to
40020 the boot menu.
40021 * conf/common.rmk: Build and install 30_os-prober.
40022
a91627b4 400232008-04-12 Robert Millan <rmh@aybabtu.com>
40024
40025 * kern/powerpc/ieee1275/init.c: Move from here ...
40026 * kern/ieee1275/init.c: ... to here. Update all users.
40027
40028 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40029 * kern/ieee1275/cmain.c: ... to here. Update all users.
40030
40031 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40032 * kern/ieee1275/openfw.c: ... to here. Update all users.
40033
40034 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40035 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40036
322562ea 400372008-04-10 Pavel Roskin <proski@gnu.org>
40038
40039 * configure.ac: Always use "_cv_" in cache variables for
40040 compatibility with Autoconf 2.62.
40041
a02a73c5 400422008-04-07 Robert Millan <rmh@aybabtu.com>
40043
40044 Revert grub/machine/init.h addition by Pavel (since it breaks on
40045 i386-ieee1275 and others):
40046 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40047 * util/powerpc/ieee1275/misc.c: Likewise.
40048
25c024b1 400492008-04-07 Robert Millan <rmh@aybabtu.com>
40050
40051 * util/grub-probe.c (probe): Improve error message.
40052
3cbd2f98 400532008-04-07 Robert Millan <rmh@aybabtu.com>
40054
40055 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40056 (this prevents the presence of a bogus entry from ruining the whole
40057 thing).
40058
87a297bf 400592008-04-06 Pavel Roskin <proski@gnu.org>
40060
36747a62 40061 * util/biosdisk.c: Include grub/util/biosdisk.h.
40062 * util/grub-fstest.c (execute_command): Make static.
40063 * util/grub-mkdevicemap.c (check_device): Likewise.
40064 * util/i386/pc/misc.c: Include grub/machine/init.h.
40065 * util/powerpc/ieee1275/misc.c: Likewise.
40066 * util/lvm.c: Include grub/util/lvm.h.
40067 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40068 grub/cache.h.
40069 * util/raid.c: Include grub/util/raid.h.
40070 (grub_util_getdiskname): Make static.
40071
87a297bf 40072 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40073 grub_hostfs_fini(), as they are called from grub_init_all() and
40074 grub_fini_all() respectively. This fixes an infinite loop in
40075 grub-fstest due to double registration of hostfs.
40076 Reported by Christian Franke <Christian.Franke@t-online.de>
40077
f6ce7629 400782008-04-05 Pavel Roskin <proski@gnu.org>
40079
40080 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40081 all 8 functions. Otherwise, probe function 0 only.
40082
070e49e4 400832008-04-04 Pavel Roskin <proski@gnu.org>
40084
8b088a4c 40085 * commands/lspci.c (grub_lspci_iter): Print the bus number
40086 correctly.
40087
4f657021 40088 * commands/lspci.c (grub_pci_classes): Fix typos.
40089 (grub_lspci_iter): Don't print func twice. Print vendor ID
40090 before device ID, as it's normally done.
40091
070e49e4 40092 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40093 Fix signedness warnings.
40094 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40095 Likewise.
40096 * util/ieee1275/get_disk_name.c: Include config.h so that
40097 _GNU_SOURCE is defined and getline() is declared. Mark an
40098 unused argument as such. Fix a signedness warning.
40099
ba7328dc 401002008-04-02 Pavel Roskin <proski@gnu.org>
40101
26887f22 40102 * genkernsyms.sh.in: Use more robust assignments for CC and
40103 srcdir. Quote srcdir.
40104 * gensymlist.sh.in: Likewise. Assert at the compile time that
40105 the symbol table is not empty.
40106
ba7328dc 40107 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40108 * fs/cpio.c (grub_cpio_read): Likewise.
40109
0f582c6b 401102008-04-01 Pavel Roskin <proski@gnu.org>
40111
4b6e1995 40112 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40113 * disk/host.c (grub_host_open): Likewise.
40114 * disk/loopback.c (grub_loopback_open): Likewise.
40115 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40116 disk->id as in disk/host.c, not a multi-character constant.
40117
828a2768 40118 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40119 later is obsolete, potentially dangerous and sets a bad example.
40120 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40121 * util/misc.c (grub_util_get_image_size): Likewise.
40122
2bb4fb47 40123 * disk/loopback.c (options): Improve help for "--partitions".
40124
0f582c6b 40125 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40126 options to align them with the short options, e.g. "echo -e".
40127
a33224e0 401282008-03-31 Bean <bean123ch@gmail.com>
40129
40130 * video/reader/png.c (grub_png_data): New member is_16bit and
40131 image_data.
40132 (grub_png_decode_image_header): Detect 16 bit png image.
40133 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40134 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40135 (grub_video_reader_png): Release memory occupied by image_data.
40136
40137 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40138 4096 bytes.
40139 (grub_nfs_mount): Skip the test for sector per cluster.
40140
40141 * include/grub/ntfs.h (MAX_SPC): Removed.
40142
86cb4f54 401432008-03-31 Bean <bean123ch@gmail.com>
40144
40145 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
40146 (grub_probe_SOURCES): Add fs/afs.c.
40147 (grub_fstest_SOURCES): Likewise.
40148 (afs_mod_SOURCES): New variable.
40149 (afs_mod_CFLAGS): Likewise.
40150 (afs_mod_LDFLAGS): Likewise.
40151
40152 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
40153 (grub_emu_SOURCES): Likewise.
40154
40155 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40156
40157 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40158
40159 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40160
40161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40162
40163 * fs/afs.c: New file.
40164
17c74c21 401652008-03-30 Pavel Roskin <proski@gnu.org>
40166
4cb68e89 40167 * disk/host.c: Include grub/misc.h to fix a warning.
40168 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
40169 warnings about implicit declarations.
40170
8790bb04 40171 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
40172 variable.
40173 * include/grub/i386/loader.h: Change declaration of
40174 grub_linux_boot() to match what grub_loader_set() expects.
40175 * util/getroot.c (grub_guess_root_device): Return const char* to
40176 fix a warning.
40177 * util/grub-probe.c (probe): Fix a warning about uninitialized
40178 abstraction_name variable.
40179 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40180 second argument as unused to fix a warning.
40181
9a3f3296 40182 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40183 missing grub_error() call.
40184
0ecef90d 40185 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40186 2.60 and newer uses it to define datadir.
40187
0bf6d401 40188 * commands/sleep.c: Fix warning about implicit declaration.
40189 * disk/memdisk.c: Likewise.
40190 * loader/aout.c: Likewise.
40191 * loader/i386/bsd_normal.c: Likewise.
40192 * util/grub-probe.c: Likewise.
40193
7cdacf97 40194 * commands/i386/cpuid.c (has_longmode): Make static.
40195 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40196 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40197
17c74c21 40198 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40199 GDT. This is more robust, as %ds can change.
40200 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40201 calling real_to_prot().
40202 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40203
80a3e68b 402042008-03-28 Pavel Roskin <proski@gnu.org>
40205
40206 * kern/i386/pc/startup.S: Assert that uncompressed functions
40207 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40208 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40209 code, as they push parts of the code (error handlers) beyond
40210 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40211 code as correctness and size.
40212
77bcd272 402132008-03-28 Pavel Roskin <proski@gnu.org>
40214
40215 * kern/i386/pc/startup.S
40216 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40217 data block address to the real mode, keep offset minimal. This
40218 works around a bug in AWARD BIOS on old Athlon systems, which
40219 makes CD detection hang.
40220
c5dfd43b 402212008-03-26 Pavel Roskin <proski@gnu.org>
40222
40223 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40224 const.
40225 * include/grub/normal.h: Add grub_parse_color_name_pair()
40226 declaration.
40227
bf962df2 402282008-03-24 Bean <bean123ch@gmail.com>
40229
40230 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40231 (cd_count): Removed.
40232 (cd_drive): New variable.
40233 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40234 (grub_biosdisk_call_hook): Likewise.
40235 (grub_biosdisk_iterate): Change cdrom detection method.
40236 (grub_biosdisk_open): Replace cd_start with cd_drive.
40237 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40238 detect cdrom device.
40239
40240 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40241 Removed.
40242 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40243 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40244 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40245 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40246 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40247 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40248 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40249 (grub_biosdisk_cdrp): New structure.
40250 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40251
40252 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40253
40254 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40255 device.
40256
40257 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40258 New function.
40259
68e7fc7a 402602008-03-20 Robert Millan <rmh@aybabtu.com>
40261
40262 Remove 2 TiB limit in ata.mod.
40263 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40264 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40265 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40266 grub_uint64_t instead of grub_uint32_t.
40267
38ad2cf5 402682008-03-05 Bean <bean123ch@gmail.com>
40269
40270 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40271 (grub_multiboot): Set boot device.
40272
40273 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40274
2b89344e 402752008-03-02 Bean <bean123ch@gmail.com>
40276
40277 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40278 symlink_buffer.
40279
87a95d1f 402802008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40281
40282 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40283 texinfo.tex.
40284
40285 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40286 modified.
40287
40288 * docs/fdl.texi: New file.
f19dbdb7 40289
87a95d1f 40290 * docs/mdate-sh: New file. Copied from gnulib.
40291 * docs/texinfo.tex: Likewise.
40292
40293 * config.guess: Updated from gnulib.
40294 * install-sh: Likewise.
40295
7dc15d8e 402962008-02-28 Robert Millan <rmh@aybabtu.com>
40297
40298 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40299 (aout_mod_SOURCES): New variable.
40300 (aout_mod_CFLAGS): Likewise.
40301 (aout_mod_LDFLAGS): Likewise.
40302
40303 * conf/i386-ieee1275.rmk: Likewise.
40304
b00ab696 403052008-02-28 Robert Millan <rmh@aybabtu.com>
40306
40307 * util/update-grub.in: Reorganise terminal validity check. Accept
40308 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40309 Based on suggestion by Franklin PIAT.
40310
79ca2d78 403112008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40312
40313 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40314 function.
40315 * util/getroot.c (grub_util_check_block_device): New function that
40316 returns the given argument if it is a block device and returns NULL else.
40317 * util/grub-probe.c (argument_is_device): New variable.
40318 (probe): Promote device_name from a variable to an argument. Receive
40319 device_name from grub_util_check_block_device() if path is NULL and from
40320 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40321 (options): Introduce new parameter '-d, --device'.
79ca2d78 40322 (main): Add description of the new parameter to the help screen.
40323 Rename path variable to argument. Set argument_is_device if the '-d'
40324 option is given. Pass argument to probe() depending on
40325 argument_is_device.
40326
0d16e571 403272008-02-24 Bean <bean123ch@gmail.com>
40328
40329 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40330 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40331 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40332 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40333 (GRUB_ISO9660_VOLDESC_END): Likewise.
40334 (grub_iso9660_primary_voldesc): New member escape.
40335 (grub_iso9660_data): New member joliet.
40336 (grub_iso9660_convert_string): New function.
40337 (grub_iso9660_mount): Detect joliet extension.
40338 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40339 (grub_iso9660_iso9660_label): Likewise.
40340
40341 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40342 (grub_setup_SOURCES): Add fs/udf.c.
40343 (grub_fstest_SOURCES): Likewise.
40344 (udf_mod_SOURCES): New variable.
40345 (udf_mod_CFLAGS): Likewise.
40346 (udf_mod_LDFLAGS): Likewise.
40347
40348 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40349 (grub_emu_SOURCES): Likewise.
40350
40351 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40352
40353 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40354
40355 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40356
40357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40358
40359 * fs/udf.c: New file.
40360
8a594a17 403612008-02-24 Robert Millan <rmh@aybabtu.com>
40362
40363 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40364 (normal/lexer.c_DEPENDENCIES): New variables.
40365 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40366 (normal/lexer.c_DEPENDENCIES): Likewise.
40367 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40368 (normal/lexer.c_DEPENDENCIES): Likewise.
40369 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40370 (normal/lexer.c_DEPENDENCIES): Likewise.
40371 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40372 (normal/lexer.c_DEPENDENCIES): Likewise.
40373 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40374 (normal/lexer.c_DEPENDENCIES): Likewise.
40375
2dc33c03 403762008-02-23 Robert Millan <rmh@aybabtu.com>
40377
40378 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40379 since they were intended to be in hex. This didn't break previously
40380 because of a bug in gpt_partition_map_iterate() (see below).
40381
40382 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40383 when checking the validity of GPT header.
40384 Remove `partno', since it always provides the same information as `i'.
40385
f6f4cfb0 403862008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40387
40388 * include/grub/efi/time.h: Fix a wrong comment.
40389
79ff665f 403902008-02-19 Pavel Roskin <proski@gnu.org>
40391
40392 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40393 message.
40394
d38e24c2 403952008-02-19 Bean <bean123ch@gmail.com>
40396
40397 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40398 (aout_mod_SOURCES): New variable.
40399 (aout_mod_CFLAGS): Likewise.
40400 (aout_mod_LDFLAGS): Likewise.
40401 (_bsd_mod_SOURCES): New variable.
40402 (_bsd_mod_CFLAGS): Likewise.
40403 (_bsd_mod_LDFLAGS): Likewise.
40404 (bsd_mod_SOURCES): New variable.
40405 (bsd_mod_CFLAGS): Likewise.
40406 (bsd_mod_LDFLAGS): Likewise.
40407
40408 * include/grub/aout.h: New file.
40409
40410 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40411
40412 * include/grub/i386/bsd.h: New file.
40413
40414 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40415 to make it public.
40416
40417 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40418 function is called, so that it's possible to change it inside the hook.
40419 (grub_elf64_load): Likewise.
40420 (grub_elf_file): Don't close the file if elf header is not found.
40421 (grub_elf_close): Close the file if grub_elf_file fails (The new
40422 grub_elf_file won't close it).
40423 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40424 (grub_elf64_size): Likewise.
40425
40426 * kern/i386/loader.S (grub_unix_real_boot): New function.
40427
40428 * loader/aout.c: New file.
40429
40430 * loader/i386/bsd.c: New file.
40431
40432 * loader/i386/bsd_normal.c: New file.
40433
40434 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40435
40436 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40437 can test other formats.
d38e24c2 40438
b93bdb0f 404392008-02-19 Robert Millan <rmh@aybabtu.com>
40440
40441 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40442 (grub_gpt_partition_type_empty): Redefine with macro from
40443 `<grub/gpt_partition.h>'.
40444 (gpt_partition_map_iterate): Adjust partition type comparison.
40445
40446 Export `entry' as partmap-specific `part.data' struct.
40447 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40448
40449 * include/grub/gpt_partition.h (grub_gpt_header)
40450 (grub_gpt_partentry): ... to here (new file).
40451
40452 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40453
40454 (grub_gpt_partition_type_bios_boot): New const variable, defined
40455 with macro from `<grub/gpt_partition.h>'.
40456
40457 (setup): Replace `first_start' with `embed_region', which keeps
40458 track of the embed region (and is partmap-agnostic).
40459
40460 Replace find_first_partition_start() with find_usable_region(),
40461 which finds a usable region for embedding using partmap-specific
40462 knowledge (supports PC/MSDOS and GPT).
40463
40464 Fix all assumptions that the embed region start at sector 1, using
40465 `embed_region.start' from now on. Similarly, use `embed_region.end'
40466 rather than `first_start' to calculate available size.
40467
40468 In grub_util_info() message, replace "into after the MBR" with an
40469 indication of the specific sector our embed region starts at.
40470
66cb40f6 404712008-02-19 Robert Millan <rmh@aybabtu.com>
40472
40473 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40474 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40475 `commands/reboot.c'.
40476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40477 (halt_mod_SOURCES): Likewise.
40478 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40479 (halt_mod_SOURCES): Likewise.
40480
b7202015 404812008-02-17 Christian Franke <franke@computer.org>
40482
40483 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40484
32b0fc49 404852008-02-17 Robert Millan <rmh@aybabtu.com>
40486
40487 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40488 set `first_start' to 0 for non-PC/MSDOS partition maps.
40489
aca63502 404902008-02-16 Robert Millan <rmh@aybabtu.com>
40491
40492 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40493 do not assume partition map is PC/MSDOS before performing checks that
40494 are specific to that layout.
40495
0de8be86 404962008-02-13 Robert Millan <rmh@aybabtu.com>
40497
40498 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40499 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40500 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40501
c3db8364 405022008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40503
40504 * configure.ac: Only a cosmetic change on the handling of
40505 -fno-stack-protector.
40506
f714229e 405072008-02-12 Alexandre Boeglin <alex@boeglin.org>
40508
c3db8364 40509 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40510 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40511 reboot.c.
f714229e 40512 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40513 (halt_mod_SOURCES): New variable.
40514 (halt_mod_CFLAGS): Likewise.
40515 (halt_mod_LDFLAGS): Likewise.
40516 (reboot_mod_SOURCES): Likewise.
40517 (reboot_mod_CFLAGS): Likewise.
40518 (reboot_mod_LDFLAGS): Likewise.
40519
c3db8364 40520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40521 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40522 reboot.c.
f714229e 40523 (halt_mod_SOURCES): Likewise.
40524 (reboot_mod_SOURCES): Likewise.
40525
c3db8364 40526 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40527 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40528 (reboot_mod_SOURCES): Likewise.
40529
40530 * commands/i386/pc/reboot.c: merge this file ...
40531
40532 * commands/ieee1275/reboot.c: ... and this file ...
40533
40534 * commands/reboot.c: ... to this file.
c3db8364 40535 Add some precompiler directive to include the correct header for
40536 each machine.
f714229e 40537
40538 * commands/ieee1275/halt.c: move this file ...
40539
40540 * commands/halt.c: ... to here.
c3db8364 40541 Add some precompiler directive to include the correct header for
40542 each machine.
f714229e 40543
40544 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40545 (grub_halt): Likewise.
40546
40547 * kern/efi/efi.c (grub_reboot): New function.
40548 (grub_halt): Likewise.
40549
c74493e0 405502008-02-12 Robert Millan <rmh@aybabtu.com>
40551
40552 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40553 /dev (like it is done for /dev/mapper). This doesn't provide support
40554 for EVMS, but at least it is now easy to identify the problem when it
40555 arises.
40556
d0db4b04 405572008-02-11 Robert Millan <rmh@aybabtu.com>
40558
40559 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40560 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40561 comparing it with -1, not 0.
40562
bf748642 405632008-02-10 Robert Millan <rmh@aybabtu.com>
40564
40565 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40566 `disk/lvm.c'.
40567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40568 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40569
40570 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40571 `disk/lvm.c' to the end of the list.
40572 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40573 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40574
b5db202a 405752008-02-10 Robert Millan <rmh@aybabtu.com>
40576
40577 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40578 grub_print_error() instead. This will let user know why we're entering
40579 rescue mode.
40580 Based on suggestions from Sam Morris.
40581
83abee31 405822008-02-10 Alexandre Boeglin <alex@boeglin.org>
40583
40584 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40585 on remaining N args, instead of "--" arg N times.
40586
78d5a08b 405872008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40588
40589 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40590 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40591 pattern for unknown glyphs.
40592
68807e5f 405932008-02-09 Robert Millan <rmh@aybabtu.com>
40594
40595 * configure.ac: Probe for `help2man'.
40596 * Makefile.in (builddir): New variable.
40597 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40598 or otherwise add a few flags/options to it.
40599 (install-local): For every executable utility or script that is
40600 installed, invoke $(HELP2MAN) to install a manpage based on --help
40601 output.
40602
40603 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40604 that it doesn't prevent --help from working in build tree.
40605
40606 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40607 with `bug-grub@gnu.org'.
40608 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40609 * util/update-grub.in (usage): New function.
40610 Implement proper argument check, with support for --help and --version
40611 (as well as existing -y).
40612
406132008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40614
40615 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40616 avoid overwriting previous output.
40617 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40618
c1962162 406192008-02-09 Robert Millan <rmh@aybabtu.com>
40620
40621 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40622 drawing the menu.
40623
3dac2e3f 406242008-02-09 Robert Millan <rmh@aybabtu.com>
40625
40626 * commands/sleep.c: New file.
40627 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40628 (sleep_mod_SOURCES): New variable.
40629 (sleep_mod_CFLAGS): Likewise.
40630 (sleep_mod_LDFLAGS): Likewise.
40631
7a634e08 406322008-02-09 Robert Millan <rmh@aybabtu.com>
40633
40634 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40635 situations in which we can deduce the RAID size and the superblock
40636 doesn't match it.
40637
b92f0c18 406382008-02-09 Robert Millan <rmh@aybabtu.com>
40639
40640 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40641 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40642 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40643
40644 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40645 and return a grub_diskmemberlist_t composed of physical array members.
40646 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40647
40648 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40649 prototype.
40650 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40651 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40652 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40653
40654 * util/grub-probe.c (probe): Move partmap probing code from here ...
40655 (probe_partmap): ... to here.
40656 (probe): Use probe_partmap() once for the disk we're probing, and
40657 additionally, when such disk contains a memberlist() struct member,
40658 once for each disk that is contained in the structure returned by
40659 memberlist().
40660
91a4bf68 406612008-02-09 Robert Millan <rmh@aybabtu.com>
40662
40663 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40664 environment variable to 'all' in order to obtain debug output from
40665 non-util/ code.
40666 * util/i386/pc/grub-setup.c (main): Likewise.
40667
a96f9caa 406682008-02-08 Robert Millan <rmh@aybabtu.com>
40669
40670 * disk/raid.c (grub_raid_scan_device): Check for
40671 `array->device[sb.this_disk.number]' rather than for
40672 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40673 guaranteed to be accessible.
a96f9caa 40674
b37a9222 406752008-02-08 Robert Millan <rmh@aybabtu.com>
40676
40677 * disk/raid.c: Update copyright.
40678 * fs/cpio.c: Likewise.
40679 * include/grub/raid.h: Likewise.
40680 * loader/i386/pc/multiboot.c: Likewise.
40681 * util/hostfs.c: Likewise.
40682
5626aee1 406832008-02-08 Robert Millan <rmh@aybabtu.com>
40684
40685 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40686 to a grub_disk_t array.
40687 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40688 `device[x]'.
40689 (grub_raid_scan_device): Replace `device[x].name' accesses with
40690 `device[x]->name'. Simplify initialization of `array->device[x]'.
40691
554f0187 406922008-02-08 Robert Millan <rmh@aybabtu.com>
40693
40694 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40695 grub_dprintf() calls.
40696 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40697 error message.
40698
1ec8425d 406992008-02-07 Christian Franke <franke@computer.org>
40700
40701 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40702 instead of fseek and ftell to support large files.
40703 (grub_hostfs_read): Likewise.
40704
f2156fda 407052008-02-07 Robert Millan <rmh@aybabtu.com>
40706
40707 Patch from Jeroen Dekkers.
40708 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40709 failure, since successfully reading all array members might not be
f2156fda 40710 required.
40711
9216e0e7 407122008-02-06 Robert Millan <rmh@aybabtu.com>
40713
40714 * util/grub-probe.c (probe): Simplify partmap probing (with the
40715 assumption that the first word up to the underscore equals to
40716 the module name).
40717
b0dfd29a 407182008-02-06 Christian Franke <franke@computer.org>
40719
40720 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40721 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40722 last block of a cpio or tar stream.
40723 Check for "TRAILER!!!" instead of any empty data
40724 block to detect last block of a cpio stream.
40725 (grub_cpio_dir): Fix constness of variable np.
40726 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40727 cpio or tar trailer is detected. This fixes a crash
40728 on open of a non existing file.
40729
c32865bf 407302008-02-05 Bean <bean123ch@gmail.com>
40731
40732 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40733 address of entry.
40734 (grub_multiboot_load_elf64): Likewise.
40735 (grub_multiboot): Initialize mbi structure.
40736
40737 * util/grub-fstest.c: Don't include unused header file script.h.
40738
fe6b695a 40739 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40740 of file.
40741 (grub_fstest_SOURCES): Likewise.
40742
409480b7 407432008-02-05 Robert Millan <rmh@aybabtu.com>
40744
40745 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40746 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40747 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40748 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40749
40750 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40751 (translation_table): Replace hardcoded values with macros
40752 provided by `<grub/term.h>'.
40753
40754 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40755 (keyboard_map): Correct/add a few values, with macros provided
40756 by `<grub/term.h>'.
40757 (keyboard_map_shift): Zero values that don't differ from their
40758 `keyboard_map' equivalents.
40759 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40760 Discard the second scan code that is always sent by Caps lock.
40761 Only use `keyboard_map_shift' when it provides a non-zero value,
40762 otherwise fallback to `keyboard_map'.
40763
99fadbaa 407642008-02-04 Bean <bean123ch@gmail.com>
40765
40766 * Makefile.in (enable_grub_fstest): New variable.
40767
40768 * conf/common.rmk (grub_fstest_init.lst): New rule.
40769 (grub_fstest_init.h): Likewise.
40770 (grub_fstest_init.c): Likewise.
40771 (util/grub-fstest.c_DEPENDENCIES): New variable.
40772 (grub_fstest_SOURCES): Likewise.
40773
40774 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40775
40776 * util/grub-fstest.c: New file.
40777
bf567c50 407782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40779
40780 Make grub-setup handle a separate root device.
f19dbdb7 40781
bf567c50 40782 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40783 so that the root device can be compared with the destination
40784 device.
40785 When embedding the core image, if the root and destination devices
40786 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40787 0xFF.
40788 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40789
9be6b98b 407902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40791
40792 Add support for having a grub directory in a different drive. This
40793 is still only the data handling part.
f19dbdb7 40794
9be6b98b 40795 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40796 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40797 (grub_root_drive): New variable.
40798
40799 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40800 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40801 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40802 as it was.
40803
40804 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40805
40806 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40807 macro.
40808 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40809
40810 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40811 is bogus, because PXE booting does not specify any drive
40812 correctly.
40813
40814 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40815 am not sure if this is really correct.
40816
40817 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40818 is always identical to the boot drive when booting from a CD.
40819
40820 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40821 longer.
40822 (root_drive): New variable.
40823 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40824 (setup_sectors): Push %dx right after popping it, because %dh will
40825 be modified later.
40826 (copy_buffer): Restore %dx.
40827
e0ca0677 408282008-02-03 Robert Millan <rmh@aybabtu.com>
40829
40830 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40831 use `cdboot.img' for cdrom images.
40832
3b3f6629 408332008-02-03 Robert Millan <rmh@aybabtu.com>
40834
40835 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40836 only setup gfxterm when `font' command has succeeded.
40837
d42b3672 408382008-02-03 Robert Millan <rmh@aybabtu.com>
40839
40840 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40841 (grub_rescue_cmd_multiboot_loader)
40842 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40843
fa370ea6 408442008-02-03 Pavel Roskin <proski@gnu.org>
40845
e0c5dacb 40846 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40847 %edx and %esi from stack only after grub_gate_a20() is called.
40848 grub_gate_a20() clobbers %edx.
40849
f2a76e1d 408502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40851
40852 * configure.ac (AC_INIT): Bumped to 1.96.
40853
40854 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40855 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40856 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40857 video/readers/png.c.
40858
90fd32d1 408592008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40860
40861 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40862 (cdboot_img_SOURCES): New variable.
40863 (cdboot_img_ASFLAGS): New variable.
40864 (cdboot_img_LDFLAGS): New variable.
40865
40866 * boot/i386/pc/cdboot.S: New file.
40867
40868 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40869 (cd_count): Likewise.
40870 (grub_biosdisk_get_drive): Add support for cd device.
40871 (grub_biosdisk_call_hook): Likewise.
40872 (grub_biosdisk_iterate): Likewise.
40873 (grub_biosdisk_open): Likewise.
40874 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40875 (grub_biosdisk_rw): Support reading from cd device.
40876 (GRUB_MOD_INIT): Iterate cd devices.
40877
40878 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40879 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40880 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40881
40882 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40883
4020aa53 408842008-02-02 Robert Millan <rmh@aybabtu.com>
40885
40886 * commands/read.c: New file.
40887 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40888 (read_mod_SOURCES): New variable.
40889 (read_mod_CFLAGS): Likewise.
40890 (read_mod_LDFLAGS): Likewise.
40891
e03a1132 408922008-02-02 Robert Millan <rmh@aybabtu.com>
40893
40894 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40895 determining whether menu has to be displayed.
40896
58c69220 408972008-02-02 Marco Gerards <marco@gnu.org>
40898
40899 * bus/pci.c: New file.
40900
40901 * include/grub/pci.h: Likewise.
40902
40903 * include/grub/i386/pc/pci.h: Likewise.
40904
40905 * commands/lspci.c: Likewise.
40906
40907 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40908 `lspci.mod'.
40909 (pci_mod_SOURCES): New variable.
40910 (pci_mod_CFLAGS): Likewise.
40911 (pci_mod_LDFLAGS): Likewise.
40912 (lspci_mod_SOURCES): Likewise.
40913 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40914 (lspci_mod_LDFLAGS): Likewise.
58c69220 40915
c004e1b4 409162008-02-02 Bean <bean123ch@gmail.com>
40917
40918 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40919 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40920
40921 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40922 (grub_xfs_btree_node): New structure.
40923 (grub_xfs_btree_root): New structure.
40924 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40925 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40926 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40927 (GRUB_XFS_EXTENT_SIZE): Likewise.
40928 (grub_xfs_read_block): Support btree format type.
40929 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40930 Use directory block as basic unit.
40931
40932 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40933
40934 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40935 __attribute__ ((__regparm__ (1))).
40936
f95562bf 409372008-02-01 Robert Millan <rmh@aybabtu.com>
40938
40939 Correct a mistake in previous commit.
40940
40941 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40942 top.
40943 (normal/command.c_DEPENDENCIES): New variable.
40944
7d31f41f 409452008-02-01 Robert Millan <rmh@aybabtu.com>
40946
40947 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40948 top.
40949 (normal/command.c_DEPENDENCIES): New variable.
40950 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40951 * conf/i386-ieee1275.rmk: Likewise.
40952 * conf/i386-linuxbios.rmk: Likewise.
40953 * conf/i386-pc.rmk: Likewise.
40954 * conf/sparc64-ieee1275.rmk: Likewise.
40955 * conf/powerpc-ieee1275.rmk: Likewise.
40956 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40957
40958 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40959
60b6be74 409602008-02-01 Robert Millan <rmh@aybabtu.com>
40961
40962 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40963 call at beginning of function.
40964
078522ab 409652008-01-31 Pavel Roskin <proski@gnu.org>
40966
40967 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40968 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40969 (grub_mkrescue_SOURCES): Likewise.
078522ab 40970 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40971
ccaa8a5f 409722008-01-30 Robert Millan <rmh@aybabtu.com>
40973
40974 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40975 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40976 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40977 (grub_probe_SOURCES): ... to here.
40978
40979 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40980 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40981 * conf/i386-ieee1275.rmk: Likewise.
40982 * conf/i386-linuxbios.rmk: Likewise.
40983 * conf/powerpc-ieee1275.rmk: Likewise.
40984
ae5a9cd7 409852008-01-30 Tristan Gingold <gingold@free.fr>
40986
40987 * kern/rescue.c: Silently accept empty lines.
40988
70bc2ef2 409892008-01-29 Bean <bean123ch@gmail.com>
40990
40991 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40992 (real_code_2): Code cleanup and change comment style.
40993 (move_memory): Avoid using 32-bit address mode.
40994
6a4d50ea 409952008-01-29 Bean <bean123ch@gmail.com>
40996
40997 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40998 (png_mod_SOURCES): New variable.
40999 (png_mod_CFLAGS): Likewise.
41000 (png_mod_LDFLAGS): Likewise.
41001
41002 * video/readers/png.c: New file.
41003
11cc30ac 410042008-01-28 Robert Millan <rmh@aybabtu.com>
41005
41006 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41007 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41008 `ifndef GRUB_MOD_GAP' hack.
41009 * util/elf/grub-mkimage.c (add_segments): Likewise.
41010
3abc589f 410112008-01-27 Robert Millan <rmh@aybabtu.com>
41012
41013 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41014 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41015 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41016
e1907778 410172008-01-27 Robert Millan <rmh@aybabtu.com>
41018
41019 Get grub-emu to build again (including parallel builds).
41020
41021 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41022 Split into ...
41023 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41024 (normal/execute.c_DEPENDENCIES): ... this, ...
41025 (grub-emu_DEPENDENCIES): ... and this.
41026
41027 * conf/i386-efi.rmk: Likewise.
41028 * conf/i386-linuxbios.rmk: Likewise.
41029 * conf/i386-ieee1275.rmk: Likewise.
41030 * conf/powerpc-ieee1275.rmk: Likewise.
41031 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41032
2216b101 410332008-01-27 Robert Millan <rmh@aybabtu.com>
41034
41035 * NEWS: Add a few items.
41036
f75172d9 410372008-01-27 Robert Millan <rmh@aybabtu.com>
41038
41039 Fix parallel builds with grub-emu. Based on earlier commit for
41040 grub-probe and grub-setup.
41041
41042 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41043 (util/grub-emu.c_DEPENDENCIES): ... this.
41044 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41045 (util/grub-emu.c_DEPENDENCIES): ... this.
41046 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41047 (util/grub-emu.c_DEPENDENCIES): ... this.
41048 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41049 (util/grub-emu.c_DEPENDENCIES): ... this.
41050 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41051 (util/grub-emu.c_DEPENDENCIES): ... this.
41052
3f51de77 410532008-01-27 Pavel Roskin <proski@gnu.org>
41054
41055 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41056 to create a gap between _end and the modules added to the image
41057 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41058 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41059 * util/elf/grub-mkimage.c (add_segments): Likewise.
41060
2033f53e 410612008-01-26 Pavel Roskin <proski@gnu.org>
41062
41063 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41064 just return an error.
41065
22da1f6f 410662008-01-26 Bean <bean123ch@gmail.com>
41067
41068 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41069 (grub_reiserfs_get_item): Save offset of the next item.
41070 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41071
2a9525e6 410722008-01-25 Robert Millan <rmh@aybabtu.com>
41073
41074 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41075 make all filesystem sources appear together (possibly fixing omissions
41076 while at it).
41077 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41078 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41079 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41081
41082 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41083 add `kern/file.c'.
41084 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41085 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41086 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41087 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41088
41089 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41090 (probe): Add a sanity check to make sure of our ability to read
41091 requested files when probing for filesystem type.
41092
41093 * genmk.rb: Update copyright year (2007).
41094
41095 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41096 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41097 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41098 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41099 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41100 : Remove function prototypes.
41101
b95f71b5 411022008-01-25 Robert Millan <rmh@aybabtu.com>
41103
41104 Revert my previous commits (based on wrong assumption of how grub_errno
41105 works).
41106
fe6b695a 41107 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41108 * kern/file.c (grub_file_open): Likewise.
41109
d08bbb49 411102008-01-24 Pavel Roskin <proski@gnu.org>
41111
41112 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41113 that hang if GRUB tries to setup colors.
41114 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41115 colors for firmwares that don't support it.
41116 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41117 Recognize Open Hack'Ware, set flags to work around its
41118 limitations.
41119
605e36ed 411202008-01-24 Robert Millan <rmh@aybabtu.com>
41121
41122 * kern/file.c (grub_file_open): Do not account previous failures of
41123 unrelated functions when grub_errno is checked for.
41124 Reported by Oleg Strikov.
41125
bac332a1 411262008-01-24 Bean <bean123ch@gmail.com>
41127
41128 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41129 (grub_ufs_sblock): New member volume name.
41130 (grub_ufs_find_file): Fix string copy bug.
41131 (grub_ufs_label): Implement this function properly.
41132
41133 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41134 (grub_hfs_iterate_records): Use the correct file number for extents
41135 and catalog file. Fix problem in next index calculation.
41136 (grub_hfs_find_node): Replace recursive function call with loop.
41137 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41138
15c80c09 411392008-01-23 Robert Millan <rmh@aybabtu.com>
41140
41141 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41142 `<grub/symbol.h>' and `<grub/multiboot.h>'.
41143 (grub_multiboot2_real_boot): New function prototype.
41144
41145 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
41146 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
41147
41148 * kern/i386/ieee1275/init.c (grub_os_area_addr)
41149 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
41150
305338fd 411512008-01-23 Robert Millan <rmh@aybabtu.com>
41152
41153 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
41154 #ifdef'ed out grub_printf().
41155
3ea52685 411562008-01-23 Robert Millan <rmh@aybabtu.com>
41157
41158 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
41159 grub_dprintf calls, since they make "debug=all" mode unusable.
41160 (grub_console_checkkey): Likewise.
41161
5882ae4b 411622008-01-23 Robert Millan <rmh@aybabtu.com>
41163
41164 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41165 `term/i386/pc/at_keyboard.c'.
41166 (pkglib_MODULES): Add `serial.mod'.
41167 (serial_mod_SOURCES): New variable.
41168 (serial_mod_CFLAGS): Likewise.
41169 (serial_mod_LDFLAGS): Likewise.
41170
41171 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
41172 `<grub/powerpc/ieee1275/console.h>'.
41173 (grub_keyboard_controller_init): New function prototype.
41174 (grub_console_checkkey): Likewise.
41175 (grub_console_getkey): Likewise.
41176
41177 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41178 keyboard on i386.
41179
41180 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41181 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41182
06ab5303 411832008-01-23 Robert Millan <rmh@aybabtu.com>
41184
41185 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41186 present, "(memdisk)/boot/grub" becomes the default prefix.
41187
41188 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41189 a memdisk tarball with all the modules. Add --overlay=DIR option that
41190 allows users to overlay additional files into the image.
41191
dbb475a4 411922008-01-23 Robert Millan <rmh@aybabtu.com>
41193
41194 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41195 and `machine/memory.h'.
41196 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41197 (_multiboot_mod_SOURCES): New variable.
41198 (_multiboot_mod_CFLAGS): Likewise.
41199 (_multiboot_mod_LDFLAGS): Likewise.
41200 (multiboot_mod_SOURCES): Likewise.
41201 (multiboot_mod_CFLAGS): Likewise.
41202 (multiboot_mod_LDFLAGS): Likewise.
41203
41204 * include/grub/i386/ieee1275/loader.h: New file.
41205
41206 * include/grub/i386/ieee1275/machine.h: Likewise.
41207
41208 * include/grub/i386/ieee1275/memory.h: Likewise.
41209
41210 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41211 variable declaration.
41212 (grub_os_area_size): Likewise.
41213
41214 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41215 (grub_lower_mem, grub_upper_mem): New variables.
41216 (grub_stop_floppy): New function (just to make
41217 grub_multiboot2_real_boot() happy).
41218
41219 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41220 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41221 (grub_stop): New function.
41222 Include `"../realmode.S"' and `"../loader.S"'.
41223
41224 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41225 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41226
41227 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41228 rely on grub_multiboot2_real_boot() for final boot.
41229
25638629 412302008-01-22 Robert Millan <rmh@aybabtu.com>
41231
41232 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41233 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41234 device that doesn't look like an SD card.
41235 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41236 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41237 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41238 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41239 found.
41240
9dad816d 412412008-01-22 Robert Millan <rmh@aybabtu.com>
41242
41243 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41244 avoid claiming over our own code.
41245
34842f2d 412462008-01-22 Bean <bean123ch@gmail.com>
41247
41248 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41249 (jpeg_mod_SOURCES): New variable.
41250 (jpeg_mod_CFLAGS): Likewise.
41251 (jpeg_mod_LDFLAGS): Likewise.
41252
41253 * video/readers/jpeg.c : New file.
41254
44023a28 412552008-01-22 Bean <bean123ch@gmail.com>
41256
41257 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41258 there are no more items.
41259
bc2d8ac6 412602008-01-21 Robert Millan <rmh@aybabtu.com>
41261
41262 * kern/mm.c (grub_mm_init_region): Improve debug message.
41263
261bd4bc 412642008-01-21 Robert Millan <rmh@aybabtu.com>
41265
41266 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41267 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41268 address.
41269 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41270 a C macro.
41271 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41272 Indicates start of upper memory.
41273 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41274 (generate_image): Abort when image size is big enough to corrupt
41275 upper memory.
41276
41277 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41278 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41279 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41280 instead of hardcoding 0xA0000.
41281 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41282 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41283 instead of hardcoding 0xA0000.
41284
f970b55e 412852008-01-21 Robert Millan <rmh@aybabtu.com>
41286
41287 * disk/memdisk.c (memdisk_size): New variable.
41288 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41289 `memdisk_size'.
41290 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41291 image to dynamic memory.
41292 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41293 `memdisk_size'. Free memdisk block.
41294
1a8b0526 412952008-01-21 Robert Millan <rmh@aybabtu.com>
41296
41297 Fix detection of very small filesystems (like tar).
41298
41299 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41300 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41301 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41302 a problem with this disk).
41303
6e9b4aab 413042008-01-21 Robert Millan <rmh@aybabtu.com>
41305
41306 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41307 on grub_biosdisk_rw_standard() error.
41308
0d8837b2 413092008-01-21 Robert Millan <rmh@aybabtu.com>
41310
41311 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41312 recent changes.
41313 * kern/elf.c: Likewise.
41314 * kern/ieee1275/ieee1275.c: Likewise.
41315 * kern/powerpc/ieee1275/openfw.c: Likewise.
41316 * term/ieee1275/ofconsole.c: Likewise.
41317
ffd36e34 413182008-01-21 Robert Millan <rmh@aybabtu.com>
41319
41320 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41321
3f0093d0 41322 * include/grub/kernel.h (grub_arch_memdisk_addr)
41323 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41324
3f0093d0 41325 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41326 (grub_arch_memdisk_size): ... to here.
ffd36e34 41327
6c391b21 413282008-01-21 Robert Millan <rmh@aybabtu.com>
41329
41330 Mostly based on bugfix from Bean.
41331
41332 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41333 attribute with hook() parameter.
41334 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41335 declaration.
41336 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41337 attribute with hook() parameter.
41338 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41339 declaration.
41340
55a581dc 413412008-01-21 Robert Millan <rmh@aybabtu.com>
41342
41343 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41344 (pkglib_MODULES): Add `memdisk.mod'.
41345 (memdisk_mod_SOURCES): New variable.
41346 (memdisk_mod_CFLAGS): Likewise.
41347 (memdisk_mod_LDFLAGS): Likewise.
41348
41349 * disk/memdisk.c: New file.
41350
41351 * include/grub/disk.h (grub_disk_dev_id): Add
41352 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41353
41354 * include/grub/i386/pc/kernel.h
41355 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41356 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41357 (grub_kernel_image_size): New variable declaration.
41358 (grub_total_module_size): Likewise.
41359 (grub_memdisk_image_size): Likewise.
41360
41361 * include/grub/i386/pc/memory.h
41362 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41363
41364 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41365 (grub_arch_memdisk_addr): New variable declaration.
41366 (grub_arch_memdisk_size): Likewise.
41367
41368 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41369 (grub_arch_memdisk_size): Likewise.
41370
41371 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41372 (codestart): Replace hardcoded `0x100000' with
41373 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41374
41375 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41376 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41377 not NULL, append the contents of the file it refers to, at the end of
41378 the compressed kernel image. Initialize `grub_memdisk_image_size'
41379 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41380 (options): Add "memdisk"|'m' option.
41381 (main): Parse --memdisk|-m option, and pass user-provided path as
41382 parameter to generate_image().
41383
3d7f54c9 413842008-01-20 Robert Millan <rmh@aybabtu.com>
41385
41386 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41387 grub_dprintf() calls from here ...
41388 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41389
0bf74728 413902008-01-20 Robert Millan <rmh@aybabtu.com>
41391
41392 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41393
41394 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41395 declaration.
41396 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41397 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41398 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41399 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41400 property).
41401 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41402 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41403
33bf70a7 414042008-01-19 Robert Millan <rmh@aybabtu.com>
41405
fe6b695a 41406 Get rid of confusing function (superseded by
33bf70a7 41407 `grub_ieee1275_get_integer_property')
41408 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41409 prototype.
41410 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41411 function.
41412 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41413 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41414 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41415
e2da7d26 414162008-01-19 Robert Millan <rmh@aybabtu.com>
41417
41418 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41419 command after "shut-down", since implementations differ on which
41420 the command for halt is.
41421
59f1fd8d 414222008-01-19 Robert Millan <rmh@aybabtu.com>
41423
41424 * include/grub/i386/linuxbios/console.h: Add header protection.
41425 (grub_keyboard_controller_init): New function prototype.
41426 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41427 (KEYBOARD_COMMAND_READ): Likewise.
41428 (KEYBOARD_COMMAND_WRITE): Likewise.
41429 (KEYBOARD_SCANCODE_SET1): Likewise.
41430 (grub_keyboard_controller_write): New function.
41431 (grub_keyboard_controller_read): Likewise.
41432 (grub_keyboard_controller_init): Likewise.
41433
41434 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41435 (grub_console_init): On coreboot/LinuxBIOS, call
41436 grub_keyboard_controller_init().
41437
5f5a7c15 414382008-01-19 Robert Millan <rmh@aybabtu.com>
41439
41440 PowerPC changes provided by Pavel Roskin.
41441
41442 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41443 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41444 don't rely on cmain() doing it.
41445 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41446 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41447
1210e168 414482008-01-16 Robert Millan <rmh@aybabtu.com>
41449
41450 * include/grub/i386/linuxbios/memory.h
41451 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41452 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41453 receive `table_header' as argument. Instead, probe for it in the
41454 known memory ranges where it can be present.
41455 (grub_available_iterate): Do not pass a fixed `table_header' address
41456 to grub_linuxbios_table_iterate().
41457
3d04eab8 414582008-01-15 Robert Millan <rmh@aybabtu.com>
41459
41460 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41461 * conf/i386-ieee1275.rmk: New file.
41462 * include/grub/i386/ieee1275/console.h: Likewise.
41463 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41464 * include/grub/i386/ieee1275/kernel.h: Likewise.
41465 * include/grub/i386/ieee1275/time.h: Likewise.
41466 * kern/i386/ieee1275/init.c: Likewise.
41467 * kern/i386/ieee1275/startup.S: Likewise.
41468
d1bc1b73 414692008-01-15 Robert Millan <rmh@aybabtu.com>
41470
41471 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41472 when pointers are 32-bit (but still do set it to one when they are
41473 64-bit).
41474
66a65807 414752008-01-15 Robert Millan <rmh@aybabtu.com>
41476
41477 * include/grub/ieee1275/ieee1275.h
41478 (grub_ieee1275_get_integer_property): New function prototype.
41479
41480 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41481 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41482 grub_ieee1275_get_property() to handle endianness.
66a65807 41483
41484 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41485 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41486 where appropriate.
66a65807 41487 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41488 (grub_map): Likewise.
41489 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41490
a83ccafd 414912008-01-15 Bean <bean123ch@gmail.com>
41492
41493 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41494 (grub_script_execute_cmdline): Reset grub_errno.
41495
41496 * normal/main.c (read_config_file): Reset grub_errno.
41497
41498 * normal/parse.y (script_init): New.
41499 (script): Move function and menuentry here.
41500 (delimiter): New.
41501 (command): Add delimiter at the end of command.
41502 (commands): Adjust to match the new command.
41503 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41504 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41505 (if): Use the new commands.
41506
41507 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41508
df6ecfc6 415092008-01-15 Robert Millan <rmh@aybabtu.com>
41510
41511 * normal/menu.c (run_menu): Move timeout message from here ...
41512 (print_timeout): ... to here.
41513 (run_menu): Use print_timeout() once during initial draw to print
41514 the whole message, and again in every clock tick to update only
41515 the number of seconds.
41516
87ae25eb 415172008-01-15 Robert Millan <rmh@aybabtu.com>
41518
41519 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41520 actual size of `available' from grub_ieee1275_get_property(), and
41521 restrict parsing to that bound.
41522
47bf09a4 415232008-01-15 Christian Franke <franke@computer.org>
41524
41525 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41526 (argp_program_version): Remove variable.
41527 (argp_program_bug_address): Likewise.
41528 (options): Convert from struct argp_option to struct option.
41529 (struct arguments): Remove.
41530 (parse_opt): Remove.
41531 (usage): New function.
41532 (main): Replace struct args members by simple variables.
41533 Replace argp_parse() by getopt_long().
41534 Add switch to evaluate options.
41535 Add missing "(...)" around root_dev in prefix string.
41536
c86f1469 415372008-01-14 Robert Millan <rmh@aybabtu.com>
41538
41539 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41540 for grub_ieee1275_exit(), in order to improve portability.
41541
e622c559 415422008-01-14 Robert Millan <rmh@aybabtu.com>
41543
41544 * util/grub.d/10_linux.in (prefix): Define.
41545 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41546
44cb1ec8 415472008-01-13 Pavel Roskin <proski@gnu.org>
41548
41549 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41550 grub_errno if no errors have been detected.
41551
1eb8c802 415522008-01-12 Robert Millan <rmh@aybabtu.com>
41553
41554 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41555 (grub_util_get_dev_abstraction): New function prototype.
41556
41557 * util/getroot.c: Include `<grub/util/getroot.h>'
41558 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41559 (grub_util_get_dev_abstraction): ... here (new function).
41560
41561 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41562 `PRINT_ABSTRACTION'.
41563 (probe): Probe for abstraction type when requested.
41564 (main): Understand `--target=abstraction'.
41565
41566 * util/i386/efi/grub-install.in: Add abstraction module to core
41567 image when it is found to be necessary.
41568 * util/i386/pc/grub-install.in: Likewise.
41569 * util/powerpc/ieee1275/grub-install.in: Likewise.
41570
41571 * util/update-grub_lib.in (font_path): Return system path without
41572 converting to GRUB path.
41573 * util/update-grub.in: Convert system path returned by font_path()
41574 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41575 abstraction module is needed for loading fonts (if any). Export
41576 that as `GRUB_PRELOAD_MODULES'.
41577 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41578 insmod commands).
41579
52bd3de9 415802008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41581
41582 Remove some unused code from reiserfs.
f19dbdb7 41583
52bd3de9 41584 * fs/reiserfs.c (struct grub_reiserfs_key)
41585 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41586 (struct grub_reiserfs_node_body): Removed.
41587 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41588 Likewise.
41589 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41590 Likewise.
41591 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41592 Likewise.
41593 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41594 Likewise.
41595 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41596 Likewise.
41597 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41598 Likewise.
41599 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41600 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41601 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41602
2f80039d 416032008-01-10 Robert Millan <rmh@aybabtu.com>
41604
41605 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41606 Determines if a file is garbage left by packaging systems, etc.
41607 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41608 for processing /etc/grub.d scripts.
41609 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41610 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41611 as a condition for processing Linux images.
41612
87888032 416132008-01-10 Pavel Roskin <proski@gnu.org>
41614
41615 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41616 to compile reiserfs.c on PowerPC.
41617
7e54fced 416182008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41619
41620 * kern/device.c (grub_device_iterate): Do not abort device iteration
41621 when one of the devices cannot be opened.
41622 * kern/disk.c (grub_disk_open): Do not account previous failures of
41623 unrelated functions when grub_errno is checked for.
41624
5aa541e6 416252008-01-08 Robert Millan <rmh@aybabtu.com>
41626
41627 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41628 `! grub_linux_is_bzimage', change order of address comparison to make
41629 it more intuitive, and improve "too big zImage" error message.
41630
7076340d 416312008-01-08 Robert Millan <rmh@aybabtu.com>
41632
41633 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41634 `$(update-grub_DATA)'.
41635 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41636 targets.
41637
9ca70333 416382008-01-07 Robert Millan <rmh@aybabtu.com>
41639
41640 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41641 which instruction is modified by grub-setup during installation
41642 (since it wasn't obvious by only looking at this file).
41643
38ccf575 416442008-01-07 Robert Millan <rmh@aybabtu.com>
41645
41646 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41647 listing actual TODO items.
41648
f5db4291 416492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41650
868967cf 41651 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41652 correctly.
41653 (grub_reiserfs_get_key_offset): Likewise.
41654 (grub_reiserfs_set_key_offset): Likewise.
41655 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41656 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41657
41658 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41659 better to remove the bitfield version completely.
f19dbdb7 41660
868967cf 416612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41662
f5db4291 41663 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41664 allocated from the heap, due to the fshelp implementation.
41665 (grub_reiserfs_dir): Free NODE, due to the same reason.
41666
492e6d9d 416672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41668
41669 Mostly from Vincent Pelletier:
f19dbdb7 41670
492e6d9d 41671 * fs/reiserfs.c: New file.
f19dbdb7 41672
492e6d9d 41673 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41674 (reiserfs_mod_SOURCES): New variable.
41675 (reiserfs_mod_CFLAGS): Likewise.
41676 (reiserfs_mod_LDFLAGS): Likewise.
41677
41678 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41679 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41680 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41681 normal/color.c.
41682
9ce3e7c1 416832008-01-06 Robert Millan <rmh@aybabtu.com>
41684
41685 * normal/color.c: Remove `<grub/env.h>'.
41686
f3b58148 416872008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41688
41689 * include/grub/normal.h: Include <grub/env.h>.
41690
7ac3bcfa 416912008-01-05 Robert Millan <rmh@aybabtu.com>
41692
41693 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41694 usage example with `(hd0,1)'.
fb358190 41695 Reported by Samuel Thibault.
7ac3bcfa 41696
c8ee99d7 416972008-01-05 Robert Millan <rmh@aybabtu.com>
41698
41699 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41700 (grub_linux_boot_zimage): Rename to ...
41701 (grub_linux_boot): ... this.
41702 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41703 (grub_linux_boot_zimage): Conditionalize zImage copy.
41704
41705 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41706 (grub_linux_boot_bzimage): Remove prototype.
41707 (grub_linux_boot_zimage): Rename to ...
41708 (grub_linux_boot): ... this.
41709
41710 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41711 (grub_linux_boot): Remove function.
41712
0ece25b1 417132008-01-05 Robert Millan <rmh@aybabtu.com>
41714
41715 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41716 (grub_env_write_color_highlight): Likewise.
41717 (grub_wait_after_message): Likewise.
41718
41719 * normal/color.c: New file.
41720
41721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41722 (normal_mod_DEPENDENCIES): Likewise.
41723
41724 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41725 (normal_mod_DEPENDENCIES): Likewise.
41726
41727 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41728 (normal_mod_DEPENDENCIES): Likewise.
41729
41730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41731 (normal_mod_DEPENDENCIES): Likewise.
41732
41733 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41734 for waiting after a message is printed.
41735 * normal/main.c (read_config_file): Likewise.
41736 (grub_normal_init): Register grub_env_write_color_normal() and
41737 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41738 `color_highlight' variables as global.
41739
41740 * normal/menu.c (grub_wait_after_message): New function.
41741 (grub_color_menu_normal): New variable. Replaces ...
41742 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41743 (grub_color_menu_highlight): New variable. Replaces ...
41744 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41745 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41746 `GRUB_TERM_COLOR_STANDARD'.
41747 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41748 `normal_code' and `highlight_code' to `old_color_normal' and
41749 `old_color_highlight', respectively.
41750 (grub_menu_init_page): Update colors when drawing the menu, based on
41751 `menu_color_normal' and `menu_color_highlight' variables.
41752 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41753 a message is printed.
41754
182dd4e5 417552008-01-05 Robert Millan <rmh@aybabtu.com>
41756
41757 * kern/env.c (grub_env_context_open): Propagate hooks for global
41758 variables to new context.
41759
41760 * kern/main.c (grub_set_root_dev): Export `root' variable.
41761
ddf8f6ad 417622008-01-05 Robert Millan <rmh@aybabtu.com>
41763
41764 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41765 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41766 them.
41767
d8b43d9b 417682008-01-05 Robert Millan <rmh@aybabtu.com>
41769
41770 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41771
2bff2de3 417722008-01-04 Christian Franke <franke@computer.org>
41773
41774 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41775 of eisa_mmap.
41776
97eab917 417772008-01-03 Pavel Roskin <proski@gnu.org>
41778
41779 * kern/i386/linuxbios/init.c: Put "void" to all function
41780 declarations with no arguments.
41781 * kern/powerpc/ieee1275/init.c: Likewise.
41782 * term/i386/pc/at_keyboard.c: Likewise.
41783 * term/i386/pc/vga_text.c: Likewise.
41784 * util/grub-mkdevicemap.c: Likewise.
41785
b9416d00 417862008-01-02 Robert Millan <rmh@aybabtu.com>
41787
41788 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41789 message when loaded image is out of bounds.
41790 (grub_multiboot_load_elf64): Likewise.
41791
92695df9 417922008-01-02 Pavel Roskin <proski@gnu.org>
41793
41794 * util/grub.d/10_linux.in: Try version without ".old" when
41795 looking for initrd. It's better to use initrd from the newer
41796 kernel of the same version than no initrd at all.
41797
d98d9cad 417982008-01-01 Robert Millan <rmh@aybabtu.com>
41799
41800 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41801
dbfdce36 418022008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41803
f19dbdb7 41804 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41805 grub_video_get_active_render_target.
41806 (grub_video_adapter): Added unmap_color and get_active_render_target.
41807
f19dbdb7 41808 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41809 grub_video_get_active_render_target.
41810 (grub_video_get_info): Changed method to accept NULL pointer as an
41811 argument to allow detection of active video adapter.
41812
41813 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41814 grub_video_vbe_unmap_color_int.
41815 Added grub_video_vbe_unmap_color and
41816 grub_video_vbe_get_active_render_target.
41817 (grub_video_vbe_adapter): Added unmap_color and
41818 get_active_render_target.
41819
f19dbdb7 41820 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41821 with grub_video_vbe_unmap_color_int.
41822
41823 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41824 (DEFAULT_NORMAL_COLOR): Likewise.
41825 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41826 (DEFAULT_FG_COLOR): Removed.
41827 (DEFAULT_BG_COLOR): Likewise.
41828 (DEFAULT_CURSOR_COLOR): Changed value.
41829 (grub_virtual_screen): Added standard_color_setting,
41830 normal_color_setting, highlight_color_setting and term_color.
41831 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41832 (bitmap_width): Added.
41833 (bitmap_height): Likewise.
41834 (bitmap): Likewise.
41835 (set_term_color): Likewise.
41836 (grub_virtual_screen_setup): Changed to use new terminal coloring
41837 settings.
41838 (grub_gfxterm_init): Added init for bitmap.
41839 (grub_gfxterm_fini): Added destroy for bitmap.
41840 (redraw_screen_rect): Updated to use background bitmap and new
41841 terminal coloring.
41842 (scroll_up): Added optimization for case when there is no bitmap.
41843 (grub_gfxterm_cls): Fixed to use correct background color.
41844 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41845 coloring.
41846 (grub_virtual_screen_setcolor): Likewise.
41847 (grub_virtual_screen_getcolor): Added.
41848 (grub_gfxterm_background_image_cmd): Likewise.
41849 (grub_video_term): Added setcolor and getcolor.
41850 (MOD_INIT): Added registration of background_image command.
41851 (MOD_TERM): Added unregistration for background_image command.
41852
c3c20931 418532007-12-30 Pavel Roskin <proski@gnu.org>
41854
41855 * loader/multiboot_loader.c: Fix multiboot command
41856 unregistration. Fix all typos in the word "multiboot".
41857
df266716 418582007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41859
41860 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41861 support for initrd names used in Fedora.
41862
fc6e896c 418632007-12-26 Bean <bean123ch@gmail.com>
41864
41865 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41866 (cpio_mod_SOURCES): New variable.
41867 (cpio_mod_CFLAGS): Likewise.
41868 (cpio_mod_LDFLAGS): Likewise.
41869
41870 * fs/cpio.c: New file.
41871
41872 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41873
41874 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41875
41876 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41877
41878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41879
533110ad 418802007-12-25 Robert Millan <rmh@aybabtu.com>
41881
41882 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41883 (grub_getcolor): New function.
41884
41885 * kern/term.c (grub_getcolor): New function.
41886 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41887 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41888 (print_entry): Set normal and highlight colors to
41889 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41890 respectively, before printing and restore them to old
41891 values afterwards.
41892 (grub_menu_init_page): Likewise. Fill an additional colored space
41893 that would otherwise be left blank.
41894
41895 * term/efi/console.c (grub_console_getcolor): New function.
41896 (struct grub_console_term.getcolor): New variable.
41897 * term/i386/pc/console.c (grub_console_getcolor): New function.
41898 (struct grub_console_term.getcolor): New variable.
41899 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41900 (struct grub_console_term.getcolor): New variable.
41901
41902 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41903 (struct grub_console_term.setcolor): Remove variable.
41904 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41905 (struct grub_console_term.setcolor): Remove variable.
41906 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41907 (struct grub_console_term.setcolor): Remove variable.
41908 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41909 (struct grub_console_term.setcolor): Remove variable.
41910
4931827f 419112007-12-25 Robert Millan <rmh@aybabtu.com>
41912
41913 * configure.ac: Search for possible unifont.hex locations, and
41914 define UNIFONT_HEX if found.
41915
41916 * Makefile.in (UNIFONT_HEX): Define variable.
41917 (DATA): Rename to ...
41918 (PKGLIB): ... this. Update all users.
41919 (PKGDATA): New variable.
41920 (pkgdata_IMAGES): Rename to ...
41921 (pkglib_IMAGES): ... this. Update all users.
41922 (pkgdata_MODULES): Rename to ...
41923 (pkglib_MODULES): ... this. Update all users.
41924 (pkgdata_PROGRAMS): Rename to ...
41925 (pkglib_PROGRAMS): ... this. Update all users.
41926 (pkgdata_DATA): Rename to ...
41927 (pkglib_DATA): ... this. Update all users.
41928 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41929 (unicode.pff, ascii.pff): New rules.
41930 (all-local): Add `$(PKGDATA)' dependency.
41931 (install-local): Process `$(PKGDATA)'.
41932
41933 * util/update-grub_lib.in (font_path): Search for *.pff files in
41934 a few more locations, including `${pkgdata}'.
41935
57e57e31 419362007-12-23 Robert Millan <rmh@aybabtu.com>
41937
41938 Patch from Bean <bean123ch@gmail.com>:
41939 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41940 `size'.
41941
4bc72aa9 419422007-12-21 Bean <bean123ch@gmail.com>
41943
41944 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41945 (ntfscomp_mod_SOURCES): New variable.
41946 (ntfscomp_mod_CFLAGS): Likewise.
41947 (ntfscomp_mod_LDFLAGS): Likewise.
41948
41949 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41950 (grub_probe_SOURCES): Likewise.
41951 (grub_emu_SOURCES): Likewise.
41952
41953 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41954 (grub_emu_SOURCES): Likewise.
41955
41956 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41957 (grub_emu_SOURCES): Likewise.
41958
41959 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41960 (grub_emu_SOURCES): Likewise.
41961
41962 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41963 (read_run_list): Renamed to grub_ntfs_read_run_list.
41964 (decomp_nextvcn): Moved to ntfscomp.c.
41965 (decomp_getch): Likewise.
41966 (decomp_get16): Likewise.
41967 (decomp_block): Likewise.
41968 (read_block): Likewise.
41969 (read_data): Partially moved to ntfscomp.c.
41970 (fixup): Change unsigned to grub_uint16_t.
41971 (read_mft): Change unsigned long to grub_uint32_t.
41972 (read_attr): Likewise.
41973 (read_data): Likewise.
41974 (read_run_data): Likewise.
41975 (read_run_list): Likewise.
41976 (read_mft): Likewise.
41977
41978 * fs/ntfscomp.c: New file.
41979
41980 * include/grub/ntfs.h: New file.
41981
af680a87 419822007-12-16 Robert Millan <rmh@aybabtu.com>
41983
41984 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41985 IDE disk check, since Linux is known to support 20 IDE disks.
41986 Reported by Colin Watson.
41987
84be7599 419882007-12-15 Bean <bean123ch@gmail.com>
41989
41990 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41991 (lnxboot_img_SOURCES): New variable.
41992 (lnxboot_img_ASFLAGS): Likewise.
41993 (lnxboot_img_LDFLAGS): Likewise.
41994
41995 * boot/i386/pc/lnxboot.S: New file.
41996
6af9db01 419972007-11-24 Pavel Roskin <proski@gnu.org>
41998
41999 * configure.ac: Test if '--build-id=none' is supported by the
42000 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42001 objcopy to generate incorrect binary files (binutils
42002 2.17.50.0.18-1 as shipped by Fedora 8).
42003 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42004 linking, so that build ID doesn't break the test.
42005
7361cfe6 420062007-11-24 Pavel Roskin <proski@gnu.org>
42007
42008 * include/grub/i386/time.h: use "void" in the argument list
42009 of grub_cpu_idle().
42010 * include/grub/powerpc/time.h: Likewise.
42011 * include/grub/sparc64/time.h: Likewise.
42012
1593e10c 420132007-11-18 Christian Franke <franke@computer.org>
42014
42015 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42016 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42017 This fixes the problem that function keys did not work in grub-emu.
42018
3b8db1a8 420192007-11-18 Christian Franke <franke@computer.org>
42020
42021 * disk/host.c (grub_host_open): Remove attribute unused from
42022 name parameter. Add check for "host". This fixes the problem
42023 that grub-emu does not find partitions.
42024
2e29408d 420252007-11-18 Christian Franke <franke@computer.org>
42026
42027 * util/hostfs.c (is_dir): New function.
42028 (grub_hostfs_dir): Handle missing dirent.d_type case.
42029 (grub_hostfs_read): Add missing fseek().
42030 (grub_hostfs_label): Clear label pointer. This fixes a crash
42031 of grub-emu on "ls (host)".
42032
398cd047 420332007-11-18 Christian Franke <franke@computer.org>
42034
42035 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42036 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42037 to 64 bit boundary by default.
42038
c405c391 420392007-11-18 Bean <bean123ch@gmail.com>
42040
42041 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42042 (hexdump_mod_SOURCES): New variable.
42043 (hexdump_mod_CFLAGS): Likewise.
42044 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42045
c405c391 42046 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42047
42048 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42049
42050 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42051
42052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42053
42054 * include/grub/hexdump.h: New file.
42055
42056 * commands/hexdump.c: New file.
42057
5cced7fd 420582007-11-10 Robert Millan <rmh@aybabtu.com>
42059
42060 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42061 in grub_outb() calls.
42062 (beep_on): Likewise.
42063
8b714eb0 420642007-11-10 Christian Franke <franke@computer.org>
42065
42066 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42067 (grub_menu_run): Likewise.
42068
ce0f1839 420692007-11-10 Robert Millan <rmh@aybabtu.com>
42070
42071 * include/grub/i386/efi/machine.h: New file.
42072 * include/grub/i386/linuxbios/machine.h: Likewise.
42073 * include/grub/i386/pc/machine.h: Likewise.
42074 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42075 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42076
42077 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42078 (serial_hw_io_addr): New variable.
42079 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42080 instead of `(unsigned short *) 0x400'.
42081
270c237d 420822007-11-10 Bean <bean123ch@gmail.com>
42083
42084 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42085
a87783bf 420862007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42087
42088 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42089 (vga_mod_SOURCES): Added.
42090 (vga_mod_CFLAGS): Likewise.
42091 (vga_mod_LDFLAGS): Likewise.
42092
42093 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42094 grub_outb() calls.
42095 (set_map_mask): Likewise.
42096 (set_read_map): Likewise.
42097 (set_read_address): Likewise.
42098 (vga_font): Removed variable.
42099 (get_vga_glyph): Removed function.
42100 (invalidate_char): Likewise.
42101 (write_char): Changed to use grub_font_get_glyph() for font
42102 information.
42103 (grub_vga_putchar): Likewise.
42104 (grub_vga_getcharwidth): Likewise.
42105
6433b448 421062007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42107
42108 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42109 flags.
42110 (pxeboot_img_LDFLAGS): Likewise.
42111 (diskboot_img_LDFLAGS): Likewise.
42112 (kernel_img_LDFLAGS): Likewise.
42113
49178511 421142007-11-06 Robert Millan <rmh@aybabtu.com>
42115
42116 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42117 in grub_outb() calls.
42118 (serial_hw_init): Likewise.
42119
53b052de 421202007-11-05 Robert Millan <rmh@aybabtu.com>
42121
42122 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42123 spaces. Skip non-regular files.
42124
5ab33bba 421252007-11-05 Robert Millan <rmh@aybabtu.com>
42126
42127 * kern/disk.c (grub_disk_firmware_fini)
42128 (grub_disk_firmware_is_tainted): New variables.
42129
42130 * include/grub/disk.h (grub_disk_firmware_fini)
42131 (grub_disk_firmware_is_tainted): Likewise.
42132
42133 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42134 (grub_disk_biosdisk_fini): ... to here.
42135 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42136 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42137 is set. Register grub_disk_biosdisk_fini() in
42138 `grub_disk_firmware_fini'.
42139
42140 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42141 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42142 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
42143 to finish existing firmware disk interface.
42144
42145 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
42146 (ata_mod_SOURCES): New variable.
42147 (ata_mod_CFLAGS): Likewise.
42148 (ata_mod_LDFLAGS): Likewise.
42149
0149ab7c 421502007-11-05 Robert Millan <rmh@aybabtu.com>
42151
42152 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
42153 (grub_ata_wait): Reimplement using grub_millisleep().
42154
42155 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
42156 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
42157
be7ac41e 421582007-11-03 Marco Gerards <marco@gnu.org>
42159
42160 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
42161 (CRTC_ADDR_PORT): New macro.
42162 (CRTC_DATA_PORT): Likewise.
42163 (CRTC_CURSOR): Likewise.
42164 (CRTC_CURSOR_ADDR_HIGH): Likewise.
42165 (CRTC_CURSOR_ADDR_LOW): Likewise.
42166 (update_cursor): New function.
42167 (grub_console_real_putchar): Call `update_cursor'.
42168 (grub_console_gotoxy): Likewise.
42169 (grub_console_cls): Set the default color when clearing the
42170 screen.
42171 (grub_console_setcursor): Implemented.
42172
bb06ab2e 421732007-11-03 Marco Gerards <marco@gnu.org>
42174
42175 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42176 become activate.
42177 (grub_ata_pio_write): Likewise.
42178
42179 (grub_atapi_identify): Wait after issuing an ATA command.
42180 (grub_atapi_packet): Likewise.
42181 (grub_ata_identify): Likewise.
42182 (grub_ata_readwrite): Likewise.
42183
cf8f780b 421842007-11-03 Marco Gerards <marco@gnu.org>
42185
42186 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42187 (grub_ata_pio_write): Likewise.
42188 (grub_ata_readwrite): Use `grub_error', instead of
42189 returning `grub_errno'.
42190
ed649e54 421912007-11-03 Marco Gerards <marco@gnu.org>
42192
42193 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42194 grub_ata_pio_write once for every single sector, instead of for
42195 multiple sectors.
42196
ca25d8f0 421972007-10-31 Robert Millan <rmh@aybabtu.com>
42198
42199 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42200
42201 * conf/i386-linuxbios.rmk: New file.
42202
42203 * kern/i386/pc/hardware.c: Likewise.
42204 * term/i386/pc/at_keyboard.c: Likewise.
42205 * term/i386/pc/vga_text.c: Likewise.
42206
42207 * include/grub/i386/linuxbios/boot.h: Likewise.
42208 * include/grub/i386/linuxbios/console.h: Likewise.
42209 * include/grub/i386/linuxbios/init.h: Likewise.
42210 * include/grub/i386/linuxbios/kernel.h: Likewise.
42211 * include/grub/i386/linuxbios/loader.h: Likewise.
42212 * include/grub/i386/linuxbios/memory.h: Likewise.
42213 * include/grub/i386/linuxbios/serial.h: Likewise.
42214 * include/grub/i386/linuxbios/time.h: Likewise.
42215
42216 * kern/i386/linuxbios/init.c: Likewise.
42217 * kern/i386/linuxbios/startup.S: Likewise.
42218 * kern/i386/linuxbios/table.c: Likewise.
42219
e911ecc1 422202007-10-31 Marco Gerards <marco@gnu.org>
42221
42222 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42223 (ata_mod_SOURCES): New variable.
42224 (ata_mod_CFLAGS): Likewise.
42225 (ata_mod_LDFLAGS): Likewise.
42226
42227 * disk/ata.c: New file.
42228
42229 * include/grub/disk.h (grub_disk_dev_id): Add
42230 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42231
7f66d0e0 422322007-10-31 Robert Millan <rmh@aybabtu.com>
42233
42234 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42235 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42236
42237 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42238 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42239
42240 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42241 `<grub/types.h>'.
42242
42243 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42244
5cd7dd46 422452007-10-27 Robert Millan <rmh@aybabtu.com>
42246
3236ca65 42247 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42248
2ebfc90f 422492007-10-22 Robert Millan <rmh@aybabtu.com>
42250
42251 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42252 `"../realmode.S"'.
42253 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42254
73fcb0f3 422552007-10-22 Robert Millan <rmh@aybabtu.com>
42256
42257 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42258 (pkgdata_MODULES): Add `biosdisk.mod'.
42259 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42260 variables.
42261
42262 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42263 (grub_biosdisk_init): Replace with ...
42264 (GRUB_MOD_INIT(biosdisk)): ... this.
42265 (grub_biosdisk_fini): Replace with ...
42266 (GRUB_MOD_FINI(biosdisk)): ... this.
42267
42268 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42269 (grub_machine_init): Remove call to grub_biosdisk_init().
42270 (grub_machine_fini): Remove call to grub_machine_fini().
42271
42272 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42273
3381d274 422742007-10-22 Robert Millan <rmh@aybabtu.com>
42275
42276 * include/grub/time.h: New file.
42277 * include/grub/i386/time.h: Likewise.
42278 * include/grub/powerpc/time.h: Likewise.
42279 * include/grub/sparc64/time.h: Likewise.
42280
42281 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42282 instances to ...
42283 (KERNEL_MACHINE_TIME_HEADER): ... this.
42284 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42285 instances to ...
42286 (KERNEL_MACHINE_TIME_HEADER): ... this.
42287 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42288 instances to ...
42289 (KERNEL_MACHINE_TIME_HEADER): ... this.
42290
42291 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42292 (grub_millisleep): New function.
42293 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42294 (grub_millisleep): New function.
42295 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42296 Remove `grub/machine/time.h' include.
42297 (grub_millisleep): New function.
42298 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42299 Remove `grub/machine/time.h' include.
42300 (grub_millisleep): New function.
42301
42302 * include/grub/misc.h (grub_div_roundup): New function.
42303
42304 * kern/misc.c: Include `<grub/time.h>'.
42305 (grub_millisleep_generic): New function.
42306
42307 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42308 Add `time.h'.
42309 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42310 Add `time.h'.
42311 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42312 `machine/time.h'. Add `time.h'.
42313 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42314
a39a0312 423152007-10-21 Robert Millan <rmh@aybabtu.com>
42316
42317 * include/grub/misc.h (grub_max): New function.
42318
2aad70e2 423192007-10-21 Robert Millan <rmh@aybabtu.com>
42320
42321 * util/misc.c (grub_util_info): Call fflush() before returning.
42322
54b71c4b 423232007-10-20 Robert Millan <rmh@aybabtu.com>
42324
42325 * genmk.rb (Image): Copy `extra_flags' from here ...
42326 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42327
42328 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42329 to `argc' and `args' arguments.
42330
a979f513 423312007-10-17 Robert Millan <rmh@aybabtu.com>
42332
42333 * kern/i386/loader.S: New file.
42334
42335 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42336 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42337 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42338 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42339 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42340 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42341 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42342 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42343 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42344 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42345 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42346 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42347 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42348 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42349
42350 * kern/i386/realmode.S: New file.
42351
42352 * kern/i386/pc/startup.S (protstack): Moved from here ...
42353 * kern/i386/realmode.S (protstack)... to here.
42354 * kern/i386/pc/startup.S (gdt): Moved from here ...
42355 * kern/i386/realmode.S (gdt)... to here.
42356 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42357 * kern/i386/realmode.S (prot_to_real)... to here.
42358
42359 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42360 `kern/i386/realmode.S'.
42361
825fc8fd 423622007-10-17 Robert Millan <rmh@aybabtu.com>
42363
42364 * include/grub/i386/loader.h: New file.
42365
42366 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42367 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42368 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42369 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42370 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42371 * include/grub/i386/loader.h (grub_linux_prot_size)
42372 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42373 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42374 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42375 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42376
42377 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42378
e179b2f4 423792007-10-15 Robert Millan <rmh@aybabtu.com>
42380
42381 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42382 filesystem when dev->disk is unset.
42383 Do probe for filesystem even when dev->disk->has_partitions is set.
42384 In case a filesystem is found, always report it.
42385 In case it isn't, if dev->disk->has_partitions is set, report that
42386 a partition table was found instead of reporting that no filesystem
42387 could be identified.
42388
5db82af6 423892007-10-12 Robert Millan <rmh@aybabtu.com>
42390
42391 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42392 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42393
68f6ac74 42394 * include/grub/types.h (grub_host_to_target16): New macro.
42395 (grub_host_to_target32): Likewise.
42396 (grub_host_to_target64): Likewise.
42397 (grub_target_to_host16): Likewise.
42398 (grub_target_to_host32): Likewise.
42399 (grub_target_to_host64): Likewise.
5db82af6 42400
42401 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42402 Renamed from to ...
42403 (GRUB_MOD_ALIGN): ...this. Update all users.
42404
68f6ac74 42405 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42406 grub_host_to_target32.
42407 Replace grub_be_to_cpu32 with grub_target_to_host32.
42408 (load_modules): Likewise.
42409 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42410 Replace grub_be_to_cpu32 with grub_target_to_host32.
42411 Replace grub_cpu_to_be16 with grub_host_to_target16.
42412 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42413
3cf497cc 424142007-10-12 Robert Millan <rmh@aybabtu.com>
42415
42416 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42417 * util/elf/grub-mkimage.c: ... here.
42418
42419 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42420 `util/powerpc/ieee1275/grub-mkimage.c'.
42421
c8cc3692 424222007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42423
c8cc3692 42424 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42425 and make it easier to figure out.
42426 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42427 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42428 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42429 leave us with less than HEAP_MIN_SIZE total heap.
42430 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42431
5c58b791 424322007-10-03 Robert Millan <rmh@aybabtu.com>
42433
42434 * include/grub/i386/io.h: New file.
42435 * commands/i386/pc/play.c (inb): Removed.
42436 (outb): Removed.
42437 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42438 with grub_outb().
afcd2ef8 42439 * term/i386/pc/serial.c (inb): Removed.
42440 (outb): Removed.
42441 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42442 with grub_outb().
42443 * term/i386/pc/vga.c (inb): Removed.
42444 (outb): Removed.
42445 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42446 with grub_outb().
5c58b791 42447
1a477ed6 424482007-10-02 Robert Millan <rmh@aybabtu.com>
42449
42450 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42452 Reported by Marcin Kurek.
42453
6b5d80fa 424542007-09-07 Robert Millan <rmh@aybabtu.com>
42455
42456 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42457 SmartFirmware version updates (as released by Sven Luther), and avoid
42458 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42459 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42460 known broken.
42461
5618afbf 424622007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42463
42464 From Hitoshi Ozeki:
42465 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42466 when merging two regions.
42467
6139dcd9 424682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42469
508e39ee 42470 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42471 * normal/completion.c (grub_normal_do_completion): Likewise.
42472 Reported by Hitoshi Ozeki.
42473
424742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42475
6139dcd9 42476 Do not use devices at boot in chainloading.
f19dbdb7 42477
6139dcd9 42478 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42479 (boot_part_addr): Likewise.
42480 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42481 with BOOT_DRIVE and BOOT_PART_ADDR.
42482 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42483 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42484
38da6516 424852007-08-29 Robert Millan <rmh@aybabtu.com>
42486
42487 Patch from Simon Peter <dn.tlp@gmx.net>:
42488 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42489 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42490 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42491 util/i386/pc/grub-setup.c_DEPENDENCIES.
42492 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42493 util/grub-probe.c_DEPENDENCIES.
42494 * conf/powerpc-ieee1275.rmk: Likewise.
42495
29d0928c 424962007-08-28 Robert Millan <rmh@aybabtu.com>
42497
42498 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42499 to tell grub-mkdevicemap how to name devices.
42500 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42501 feature).
42502
42503 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42504 util/i386/get_disk_name.c.
42505 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42506 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42507 util/ieee1275/get_disk_name.c.
42508
42509 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42510
42511 * DISTLIST: Add util/i386/get_disk_name.c and
42512 util/ieee1275/get_disk_name.c.
42513
42514 * util/grub-mkdevicemap.c: Replace device naming logic with
42515 grub_util_get_disk_name() calls.
42516
5a0d3cca 425172007-08-20 Robert Millan <rmh@aybabtu.com>
42518
42519 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42520 (so that it works for both plural and singular quantities).
42521
8b72db2f 425222007-08-05 Robert Millan <rmh@aybabtu.com>
42523
42524 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42525 so that [xz] isn't taken into account when determining order.
42526
352466bf 425272007-08-02 Marco Gerards <marco@gnu.org>
42528
42529 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42530 `include/multiboot2.h', `include/grub/elfload.h',
42531 `include/multiboot.h', `include/grub/multiboot.h',
42532 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42533 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42534 `kern/elf.c', `loader/multiboot_loader.c',
42535 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42536 `loader/i386/pc/multiboot2.c',
42537 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42538 `util/i386/pc/grub-mkrescue.in'. Remove
42539 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42540 `include/grub/i386/pc/util/biosdisk.h' and
42541 `include/grub/powerpc/ieee1275/multiboot.h'.
42542
8f096014 425432007-08-02 Bean <bean123ch@gmail.com>
42544
42545 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42546 (ntfs_mod_SOURCES): New variable.
42547 (ntfs_mod_CFLAGS): Likewise.
42548 (ntfs_mod_LDFLAGS): Likewise.
42549
42550 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42551 (grub_probe_SOURCES): Likewise.
42552 (grub_emu_SOURCES): Likewise.
42553
42554 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42555 (grub_emu_SOURCES): Likewise.
42556
42557 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42558 (grub_emu_SOURCES): Likewise.
f19dbdb7 42559
8f096014 42560 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42561
42562 * fs/ntfs.c: New file.
42563
9959f7db 425642007-08-02 Bean <bean123ch@gmail.com>
42565
42566 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42567
42568 * file.h (grub_file): Likewise.
42569
42570 * fshelp.h (grub_fshelp_read_file): Likewise.
42571
42572 * util/i386/pc/grub-setup.c (setup): Likewise.
42573 (save_first_sector): Likewise.
42574 (save_blocklists): Likewise.
f19dbdb7 42575
9959f7db 42576 * fs/affs.c (grub_affs_read_file): Likewise.
42577
42578 * fs/ext2.c (grub_ext2_read_file): Likewise.
42579
42580 * fs/fat.c (grub_fat_read_data): Likewise.
42581
42582 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42583
42584 * fs/hfs.c (grub_hfs_read_file): Likewise.
42585
42586 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42587
42588 * fs/jfs.c (grub_jfs_read_file): Likewise.
42589
42590 * fs/minix.c (grub_minix_read_file): Likewise.
42591
42592 * fs/sfs.c (grub_sfs_read_file): Likewise.
42593
42594 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42595
9959f7db 42596 * fs/xfs.c (grub_xfs_read_file): Likewise.
42597
42598 * command/blocklist.c (read_blocklist): Likewise.
42599 (print_blocklist): Likewise.
42600
0a203f83 426012007-08-02 Marco Gerards <marco@gnu.org>
42602
42603 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42604 `util/hostfs.c'.
42605
42606 * disk/host.c: New file.
42607
42608 * util/hostfs.c: Likewise.
42609
42610 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42611 return `GRUB_ERR_BAD_FS'.
42612 * fs/sfs.c (grub_sfs_mount): Likewise.
42613 * fs/xfs.c (grub_xfs_mount): Likewise.
42614
42615 * include/grub/disk.h (enum grub_disk_dev_id): Add
42616 `GRUB_DISK_DEVICE_HOST_ID'.
42617
42618 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42619
e5dfe777 426202007-07-24 Jerone Young <jerone@gmail.com>
42621
f19dbdb7 42622 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42623 modules for compilation.
42624 * conf/powerpc-ieee1275.rmk: Likewise.
42625
42626 * include/multiboot.h: Move multiboot definitions to one file. Rename
42627 many definitions to not get grub specific.
42628 * include/multiboot2.h: Create header with multiboot 2 definitions.
42629 * include/grub/multiboot.h: Header for grub specific function
42630 prototypes and definitions.
42631 * include/grub/multiboot2.h: Likewise.
42632 * include/grub/multiboot_loader.h: Likewise.
42633 * include/grub/i386/pc/multiboot.h: Removed.
42634 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42635
42636 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42637 and 2 to allow for one multiboot and module commands.
42638 * loader/multiboot2.c: Add multiboot2 functionality.
42639 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42640 and definition names.
42641 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42642 2 functions.
42643 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42644 ieee1275 specific multiboot2 code.
42645
42646 * kern/i386/pc/startup.S: Change headers and definition names for
42647 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42648
daf0f0ba 426492007-07-22 Robert Millan <rmh@aybabtu.com>
42650
42651 * geninitheader.sh: Process file specified in first parameter rather
42652 than hardcoding grub_modules_init.lst.
fe6b695a 42653 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42654 than hardcoding grub_modules_init.h.
42655
42656 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42657 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42658 grub_probe_init.[ch] and grub_setup_init.[ch].
42659
42660 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42661 grub_modules_init.h with grub_emu_init.h.
42662 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42663 grub_probe_init.[ch] files.
42664 * conf/i386-efi.rmk: Likewise.
42665 * conf/i386-pc.rmk: Likewise.
42666 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42667 grub_setup_init.[ch] files.
42668
42669 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42670 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42671 to initialize modules rather than a list of hardcoded functions.
42672 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42673 grub_init_all() to initialize modules rather than a list of hardcoded
42674 functions.
42675
54cdc1cc 426762007-07-22 Robert Millan <rmh@aybabtu.com>
42677
42678 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42679 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42680
ad0686cc 426812007-07-22 Robert Millan <rmh@aybabtu.com>
42682
42683 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42684 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42685 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42686 flag when running on SmartFirmware.
42687 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42688 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42689 was set.
42690
42691 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42692 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42693 rather than decreasing it.
42694
42695 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42696 there's not enough space to do it, fail in the same way as when it
42697 can't be done because there are no partitions.
42698
42699 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42700 when nvsetenv failed.
42701
969c02ec 427022007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42703
42704 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42705 because this rule is automatically generated.
42706 (grub-mkrescue): Removed for the same reason as above.
42707
5a79f472 427082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42709
42710 Migrate to GNU General Public License Version 3.
f19dbdb7 42711
5a79f472 42712 * COPYING: Replaced with the plain text version of GPLv3.
42713
42714 * config.guess: Updated from gnulib.
42715 * config.sub: Likewise.
42716
42717 * geninit.sh: Output a GPLv3 copyright notice.
42718 * geninitheader.sh: Likewise.
42719 * genmodsrc.sh: Likewise.
42720 * gensymlist.sh.in: Likewise.
42721
42722 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42723 * boot/i386/pc/diskboot.S: Likewise.
42724 * boot/i386/pc/pxeboot.S: Likewise.
42725 * commands/blocklist.c: Likewise.
42726 * commands/boot.c: Likewise.
42727 * commands/cat.c: Likewise.
42728 * commands/cmp.c: Likewise.
42729 * commands/configfile.c: Likewise.
42730 * commands/echo.c: Likewise.
42731 * commands/help.c: Likewise.
42732 * commands/ls.c: Likewise.
42733 * commands/search.c: Likewise.
42734 * commands/terminal.c: Likewise.
42735 * commands/test.c: Likewise.
42736 * commands/videotest.c: Likewise.
42737 * commands/i386/cpuid.c: Likewise.
42738 * commands/i386/pc/halt.c: Likewise.
42739 * commands/i386/pc/play.c: Likewise.
42740 * commands/i386/pc/reboot.c: Likewise.
42741 * commands/i386/pc/vbeinfo.c: Likewise.
42742 * commands/i386/pc/vbetest.c: Likewise.
42743 * commands/ieee1275/halt.c: Likewise.
42744 * commands/ieee1275/reboot.c: Likewise.
42745 * commands/ieee1275/suspend.c: Likewise.
42746 * disk/loopback.c: Likewise.
42747 * disk/lvm.c: Likewise.
42748 * disk/raid.c: Likewise.
42749 * disk/efi/efidisk.c: Likewise.
42750 * disk/i386/pc/biosdisk.c: Likewise.
42751 * disk/ieee1275/ofdisk.c: Likewise.
42752 * font/manager.c: Likewise.
42753 * fs/affs.c: Likewise.
42754 * fs/ext2.c: Likewise.
42755 * fs/fat.c: Likewise.
42756 * fs/fshelp.c: Likewise.
42757 * fs/hfs.c: Likewise.
42758 * fs/hfsplus.c: Likewise.
42759 * fs/iso9660.c: Likewise.
42760 * fs/jfs.c: Likewise.
42761 * fs/minix.c: Likewise.
42762 * fs/sfs.c: Likewise.
42763 * fs/ufs.c: Likewise.
42764 * fs/xfs.c: Likewise.
42765 * hello/hello.c: Likewise.
42766 * include/grub/acorn_filecore.h: Likewise.
42767 * include/grub/arg.h: Likewise.
42768 * include/grub/bitmap.h: Likewise.
42769 * include/grub/boot.h: Likewise.
42770 * include/grub/cache.h: Likewise.
42771 * include/grub/device.h: Likewise.
42772 * include/grub/disk.h: Likewise.
42773 * include/grub/dl.h: Likewise.
42774 * include/grub/elfload.h: Likewise.
42775 * include/grub/env.h: Likewise.
42776 * include/grub/err.h: Likewise.
42777 * include/grub/file.h: Likewise.
42778 * include/grub/font.h: Likewise.
42779 * include/grub/fs.h: Likewise.
42780 * include/grub/fshelp.h: Likewise.
42781 * include/grub/gzio.h: Likewise.
42782 * include/grub/hfs.h: Likewise.
42783 * include/grub/kernel.h: Likewise.
42784 * include/grub/loader.h: Likewise.
42785 * include/grub/lvm.h: Likewise.
42786 * include/grub/misc.h: Likewise.
42787 * include/grub/mm.h: Likewise.
42788 * include/grub/net.h: Likewise.
42789 * include/grub/normal.h: Likewise.
42790 * include/grub/parser.h: Likewise.
42791 * include/grub/partition.h: Likewise.
42792 * include/grub/pc_partition.h: Likewise.
42793 * include/grub/raid.h: Likewise.
42794 * include/grub/rescue.h: Likewise.
42795 * include/grub/script.h: Likewise.
42796 * include/grub/setjmp.h: Likewise.
42797 * include/grub/symbol.h: Likewise.
42798 * include/grub/term.h: Likewise.
42799 * include/grub/terminfo.h: Likewise.
42800 * include/grub/tparm.h: Likewise.
42801 * include/grub/types.h: Likewise.
42802 * include/grub/video.h: Likewise.
42803 * include/grub/efi/api.h: Likewise.
42804 * include/grub/efi/chainloader.h: Likewise.
42805 * include/grub/efi/console.h: Likewise.
42806 * include/grub/efi/console_control.h: Likewise.
42807 * include/grub/efi/disk.h: Likewise.
42808 * include/grub/efi/efi.h: Likewise.
42809 * include/grub/efi/pe32.h: Likewise.
42810 * include/grub/efi/time.h: Likewise.
42811 * include/grub/i386/linux.h: Likewise.
42812 * include/grub/i386/setjmp.h: Likewise.
42813 * include/grub/i386/types.h: Likewise.
42814 * include/grub/i386/efi/kernel.h: Likewise.
42815 * include/grub/i386/efi/loader.h: Likewise.
42816 * include/grub/i386/efi/time.h: Likewise.
42817 * include/grub/i386/pc/biosdisk.h: Likewise.
42818 * include/grub/i386/pc/boot.h: Likewise.
42819 * include/grub/i386/pc/chainloader.h: Likewise.
42820 * include/grub/i386/pc/console.h: Likewise.
42821 * include/grub/i386/pc/init.h: Likewise.
42822 * include/grub/i386/pc/kernel.h: Likewise.
42823 * include/grub/i386/pc/loader.h: Likewise.
42824 * include/grub/i386/pc/memory.h: Likewise.
42825 * include/grub/i386/pc/multiboot.h: Likewise.
42826 * include/grub/i386/pc/serial.h: Likewise.
42827 * include/grub/i386/pc/time.h: Likewise.
42828 * include/grub/i386/pc/vbe.h: Likewise.
42829 * include/grub/i386/pc/vbeblit.h: Likewise.
42830 * include/grub/i386/pc/vbefill.h: Likewise.
42831 * include/grub/i386/pc/vbeutil.h: Likewise.
42832 * include/grub/i386/pc/vga.h: Likewise.
42833 * include/grub/ieee1275/ieee1275.h: Likewise.
42834 * include/grub/ieee1275/ofdisk.h: Likewise.
42835 * include/grub/powerpc/libgcc.h: Likewise.
42836 * include/grub/powerpc/setjmp.h: Likewise.
42837 * include/grub/powerpc/types.h: Likewise.
42838 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42839 * include/grub/powerpc/ieee1275/console.h: Likewise.
42840 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42841 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42842 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42843 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42844 * include/grub/powerpc/ieee1275/time.h: Likewise.
42845 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42846 * include/grub/sparc64/libgcc.h: Likewise.
42847 * include/grub/sparc64/setjmp.h: Likewise.
42848 * include/grub/sparc64/types.h: Likewise.
42849 * include/grub/sparc64/ieee1275/console.h: Likewise.
42850 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42851 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42852 * include/grub/sparc64/ieee1275/time.h: Likewise.
42853 * include/grub/util/biosdisk.h: Likewise.
42854 * include/grub/util/getroot.h: Likewise.
42855 * include/grub/util/lvm.h: Likewise.
42856 * include/grub/util/misc.h: Likewise.
42857 * include/grub/util/raid.h: Likewise.
42858 * include/grub/util/resolve.h: Likewise.
42859 * io/gzio.c: Likewise.
42860 * kern/device.c: Likewise.
42861 * kern/disk.c: Likewise.
42862 * kern/dl.c: Likewise.
42863 * kern/elf.c: Likewise.
42864 * kern/env.c: Likewise.
42865 * kern/err.c: Likewise.
42866 * kern/file.c: Likewise.
42867 * kern/fs.c: Likewise.
42868 * kern/loader.c: Likewise.
42869 * kern/main.c: Likewise.
42870 * kern/misc.c: Likewise.
42871 * kern/mm.c: Likewise.
42872 * kern/parser.c: Likewise.
42873 * kern/partition.c: Likewise.
42874 * kern/rescue.c: Likewise.
42875 * kern/term.c: Likewise.
42876 * kern/efi/efi.c: Likewise.
42877 * kern/efi/init.c: Likewise.
42878 * kern/efi/mm.c: Likewise.
42879 * kern/i386/dl.c: Likewise.
42880 * kern/i386/efi/init.c: Likewise.
42881 * kern/i386/efi/startup.S: Likewise.
42882 * kern/i386/pc/init.c: Likewise.
42883 * kern/i386/pc/lzo1x.S: Likewise.
42884 * kern/i386/pc/startup.S: Likewise.
42885 * kern/ieee1275/ieee1275.c: Likewise.
42886 * kern/powerpc/cache.S: Likewise.
42887 * kern/powerpc/dl.c: Likewise.
42888 * kern/powerpc/ieee1275/cmain.c: Likewise.
42889 * kern/powerpc/ieee1275/crt0.S: Likewise.
42890 * kern/powerpc/ieee1275/init.c: Likewise.
42891 * kern/powerpc/ieee1275/openfw.c: Likewise.
42892 * kern/sparc64/cache.S: Likewise.
42893 * kern/sparc64/dl.c: Likewise.
42894 * kern/sparc64/ieee1275/init.c: Likewise.
42895 * kern/sparc64/ieee1275/openfw.c: Likewise.
42896 * loader/efi/chainloader.c: Likewise.
42897 * loader/efi/chainloader_normal.c: Likewise.
42898 * loader/i386/efi/linux.c: Likewise.
42899 * loader/i386/efi/linux_normal.c: Likewise.
42900 * loader/i386/pc/chainloader.c: Likewise.
42901 * loader/i386/pc/chainloader_normal.c: Likewise.
42902 * loader/i386/pc/linux.c: Likewise.
42903 * loader/i386/pc/linux_normal.c: Likewise.
42904 * loader/i386/pc/multiboot.c: Likewise.
42905 * loader/i386/pc/multiboot_normal.c: Likewise.
42906 * loader/powerpc/ieee1275/linux.c: Likewise.
42907 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42908 * normal/arg.c: Likewise.
42909 * normal/cmdline.c: Likewise.
42910 * normal/command.c: Likewise.
42911 * normal/completion.c: Likewise.
42912 * normal/execute.c: Likewise.
42913 * normal/function.c: Likewise.
42914 * normal/lexer.c: Likewise.
42915 * normal/main.c: Likewise.
42916 * normal/menu.c: Likewise.
42917 * normal/menu_entry.c: Likewise.
42918 * normal/misc.c: Likewise.
42919 * normal/parser.y: Likewise.
42920 * normal/script.c: Likewise.
42921 * normal/i386/setjmp.S: Likewise.
42922 * normal/powerpc/setjmp.S: Likewise.
42923 * normal/sparc64/setjmp.S: Likewise.
42924 * partmap/acorn.c: Likewise.
42925 * partmap/amiga.c: Likewise.
42926 * partmap/apple.c: Likewise.
42927 * partmap/gpt.c: Likewise.
42928 * partmap/pc.c: Likewise.
42929 * partmap/sun.c: Likewise.
42930 * term/gfxterm.c: Likewise.
42931 * term/terminfo.c: Likewise.
42932 * term/efi/console.c: Likewise.
42933 * term/i386/pc/console.c: Likewise.
42934 * term/i386/pc/serial.c: Likewise.
42935 * term/i386/pc/vesafb.c: Likewise.
42936 * term/i386/pc/vga.c: Likewise.
42937 * term/ieee1275/ofconsole.c: Likewise.
42938 * util/biosdisk.c: Likewise.
42939 * util/console.c: Likewise.
42940 * util/genmoddep.c: Likewise.
42941 * util/getroot.c: Likewise.
42942 * util/grub-emu.c: Likewise.
42943 * util/grub-mkdevicemap.c: Likewise.
42944 * util/grub-probe.c: Likewise.
42945 * util/lvm.c: Likewise.
42946 * util/misc.c: Likewise.
42947 * util/raid.c: Likewise.
42948 * util/resolve.c: Likewise.
42949 * util/update-grub.in: Likewise.
42950 * util/update-grub_lib.in: Likewise.
42951 * util/grub.d/00_header.in: Likewise.
42952 * util/grub.d/10_hurd.in: Likewise.
42953 * util/grub.d/10_linux.in: Likewise.
42954 * util/i386/efi/grub-install.in: Likewise.
42955 * util/i386/efi/grub-mkimage.c: Likewise.
42956 * util/i386/pc/grub-install.in: Likewise.
42957 * util/i386/pc/grub-mkimage.c: Likewise.
42958 * util/i386/pc/grub-mkrescue.in: Likewise.
42959 * util/i386/pc/grub-setup.c: Likewise.
42960 * util/i386/pc/misc.c: Likewise.
42961 * util/powerpc/ieee1275/grub-install.in: Likewise.
42962 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42963 * util/powerpc/ieee1275/misc.c: Likewise.
42964 * video/bitmap.c: Likewise.
42965 * video/video.c: Likewise.
42966 * video/i386/pc/vbe.c: Likewise.
42967 * video/i386/pc/vbeblit.c: Likewise.
42968 * video/i386/pc/vbefill.c: Likewise.
42969 * video/i386/pc/vbeutil.c: Likewise.
42970 * video/readers/tga.c: Likewise.
42971
3572d015 429722007-07-02 Robert Millan <rmh@aybabtu.com>
42973
42974 * conf/i386-efi.rmk: Replace obsolete reference to
42975 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42976 with util/getroot.c.
42977 * conf/powerpc-ieee1275.rmk: Likewise.
42978 * conf/sparc64-ieee1275.rmk: Likewise.
42979
42980 * util/grub-emu.c (main): Fix unchecked pointer handling.
42981
2c2a681b 429822007-07-02 Robert Millan <rmh@aybabtu.com>
42983
42984 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42985 invocation to fail, in order to support partition-less media.
42986
42987 * util/i386/pc/grub-install.in: Likewise.
42988
42989 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42990 which fs or partmap modules are needed (akin to its sister scripts).
42991
42992 Also use grub-probe to get rid of unportable /proc/mounts check.
42993
42994 Print the same informational message that the other scripts do, before
fe6b695a 42995 exiting.
2c2a681b 42996
6193defe 429972007-06-23 Robert Millan <rmh@aybabtu.com>
42998
fe6b695a 42999 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43000 a font file can be found and, if so, echo the GRUB path to it.
43001
43002 * util/update-grub.in: Handle multiple terminals depending on user
43003 input, platform availability and font file presence. Propagate
43004 variables of our findings to /etc/grub.d/ children.
43005
43006 * util/grub.d/00_header.in: Handle multiple terminals, based on
43007 environment setup by update-grub.
43008
eface1dc 430092007-06-23 Robert Millan <rmh@aybabtu.com>
43010
ba50d28f 43011 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43012
bf697e28 430132007-06-21 Robert Millan <rmh@aybabtu.com>
43014
43015 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43016 indicate end of data section in kernel image.
43017 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43018 GRUB_KERNEL_MACHINE_DATA_END.
43019
43020 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43021 space for it.
43022 * kern/i386/efi/startup.S: Likewise.
43023
43024 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43025 during image generation. Implement --prefix option to override this
43026 patch.
43027 * util/i386/efi/grub-mkimage.c: Likewise.
43028
43029 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43030 code to make path relative to its root into a separate function.
43031
43032 * util/i386/pc/grub-install.in: Use newly provided
43033 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43034 pass the result to grub-install --prefix.
43035
baa574b4 430362007-06-13 Robert Millan <rmh@aybabtu.com>
43037
43038 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43039 DEFAULT_DEVICE_MAP.
43040 * util/grub-emu.c: Use above definitions from misc.h instead of
43041 defining them.
43042 * util/grub-mkdevicemap.c: Likewise.
43043 * util/i386/pc/grub-setup.c: Likewise.
43044 * util/grub-probe.c: Likewise.
43045 (probe): Abort with grub_util_error() when either
43046 grub_guess_root_device or grub_util_get_grub_dev fails.
43047
0215dcbf 430482007-06-12 Robert Millan <rmh@aybabtu.com>
43049
43050 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43051 "pager" assignment.
43052 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43053 "pcdata".
43054 * util/grub-probe.c (probe): Likewise for "drive_name".
43055
8af2ab7b 430562007-06-11 Robert Millan <rmh@aybabtu.com>
43057
43058 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43059 not just the cdrom one.
43060
59d31694 430612007-06-11 Robert Millan <rmh@aybabtu.com>
43062
43063 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43064 Add --pkglibdir=DIR option to override pkglibdir.
43065 Mention --image-type=TYPE in help output.
43066 Fix --grub-mkimage (it was a no-op).
fe6b695a 43067 Abort gracefully when no parameter is given.
59d31694 43068
7ee367e4 430692007-06-11 Robert Millan <rmh@aybabtu.com>
43070
43071 * util/i386/pc/grub-mkrescue.in: New file.
43072 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43073 * Makefile.in: Handle bin_SCRIPTS.
43074
29b0ed46 430752007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43076
43077 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43078 list of video modes.
43079
c0f90770 430802007-06-06 Robert Millan <rmh@aybabtu.com>
43081
43082 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43083 file doesn't exist, or if it is in a filesystem grub can't read.
43084
43085 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43086 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43087 header comment to fit in 80 columns when the variables are resolved.
43088
43089 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43090 could be identified by update-grub. Remove redundant check for
fe6b695a 43091 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43092 handles that).
43093
fb36dc26 430942007-06-04 Robert Millan <rmh@aybabtu.com>
43095
43096 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43097
43098 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43099
43100 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43101
0c68c93e 431022007-06-04 Robert Millan <rmh@aybabtu.com>
43103
43104 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43105
43106 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43107 grub_apple_partition_map_fini.
43108
43109 * util/biosdisk.c
43110 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43111 to access >2 TiB disks).
43112
43113 Print disk->total_sectors with %llu instead of %lu, since this
43114 variable is always 64-bit (prevents wrong disk size from being displayed
43115 on either >2 TiB disk or big-endian CPU).
43116
43117 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43118 into a generic case that supports all (sane) partition maps.
43119
43120 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43121 breaks big-endian.
43122
43123 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43124 and grub_apple_partition_map_fini() after that.
43125
0f23eb74 431262007-06-01 Robert Millan <rmh@aybabtu.com>
43127
43128 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43129
43130 * util/grub.d/00_header.in: Only enable gfxterm when
43131 convert_system_path_to_grub_path() succeeds.
43132
42c71976 431332007-05-20 Robert Millan <rmh@aybabtu.com>
43134
43135 * util/update-grub_lib.in: New file.
43136 * DISTLIST: Add update-grub_lib.in.
43137 * conf/common.rmk: Generate update-grub_lib and install it in
43138 $(lib_DATA).
43139 * Makefile.in: Add install routine for $(lib_DATA).
43140
43141 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43142 function provided by update-grub_lib to support arbitrary paths of
43143 unifont.pff.
43144 * util/update-grub.in: Use convert_system_path_to_grub_path() to
43145 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
43146
5beb2291 431472007-05-19 Robert Millan <rmh@aybabtu.com>
43148
43149 * commands/i386/cpuid.c: New module.
43150 * DISTLIST: Add it.
43151 * conf/i386-efi.rmk: Enable cpuid.mod.
43152 * conf/i386-pc.rmk: Likewise.
43153
7262eca1 431542007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43155
43156 * kern/disk.c (grub_disk_read): Check return value of
43157 grub_realloc().
43158
260ba823 431592007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
43160
43161 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
43162 arrays.
43163 * disk/raid.c (grub_raid_open): Likewise.
43164
1ecb6cf2 431652007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43166
43167 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
43168 stack instead of on the heap.
43169
43170 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
43171 before doing a read on it.
43172
43173 * configure.ac: Only use -fno-stack-protector for the target
43174 environment.
f19dbdb7 43175
21c8cbb1 431762007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43177
43178 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43179 __attribute_ ((unused)) to mode_type argument.
43180
43181 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43182
21c8cbb1 43183 * kern/misc.c (memcmp): Fix prototype.
43184
43185 * include/grub/partition.h [GRUB_UTIL]
43186 (grub_gpt_partition_map_init): Add prototype.
43187 (grub_gpt_partition_map_fini): Likewise.
43188
43189 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43190 at the right place.
43191
43192 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43193 (grub_fat_read_data): Likewise.
43194 (grub_fat_find_dir): Likewise.
43195
43196 * font/manager.c (find_glyph): Make table a const.
43197 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43198
849d55d3 431992007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43200
43201 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43202 code, first search for device in /dev/mapper, then in /dev.
43203 (grub_util_get_grub_dev): New function.
43204 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43205 prototype.
43206 * util/grub-probe.c (probe): Remove check for RAID, call
43207 grub_util_get_grub_dev() instead of
43208 grub_util_biosdisk_get_grub_dev().
43209 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43210 grub_util_biosdisk_get_grub_dev().
43211 * util/i386/pc/grub-setup.c (main): Likewise.
43212
8fff7c2f 432132007-05-16 Robert Millan <rmh@aybabtu.com>
43214
43215 * DISTLIST: Update for the latest changes.
43216 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43217 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43218 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43219 grub/util/biosdisk.h.
43220 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43221 grub/util/biosdisk.h.
43222
48e12b52 432232007-05-16 Robert Millan <rmh@aybabtu.com>
43224
43225 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43226
46b9d128 432272007-05-16 Robert Millan <rmh@aybabtu.com>
43228
43229 * util/i386/efi/grub-install.in: New.
43230 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43231 newly added grub-install.
43232 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43233 include.
43234 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43235 grub/util/biosdisk.h.
43236 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43237 grub/util/biosdisk.h.
43238
2d1a40a9 432392007-05-16 Robert Millan <rmh@aybabtu.com>
43240
43241 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43242 * include/grub/util/biosdisk.h: ... here.
43243 * util/i386/pc/biosdisk.c: Moved to ...
43244 * util/biosdisk.c: ... here.
43245 * util/i386/pc/getroot.c: Moved to ...
43246 * util/getroot.c: ... here.
43247 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43248 * util/grub-mkdevicemap.c: ... here.
43249 * util/i386/pc/grub-probe.c: Moved to ...
43250 * util/grub-probe.c: ... here.
43251
9e26e3bc 432522007-05-15 Robert Millan <rmh@aybabtu.com>
43253
43254 * util/update-grub.in: Remove duplicated line in grub.cfg header
43255 message.
43256
57f96397 432572007-05-13 Robert Millan <rmh@aybabtu.com>
43258
43259 * util/update-grub.in: Fix a few assumptions about the devices holding
43260 /, /boot and /boot/grub being the same.
43261 * util/grub.d/00_header.in: Likewise.
43262 * util/grub.d/10_hurd.in: Likewise.
43263 * util/grub.d/10_linux.in: Likewise.
43264
43265 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43266 patterns. Use that to define the `.old' suffix as older than `'.
43267
43268 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43269
43270 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43271 the grub.cfg header message.
43272
2e610d62 432732007-05-11 Robert Millan <rmh@aybabtu.com>
43274
43275 * util/update-grub.in: Create device.map if it doesn't already exist,
43276 before attempting to run grub-probe.
43277 Check for grub-probe and grub-mkdevicemap with the same code
43278 grub-install is using.
43279 Remove test mode.
43280
3f6a10ef 432812007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43282
43283 * Makefile.in: Add the datarootdir autoconf variable.
43284
02e7b75e 432852007-05-09 Robert Millan <rmh@aybabtu.com>
43286
43287 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43288 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43289
75f396cc 432902007-05-07 Robert Millan <rmh@aybabtu.com>
43291
43292 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43293 determine partition map module.
43294 * util/i386/pc/grub-install.in: Use this feature to decide which
43295 partition module to load, instead of hardcoding pc and gpt.
43296
da65cb36 432972007-05-07 Robert Millan <rmh@aybabtu.com>
43298
43299 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43300 source directory differs from build directory.
43301
b57d6a91 433022007-05-05 Robert Millan <rmh@aybabtu.com>
43303
43304 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43305 initialisation.
43306
509d00f1 433072007-05-05 Robert Millan <rmh@aybabtu.com>
43308
43309 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43310
c48f23ef 433112007-05-05 Robert Millan <rmh@aybabtu.com>
43312
43313 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43314 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43315
20b97658 433162007-05-05 Robert Millan <rmh@aybabtu.com>
43317
43318 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43319 (grub_probe_SOURCES): Likewise.
43320 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43321 GPT and initialize dos_part and bsd_part accordingly.
43322 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43323 install_bsd_part.
43324 (main): Activate gpt module for use during partition identification,
43325 and deactivate it afterwards.
43326 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43327 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43328 partition identification, and deactivate it afterwards.
43329
99123174 433302007-05-05 Robert Millan <rmh@aybabtu.com>
43331
43332 * term/i386/pc/console.c (grub_console_fini): Call
43333 grub_term_set_current() before grub_term_unregister().
43334
ebd97f6e 433352007-05-04 Robert Millan <rmh@aybabtu.com>
43336
43337 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43338 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43339 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43340 and update-grub_DATA.
43341 * conf/common.rmk: Build and install update-grub components.
43342 * conf/common.mk: Regenerate.
43343 * util/update-grub.in: New. Core of update-grub.
43344 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43345 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43346 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43347 * util/grub.d/README: New. Document grub.d directory layout.
43348
b06a264d 433492007-05-01 Robert Millan <rmh@aybabtu.com>
43350
43351 * util/grub-emu.c: Move initialization functions
43352 grub_util_biosdisk_init() and grub_init_all() before
43353 grub_util_biosdisk_get_grub_dev(), which relies on them.
43354
41f0050e 433552007-04-19 Robert Millan <rmh@aybabtu.com>
43356
43357 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43358 it is used later.
43359
04582bb3 433602007-04-18 Jerone Young <jerone@gmail.com>
43361
f19dbdb7 43362 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43363 stanza.
43364
08db4632 433652007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43366
08db4632 43367 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43368 continue on and look for device node with real device name.
43369
801b76be 433702007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43371
fe6b695a 43372 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43373 ability.
43374 * Makefile.in: Add autoconf package transformation code.
43375 * util/i386/pc/grub-install.in: Likewise.
43376 * util/powerpc/ieee1275/grub-install.in: Likewise.
43377
6795c4e1 433782007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43379
43380 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43381 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43382 (EXT2_REVISION): Likewise.
43383 (EXT2_INODE_SIZE): Likewise.
43384 (struct grub_ext2_block_group): Added a missing member
43385 "used_dirs".
43386 (grub_ext2_read_inode): Divide by the inode size in a superblock
43387 instead of 128 to obtain INODES_PER_BLOCK.
43388 Use the macro EXT2_INODE_SIZE instead of directly using
43389 SBLOCK->INODE_SIZE.
43390
d70af616 433912007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43392
43393 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43394 superblock instead of the structure size to compute an
43395 offset. This fixes the problem that GRUB could not read a
43396 filesystem when inode size is different from 128-byte.
43397
3b801603 433982007-03-05 Marco Gerards <marco@gnu.org>
43399
43400 * normal/main.c (read_config_file): When "menu" is not set, create
43401 an initial context.
43402
4785bfe4 434032007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43404
43405 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43406 (HEAP_LIMIT): New macro.
43407 (grub_claim_heap): Claim memory up to `heaplimit'.
43408
a0cbb023 434092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43410
43411 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43412 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43413 (_start): Likewise.
43414 (grub_arch_modules_addr): Return address after `_end'.
43415 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43416 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43417 (add_segments): Calculate `_end' from phdr size and location.
43418 (ALIGN_UP): Moved to ...
43419 * include/grub/misc.h: here.
43420 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43421 New macro.
43422 (GRUB_IEEE1275_MODULE_BASE): Removed.
43423
fd7d8eba 434242007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43425
43426 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43427 loop boundary.
43428
9b09e6fc 434292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43430
43431 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43432 All users updated.
43433 (grub_elf64_load_hook_t): Likewise.
43434 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43435 debug output.
43436
3ce27299 434372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43438
43439 * kern/mm.c: Update copyright.
43440 (grub_mm_debug): Correct syntax error.
43441 (grub_mm_dump_free): New function.
43442 (grub_debug_free): Call `grub_free'.
43443 * include/grub/mm.h: Update copyright.
43444 (grub_mm_dump_free): Add declaration.
43445
077d5fee 434462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43447
43448 * include/grub/ieee1275/ieee1275.h: Update copyright.
43449 * kern/powerpc/ieee1275/init.c: Likewise.
43450 * kern/powerpc/ieee1275/openfw.c: Likewise.
43451
43452 * loader/powerpc/ieee1275/linux.c: Likewise.
43453 * include/grub/elfload.h: Likewise.
43454 * kern/elf.c: Likewise.
43455 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43456 callers.
43457 (grub_elf64_load): Likewise.
43458 (grub_elf32_load_segment): Move to a nested function.
43459 (grub_elf64_load_segment): Likewise.
43460
dc946850 434612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43462
43463 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43464 prototype.
43465 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43466 (grub_heap_len): Likewise.
43467 (HEAP_SIZE): New macro.
43468 (grub_claim_heap): New function.
43469 (grub_machine_init): Don't claim heap directly. Call
43470 `grub_claim_heap'.
43471 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43472 (grub_available_iterate): New function.
43473
baa2a121 434742007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43475
43476 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43477 * configure.ac: Use it for testing the HOST and TARGET compilers.
43478
4fe9862e 434792006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43480
43481 * Makefile.in (enable_grub_emu): New variable.
43482 * configure.ac (--enable-grub-emu): New option.
43483 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43484 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43485 * conf/i386-pc.rmk: Likewise.
43486 * conf/powerpc-ieee1275.rmk: Likewise.
43487 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43488
a8aa5762 434892006-12-12 Marco Gerards <marco@gnu.org>
43490
43491 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43492
43493 * kern/env.c (grub_env_unset): Don't free the member `value' when
43494 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43495 pointer.
43496
43497 * normal/main.c (current_menu): Removed.
43498 (free_menu): Unset the `menu' environment variable.
43499 (grub_normal_menu_addentry): Make use of the environment variable
43500 `menu', instead of using the global `current_menu'. Allocate
43501 memory for the sourcecode of this entry.
43502 (read_config_file): New argument `nested', changed all callers.
43503 Only in the case of a new context, initialize a new menu. Set the
43504 `menu' environment variable.
43505 (grub_normal_execute): Don't set and unset the environment
43506 variable `menu' here anymore. Only free the menu when leaving the
43507 context.
43508
43509 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43510 leak.
43511
957b3a3e 435122006-12-11 Marco Gerards <marco@gnu.org>
43513
43514 * normal/menu_entry.c (run): Fix off by one bug so the last line
43515 is executed. Move the loader check to outside the loop.
43516
ef875714 435172006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43518
43519 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43520
4e739985 435212006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43522
43523 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43524 the number of sectors. Reported by Andrey Shuvikov
43525 <mr_hyro@yahoo.com>.
f19dbdb7 43526
790707f2 435272006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43528
43529 * kern/disk.c (grub_disk_read): When there is a read error, always
43530 try to read only the necessary data.
f19dbdb7 43531
790707f2 43532 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43533 disk/raid.c.
43534 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43535 prototype.
43536 [GRUB_UTIL] (grub_raid_fini): Likewise.
43537 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43538 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43539 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43540 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43541 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43542 and grub_raid_fini().
f19dbdb7 43543
03e58196 435442006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43545
43546 * include/grub/types.h (__unused): Rename to UNUSED.
43547 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43548 (grub_elf64_size): Likewise.
f19dbdb7 43549
ae4f23bf 435502006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43551
43552 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43553 grub_error_push and grub_error_pop in the error-handling path.
43554 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43555 length.
43556
2166cc83 435572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43558
43559 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43560 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43562 (kernel_elf_SOURCES): Likewise.
43563 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43564 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43565 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43566 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43567 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43568 (elf_mod_SOURCES): New variable.
43569 (elf_mod_CFLAGS): Likewise.
43570 (elf_mod_LDFLAGS): Likewise.
43571 * include/grub/types.h (__unused): New macro.
43572 * include/grub/elfload.h: New file.
43573 * kern/elf.c: Likewise.
43574 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43575 (ELF32_LOADMASK): New macro.
43576 (ELF64_LOADMASK): Likewise.
43577 (vmlinux): Removed.
43578 (grub_linux_load32): New function.
43579 (grub_linux_load64): Likewise.
43580 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43581 Use grub_elf_t instead of grub_file_t.
43582
a09d5aa5 435832006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43584
43585 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43586 `catch_result' to struct set_color_args.
43587
d976fc51 435882006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43589
43590 * normal/menu.c: Include grub/script.h.
43591 * normal/menu_entry.c: Likewise.
43592 * include/grub/normal.h: Do not include grub/script.h.
43593
67507549 435942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43595
43596 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43597
69203a99 435982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43599
43600 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43601 disk.
43602 (grub_disk_close): Print debug messages when closing a disk.
43603 (grub_disk_read): Print debug messages when disk read fails.
43604 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43605 filesystem type.
43606 * kern/partition.c: Include misc.h.
43607 (grub_partition_iterate): Print debug messages when detecting
43608 partition type.
43609
e2b8278c 436102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43611
43612 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43613 is negative.
43614 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43615
97b2f2ff 436162006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43617
43618 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43619 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43620
6555d655 436212006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43622
43623 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43624 instead of sizeof(lv). Patch by Michael Guntsche.
43625
4d42b77f 436262006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43627
43628 * disk/lvm.c: Rename VGS to VG_LIST.
43629 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43630 (grub_lvm_open): Likewise.
43631 Thanks to Michael Guntsche for finding this bug.
43632
5d74d927 436332006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43634
43635 * configure.ac (AC_INIT): Bumped to 1.95.
43636
a1bb27e4 436372006-10-14 Robert Millan <rmh@aybabtu.com>
43638
43639 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43640 with "/dev/.static/dev/md".
43641
e0994b8b 436422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43643
43644 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43645 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43646 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43647 DRIVE_NAME are always freed.
43648
43649 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43650 DOS_PART, as a DOS partition is counted from one instead of zero
43651 now. Reported by Robert Millan.
43652
ddd5cee9 436532006-10-14 Robert Millan <rmh@aybabtu.com>
43654
43655 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43656 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43657 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43658 string returned by grub_guess_root_device.
43659 * util/i386/pc/grub-setup.c: Likewise.
43660 * util/i386/pc/grub-probefs.c: Likewise.
43661
43662 * util/i386/pc/grub-probefs.c: Rename to ...
43663 * util/i386/pc/grub-probe.c: ... this.
43664 * DISTLIST: Remove grub-probefs, add grub-probe.
43665 * conf/i386-efi.rmk: Likewise.
43666 * conf/i386-pc.rmk: Likewise.
43667 * util/i386/pc/grub-install.in: Likewise.
43668
43669 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43670 choose which information we want to print.
43671
2b002173 436722006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43673
43674 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43675 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43676 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43677 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43678 video/readers/tga.c and video/i386/pc/vbeutil.c.
43679
436802006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43681
43682 Added support for RAID and LVM.
f19dbdb7 43683
2b002173 43684 * disk/lvm.c: New file.
43685 * disk/raid.c: Likewise.
43686 * include/grub/lvm.h: Likewise.
f19dbdb7 43687 * include/grub/raid.h: Likewise.
2b002173 43688 * include/grub/util/lvm.h: Likewise.
43689 * include/grub/util/raid.h: Likewise.
43690 * util/lvm.c: Likewise.
43691 * util/raid.c: Likewise.
43692
43693 * include/grub/disk.h (grub_disk_dev_id): Add
43694 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43695 (grub_disk_get_size): New prototype.
43696 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43697 returns a partition.
43698 (grub_disk_get_size): New function.
f19dbdb7 43699
2b002173 43700 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43701 verbatim if grub_install_dos_part is -2.
43702
43703 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43704 and LVM devices.
43705
43706 * util/i386/pc/grub-setup.c (setup): New argument
43707 MUST_EMBED. Force embedding of GRUB when the argument is
43708 true. Close FILE before returning.
43709 (main): Add support for RAID and LVM.
f19dbdb7 43710
2b002173 43711 * conf/common.rmk: Add RAID and LVM modules.
43712 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43713 util/lvm.c.
43714 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43715
43716 * kern/misc.c (grub_strstr): New function.
43717 * include/grub/misc.h (grub_strstr): New prototype.
43718
050548d0 437192006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43720
43721 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43722
da849d2d 437232006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43724
43725 * kern/misc.c (grub_strtoull): Guess the base only if not
43726 specified.
43727
97b2f2ff 437282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43729
43730 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43731 PowerMac support.
43732
97b2f2ff 437332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43734
43735 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43736
43737 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43738 Remove `flags' argument. All callers changed.
43739 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43740 (IEEE1275_IHANDLE_INVALID): New variable.
43741 (IEEE1275_CELL_INVALID): New variable.
43742 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43743 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43744 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43745 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43746 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43747 codes from Open Firmware. All callers updated.
43748 (grub_ieee1275_next_property): Directly return Open Firmware return
43749 code.
43750 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43751 Standardize error checking from `grub_ieee1275_get_property'.
43752 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43753 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43754
97b2f2ff 437552006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43756
43757 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43758 `instance_to_package_args' to `instance_to_path_args'.
43759
43760 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43761 `grub_ieee1275_chosen'.
43762
43763 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43764 `grub_ieee1275_interpret'.
43765
97b2f2ff 437662006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43767
43768 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43769
97b2f2ff 437702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43771
43772 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43773 (__cmpdi): Likewise.
43774
43775 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43776 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43777 `grub_ssize_t'.
43778
02bb8acc 43779 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43780
43781 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43782 to type `grub_ssize_t'.
43783 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43784
7f9a8531 437852006-09-22 Marco Gerards <marco@gnu.org>
43786
43787 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43788 newlines.
43789
b5ef1102 437902006-09-22 Marco Gerards <marco@gnu.org>
43791
43792 * commands/echo.c: New file.
43793
43794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43795
43796 * conf/common.rmk (echo_mod_SOURCES): New variable.
43797 (echo_mod_CFLAGS): Likewise.
43798 (echo_mod_LDFLAGS): Likewise.
43799
2cff3677 438002006-09-22 Marco Gerards <marco@gnu.org>
43801
43802 * normal/main.c (get_line): Malloc memory instead of using
43803 preallocated memory. Removed the arguments `cmdline' and
43804 `max_len'. Updated all callers.
43805
6ba4688b 438062006-09-22 Marco Gerards <marco@gnu.org>
43807
43808 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43809 (normal_mod_DEPENDENCIES): Likewise.
43810
43811 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43812 (normal_mod_DEPENDENCIES): Likewise.
43813
43814 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43815
e02ac02c 438162006-09-22 Johan Rydberg <jrydberg@gnu.org>
43817
43818 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43819 programs.
43820 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43821 (normal_mod_DEPENDENCIES): Likewise.
43822 * conf/i386-pc.mk: Regenerate.
43823 * conf/i386-efi.mk: Likewise
43824 * conf/common.mk: Likewise.
43825 * conf/powerpc-ieee1275.mk: Likewise.
43826 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43827
8d252e44 438282006-09-22 Robert Millan <rmh@aybabtu.com>
43829
43830 Sync with i386 version.
43831 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43832 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43833
209bf7ac 438342006-09-21 Robert Millan <rmh@aybabtu.com>
43835
43836 Import from GRUB Legacy (lib/device.c):
43837 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43838 (init_device_map) [__linux__]: Add support for I2O devices.
43839
6b146090 438402006-09-14 Marco Gerards <marco@gnu.org>
43841
43842 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43843 `-melf_i386'.
43844
e38600a8 438452006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43846
43847 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43848 /boot/grub/*.lst.
78fa1790 43849
2952da5d 43850 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43851
2952da5d 43852 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43853 before adding it to device.map.
43854
01b82a64 438552006-08-15 Johan Rydberg <jrydberg@gnu.org>
43856
fe6b695a 43857 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43858 compiles a file; using the -MD option.
43859 * conf/common.mk: Regenerate.
43860 * conf/i386-pc.mk: Likewise.
43861 * conf/i386-efi.mk: Likewise.
43862 * conf/powerpc-ieee1275.mk: Likewise.
43863 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43864
1064790d 438652006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43866
43867 Move the prototypes of grub_setjmp and grub_longjmp to
43868 cpu/setjmp.h, so that each architecture may specify different
43869 attributes.
f19dbdb7 43870
1064790d 43871 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43872 (grub_longjmp): Likewise.
43873 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43874 (grub_longjmp): Likewise.
43875 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43876 (grub_longjmp): Likewise.
43877
43878 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43879 [!GRUB_UTIL] (grub_longjmp): Removed.
43880
29dda3ed 438812006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43882
43883 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43884 "color!" method does not return any value.
43885
ad2a06ed 438862006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43887
43888 * include/grub/bitmap.h: New file.
43889
43890 * include/grub/i386/pc/vbeutil.h: Likewise.
43891
43892 * video/bitmap.c: Likewise.
43893
43894 * video/readers/tga.c: Likewise.
43895
43896 * video/i386/pc/vbeutil.c: Likewise.
43897
43898 * commands/videotest.c: Code cleanup and updated to reflect to new
43899 video API.
43900
43901 * term/gfxterm.c: Likewise.
43902
43903 * video/video.c: Likewise.
43904
43905 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43906 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43907 (bitmap_mod_SOURCES): New entry.
43908 (bitmap_mod_CFLAGS): Likewise.
43909 (bitmap_mod_LDFLAGS): Likewise.
43910 (tga_mod_SOURCES): Likewise.
43911 (tga_mod_CFLAGS): Likewise.
43912 (tga_mod_LDFLAGS): Likewise.
43913
43914 * include/grub/video.h (grub_video_blit_operators): New enum type.
43915 (grub_video_render_target): Changed as forward declaration and moved
43916 actual definition to be video driver specific.
43917 (grub_video_adapter.blit_bitmap): Added blitting operator.
43918 (grub_video_adapter.blit_render_target): Likewise.
43919 (grub_video_blit_bitmap): Likewise.
43920 (grub_video_blit_render_target): Likewise.
43921
43922 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43923 driver specific render target definition.
43924 (grub_video_vbe_map_rgba): Added driver internal helper.
43925 (grub_video_vbe_unmap_color): Updated to use
43926 grub_video_i386_vbeblit_info.
43927 (grub_video_vbe_get_video_ptr): Likewise.
43928
43929 * include/grub/i386/pc/vbeblit.h
43930 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43931 grub_video_i386_vbeblit_info.
43932 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43933 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43934 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43935 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43936 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43937 (grub_video_i386_vbeblit_index_index): Likewise.
43938 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43939 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43940 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43941 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43942 operator.
43943 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43944 operator.
43945
43946 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43947 include/grub/i386/pc/vbeblit.h.
43948
43949 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43950 Updated to use grub_video_i386_vbeblit_info.
43951 (grub_video_i386_vbefill_R8G8B8): Likewise.
43952 (grub_video_i386_vbefill_index): Likewise.
43953 (grub_video_i386_vbefill): Added generic filler.
43954
43955 * video/i386/pc/vbefill.c: Updated to reflect changes on
43956 include/grub/i386/pc/vbefill.h.
43957
43958 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43959 grub_video_i386_vbeblit_info.
43960 (grub_video_vbe_unmap_color): Likewise.
43961 (grub_video_vbe_blit_glyph): Likewise.
43962 (grub_video_vbe_scroll): Likewise.
43963 (grub_video_vbe_draw_pixel): Removed function.
43964 (grub_video_vbe_get_pixel): Likewise.
43965 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43966 updated code to use it.
43967 (common_blitter): Added common blitter for render target and bitmap.
43968 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43969 (grub_video_vbe_blit_render_target): Likewise.
43970
bc8c036d 439712006-07-30 Johan Rydberg <jrydberg@gnu.org>
43972
43973 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43974 is in text mode if there is no console control protocol instance
43975 available.
43976
684a8eff 439772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43978
43979 * include/grub/video.h: Code cleanup.
43980
43981 * include/grub/i386/pc/vbe.h: Likewise.
43982
43983 * video/i386/pc/vbe.c: Likewise.
43984
43985 * video/i386/pc/vbeblit.c: Likewise.
43986
43987 * video/i386/pc/vbefill.c: Likewise.
43988
43989 * video/video.c: Likewise. Also added more comments.
43990
5915059b 439912006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43992
43993 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43994 (struct grub_biosdisk_dap): Likewise.
43995
43996 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43997 linkage settings for all functions.
43998
90ce5d56 439992006-07-12 Marco Gerards <marco@gnu.org>
44000
44001 * configure.ac (--enable-mm-debug): Fix typo.
44002
44003 * genkernsyms.sh.in: Use proper quoting for `CC'.
44004
43e7f879 440052006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44006
44007 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44008 (normal_mod_ASFLAGS): Remove "-m32".
44009
4889bdec 440102006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44011
44012 * util/misc.c: Include config.h.
44013 [!HAVE_MEMALIGN]: Do not include malloc.h.
44014 (grub_memalign): Use posix_memalign, if present. Then, use
44015 memalign, if present. Otherwise, emit an error.
44016
44017 * util/grub-emu.c: Do not include malloc.h.
44018
44019 * include/grub/util/misc.h: Include unistd.h. This is required for
44020 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44021 D. Eades III <hde@foobar-qux.org>.
44022
44023 * configure.ac (AC_GNU_SOURCE): Added.
44024 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44025 type.
44026
fd39d4da 440272006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44028
44029 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44030 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44031
b786f3b5 440322006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44033
44034 * include/grub/types.h (grub_host_addr_t): Rename to
44035 grub_target_addr_t.
44036 (grub_host_off_t): Rename to grub_target_off_t.
44037 (grub_host_size_t): Rename to grub_target_size_t.
44038 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44039 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44040
44041 * include/grub/kernel.h (struct grub_module_header): Change type
44042 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44043 (grub_module_info): Likewise.
f19dbdb7 44044
051988bb 440452006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44046
44047 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44048 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44049 Velazquez <jesus.velazquez@gmail.com>.
44050
deae281b 440512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44052
44053 Count partitions from 1 instead of 0 in the string representation
44054 of partitions. Still use 0-based internally.
f19dbdb7 44055
deae281b 44056 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44057 (sun_partition_map_iterate): Use grub_partition_t instead of
44058 struct grub_partition *. Cast DESC->START_CYLINDER to
44059 grub_uint64_t after converting the endian.
44060 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44061 (sun_partition_map_get_name): Add 1 to P->INDEX.
44062
44063 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44064 PCDATA->DOS_PART.
44065 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44066
44067 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44068 zero instead of one.
44069 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44070 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44071
44072 * partmap/apple.c (apple_partition_map_iterate): Change the type
44073 of POS to unsigned.
44074 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44075 (apple_partition_map_get_name): Add 1 into P->INDEX.
44076
44077 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44078 of POS to unsigned.
44079 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44080 calculate the offset of a partition.
44081 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44082 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44083
44084 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44085 SECTOR to grub_disk_addr_t.
44086 (acorn_partition_map_iterate): Likewise.
44087 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44088 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44089 top.
44090 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44091
44092 * kern/i386/pc/init.c (make_install_device): Add 1 into
44093 GRUB_INSTALL_DOS_PART.
44094
44095 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44096 conditional.
44097
524a1e6a 440982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44099
44100 Clean up the code to support 64-bit addressing in disks and
44101 files. This change is not enough for filesystems yet.
f19dbdb7 44102
524a1e6a 44103 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44104 type of "start" to grub_uint64_t.
44105 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44106 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44107 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44108 convert addresses.
44109
44110 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44111 to grub_disk_addr_t.
44112
44113 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44114 string.
44115
44116 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44117
44118 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44119 to char *.
44120
44121 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44122
44123 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44124
44125 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44126
44127 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44128 to grub_off_t, to detect an error from grub_file_seek.
44129 (grub_multiboot_load_elf32): Likewise.
44130
44131 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44132 maximum unsigned long value when an overflow is detected.
44133 (grub_strtoull): New function.
44134 (grub_divmod64): Likewise.
44135 (grub_lltoa): use grub_divmod64.
44136
44137 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44138 grub_disk_addr_t.
44139 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44140 the pointer to next character. Use grub_strtoull instead of
44141 grub_strtoul.
44142 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
44143 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
44144 respectively.
44145
fe6b695a 44146 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 44147 return value is signed.
44148 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
44149 test if OFFSET is less than zero, as OFFSET is unsigned now.
44150
44151 * kern/disk.c (struct grub_disk_cache): Change the type of
44152 "sector" to grub_disk_addr_t.
44153 (grub_disk_cache_get_index): Change the type of SECTOR to
44154 grub_disk_addr_t. Calculate the hash with SECTOR casted to
44155 unsigned after shifting.
44156 (grub_disk_cache_invalidate): Change the type of SECTOR to
44157 grub_disk_addr_t.
44158 (grub_disk_cache_unlock): Likewise.
44159 (grub_disk_cache_store): Likewise.
44160 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
44161 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
44162 grub_disk_addr_t and grub_uint64_t, respectively.
44163 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
44164 body, as the value of OFFSET is tweaked by
44165 grub_disk_check_range. Change the types of START_SECTOR, LEN and
44166 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
44167 respectively.
44168 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
44169 body, as the value of OFFSET is tweaked by
44170 grub_disk_check_range. Change the types of LEN and N to
44171 grub_size_t.
44172
44173 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
44174 and "saved_offset" to grub_off_t.
44175 (test_header): Cast BUF to char *.
44176 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44177 to char *.
44178 (grub_gzio_read): Change the types of OFFSET and SIZE to
44179 grub_off_t and grub_size_t, respectively.
44180
44181 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44182 Removed.
44183 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44184 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44185 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44186 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44187 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44188
44189 * include/grub/types.h (grub_off_t): Unconditionally set to
44190 grub_uint64_t.
44191 (grub_disk_addr_t): Changed to grub_uint64_t.
44192
44193 * include/grub/partition.h (struct grub_partition): Change the
44194 types of "start", "len" and "offset" to grub_disk_addr_t,
44195 grub_uint64_t and grub_disk_addr_t, respectively.
44196 (grub_partition_get_start): Return grub_disk_addr_t.
44197 (grub_partition_get_len): Return grub_uint64_t.
44198
44199 * include/grub/misc.h (grub_strtoull): New prototype.
44200 (grub_divmod64): Likewise.
44201
44202 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44203 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44204 grub_off_t, respectively.
44205 All callers and references changed.
44206
44207 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44208 grub_size_t in "read".
44209 All callers and references changed.
44210
44211 * include/grub/file.h (struct grub_file): Change the types of
44212 "offset" and "size" to grub_off_t and grub_off_t,
44213 respectively. Change the type of SECTOR to grub_disk_addr_t in
44214 "read_hook".
44215 (grub_file_read): Change the type of LEN to grub_size_t.
44216 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44217 grub_off_t.
44218 (grub_file_size): Return grub_off_t.
44219 (grub_file_tell): Likewise.
44220 All callers and references changed.
44221
44222 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44223 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44224 "write".
44225 (struct grub_disk): Change the type of "total_sectors" to
44226 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44227 "read_hook".
524a1e6a 44228 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44229 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44230 (grub_disk_write): Likewise.
44231 All callers and references changed.
44232
44233 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44234 char * for grub_strncmp to silence gcc.
44235 (grub_iso9660_mount): Likewise.
44236 (grub_iso9660_mount): Likewise.
44237 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44238 return statement.
44239 (grub_iso9660_iterate_dir): Likewise.
44240 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44241
44242 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44243 LEN to grub_disk_addr_t and grub_size_t, respectively.
44244
44245 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44246
44247 * fs/jfs.c (grub_jfs_read_file): Likewise.
44248
44249 * fs/minix.c (grub_jfs_read_file): Likewise.
44250
44251 * fs/sfs.c (grub_jfs_read_file): Likewise.
44252
44253 * fs/ufs.c (grub_jfs_read_file): Likewise.
44254
44255 * fs/xfs.c (grub_jfs_read_file): Likewise.
44256
44257 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44258 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44259 respectively.
44260
44261 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44262 BLKNR to -1 instead of returning GRUB_ERRNO.
44263 (grub_ext2_read_file): Change the types of SECTOR and
44264 LEN to grub_disk_addr_t and grub_size_t, respectively.
44265
44266 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44267 LEN to grub_disk_addr_t and grub_size_t, respectively.
44268
44269 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44270 grub_file_read.
44271
44272 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44273 string. Do not cast SECTOR explicitly.
44274
44275 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44276 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44277 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44278 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44279 over 2TB and LBA mode is not supported, raise an error.
44280 (get_safe_sectors): New function.
44281 (grub_biosdisk_read): Use get_safe_sectors.
44282 (grub_biosdisk_write): Likewise.
44283
44284 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44285 (grub_efidisk_write): Likewise.
44286
44287 * disk/loopback.c (delete_loopback): Cosmetic changes.
44288 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44289 correctly.
44290 (grub_loopback_open): Likewise.
44291 (grub_loopback_read): Likewise. Also, change the type of POS to
44292 grub_off_t, and fix the usage of grub_memset.
44293
44294 * commands/i386/pc/play.c: Include grub/machine/time.h.
44295
44296 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44297 print FILE->SIZE.
44298
44299 * commands/configfile.c: Include grub/env.h.
44300
44301 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44302 GRUB_ERRNO directly instead. Change the type of POS to
44303 grub_off_t. Follow the coding standard.
44304
44305 * commands/blocklist.c: Include grub/partition.h.
44306 (grub_cmd_blocklist): Return an error if the underlying device is
44307 not a disk. Take the starting sector of a partition into account,
44308 if a partition is used.
44309
44310 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44311 a length field.
44312 (lba_mode): Support 64-bit addresses.
44313 (chs_mode): Likewise.
44314 (copy_buffer): Adapted to the new offsets of a length field and a
44315 segment field.
44316 (blocklist_default_start): Allocate 64-bit space.
44317
44318 * boot/i386/pc/boot.S (force_lba): Removed.
44319 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44320 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44321 space.
44322 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44323 is useless.
44324 (lba_mode): Refactored to support a 64-bit address. More size
44325 optimization.
44326 (setup_sectors): Likewise.
44327
53af98ad 443282006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44329
44330 * DISTLIST: Added include/grub/i386/linux.h. Removed
44331 include/grub/i386/pc/linux.h
44332
44333 * configure.ac (AC_INIT): Bumped to 1.94.
44334
44335 * config.guess: Updated from gnulib.
44336 * config.sub: Likewise.
44337 * install-sh: Likewise.
44338 * mkinstalldirs: Likewise.
44339
b4c1940a 443402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44341
44342 * conf/common.rmk (grub_modules_init.lst): Depended on
44343 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44344 MODSRCFILES.
44345
44346 * genmk.rb (PModule::rule): Reverted the previous change.
44347
cfca1cfd 443482006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44349
44350 * conf/common.rmk (grub_modules_init.lst): Depends on
44351 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44352 that the target does not exist before producing.
44353 (grub_modules_init.h): Remove the target before generating.
44354 (grub_emu_init.c): Likewise.
44355
44356 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44357
aa6d7826 443582006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44359
44360 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44361 for the target-specific tests. Make sure that we also have the
44362 up-to-date target variables for those tests.
44363
26c607b9 443642006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44365
44366 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44367 (PModule::rule): Likewise.
44368
0162321a 443692006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44370
44371 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44372 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44373 target-specific flags should be prefixed.
44374 (PModule::rule): Likewise.
44375
6c826348 443762006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44377
44378 * configure.ac (CMP): Check if cmp is available explicitly.
44379
b977bf01 443802006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44381
44382 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44383 (target_cpu): New variable.
44384 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44385
b977bf01 44386 * util/i386/pc/grub-install.in (host_cpu): Removed.
44387 (target_cpu): New variable.
44388 (pkglibdir): Use target_cpu instead of host_cpu.
44389
44390 * util/genmoddep.c: Removed.
f19dbdb7 44391
b977bf01 44392 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44393 instead of GRUB_HOST_SIZEOF_VOID_P.
44394 * kern/dl.c: Likewise.
44395
44396 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44397 ...
44398 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44399 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44400 (GRUB_TARGET_SIZEOF_LONG): ... this.
44401 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44402 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44403 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44404 to ...
44405 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44406 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44407 (GRUB_TARGET_SIZEOF_LONG): ... this.
44408 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44409 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44410 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44411 to ...
44412 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44413 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44414 (GRUB_TARGET_SIZEOF_LONG): ... this.
44415 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44416 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44417
44418 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44419 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44420 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44421 instead of GRUB_HOST_SIZEOF_LONG.
44422 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44423 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44424 GRUB_CPU_WORDS_BIGENDIAN.
44425 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44426 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44427 grub_host_ssize_t.
44428
44429 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44430 (genmoddep_SOURCES): Likewise.
44431 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44432 (genmoddep_SOURCES): Likewise.
44433 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44434 (genmoddep_SOURCES): Likewise.
44435 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44436 Likewise.
44437 (genmoddep_SOURCES): Likewise.
44438
44439 * genmoddep.awk: New file.
44440
44441 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44442 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44443 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44444 (PModule::rule): Likewise.
44445 (Program::rule): Likewise.
44446 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44447 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44448 respectively.
44449
44450 * configure.ac: Rewritten intensively to use host and target
44451 instead of build and host, respectively.
44452
44453 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44454 (host_cpu): Removed.
44455 (target_cpu): New variable.
44456 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44457 (BUILD_CC): Removed.
44458 (BUILD_CFLAGS): Likewise.
44459 (BUILD_CPPFLAGS): Likewise.
44460 (TARGET_CC): New variable.
44461 (TARGET_CFLAGS): Likewise.
44462 (TARGET_CPPFLAGS): Likewise.
44463 (TARGET_LDFLAGS): Likewise.
44464 (AWK): Likewise.
44465 (include): Use target_cpu instead of host_cpu.
44466 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44467
b977bf01 44468 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44469
f09771a1 444702006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44471
44472 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44473 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44474 field 'false' to 'exec_on_false'.
44475 (grub_script_create_cmdif): Renamed argument names to reflect above
44476 changes.
44477
44478 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44479
44480 * normal/script.c (grub_script_create_cmdif): Likewise.
44481
118f4fb3 444822006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44483
44484 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44485 top.
44486 (grub_hfsplus_btree_recptr): Likewise.
44487 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44488 FILEBLOCK both to pass a block number and store next block
44489 number.
44490 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44491 overflow file correctly. Specify errors appropriately, because
44492 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44493 grub_hfsplus_btree_recptr to get the pointer to a found key.
44494 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44495 is found.
44496
44497 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44498 linux.mod.
44499 (_linux_mod_SOURCES): New variable.
44500 (_linux_mod_CFLAGS): Likewise.
44501 (_linux_mod_LDFLAGS): Likewise.
44502 (linux_mod_SOURCES): Likewise.
44503 (linux_mod_CFLAGS): Likewise.
44504 (linux_mod_LDFLAGS): Likewise.
44505
44506 * DISTLIST: Added loader/i386/efi/linux.c,
44507 loader/i386/efi/linux_normal.c and
44508 include/grub/i386/efi/loader.h.
44509
44510 * loader/i386/efi/linux.c: New file.
44511 * loader/i386/efi/linux_normal.c: Likewise.
44512 * include/grub/i386/efi/loader.h: Likewise.
44513
89a7d726 445142006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44515
44516 * commands/blocklist.c: New file.
44517
44518 * DISTLIST: Added commands/blocklist.c.
44519
44520 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44521 color for the background, and a darker color for the foreground.
89a7d726 44522 (grub_console_checkkey): Return READ_KEY.
44523 (grub_console_cls): Set the background to
44524 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44525
44526 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44527
44528 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44529 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44530
44531 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44532 prototype.
44533
44534 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44535 BG. The spec is wrong again.
44536
44537 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44538 prototype.
44539 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44540
44541 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44542 commands/blocklist.c.
44543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44544
89a7d726 44545 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44546 (blocklist_mod_SOURCES): New variable.
44547 (blocklist_mod_CFLAGS): Likewise.
44548 (blocklist_mod_LDFLAGS): Likewise.
44549
75c8f258 445502006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44551
44552 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44553 duplication.
44554 (lba_mode): Use %eax more intensively to reduce the code size.
44555
da2eb181 445562006-05-20 Marco Gerards <marco@gnu.org>
44557
44558 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44559
44560 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44561 for `menuentry'.
44562 (script): Accept leading newlines.
44563 (newlines): New rule to describe 0 or more newlines.
44564 (commands): Accept `command' with trailing newline. Fixed the
44565 order in which arguments were passed to `grub_script_add_cmd'.
44566 Accept commands separated by newlines.
44567 (function): Changed to accept newlines.
44568 (menuentry) Rewritten.
44569
44570 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44571 front of the list, instead of to the end.
44572
577b4050 445732006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44574
44575 * util/i386/pc/grub-install.in (bindir): New variable.
44576 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44577 Shaver <lbgwjl@gmail.com>.
44578
0d6e1189 445792006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44580
44581 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44582 grub/machine/linux.h
44583 * loader/i386/pc/linux.c: Likewise.
44584
44585 * include/grub/i386/pc/linux.h: Moved to ...
44586 * include/grub/i386/linux.h: ... here.
44587
44588 * include/grub/i386/linux.h (struct linux_kernel_params): New
44589 struct.
f19dbdb7 44590
31b86e9f 445912006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44592
44593 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44594 checking.
44595 (grub_video_vbe_blit_glyph): Likewise.
44596 (grub_video_vbe_blit_bitmap): Likewise.
44597 (grub_video_vbe_blit_render_target): Likewise.
44598
83b984de 445992006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44600
44601 * configure.ac (--with-platform): Properly quote the square
44602 brackets.
44603
5f0413bd 446042006-05-08 Marco Gerards <marco@gnu.org>
44605
44606 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44607 this...
44608 (kernel_elf_HEADERS): ...to this. Updated all users.
44609 (grubof_symlist.c): Renamed from this...
44610 (kernel_elf_symlist.c): ...to this. Updated all users.
44611 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44612 (grubof_SOURCES): Renamed from this...
44613 (kernel_elf_SOURCES): ...to this.
44614 (grubof_HEADERS): Renamed from this...
44615 (kernel_elf_HEADERS): ...to this.
44616 (grubof_CFLAGS): Renamed from this...
44617 (kernel_elf_CFLAGS): ...to this.
44618 (grubof_ASFLAGS): Renamed from this...
44619 (kernel_elf_ASFLAGS): ...to this.
44620 (grubof_LDFLAGS): Renamed from this...
44621 (kernel_elf_LDFLAGS): ...to this.
44622
44623 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44624 this...
44625 (kernel_elf_HEADERS): ...to this. Updated all users.
44626 (grubof_symlist.c): Renamed from this...
44627 (kernel_elf_symlist.c): ...to this. Updated all users.
44628 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44629 (grubof_SOURCES): Renamed from this...
44630 (kernel_elf_SOURCES): ...to this.
44631 (grubof_HEADERS): Renamed from this...
44632 (kernel_elf_HEADERS): ...to this.
44633 (grubof_CFLAGS): Renamed from this...
44634 (kernel_elf_CFLAGS): ...to this.
44635 (grubof_ASFLAGS): Renamed from this...
44636 (kernel_elf_ASFLAGS): ...to this.
44637 (grubof_LDFLAGS): Renamed from this...
44638 (kernel_elf_LDFLAGS): ...to this.
44639
44640 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44641 `kernel.elf' instead of `grubof'.
44642
05568c2e 446432006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44644
44645 Add --with-platform to configure. Use pkglibdir instead of
44646 pkgdatadir. This is reported by Roger Leigh.
44647
44648 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44649 (host_vendor): Likewise.
44650 (host_os): Likewise.
44651 (pkgdatadir): Likewise.
44652 (platform): New variable.
44653 (pkglibdir): Likewise.
44654 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44655
05568c2e 44656 * util/i386/pc/grub-install.in (datadir): Removed.
44657 (host_vendor): Likewise.
44658 (host_os): Likewise.
44659 (pkgdatadir): Likewise.
44660 (platform): New variable.
44661 (pkglibdir): Likewise.
44662 Use PKGLIBDIR instead of PKGDATADIR.
44663
44664 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44665 instead of GRUB_DATADIR.
44666 (main): Likewise.
44667 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44668 (main): Likewise.
44669 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44670 (main): Likewise.
44671
44672 * configure.ac (--with-platform): New option.
44673 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44674
44675 * Makefile.in: Include a makefile based on PLATFORM instead of
44676 HOST_VENDOR.
44677 (pkgdatadir): Not appended by the machine type.
44678 (pkglibdir): Appended by the machine type.
44679 (host_vendor): Removed.
44680 (platform): New variable.
44681 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44682 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44683 (uninstall): Likewise.
44684
4e93851c 446852006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44686
44687 Use the environment context in the menu. Remove the commands
44688 "default" and "timeout", and use variables instead.
f19dbdb7 44689
4e93851c 44690 * normal/menu.c: Include grub/env.h.
44691 (print_entry): Cast TITLE to silence gcc.
44692 (get_timeout): New function.
44693 (set_timeout): Likewise.
44694 (get_entry_number): Likewise.
44695 (run_menu): Use a default entry, a fallback entry and a timeout
44696 in the environment variables "default", "fallback" and
44697 "timeout". Also, tweak the default entry if it is not within the
44698 current menu entries.
44699 (grub_menu_run): Use a fallback entry in the environment variable
44700 "fallback".
44701
44702 * normal/main.c (read_config_file): Do not initialize
44703 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44704 NEWMENU->TIMEOUT.
44705 (grub_normal_execute): Use a data slot to store the menu.
44706
44707 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44708 fallback_entry and timeout.
44709 (struct grub_menu_list): Removed.
44710 (grub_menu_list_t): Likewise.
44711 (struct grub_context): Likewise.
44712 (grub_context_t): Likewise.
44713 (grub_context_get): Likewise.
44714 (grub_context_get_current_menu): Likewise.
44715 (grub_context_push_menu): Likewise.
44716 (grub_context_pop_menu): Likewise.
44717 (grub_default_init): Likewise.
44718 (grub_default_fini): Likewise.
44719 (grub_timeout_init): Likewise.
44720 (grub_timeout_fini): Likewise.
44721
44722 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44723 and timeout.mod.
44724 (normal_mod_SOURCES): Removed normal/context.c.
44725
44726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44727 commands/default.c, commands/timeout.c and normal/context.c.
44728 (normal_mod_SOURCES): Removed normal/context.c.
44729
44730 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44731 commands/timeout.c and normal/context.c.
44732 (normal_mod_SOURCES): Removed normal/context.c.
44733
44734 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44735 commands/default.c, commands/timeout.c and normal/context.c.
44736 (normal_mod_SOURCES): Removed normal/context.c.
44737
44738 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44739 timeout.mod.
44740 (default_mod_SOURCES): Removed.
44741 (default_mod_CFLAGS): Likewise.
44742 (default_mod_LDFLAGS): Likewise.
44743 (timeout_mod_SOURCES): Removed.
44744 (timeout_mod_CFLAGS): Likewise.
44745 (timeout_mod_LDFLAGS): Likewise.
44746
44747 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44748 normal/context.c.
44749
44750 * commands/default.c: Removed.
44751 * commands/timeout.c: Likewise.
44752 * normal/context.c: Likewise.
44753
1eb9cc1d 447542006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44755
44756 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44757
385bd9c1 447582006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44759
44760 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44761 "next" to "prev" for readability.
44762 (struct grub_env_sorted_var): New struct.
44763 (grub_env_context): Renamed to ...
44764 (initial_context): ... this.
44765 (grub_env_var_context): Renamed to ...
44766 (current_context): ... this.
44767 (grub_env_find): Look only at CURRENT_CONTEXT.
44768 (grub_env_context_open): Rewritten to copy exported variables from
44769 previous context.
44770 (grub_env_context_close): Rewritten according to the new
44771 scheme. Also, add an assertion to prevent the initial context from
44772 removed.
44773 (grub_env_insert): Removed the code for the sorted list.
44774 (grub_env_remove): Likewise.
44775 (grub_env_export): Simply mark the variable with
44776 GRUB_ENV_VAR_GLOBAL.
44777 (grub_env_set): A cosmetic change for naming consistency.
44778 (grub_env_get): Likewise.
44779 (grub_env_unset): Likewise.
44780 (grub_env_iterate): Rewritten to sort variables within this
44781 function.
44782 (grub_register_variable_hook): Fixed for naming consistency. Call
44783 grub_env_find again, only if NAME is not found at the first time.
44784 (mangle_data_slot_name): New function.
44785 (grub_env_set_data_slot): Likewise.
44786 (grub_env_get_data_slot): Likewise.
44787 (grub_env_unset_data_slot): Likewise.
44788
44789 * include/grub/env.h (grub_env_var_type): New enum.
44790 (GRUB_ENV_VAR_LOCAL): New constant.
44791 (GRUB_ENV_VAR_GLOBAL): Likewise.
44792 (GRUB_ENV_VAR_DATA): Likewise.
44793 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44794 "type".
44795 (grub_env_set): Replace VAR with NAME for consistency.
44796 (grub_register_variable_hook): Likewise.
44797 (grub_env_export): Specify the name of the argument.
44798 (grub_env_set_data_slot): New prototype.
44799 (grub_env_get_data_slot): Likewise.
44800 (grub_env_unset_data_slot): Likewise.
44801
7f362539 448022006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44803
44804 Extend the loader so that GRUB can accept a loader which comes
44805 back to GRUB when a loaded image exits. Also, this change adds
44806 support for a chainloader on EFI.
f19dbdb7 44807
7f362539 44808 * term/efi/console.c: Include grub/misc.h.
44809 (grub_console_checkkey): Display a scan code on the top for
44810 debugging. This will be removed once the EFI port gets stable.
44811 Correct the scan code mapping.
44812
44813 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44814 allocate memory from larger regions, in order to reduce the number
44815 of allocated regions. Otherwise, the MacOSX loader panics.
44816 (filter_memory_map): Avoid less than 1MB for compatibility with
44817 other loaders.
44818 (add_memory_regions): Allocate from the tail of a region, if
44819 possible, to avoid allocating a region near to 1MB, for the MacOSX
44820 loader.
44821
44822 * kern/efi/init.c (grub_efi_set_prefix): Specify
44823 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44824
44825 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44826 argument IMAGE_HANDLE and specify it to get a loaded image.
44827 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44828 grub_efi_get_loaded_image.
fe6b695a 44829 (grub_efi_get_filename): Divide the length by the size of
7f362539 44830 grub_efi_char16_t.
44831 (grub_efi_get_device_path): New function.
44832 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44833 the length by the size of grub_efi_char16_t for a file path device
44834 path node.
44835
44836 * kern/loader.c (grub_loader_noreturn): New variable.
44837 (grub_loader_set): Accept a new argument NORETURN. Set
44838 GRUB_LOADER_NORETURN to NORETURN.
44839 All callers changed.
44840 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44841 grub_machine_fini.
44842
44843 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44844 prototype.
44845 (grub_efi_get_loaded_image): Take an argument to specify an image
44846 handle.
44847
44848 * include/grub/loader.h (grub_loader_set): Added one more argument
44849 NORETURN.
44850
44851 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44852 instead of grub_efi_open_protocol.
44853 (grub_efidisk_get_device_name): Likewise.
44854 (grub_efidisk_close): Print a newline.
44855 (grub_efidisk_get_device_handle): Fixed to use
44856 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44857 GRUB_EFI_DEVICE_PATH_TYPE.
44858
44859 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44860 * kern/efi/efi.c (device_path_guid): ... here.
44861
44862 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44863 chain.mod.
44864 (kernel_mod_HEADERS): Added efi/disk.h.
44865 (_chain_mod_SOURCES): New variable.
44866 (_chain_mod_CFLAGS): Likewise.
44867 (_chain_mod_LDFLAGS): Likewise.
44868 (chain_mod_SOURCES): Likewise.
44869 (chain_mod_CFLAGS): Likewise.
44870 (chain_mod_LDFLAGS): Likewise.
44871
44872 * DISTLIST: Added include/grub/efi/chainloader.h,
44873 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44874
44875 * include/grub/efi/chainloader.h: New file.
44876 * loader/efi/chainloader.c: Likewise.
44877 * loader/efi/chainloader_normal.c: Likewise.
44878
c0111d6e 448792006-04-30 Marco Gerards <marco@gnu.org>
44880
44881 * commands/configfile.c (grub_cmd_source): New function.
44882 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44883 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44884
df5341da 448852006-04-30 Marco Gerards <marco@gnu.org>
44886
44887 * normal/execute.c (grub_script_execute_cmd): Change the return
44888 type to `grub_err_t'. Correctly return the error.
44889 (grub_script_execute_cmdline): In case a command line is not a
44890 command or a function, try to interpret it as an assignment.
44891
f85934bd 448922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44893
44894 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44895 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44896 skip a node whose name is obviously invalid as UTF-16,
44897 i.e. contains a NUL character. Stop the iteration when the last
44898 directory entry is found. Instead of using the return value of
44899 grub_hfsplus_btree_iterate_node, store the value in RET and use
44900 it, because the iterator can be stopped by the last directory
44901 entry.
44902
8f8a2cf8 449032006-04-30 Marco Gerards <marco@gnu.org>
44904
44905 * include/grub/env.h (grub_env_export): New prototype. Reported
44906 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44907
a27e84ce 449082006-04-30 Marco Gerards <marco@gnu.org>
44909
44910 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44911 size of the extents in a catalog file record.
44912
eaef0553 449132006-04-29 Marco Gerards <marco@gnu.org>
44914
44915 * commands/configfile.c (grub_cmd_configfile): Execute the
44916 configfile within its own context.
44917
44918 * include/grub/env.h (grub_env_context_open): New prototype.
44919 (grub_env_context_close): Likewise.
44920
44921 * kern/env.c (grub_env): Removed.
44922 (grub_env_sorted): Likewise.
44923 (grub_env_context): New variable.
44924 (grub_env_var_context): Likewise.
44925 (grub_env_find): Search both the active context and the global
44926 context.
44927 (grub_env_context_open): New function.
44928 (grub_env_context_close): Likewise.
44929 (grub_env_insert): Likewise.
44930 (grub_env_remove): Likewise.
44931 (grub_env_export): Likewise.
44932 (grub_env_set): Changed to use helper functions to avoid code
44933 duplication.
44934 (grub_env_iterate): Rewritten so both the current context and the
44935 global context are being used.
44936
44937 * normal/command.c (export_command): New function.
44938 (grub_command_init): Register the `export' function.
44939
7b455f4d 449402006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44941
44942 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44943 explicitly to suppress gcc's warnings.
44944 * fs/fat.c (grub_fat_find_dir): Likewise.
44945 (grub_fat_label): Likewise.
44946 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44947 (grub_xfs_mount): Likewise.
44948 (grub_xfs_label): Likewise.
44949 * fs/affs.c (grub_affs_mount): Likewise.
44950 (grub_affs_label): Likewise.
44951 (grub_affs_iterate_dir): Likewise.
44952 * fs/sfs.c (grub_sfs_mount): Likewise.
44953 (grub_sfs_iterate_dir): Likewise.
44954 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44955 * fs/hfs.c (grub_hfs_mount): Likewise.
44956 (grub_hfs_cmp_catkeys): Likewise.
44957 (grub_hfs_find_dir): Likewise.
44958 (grub_hfs_dir): Likewise.
44959 (grub_hfs_label): Likewise.
44960 * fs/jfs.c (grub_jfs_mount): Likewise.
44961 (grub_jfs_opendir): Likewise.
44962 (grub_jfs_getent): Likewise.
44963 (grub_jfs_lookup_symlink): Likewise.
44964 (grub_jfs_label): Likewise.
44965 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44966 (grub_hfsplus_iterate_dir): Likewise.
44967 (grub_hfsplus_btree_iterate_node): Made static.
44968
44969 * util/grub-emu.c (prefix): New variable.
44970 (grub_machine_set_prefix): New function.
44971 (main): Do not set the environment variable "prefix" here. Only
44972 set PREFIX, which is used later by grub_machine_set_prefix.
44973
44974 * include/grub/video.h: Do not include grub/symbol.h.
44975 (grub_video_register): Not exported. This symbol is not defined in
44976 the kernel.
44977 (grub_video_unregister): Likewise.
44978 (grub_video_iterate): Likewise.
44979 (grub_video_setup): Likewise.
44980 (grub_video_restore): Likewise.
44981 (grub_video_get_info): Likewise.
44982 (grub_video_get_blit_format): Likewise.
44983 (grub_video_set_palette): Likewise.
44984 (grub_video_get_palette): Likewise.
44985 (grub_video_set_viewport): Likewise.
44986 (grub_video_get_viewport): Likewise.
44987 (grub_video_map_color): Likewise.
44988 (grub_video_map_rgb): Likewise.
44989 (grub_video_map_rgba): Likewise.
44990 (grub_video_fill_rect): Likewise.
44991 (grub_video_blit_glyph): Likewise.
44992 (grub_video_blit_bitmap): Likewise.
44993 (grub_video_blit_render_target): Likewise.
44994 (grub_video_scroll): Likewise.
44995 (grub_video_swap_buffers): Likewise.
44996 (grub_video_create_render_target): Likewise.
44997 (grub_video_delete_render_target): Likewise.
44998 (grub_video_set_active_render_target): Likewise.
44999
45000 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45001 Undefined.
45002 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45003
45004 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45005 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45006 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45007 instead of $(srcdir)/genkernsyms.sh.
45008
45009 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45010 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45011 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45012 instead of $(srcdir)/genkernsyms.sh.
45013
45014 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45015 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45016 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45017 instead of $(srcdir)/genkernsyms.sh.
45018
45019 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45020 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45021 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45022 instead of $(srcdir)/genkernsyms.sh.
45023
45024 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45025 genkernsyms.sh.
45026
45027 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45028 genkernsyms.sh.
45029 (gensymlist.sh): New target.
45030 (genkernsyms.sh): Likewise.
45031
45032 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45033 genkernsyms.sh.in and gensymlist.sh.in.
45034
45035 * genkernsyms.sh: Removed.
45036 * gensymlist.sh: Likewise.
f19dbdb7 45037
7b455f4d 45038 * genkernsyms.sh.in: New file.
45039 * gensymlist.sh.in: Likewise.
45040
1885bb27 450412006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45042
45043 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45044 clobber "prefix", since we may have already set it manually.
45045
71538dff 450462006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45047
45048 * kern/misc.c (abort): New alias for grub_abort.
45049
2965c7cc 450502006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45051
45052 A new machine-specific function "grub_machine_set_prefix" is
45053 defined. This is called after loading modules, so that a prefix
45054 initialization can use modules. Also, this change adds an
45055 intensive debugging feature for the memory manager via the
45056 configure option "--enable-mm-debug".
f19dbdb7 45057
2965c7cc 45058 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45059 PART.LEN.
45060
45061 * kern/sparc64/ieee1275/init.c (abort): Removed.
45062 (grub_stop): Likewise.
45063 (grub_exit): New function.
45064 (grub_set_prefix): Renamed to ...
45065 (grub_machine_set_prefix): ... this.
45066 (grub_machine_init): Do not call grub_set_prefix.
45067
45068 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45069 (grub_machine_set_prefix): ... this.
45070 (grub_machine_init): Do not call grub_set_prefix.
45071
45072 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45073 (grub_machine_init): Do not set the prefix here.
45074
45075 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45076
45077 * kern/efi/init.c: Include grub/mm.h.
45078 (grub_efi_set_prefix): New function.
45079
45080 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45081 (grub_efi_get_filename): New function.
45082 (grub_print_device_path): Renamed to ...
45083 (grub_efi_print_device_path): ... this.
45084
45085 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45086 [MM_DEBUG] (grub_realloc): Likewise.
45087 [MM_DEBUG] (grub_free): Likewise.
45088 [MM_DEBUG] (grub_memalign): Likewise.
45089 [MM_DEBUG] (grub_mm_debug): New variable.
45090 [MM_DEBUG] (grub_debug_malloc): New function.
45091 [MM_DEBUG] (grub_debug_free): New function.
45092 [MM_DEBUG] (grub_debug_realloc): New function.
45093 [MM_DEBUG] (grub_debug_memalign): New function.
45094
45095 * kern/misc.c (grub_abort): Print a newline to distinguish
45096 the message.
45097
45098 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45099 grub_set_root_dev after loading modules. This is necessary when
45100 setting a prefix depends on modules.
45101
45102 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45103 (grub_efi_print_device_path): ... this.
45104 (grub_efi_get_filename): New prototype.
45105 (grub_efi_set_prefix): Likewise.
45106
45107 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45108 and grub/disk.h.
45109 (grub_efidisk_get_device_handle): New prototype.
45110 (grub_efidisk_get_device_name): Likewise.
45111
45112 * include/grub/mm.h: Include config.h.
45113 (MM_DEBUG): Removed.
45114 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45115 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45116 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45117 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45118 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45119 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45120 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45121 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45122 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45123
45124 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45125
45126 * disk/efi/efidisk.c: Include grub/partition.h.
45127 (iterate_child_devices): New function.
45128 (add_device): First, compare only last device path nodes, so that
45129 devices are sorted by the types.
45130 (grub_efidisk_get_device_handle): New function.
45131 (grub_efidisk_get_device_name): Likewise.
45132
45133 * configure.ac (--enable-mm-debug): New option to enable the
45134 memory manager debugging feature. This makes the binary much
45135 bigger, so is disabled by default.
45136
9cacaa17 451372006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45138
45139 Use grub_abort instead of grub_stop, and grub_exit must be
45140 define in each architecture now. Also, this change adds support
45141 for EFI disks.
f19dbdb7 45142
9cacaa17 45143 * util/i386/pc/grub-probefs.c: Include grub/term.h.
45144 (grub_getkey): New function.
45145 (grub_term_get_current): Likewise.
45146
45147 * util/i386/pc/grub-setup.c: Include grub/term.h.
45148 (grub_getkey): New function.
45149 (grub_term_get_current): Likewise.
45150
45151 * util/misc.c (grub_stop): Renamed to ...
45152 (grub_exit): ... this.
45153
45154 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
45155 (grub_exit): ... this.
45156 (grub_machine_init): Use grub_abort instead of abort.
45157 (grub_stop): Removed.
45158
45159 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
45160 abort.
45161
45162 * kern/i386/pc/startup.S (grub_exit): New function.
45163 (cold_reboot): New label.
45164
45165 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
45166 (grub_efi_init): Call grub_efidisk_init.
45167 (grub_efi_fini): Call grub_efidisk_fini.
45168
45169 * kern/efi/efi.c: Include grub/mm.h.
45170 (grub_efi_console_control_guid): Renamed to ...
45171 (console_control_guid): ... this.
45172 (grub_efi_loaded_image_guid): Renamed to ...
45173 (loaded_image_guid): ... this.
45174 (grub_efi_locate_handle): New function.
45175 (grub_efi_open_protocol): Likewise.
45176 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45177 GRUB_EFI_CONSOLE_CONTROL_GUID.
45178 (grub_efi_exit): Removed.
45179 (grub_stop): Likewise.
45180 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45181 (grub_exit): New function.
45182 (grub_print_device_path): Likewise.
45183
45184 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45185 (grub_enter_rescue_mode): Register "exit".
45186
45187 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45188 (grub_abort): New function.
45189
45190 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45191
45192 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45193
45194 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45195
45196 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45197 (grub_print_device_path): New prototype.
45198 (grub_efi_locate_handle): Likewise.
45199 (grub_efi_open_protocol): Likewise.
45200
45201 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45202 * disk/efi/efidisk.c: Likewise.
45203
45204 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45205
45206 * include/grub/efi/console_control.h
45207 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45208
45209 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45210 last 8 bytes as an array.
45211 (GRUB_EFI_DISK_IO_GUID): New macro.
45212 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45213 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45214 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45215 grub_uint8_t.
45216 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45217 (struct grub_efi_device_path): Rename the member "sub_type" to
45218 "subtype".
45219 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45220 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45221 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45222 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45223 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45224 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45225 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45226 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45227 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45228 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45229 (struct grub_efi_pci_device_path): New structure.
45230 (grub_efi_pci_device_path_t): New type.
45231 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45232 (struct grub_efi_pccard_device_path): New structure.
45233 (grub_efi_pccard_device_path_t): New type.
45234 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45235 (struct grub_efi_memory_mapped_device_path): New structure.
45236 (grub_efi_memory_mapped_device_path_t): New type.
45237 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45238 (struct grub_efi_vendor_device_path): New structure.
45239 (grub_efi_vendor_device_path_t): New type.
45240 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45241 (struct grub_efi_controller_device_path): New structure.
45242 (grub_efi_controller_device_path_t): New type.
45243 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45244 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45245 (struct grub_efi_acpi_device_path): New structure.
45246 (grub_efi_acpi_device_path_t): New type.
45247 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45248 (struct grub_efi_expanded_acpi_device_path): New structure.
45249 (grub_efi_expanded_acpi_device_path_t): New type.
45250 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45251 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45252 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45253 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45254 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45255 (struct grub_efi_atapi_device_path): New structure.
45256 (grub_efi_atapi_device_path_t): New type.
45257 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45258 (struct grub_efi_fibre_channel_device_path): New structure.
45259 (grub_efi_fibre_channel_device_path_t): New type.
45260 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45261 (struct grub_efi_1394_device_path): New structure.
45262 (grub_efi_1394_device_path_t): New type.
45263 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45264 (struct grub_efi_usb_device_path): New structure.
45265 (grub_efi_usb_device_path_t): New type.
45266 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45267 (struct grub_efi_usb_class_device_path): New structure.
45268 (grub_efi_usb_class_device_path_t): New type.
45269 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45270 (struct grub_efi_i2o_device_path): New structure.
45271 (grub_efi_i2o_device_path_t): New type.
45272 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45273 (struct grub_efi_mac_address_device_path): New structure.
45274 (grub_efi_mac_address_device_path_t): New type.
45275 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45276 (struct grub_efi_ipv4_device_path): New structure.
45277 (grub_efi_ipv4_device_path_t): New type.
45278 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45279 (struct grub_efi_ipv6_device_path): New structure.
45280 (grub_efi_ipv6_device_path_t): New type.
45281 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45282 (struct grub_efi_infiniband_device_path): New structure.
45283 (grub_efi_infiniband_device_path_t): New type.
45284 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45285 (struct grub_efi_uart_device_path): New structure.
45286 (grub_efi_uart_device_path_t): New type.
45287 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45288 (struct grub_efi_vendor_messaging_device_path): New structure.
45289 (grub_efi_vendor_messaging_device_path_t): New type.
45290 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45291 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45292 (struct grub_efi_hard_drive_device_path): New structure.
45293 (grub_efi_hard_drive_device_path_t): New type.
45294 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45295 (struct grub_efi_cdrom_device_path): New structure.
45296 (grub_efi_cdrom_device_path_t): New type.
45297 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45298 (struct grub_efi_vendor_media_device_path): New structure.
45299 (grub_efi_vendor_media_device_path_t): New type.
45300 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45301 (struct grub_efi_file_path_device_path): New structure.
45302 (grub_efi_file_path_device_path_t): New type.
45303 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45304 (struct grub_efi_protocol_device_path): New structure.
45305 (grub_efi_protocol_device_path_t): New type.
45306 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45307 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45308 (struct grub_efi_bios_device_path): New structure.
45309 (grub_efi_bios_device_path_t): New type.
45310 (struct grub_efi_disk_io): New structure.
45311 (grub_efi_disk_io_t): New type.
45312 (struct grub_efi_block_io_media): New structure.
45313 (grub_efi_block_io_media_t): New type.
45314 (struct grub_efi_block_io): New structure.
45315 (grub_efi_block_io_t): New type.
45316
45317 * include/grub/misc.h (grub_stop): Removed.
45318 (grub_exit): New prototype.
45319 (grub_abort): Likewise.
45320
45321 * include/grub/disk.h (enum grub_disk_dev_id): Added
45322 GRUB_DISK_DEVICE_EFIDISK_ID.
45323
45324 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45325 disk/efi/efidisk.c.
45326 (kernel_syms.lst): Remove the target if an error occurs.
45327
49986a9f 453282006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45329
45330 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45331 as it was simply too buggy.
45332
970d3b8a 453332006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45334
45335 * kern/misc.c (grub_lltoa): New function.
45336 (grub_vsprintf): Added support for the long long suffix,
45337 i.e. "ll".
45338
ff04ec24 453392006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45340
45341 * Makefile.in (LDFLAGS): Add variable.
45342 (LD): Remove variable.
45343 * configure.ac: Add -m32 to LDFLAGS.
45344 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45345 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45346 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45347 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45348 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45349 variables.
45350 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45351 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45352 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45353
37e5e1a4 453542006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45355
45356 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45357 length for unknown glyph.
45358
c352d8dd 453592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45360
2eab1c0d 45361 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45362
2eab1c0d 45363 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45364 completely. Accept one more argument DIR. The caller has changed.
45365
45366 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45367
45368 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45369 (grub_efi_loaded_image_guid): New variable.
45370 (grub_efi_get_loaded_image): New function.
45371 (grub_arch_modules_addr): Likewise.
45372
45373 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45374 prototype.
45375
45376 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45377 (struct grub_efi_loaded_image): New structure.
45378 (grub_efi_loaded_image_t): New type.
45379
453802006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45381
c352d8dd 45382 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45383 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45384 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45385
6d01d6b4 453862006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45387
45388 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45389
976a4ea0 453902006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45391
45392 * DISTLIST: Added include/grub/efi/console.h,
45393 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45394 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45395
45396 * include/grub/efi/console.h: New file.
45397 * include/grub/efi/time.h: Likewise.
45398 * include/grub/i386/efi/kernel.h: Likewise.
45399 * kern/efi/init.c: Likewise.
45400 * kern/efi/mm.c: Likewise.
45401 * term/efi/console.c: Likewise.
f19dbdb7 45402
976a4ea0 45403 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45404 (grub_stop): Removed.
45405 (grub_get_rtc): Likewise.
45406 (grub_machine_init): Simply call grub_efi_init.
45407 (grub_machine_fini): Call grub_efi_fini.
45408
45409 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45410 (grub_efi_output_string): Removed.
45411 (grub_efi_stall): New function.
45412 (grub_stop): Likewise.
45413 (grub_get_rtc): Likewise.
45414
45415 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45416 (grub_efi_stall): New prototype.
45417 (grub_efi_allocate_pages): Likewise.
45418 (grub_efi_free_pages): Likewise.
45419 (grub_efi_get_memory_map): Likewise.
45420 (grub_efi_mm_init): Likewise.
45421 (grub_efi_mm_fini): Likewise.
45422 (grub_efi_init): Likewise.
45423 (grub_efi_fini): Likewise.
45424
45425 * include/grub/i386/efi/time.h: Do not include
45426 grub/symbol.h. Include grub/efi/time.h.
45427 (GRUB_TICKS_PER_SECOND): Removed.
45428 (grub_get_rtc): Likewise.
45429
45430 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45431 Added padding. The EFI spec is buggy.
45432 (GRUB_EFI_BLACK): New macro.
45433 (GRUB_EFI_BLUE): Likewise.
45434 (GRUB_EFI_GREEN): Likewise.
45435 (GRUB_EFI_CYAN): Likewise.
45436 (GRUB_EFI_RED): Likewise.
45437 (GRUB_EFI_MAGENTA): Likewise.
45438 (GRUB_EFI_BROWN): Likewise.
45439 (GRUB_EFI_LIGHTGRAY): Likewise.
45440 (GRUB_EFI_BRIGHT): Likewise.
45441 (GRUB_EFI_DARKGRAY): Likewise.
45442 (GRUB_EFI_LIGHTBLUE): Likewise.
45443 (GRUB_EFI_LIGHTGREEN): Likewise.
45444 (GRUB_EFI_LIGHTCYAN): Likewise.
45445 (GRUB_EFI_LIGHTRED): Likewise.
45446 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45447 (GRUB_EFI_YELLOW): Likewise.
45448 (GRUB_EFI_WHITE): Likewise.
45449 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45450 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45451 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45452 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45453 (GRUB_EFI_BACKGROUND_RED): Likewise.
45454 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45455 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45456 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45457 (GRUB_EFI_TEXT_ATTR): Likewise.
45458
45459 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45460 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45461 (kernel_mod_HEADERS): Added efi/time.h.
45462
83709125 454632006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45464
45465 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45466 include/grub/efi/api.h, include/grub/efi/console_control.h,
45467 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45468 include/grub/i386/efi/time.h, kern/efi/efi.c,
45469 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45470 and util/i386/efi/grub-mkimage.c.
45471
45472 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45473
45474 * genmk.rb (PModule#rule): Do not export symbols if
45475 #{prefix}_EXPORTS is set to "no".
45476
45477 * conf/i386-efi.mk: New file.
45478 * conf/i386-efi.rmk: Likewise.
45479 * include/grub/efi/api.h: Likewise.
45480 * include/grub/efi/console_control.h: Likewise.
45481 * include/grub/efi/efi.h: Likewise.
45482 * include/grub/efi/pe32.h: Likewise.
45483 * include/grub/i386/efi/time.h: Likewise.
45484 * kern/efi/efi.c: Likewise.
45485 * kern/i386/efi/init.c: Likewise.
45486 * kern/i386/efi/startup.S: Likewise.
45487 * util/i386/efi/grub-mkimage.c: Likewise.
45488
454892006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45490
45491 * include/grub/script.h: Include <grub/parser.h> and
45492 "grub_script.tab.h".
45493 (struct grub_lexer_param): New struct.
45494 (struct grub_parser_param): Likewise.
45495 (grub_script_create_arglist): Pass the state in an argument.
45496 (grub_script_add_arglist): Likewise.
45497 (grub_script_create_cmdline): Likewise.
45498 (grub_script_create_cmdblock): Likewise.
45499 (grub_script_create_cmdif): Likewise.
45500 (grub_script_create_cmdmenu): Likewise.
45501 (grub_script_add_cmd): Likewise.
45502 (grub_script_arg_add): Likewise.
45503 (grub_script_lexer_ref): Likewise.
45504 (grub_script_lexer_deref): Likewise.
45505 (grub_script_lexer_record_start): Likewise.
45506 (grub_script_lexer_record_stop): Likewise.
45507 (grub_script_mem_record): Likewise.
45508 (grub_script_mem_record_stop): Likewise.
45509 (grub_script_malloc): Likewise.
45510 (grub_script_yylex): Likewise.
45511 (grub_script_yyparse): Likewise.
45512 (grub_script_yyerror): Likewise.
45513 (grub_script_yylex): Likewise.
45514 (grub_script_lexer_init): Return the state.
45515
45516 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45517 (grub_script_lexer_done): Likewise.
45518 (grub_script_lexer_getline): Likewise.
45519 (grub_script_lexer_refs): Likewise.
45520 (script): Likewise.
45521 (newscript): Likewise.
45522 (record): Likewise.
45523 (recording): Likewise.
45524 (recordpos): Likewise.
45525 (recordlen): Likewise.
45526 (grub_script_lexer_init): Return the state instead of setting
45527 global variables.
45528 (grub_script_lexer_ref): Use the newly added argument for state
45529 instead of globals.
45530 (grub_script_lexer_deref): Likewise.
45531 (grub_script_lexer_record_start): Likewise.
45532 (grub_script_lexer_record_stop): Likewise.
45533 (recordchar): Likewise.
45534 (nextchar): Likewise.
45535 (grub_script_yylex2): Likewise.
45536 (grub_script_yylex): Likewise.
45537 (grub_script_yyerror): Likewise.
45538
45539 * normal/parser.y (func_mem): Removed variable.
45540 (menu_entry): Likewise.
45541 (err): Likewise.
45542 (%lex-param): New parser option.
45543 (%parse-param): Likewise.
45544 (script): Always return the AST.
45545 (argument): Pass the state around.
45546 (arguments): Likewise.
45547 (grubcmd): Likewise.
45548 (commands): Likewise.
45549 (function): Likewise.
45550 (menuentry): Likewise.
45551 (if_statement): Likewise.
45552 (if): Likewise.
45553
45554 * normal/script.c (grub_script_memused): Removed variable.
45555 (grub_script_parsed): Likewise.
45556 (grub_script_malloc): Added a state argument. Use that instead of
45557 global variables.
45558 (grub_script_mem_record): Likewise.
45559 (grub_script_mem_record_stop): Likewise.
45560 (grub_script_arg_add): Likewise.
45561 (grub_script_add_arglist): Likewise.
45562 (grub_script_create_cmdline): Likewise.
45563 (grub_script_create_cmdif): Likewise.
45564 (grub_script_create_cmdmenu): Likewise.
45565 (grub_script_add_cmd): Likewise.
45566 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45567
e2a8c904 455682006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45569
45570 * normal/command.c (grub_command_init): Remove the title command.
45571
45572 * normal/lexer.c (grub_script_yylex): Renamed from this...
45573 (grub_script_yylex2): ... to this.
45574 (grub_script_yylex): New function. Temporary
45575 introduced to filter some tokens.
45576 (grub_script_yyerror): Print a newline.
45577
45578 * normal/main.c (read_config_file): Output information about the
45579 lines that contain errors. Wait for a key after all lines have
45580 been processed. Don't return an empty menu.
45581
45582 * normal/parser.y (func_mem): Don't initialize.
45583 (menu_entry): Likewise.
45584 (err): New variable.
45585 (script): Don't return anything when an error was encountered.
45586 (ws, returns): Removed rules.
45587 (argument): Disabled concatenated variable support.
45588 (arguments): Remove explicit separators.
45589 (grubcmd): Likewise.
45590 (function): Likewise.
45591 (menuentry): Likewise.
45592 (if): Likewise.
45593 (commands): Likewise. Add error handling.
45594
45595 * normal/script.c (grub_script_create_cmdline): If
45596 `grub_script_parsed' is 0, assume the parser encountered an error.
45597
c9a86192 455982006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45599
45600 * configure.ac: Add support for EFI. Fix the typo
45601 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45602
70f3b243 456032006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45604
45605 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45606 foreign multibyte characters should be shown correctly.
45607
65f201ad 456082006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45609
45610 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45611 calculation.
45612 (read_config_file): Made it to close file before returning.
45613
b4b93674 456142006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45615
45616 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45617 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45618 video/i386/pc/vbefill.c.
45619
45620 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45621 video/i386/pc/vbefill.c.
45622
45623 * include/grub/video.h (grub_video_blit_format): New enum.
45624 (grub_video_mode_info): Added new member blit_format.
45625 (grub_video_get_blit_format): New function prototype.
45626
45627 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45628 function prototype.
45629 (grub_video_vbe_map_rgb): Likewise.
45630 (grub_video_vbe_unmap_color): Likewise.
45631
45632 * include/grub/i386/pc/vbeblit.h: New file.
45633
45634 * include/grub/i386/pc/vbefill.h: New file.
45635
45636 * video/video.c (grub_video_get_blit_format): New function.
45637 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45638 (grub_video_vbe_map_rgb): Likewise.
45639 (grub_video_vbe_unmap_color): Likewise.
45640
45641 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45642 optimized fills.
45643 (grub_video_vbe_blit_render_target): Changed to use more optimized
45644 blits.
45645 (grub_video_vbe_setup): Added detection for optimized settings.
45646 (grub_video_vbe_create_render_target): Likewise.
45647
45648 * video/i386/pc/vbeblit.c: New file.
45649
45650 * video/i386/pc/vbefill.c: New file.
45651
c2379b9c 456522006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45653
45654 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45655 here...
45656
45657 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45658 parsing to support both hex and dec ranges. If filename was missing
45659 show usage information.
45660
bd0d7896 456612006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45662
45663 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45664 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45665
45666 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45667 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45668 (video_mod_SOURCES): Added.
45669 (video_mod_CFLAGS): Likewise.
45670 (video_mod_LDFLAGS): Likewise.
45671 (gfxterm_mod_SOURCES): Likewise.
45672 (gfxterm_mod_CFLAGS): Likewise.
45673 (gfxterm_mod_LDFLAGS): Likewise.
45674 (videotest_mod_SOURCES): Likewise.
45675 (videotest_mod_CFLAGS): Likewise.
45676 (videotest_mod_LDFLAGS): Likewise.
45677 (vesafb_mod_SOURCES): Removed.
45678 (vesafb_mod_CFLAGS): Likewise.
45679 (vesafb_mod_LDFLAGS): Likewise.
45680 (vga_mod_SOURCES): Likewise.
45681 (vga_mod_CFLAGS): Likewise.
45682 (vga_mod_LDFLAGS): Likewise.
45683
45684 * commands/videotest.c: New file.
45685
45686 * font/manager.c (fill_with_default_glyph): Modified to use
45687 grub_font_glyph.
45688 (grub_font_get_glyph): Likewise.
45689 (fontmanager): Renamed from this...
45690 (font_manager): ... to this.
45691
45692 * include/grub/font.h (grub_font_glyph): Added new structure.
45693 (grub_font_get_glyph): Modified to use grub_font_glyph.
45694
45695 * include/grub/misc.h (grub_abs): Added as inline function.
45696
45697 * include/grub/video.h: New file.
45698
45699 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45700 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45701 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45702 (grub_vbe_get_controller_info): Renamed from this...
45703 (grub_vbe_bios_get_controller_info): ... to this.
45704 (grub_vbe_get_mode_info): Renamed from this...
45705 (grub_vbe_bios_get_mode_info): ... to this.
45706 (grub_vbe_set_mode): Renamed from this...
45707 (grub_vbe_bios_set_mode): ... to this.
45708 (grub_vbe_get_mode): Renamed from this...
45709 (grub_vbe_bios_get_mode): ... to this.
45710 (grub_vbe_set_memory_window): Renamed from this...
45711 (grub_vbe_bios_set_memory_window): ... to this.
45712 (grub_vbe_get_memory_window): Renamed from this...
45713 (grub_vbe_bios_get_memory_window): ... to this.
45714 (grub_vbe_set_scanline_length): Renamed from this...
45715 (grub_vbe_set_scanline_length): ... to this.
45716 (grub_vbe_get_scanline_length): Renamed from this...
45717 (grub_vbe_bios_get_scanline_length): ... to this.
45718 (grub_vbe_set_display_start): Renamed from this...
45719 (grub_vbe_bios_set_display_start): ... to this.
45720 (grub_vbe_get_display_start): Renamed from this...
45721 (grub_vbe_bios_get_display_start): ... to this.
45722 (grub_vbe_set_palette_data): Renamed from this...
45723 (grub_vbe_bios_set_palette_data): ... to this.
45724 (grub_vbe_set_pixel_rgb): Removed.
45725 (grub_vbe_set_pixel_index): Likewise.
45726
45727 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45728 from this...
45729 (grub_vbe_bios_get_controller_info): ... to this.
45730 (grub_vbe_get_mode_info): Renamed from this...
45731 (grub_vbe_bios_get_mode_info): ... to this.
45732 (grub_vbe_set_mode): Renamed from this...
45733 (grub_vbe_bios_set_mode): ... to this.
45734 (grub_vbe_get_mode): Renamed from this...
45735 (grub_vbe_bios_get_mode): ... to this.
45736 (grub_vbe_set_memory_window): Renamed from this...
45737 (grub_vbe_bios_set_memory_window): ... to this.
45738 (grub_vbe_get_memory_window): Renamed from this...
45739 (grub_vbe_bios_get_memory_window): ... to this.
45740 (grub_vbe_set_scanline_length): Renamed from this...
45741 (grub_vbe_set_scanline_length): ... to this.
45742 (grub_vbe_get_scanline_length): Renamed from this...
45743 (grub_vbe_bios_get_scanline_length): ... to this.
45744 (grub_vbe_set_display_start): Renamed from this...
45745 (grub_vbe_bios_set_display_start): ... to this.
45746 (grub_vbe_get_display_start): Renamed from this...
45747 (grub_vbe_bios_get_display_start): ... to this.
45748 (grub_vbe_set_palette_data): Renamed from this...
45749 (grub_vbe_bios_set_palette_data): ... to this.
45750 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45751 getting corrupted after calling it. Added more pushes and pops.
45752 (grub_vbe_bios_set_mode): Likewise.
45753 (grub_vbe_bios_get_mode): Likewise.
45754 (grub_vbe_bios_get_memory_window): Likewise.
45755 (grub_vbe_bios_set_scanline_length): Likewise.
45756 (grub_vbe_bios_get_scanline_length): Likewise.
45757 (grub_vbe_bios_get_display_start): Likewise.
45758 (grub_vbe_bios_set_palette_data): Likewise.
45759
45760 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45761 (cl_insert): Likewise.
45762 (cl_delete): Likewise.
45763
45764 * term/gfxterm.c: New file.
45765
45766 * term/i386/pc/vesafb.c: Removed file.
45767
45768 * video/video.c: New file.
45769
45770 * video/i386/pc/vbe.c (real2pm): Added new function.
45771 (grub_video_vbe_draw_pixel): Likewise.
45772 (grub_video_vbe_get_video_ptr): Likewise.
45773 (grub_video_vbe_get_pixel): Likewise
45774 (grub_video_vbe_init): Likewise.
45775 (grub_video_vbe_fini): Likewise.
45776 (grub_video_vbe_setup): Likewise.
45777 (grub_video_vbe_get_info): Likewise.
45778 (grub_video_vbe_set_palette): Likewise.
45779 (grub_video_vbe_get_palette): Likewise.
45780 (grub_video_vbe_set_viewport): Likewise.
45781 (grub_video_vbe_get_viewport): Likewise.
45782 (grub_video_vbe_map_color): Likewise.
45783 (grub_video_vbe_map_rgb): Likewise.
45784 (grub_video_vbe_map_rgba): Likewise.
45785 (grub_video_vbe_unmap_color): Likewise.
45786 (grub_video_vbe_fill_rect): Likewise.
45787 (grub_video_vbe_blit_glyph): Likewise.
45788 (grub_video_vbe_blit_bitmap): Likewise.
45789 (grub_video_vbe_blit_render_target): Likewise.
45790 (grub_video_vbe_scroll): Likewise.
45791 (grub_video_vbe_swap_buffers): Likewise.
45792 (grub_video_vbe_create_render_target): Likewise.
45793 (grub_video_vbe_delete_render_target): Likewise.
45794 (grub_video_vbe_set_active_render_target): Likewise.
45795 (grub_vbe_set_pixel_rgb): Remove function.
45796 (grub_vbe_set_pixel_index): Likewise.
45797 (index_color_mode): Remove static variable.
45798 (active_mode): Likewise.
45799 (framebuffer): Likewise.
45800 (bytes_per_scan_line): Likewise.
45801 (grub_video_vbe_adapter): Added new static variable.
45802 (framebuffer): Likewise.
45803 (render_target): Likewise.
45804 (initial_mode): Likewise.
45805 (mode_in_use): Likewise.
45806 (mode_list): Likewise.
45807
5f97350b 458082006-03-10 Marco Gerards <marco@gnu.org>
45809
45810 * configure.ac (AC_INIT): Bumped to 1.93.
45811
45812 * DISTLIST: Added `include/grub/hfs.h'.
45813
a3c5c6f8 458142006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45815
45816 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45817 18H, which might help the BIOS falling back to next boot media.
45818
6de53d26 458192006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45820
45821 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45822 Poe Chen <poe.poechen@gmail.com>.
45823
77c4a393 458242006-01-17 Marco Gerards <marco@gnu.org>
45825
45826 * include/grub/normal.h: Include <grub/script.h>.
45827 (grub_command_list): Removed struct.
45828 (grub_command_list_t): Removed type.
45829 (grub_menu_entry): Remove members `num' and `command_list'. Add
45830 members `commands' and `sourcecode'.
45831 * include/grub/script.h: Add inclusion guards.
45832 (grub_script_cmd_menuentry): New struct.
45833 (grub_script_execute_menuentry): New prototype.
45834 (grub_script_lexer_record_start): Likewise.
45835 (grub_script_lexer_record_stop): Likewise.
45836 * normal/execute.c (grub_script_execute_menuentry): New function.
45837 * normal/lexer.c (record, recording, recordpos, recordlen): New
45838 variables.
45839 (grub_script_lexer_record_start): New function.
45840 (grub_script_lexer_record_stop): Likewise.
45841 (recordchar): Likewise.
45842 (nextchar): Likewise.
45843 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45844 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45845 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45846 (current_menu): New variable.
45847 (free_menu): Mainly rewritten.
45848 (grub_normal_menu_addentry): New function.
45849 (read_config_file): Rewritten.
45850 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45851 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45852 the menu entry.
45853 (run): Mainly rewritten.
45854 * normal/parser.y (menu_entry): New variable.
45855 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45856 (menuentry): New rule.
45857 (command): Add `menuentry'.
45858 (if_statement): Allow additional returns before `fi'.
45859 * normal/script.c (grub_script_create_cmdmenu): New function.
45860
144f1f98 458612006-01-03 Marco Gerards <marco@gnu.org>
45862
45863 * INSTALL: GNU Bison is required.
45864 * configure.ac: Rewritten the test to detect Bison.
45865 * Makefile.in (YACC): New variable. Reported by Xun Sun
45866 <xun.sun.cn@gmail.com>.
45867
af4b2d89 458682006-01-03 Marco Gerards <marco@gnu.org>
45869
45870 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45871 the HFS+ filesystem to filesystem blocks.
45872 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45873 GCC warning is silenced.
45874
15643b71 458752006-01-03 Marco Gerards <marco@gnu.org>
45876
45877 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45878 read from disk from big endian to host byte order.
45879
00905879 458802006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45881
45882 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45883 documentation.
45884 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45885 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45886 embedded HFS+ filesystem.
45887 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45888 (grub_hfs_sblock): Move from here...
45889 * include/grub/hfs.h: To here... New file.
45890 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45891 documentation.
45892 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45893 New macros.
45894 (grub_hfsplus_volheader): Change type of member `magic' to
45895 `grub_uint16_t'.
45896 (grub_hfsplus_data): Add new member `embedded_offset'.
45897 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45898 returned block.
45899 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45900 Calculate the offset.
45901
8899bc3e 459022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45903
45904 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45905 Removed.
45906 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45907
ae8c0277 459082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45909
45910 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45911 ENV->NAME is NULL after allocating ENV->VALUE.
45912
07084456 459132005-12-25 Marco Gerards <marco@gnu.org>
45914
45915 * kern/env.c (grub_env_set): Rewritten the error handling code.
45916
4750f5f1 459172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45918
45919 * geninit.sh: Made more robust, and more portable.
45920
50214199 459212005-12-25 Marco Gerards <marco@gnu.org>
45922
45923 Add support for Apple HFS+ filesystems.
f19dbdb7 45924
50214199 45925 * fs/hfsplus.c: New file.
45926
45927 * DISTLIST: Added `fs/hfsplus.c'.
45928
45929 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45930 (hfsplus_mod_SOURCES): New variable.
45931 (hfsplus_mod_CFLAGS): Likewise.
45932 (hfsplus_mod_LDFLAGS): Likewise.
45933 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45934 (grub_setup_SOURCES): Likewise.
45935 (grub_mkdevicemap_SOURCES): Likewise.
45936 (grub_emu_SOURCES): Likewise.
45937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45938
45939 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45940
45941 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45942
befaed6c 459432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45944
45945 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45946 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45947 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45948 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45949 normal/lexer.c, normal/parser.y, normal/script.c, and
45950 partmap/gpt.c.
45951 Removed kern/sparc64/cache.c.
45952
45953 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45954 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45955 grub_emu_init.c.
45956
45957 * configure.ac (AC_INIT): Bumped to 1.92.
45958
6a124103 459592005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45960
45961 * kern/err.c (grub_error_push): Added new function to support error
45962 stacks.
45963 (grub_error_pop): Likewise.
45964 (grub_error_stack_items): New local variable to support error stacks.
45965 (grub_error_stack_pos): Likewise.
45966 (grub_error_stack_assert): Likewise.
45967 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45968 stack depth.
45969 (grub_print_error): Added support to print errors from error stack.
45970
45971 * include/grub/err.h (grub_error_push): Added function prototype.
45972 (grub_error_pop): Likewise.
45973
be973c1b 459742005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45975
45976 * configure.ac: Accept `powerpc64' as host_cpu.
45977 (amd64): Rename to `biarch32'.
45978
45979 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45980 non-cacheline-aligned addresses.
45981
45982 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45983 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45984 if `size' is non-zero.
45985
b04216ab 459862005-12-03 Marco Gerards <mgerards@xs4all.nl>
45987
45988 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45989 and `cd' to make sure the filename is not prefixed with a
45990 directory name.
45991 (pkgdata_MODULES): Add `gpt.mod'.
45992 (gpt_mod_SOURCES): New variable.
45993 (gpt_mod_CFLAGS): Likewise.
45994 (gpt_mod_LDFLAGS): Likewise.
45995
45996 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45997
45998 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45999 New macro.
46000
46001 * partmap/gpt.c: New file.
46002
46003 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46004 GPT partition map is detected.
46005
41730ed9 460062005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46007
46008 * commands/i386/pc/play.c: New file.
46009 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46010 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46011 macros.
f19dbdb7 46012
95dc3643 460132005-11-27 Marco Gerards <mgerards@xs4all.nl>
46014
46015 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46016 ((unused))' to silence gcc warning.
46017
1569ec51 460182005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46019
46020 * configure.ac: Correct `AC_PROG_YACC' test.
46021
9abde152 460222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46023
46024 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46025 check before installing files.
46026
44b83271 460272005-11-22 Mike Small <smallm@panix.com>
46028
46029 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46030 number regex so multidigit numbers are recognized correctly.
46031
460322005-11-22 Mike Small <smallm@panix.com>
46033
46034 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46035 debugging message before attempting to claim memory.
46036 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46037 multiple addresses in case of failure.
46038
9c12956b 460392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46040
46041 * term/tparm.c (get_space): Remove empty `if' statement.
46042
46043 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46044
46045 * kern/parser.c (check_varstate): Rename `state' to 's'.
46046
aeaf81d9 460472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46048
46049 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46050 variable definitions to the beginning of each function. Sort stack
46051 variables by size.
46052 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46053 `buf' argument to `char *'.
46054
79bbb63f 460552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46056
46057 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46058 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46059 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46060 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46061 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46062 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46063 configfile.mod, search.mod, gzio.mod and test.mod.
46064 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46065 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46066 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46067 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46068 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46069 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46070 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46071 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46072 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46073 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46074 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46075 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46076 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46077 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46078 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46079 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46080 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46081 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46082 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46083 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46084 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46085 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46086 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46087
46088 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46089 `grep --include'.
46090 (pkgdata_MODULES): Add test.mod.
46091
233b1628 460922005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46093
46094 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46095 appending to variables with "+=".
46096 (PModule): Use full pathname to generate *.lst filenames.
46097
46098 * Makefile.in: Fixed list rules moved from genmk.rb.
46099 (.DELETE_ON_ERROR): New special target.
46100 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46101
46102 * conf/i386-pc.rmk: Include conf/common.mk.
46103 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46104 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46105 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46106 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46107 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46108 configfile.mod, search.mod, gzio.mod and test.mod.
46109 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46110 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46111 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46112 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46113 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46114 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46115 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46116 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46117 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46118 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46119 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46120 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46121 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46122 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46123 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46124 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46125 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46126 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46127 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46128 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46129 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46130 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46131 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46132 here...
46133 * conf/common.rmk: ... to here. New file.
46134
46135 * conf/common.mk: New file.
46136
16f820c8 461372005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46138
46139 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46140 (grub_script.tab.c): ... here.
46141
46142 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
46143 (grub_script.tab.c): ... here.
46144
46145 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
46146 (grub_script.tab.c): ... here.
46147
46148 * normal/command.c (grub_command_find): Fixed a memory leak of
46149 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
46150
63ba1554 461512005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46152
46153 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
46154 "@" which marks the start of a comment on ARM.
46155 (VARIABLE): Likewise.
46156
7f67dc13 461572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46158
79bbb63f 46159 Add support for Linux/ADFS partition tables.
7f67dc13 46160
46161 * partmap/acorn.c: New file.
46162
46163 * include/grub/acorn_filecore.h: Likewise.
46164
46165 * DISTLIST: Added `partmap/acorn.c' and
46166 `include/grub/acorn_filecore.h'.
f19dbdb7 46167
7f67dc13 46168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46169 `partmap/acorn.c'.
46170 (pkgdata_MODULES): Add `acorn.mod'.
46171 (acorn_mod_SOURCES): New variable.
46172 (acorn_mod_CFLAGS): Likewise.
46173
46174 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46175 `partmap/acorn.c'.
46176 (pkgdata_MODULES): Add `acorn.mod'.
46177 (acorn_mod_SOURCES): New variable.
46178 (acorn_mod_CFLAGS): Likewise.
46179
46180 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46181 (pkgdata_MODULES): Add `acorn.mod'.
46182 (acorn_mod_SOURCES): New variable.
46183 (acorn_mod_CFLAGS): Likewise.
46184 (acorn_mod_LDFLAGS): Likewise.
46185
46186 * include/types.h (grub_disk_addr_t): New typedef.
46187
6d099807 461882005-11-13 Marco Gerards <mgerards@xs4all.nl>
46189
46190 * geninit.sh: New file.
46191
46192 * geninitheader.sh: Likewise.
46193
46194 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46195 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46196 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46197 * commands/configfile.c (grub_configfile_init)
46198 (grub_configfile_fini): Likewise.
46199 * commands/default.c (grub_default_init, grub_default_fini):
46200 Likewise.
46201 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46202 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46203 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46204 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46205 Likewise.
46206 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46207 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46208 Likewise.
46209 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46210 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46211 Likewise.
46212 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46213 Likewise.
fe6b695a 46214 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46215 Likewise.
46216 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46217 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46218 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46219 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46220 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46221 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46222 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46223 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46224 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46225 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46226 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46227 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46228 * partmap/amiga.c (grub_amiga_partition_map_init)
46229 (grub_amiga_partition_map_fini): Likewise.
46230 * partmap/apple.c (grub_apple_partition_map_init)
46231 (grub_apple_partition_map_fini): Likewise.
46232 * partmap/pc.c (grub_pc_partition_map_init)
46233 (grub_pc_partition_map_fini): Likewise.
46234 * partmap/sun.c (grub_sun_partition_map_init,
46235 grub_sun_partition_map_fini): Likewise.
46236 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46237 Likewise.
46238
46239 * util/grub-emu.c: Include <grub_modules_init.h>.
46240 (main): Don't initialize and de-initialize any modules directly,
46241 use `grub_init_all' and `grub_fini_all' instead.
46242
46243 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46244 `grub_vesafb_mod_init'.
46245 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46246 all users.
46247 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46248 `grub_vga_mod_init'. Updated all users.
46249 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46250
6d099807 46251 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46252 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46253 rules.
46254
46255 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46256 Generate a function to initialize the module in utilities.
46257 Updated all callers.
46258 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46259 initialize the module in utilities. Updated all callers.
46260
9046bcf0 462612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46262
46263 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46264 escape sequence and a literal ^L to clear the screen.
46265
46266 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46267 when returning from Open Firmware.
46268
d13ea639 462692005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46270
46271 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46272 (grub_ofconsole_height): Likewise.
46273 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46274 manually insert a '\n'.
46275 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46276 `grub_ofconsole_height'. Return early if these are already set.
46277
a8fcf206 462782005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46279
46280 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46281 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46282 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46283 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46284 and `normal/script.c'.
46285 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46286 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46287 (test_mod_SOURCES): New variable.
46288 (test_mod_CFLAGS): Likewise.
46289 (test_mod_LDFLAGS): Likewise.
46290 (pkgdata_MODULES): Add `test.mod'.
46291 (grub_script.tab.c): New rule.
46292 (grub_script.tab.h): Likewise.
46293
b6b32745 462942005-11-07 Marco Gerards <mgerards@xs4all.nl>
46295
46296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46297 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46298 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46299 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46300 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46301 (test_mod_SOURCES): New variable.
46302 (test_mod_CFLAGS): Likewise.
46303 (pkgdata_MODULES): Add `test.mod'.
46304 (grub_script.tab.c): New rule.
46305 (grub_script.tab.h): Likewise.
46306
daac212a 463072005-11-06 Marco Gerards <mgerards@xs4all.nl>
46308
46309 Add initial scripting support.
46310
46311 * commands/test.c: New file.
46312 * include/grub/script.h: Likewise.
46313 * normal/execute.c: Likewise.
46314 * normal/function.c: Likewise.
46315 * normal/lexer.c: Likewise.
46316 * normal/parser.y: Likewise.
46317 * normal/script.c: Likewise.
46318
46319 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46320
daac212a 46321 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46322 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46323 `normal/function.c' and `normal/script.c'.
46324 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46325 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46326 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46327 variables.
daac212a 46328 (pkgdata_MODULES): Add `test.mod'.
46329 (grub_script.tab.c): New rule.
46330 (grub_script.tab.h): Likewise.
46331
46332 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46333
46334 * include/grub/normal.h (grub_test_init): New prototype.
46335 (grub_test_fini): Likewise.
f19dbdb7 46336
daac212a 46337 * normal/command.c: Include <grub/script.h>.
46338 (grub_command_execute): Rewritten.
f19dbdb7 46339
daac212a 46340 * util/grub-emu.c (main): Call `grub_test_init' and
46341 `grub_test_fini'.
46342
77500b2b 463432005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46344
46345 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46346 to 0.
46347 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46348 there are no pending characters.
46349
e45deb9e 463502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46351
46352 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46353 `grub_strndup' to drop device arguments. Replace unnecessary
46354 `grub_strndup' with `grub_strdup'.
46355
4ce32619 463562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46357
46358 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46359 `debug' environment variable has been set.
46360
463612005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46362
4ce32619 46363 * Makefile.in (install-local): Use $(DATA).
46364 (uninstall): Likewise.
46365 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46366 (sbin_UTILITIES): ... to here.
46367 (sbin_SCRIPTS): New variable.
46368 (grub_install_SOURCES): New variable.
46369 * util/powerpc/ieee1275/grub-install.in: New file.
46370 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46371 variable.
46372 (add_segments): Call `grub_util_get_path'.
46373
25fe6f03 463742005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46375
46376 From Timothy Baldwin:
46377 * commands/ls.c (grub_ls_list_files): Close FILE with
46378 grub_file_close.
46379 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46380
04ccf3ec 463812005-10-24 Marco Gerards <mgerards@xs4all.nl>
46382
46383 * include/grub/parser.h: New file.
46384
46385 * kern/parser.c: Likewise.
46386
46387 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46388 (grub_setup_SOURCES): Likewise.
46389 (grub_probefs_SOURCES): Likewise.
46390 (grub_emu_SOURCES): Likewise.
46391 (kernel_img_HEADERS): Add `parser.h'.
46392
46393 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46394 (grub_emu_SOURCES): Add `kern/parser.c'.
46395 (grubof_SOURCES): Likewise.
46396
46397 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46398 (grubof_SOURCES): Add `kern/parser.c'.
46399
46400 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46401
46402 * kern/misc.c (grub_split_cmdline): Removed function.
46403
46404 * kern/rescue.c: Include <grub/parser.h>.
46405 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46406 of `grub_split_cmdline'.
46407
46408 * normal/command.c: Include <grub/parser.h>.
46409 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46410 of `grub_split_cmdline'.
46411
46412 * normal/completion.c: Include <grub/parser.h>.
46413 (cmdline_state): New variable.
46414 (iterate_dir): End the filename with a quote depending on the
46415 command line state.
46416 (get_state): new function.
46417 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46418 split the arguments and determine the current argument. When the
46419 argument string is not quoted, escape all spaces.
46420
6d8f4b0e 464212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46422
46423 * normal/sparc64/setjmp.S: New file.
46424
15cf03ed 464252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46426
46427 * include/grub/sparc64/libgcc.h: New file.
46428 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46429 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46430 normal/sparc64/setjmp.c.
46431
03e8661a 464322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46433
46434 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46435 * kern/sparc64/cache.S: New file.
46436 * kern/sparc64/cache.c: Removed.
46437 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46438 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46439 -mtune=ultrasparc.
46440 (COMMON_LDFLAGS): Add -melf64_sparc.
46441 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46442 (grubof_SOURCES): Use cache.S instead of cache.c.
46443 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46444 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46445 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46446 commented though.
46447 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46448 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46449 (linux_mod_CFLAGS): Commented out.
46450 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46451 out because module isn't built.
46452 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46453 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46454 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46455 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46456 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46457 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46458 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46459 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46460 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46461 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46462 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46463 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46464 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46465 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46466
34eeec8a 464672005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46468
46469 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46470 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46471 longer, because HFS should not be used on PC.
46472
708367a3 464732005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46474
46475 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46476 consistently within the loop.
46477
6fa1251a 464782005-10-15 Marco Gerards <mgerards@xs4all.nl>
46479
46480 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46481 directory can not be read.
46482
4801580b 464832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46484
46485 * configure.ac (AC_INIT): Increase the version number to 1.91.
46486
46487 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46488 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46489 term/i386/pc/serial.c.
46490
219ad426 464912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46492
46493 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46494 file size must be permitted.
46495
46496 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46497 between %ah and %al.
46498
688e5699 464992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46500
46501 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46502 grub_uint64_t.
46503 Call the hook with a NUL-terminated filename.
46504 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46505 grub_cpu_to_be32.
46506
46507 * kern/term.c (cursor_state): New variable.
46508 (grub_term_set_current): Reset the cursor state on a new
46509 terminal.
46510 (grub_setcursor): Rewritten to use CURSOR_STATE.
46511 (grub_getcursor): New function.
46512
46513 * include/grub/term.h (grub_getcursor): New prototype.
46514
46515 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46516 integers on ARM. Reported by Timothy Baldwin
46517 <T.E.Baldwin99@members.leeds.ac.uk>.
46518
bb34586c 465192005-10-11 Marco Gerards <mgerards@xs4all.nl>
46520
46521 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46522 allocated.
46523 (grub_sfs_dir): Likewise.
46524
9a909877 465252005-10-09 Marco Gerards <mgerards@xs4all.nl>
46526
46527 Add support for the SFS filesystem.
46528
46529 * fs/sfs.c: New file.
46530
46531 * DISTLIST: Added `fs/sfs.c'.
46532
46533 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46534 (grub_probefs_SOURCES): Likewise.
46535 (grub_emu_SOURCES): Likewise.
46536 (pkgdata_MODULES): Add `sfs.mod'.
46537 (sfs_mod_SOURCES): New variable.
46538 (sfs_mod_CFLAGS): Likewise.
46539 (sfs_mod_LDFLAGS): Likewise.
46540
46541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46542 (pkgdata_MODULES): Add `sfs.mod'.
46543 (sfs_mod_SOURCES): New variable.
46544 (sfs_mod_CFLAGS): Likewise.
46545
46546 * util/grub-emu.c (main): Call `grub_sfs_init' and
46547 `grub_sfs_fini'.
46548
46549 * include/grub/fs.h (grub_sfs_init): New prototype.
46550 (grub_sfs_fini): Likewise.
46551
57bdbde3 465522005-10-07 Marco Gerards <mgerards@xs4all.nl>
46553
46554 Add support for the AFFS filesystem.
46555
46556 * fs/affs.c: New file.
46557
46558 * DISTLIST: Added `fs/affs.c'.
46559
46560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46561 (grub_probefs_SOURCES): Likewise.
46562 (grub_emu_SOURCES): Likewise.
46563 (pkgdata_MODULES): Add `affs.mod'.
46564 (affs_mod_SOURCES): New variable.
46565 (affs_mod_CFLAGS): Likewise.
46566 (affs_mod_LDFLAGS): Likewise.
46567
46568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46569 (pkgdata_MODULES): Add `affs.mod'.
46570 (affs_mod_SOURCES): New variable.
46571 (affs_mod_CFLAGS): Likewise.
46572
46573 * util/grub-emu.c (main): Call `grub_affs_init' and
46574 `grub_affs_fini'.
46575
46576 * include/grub/fs.h (grub_affs_init): New prototype.
46577 (grub_affs_fini): Likewise.
46578
047b67e0 465792005-10-01 Marco Gerards <mgerards@xs4all.nl>
46580
46581 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46582
59b8208a 465832005-10-01 Marco Gerards <mgerards@xs4all.nl>
46584
46585 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46586 `-m32' to CFLAGS.
46587
46588 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46589 linking.
f19dbdb7 46590
59b8208a 46591 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46592 (COMMON_LDFLAGS): New variable.
46593 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46594 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46595 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46596 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46597 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46598 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46599 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46600 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46601 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46602 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46603 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46604 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46605 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46606 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46607 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46608 variables.
46609 (normal_mod_ASFLAGS): Add `-m32'.
46610
46611 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46612 (grub_host_size_t, grub_host_ssize_t): New types.
46613 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46614 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46615 `GRUB_HOST_SIZEOF_VOID_P'.
46616
46617 * include/grub/kernel.h (struct grub_module_header): Type of
46618 member offset changed to `grub_host_off_t'. Type of member size
46619 changed to `grub_host_size_t'.
46620 (struct grub_module_info): Type of member offset changed to
46621 `grub_host_off_t'. Type of member size changed to
46622 `grub_host_size_t'.
46623
b4093103 466242005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46625
46626 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46627
b4093103 46628 * kern/i386/pc/startup.S (multiboot_header): New label.
46629 (multiboot_entry): Likewise.
46630 (multiboot_trampoline): Likewise.
46631
46632 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46633 Increased to 0x4A0.
46634
46635 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46636 put parentheses after a question mark.
46637 [!GRUB_UTIL] (my_mod): New variable.
46638
46639 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46640
b2499b29 466412005-09-28 Marco Gerards <mgerards@xs4all.nl>
46642
46643 Adds support for the XFS filesystem. Btrees are not supported
46644 yet.
46645
46646 * fs/xfs.c: New file.
46647
46648 * DISTLIST: Added `fs/xfs.c'.
46649
46650 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46651 (grub_probefs_SOURCES): Likewise.
46652 (grub_emu_SOURCES): Likewise.
46653 (pkgdata_MODULES): Add `xfs.mod'.
46654 (xfs_mod_SOURCES): New variable.
46655 (xfs_mod_CFLAGS): Likewise.
46656
46657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46658 (pkgdata_MODULES): Add `xfs.mod'.
46659 (xfs_mod_SOURCES): New variable.
46660 (xfs_mod_CFLAGS): Likewise.
46661
46662 * util/grub-emu.c (main): Call `grub_xfs_init' and
46663 `grub_xfs_fini'.
46664
46665 * include/grub/fs.h (grub_xfs_init): New prototype.
46666 (grub_xfs_fini): Likewise.
46667
f19dbdb7 46668
83d37a62 466692005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46670
46671 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46672 color modes, allow greater than 16 colors to be configured as
46673 a default palette.
46674
47d2d65e 466752005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46676
46677 * normal/completion.c (complete_arguments): Add the qualifier
46678 const into OPTIONS.
46679
46680 From Omniflux <omniflux+lists@omniflux.com>:
46681 * include/grub/terminfo.h: New file.
46682 * include/grub/tparm.h: Likewise.
46683 * include/grub/i386/pc/serial.h: Likewise.
46684 * term/terminfo.c: Likewise.
46685 * term/tparm.c: Likewise.
46686 * term/i386/pc/serial.c: Likewise.
46687 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46688 serial.mod.
46689 (terminfo_mod_SOURCES): New variable.
46690 (terminfo_mod_CFLAGS): Likewise.
46691 (serial_mod_SOURCES): Likewise.
46692 (serial_mod_CFLAGS): Likewise.
46693
48b671ff 466942005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46695
46696 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46697 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46698 and kern/powerpc/ieee1275/cmain.c, respectively.
46699
46700 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46701 * kern/powerpc/ieee1275/crt0.S: ... here.
46702
46703 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46704 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46705
48b671ff 46706 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46707 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46708 instead of boot/powerpc/ieee1275/crt0.S and
46709 boot/powerpc/ieee1275/cmain.c, respectively.
46710
46711 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46712 sectors. It was not used anyway.
46713
09fc77a7 467142005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46715
46716 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46717 `unused parameter' warning.
46718
003789c7 467192005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46720
46721 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46722 function.
46723 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46724 getcharwidth.
46725
67f44c86 467262005-08-28 Marco Gerards <metgerards@student.han.nl>
46727
46728 * include/grub/normal.h (enum grub_completion_type): Added
46729 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46730
46731 * normal/cmdline.c (print_completion): Handle
46732 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46733 * normal/menu_entry.c (store_completion): Likewise.
46734
46735 * normal/completion.c (complete_arguments): New function.
46736 (grub_normal_do_completion): Call `complete_arguments' when the
46737 current words start with a dash.
46738
0b5abe02 467392005-08-27 Marco Gerards <metgerards@student.han.nl>
46740
46741 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46742 `gzio.mod' instead of `io.mod').
46743
d9864ee1 467442005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46745
46746 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46747 (DISTDIRS): Added io and video.
46748 Rewrite the search routine to make an output consistently.
46749
46750 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46751 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46752 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46753 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46754 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46755 util/powerpc/ieee1275/misc.c.
f19dbdb7 46756
d9864ee1 46757 * include/grub/gzio.h: New file.
46758 * io/gzio.c: Likewise.
f19dbdb7 46759
d9864ee1 46760 * kern/file.c (grub_file_close): Call grub_device_close only if
46761 FILE->DEVICE is not NULL.
46762
46763 * include/grub/mm.h [!NULL] (NULL): New macro.
46764
46765 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46766
46767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46768 (pkgdata_MODULES): Added gzio.mod.
46769 (gzio_mod_SOURCES): New variable.
46770 (gzio_mod_CFLAGS): Likewise.
46771
46772 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46773 (pkgdata_MODULES): Added gzio.mod.
46774 (gzio_mod_SOURCES): New variable.
46775 (gzio_mod_CFLAGS): Likewise.
46776
46777 * commands/cat.c: Include grub/gzio.h.
46778 (grub_cmd_cat): Use grub_gzfile_open instead of
46779 grub_file_open.
f19dbdb7 46780
d9864ee1 46781 * commands/cmp.c: Include grub/gzio.h.
46782 (grub_cmd_cmp): Use grub_gzfile_open instead of
46783 grub_file_open.
46784
46785 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46786 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46787 grub_file_open.
46788 (grub_rescue_cmd_module): Likewise.
46789
fa46f4b5 467902005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46791
46792 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46793 kern/sparc64/ieee1275/init.c because it contains _start.
46794 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46795
e9211b5d 467962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46797
46798 * configure.ac: Add support for sparc64 host with ieee1275
46799 firmware.
46800 * configure: Generated from configure.ac.
46801 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46802 instead of int.
46803 (grub_ofdisk_read): Likewise.
46804 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46805 pointers as (void *) to remove a warning.
46806 (grub_ofdisk_close): Likewise.
46807 (grub_ofdisk_read): Likewise.
46808 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46809 returns, so make it return void to remove a warning.
46810 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46811 Corresponding prototype change.
46812 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46813 values, and cast the pointers as (void *) to remove a warning.
46814 (grub_mm_dump): Likewise.
46815 * conf/sparc64-ieee1275.mk: New file.
46816 * conf/sparc64-ieee1275.rmk: Likewise.
46817 * include/grub/sparc64/setjmp.h: Likewise.
46818 * include/grub/sparc64/types.h: Likewise.
46819 * include/grub/sparc64/ieee1275/console.h: Likewise.
46820 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46821 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46822 * include/grub/sparc64/ieee1275/time.h: Likewise.
46823 * kern/sparc64/cache.c: Likewise.
46824 * kern/sparc64/dl.c: Likewise.
46825 * kern/sparc64/ieee1275/init.c: Likewise.
46826 * kern/sparc64/ieee1275/openfw.c: Likewise.
46827
385c6a92 468282005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46829
46830 * util/console.c (grub_ncurses_putchar): If C is greater than
46831 0x7f, set C to a question mark.
46832 (grub_ncurses_getcharwidth): New function.
46833 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46834 getcharwidth.
46835
46836 * normal/menu.c (print_entry): Made aware of Unicode. First,
46837 convert TITLE to UCS-4, and predict the cursor position by
46838 grub_getcharwidth.
46839
46840 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46841 const to SRC.
46842 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46843
16ccb8b1 468442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46845
46846 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46847 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46848 grub_strcat.
46849
46850 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46851 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46852 grub_strcpy and grub_strlen. Take it into account that a space
46853 character is inserted as a delimiter.
46854
6a85ce79 468552005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46856
46857 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46858 invalid magic in the error.
6a85ce79 46859
46860 * commands/search.c: New file.
f19dbdb7 46861
6a85ce79 46862 * util/grub-emu.c (main): Call grub_search_init and
46863 grub_search_fini.
46864
46865 * kern/rescue.c (grub_rescue_print_disks): Removed.
46866 (grub_rescue_print_devices): New function.
46867 (grub_rescue_cmd_ls): Use grub_device_iterate with
46868 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46869 grub_rescue_print_disks.
46870
46871 * kern/partition.c (grub_partition_iterate): Return the result of
46872 PARTMAP->ITERATE instead of GRUB_ERRNO.
46873
46874 * kern/device.c: Include grub/partition.h.
46875 (grub_device_iterate): New function.
46876
46877 * include/grub/partition.h (grub_partition_iterate): Return int
46878 instead of grub_err_t.
46879
46880 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46881 prototype.
46882 [GRUB_UTIL] (grub_search_fini): Likewise.
46883
46884 * include/grub/device.h (grub_device_iterate): New prototype.
46885
46886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46887 commands/search.c.
46888 (pkgdata_MODULES): Added search.mod.
46889 (search_mod_SOURCES): New variable.
46890 (search_mod_CFLAGS): Likewise.
46891
46892 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46893 (pkgdata_MODULES): Added search.mod.
46894 (search_mod_SOURCES): New variable.
46895 (search_mod_CFLAGS): Likewise.
46896
46897 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46898 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46899 All callers changed.
46900
46901 * DISTLIST: Added commands/search.c.
46902
ef095434 469032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46904
46905 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46906 conversion.
46907 (grub_getcharwidth): New function.
46908
46909 * kern/misc.c (grub_utf8_to_ucs4): New function.
46910
46911 * include/grub/term.h (struct grub_term): Added a new member
46912 "getcharwidth".
46913 (grub_getcharwidth): New prototype.
46914
46915 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46916
46917 * term/i386/pc/console.c (map_char): New function. Segregated from
46918 grub_console_putchar.
46919 (grub_console_putchar): Use map_char.
46920 (grub_console_getcharwidth): New function.
46921 (grub_console_term): Specified grub_console_getcharwidth as
46922 getcharwidth.
46923
46924 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46925 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46926
46927 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46928 GRUB_ERRNO.
46929 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46930 on grub_strtoul completely.
46931 (write_char): Declare local variables in the beginning of the
46932 function.
46933 (grub_vesafb_getcharwidth): New function.
46934 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46935 getcharwidth.
46936
1f0a95e4 469372005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46938
46939 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46940 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46941 commands/i386/pc/vbetest.c.
46942
46943 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46944 call grub_vbe_get_controller_info again, because the returned
46945 information is volatile.
46946 (grub_vbe_set_video_mode): Mostly rewritten.
46947 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46948 grub_vbe_status_t correctly.
46949 (grub_vbe_get_video_mode_info): Likewise.
46950 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46951 several if statements.
46952
46953 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46954 * commands/i386/pc/vbeinfo.c: ... this.
46955
46956 * commands/i386/pc/vbe_test.c: Renamed to ...
46957 * commands/i386/pc/vbetest.c: ... this.
46958
46959 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46960 ...
46961 (grub_cmd_vbeinfo): ... this. Save video modes before
46962 iterating. Skip a video mode, if it is not available, not enough
46963 information is given or it is monochrome. Show the memory
46964 model. Leave the interpretation of MODEVAR to grub_strtoul
46965 completely.
46966 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46967 (GRUB_MOD_FINI): Likewise.
46968
46969 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46970 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46971 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46972 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46973 grub_strtoul completely.
46974 (real2pm): Removed.
46975 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46976 (GRUB_MOD_FINI): Likewise.
46977
46978 * normal/misc.c: Include grub/mm.h.
46979
46980 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46981 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46982 (vbe_list_modes_mod_SOURCES): Removed.
46983 (vbe_list_modes_mod_CFLAGS): Likewise.
46984 (vbe_test_mod_SOURCES): Likewise.
46985 (vbe_test_mod_CFLAGS): Likewise.
46986 (vbeinfo_mod_SOURCES): New variable.
46987 (vbeinfo_mod_CFLAGS): Likewise.
46988 (vbetest_mod_SOURCES): Likewise.
46989 (vbetest_mod_CFLAGS): Likewise.
46990
992ffbbe 469912005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46992
46993 * normal/misc.c: New file.
46994
46995 * DISTLIST: Added normal/misc.c.
f19dbdb7 46996
992ffbbe 46997 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46998 DISK to HOOK. Call HOOK with DISK.
46999 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47000 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47001 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47002
47003 * normal/menu_entry.c (struct screen): Added a new member
47004 "completion_shown".
47005 (completion_buffer): New global variable.
47006 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47007 (store_completion): New function.
47008 (complete): Likewise.
47009 (clear_completions): Likewise.
47010 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47011 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47012 a tab, call complete.
47013
47014 * normal/completion.c (disk_dev): Removed.
47015 (print_simple_completion): Likewise.
47016 (print_partition_completion): Likewise.
47017 (print_func): New global variable.
47018 (add_completion): Do not take the arguments WHAT or PRINT any
47019 longer. Added a new argument TYPE. Instead of printing directly,
47020 call PRINT_FUNC if not NULL.
47021 All callers changed.
47022 (complete_device): Use a local variable DEV instead of
47023 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47024 (grub_normal_do_completion): Take a new argument HOOK. Do not
47025 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47026 empty string, return NULL instead.
47027 All callers changed.
47028
47029 * normal/cmdline.c (print_completion): New function.
47030
47031 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47032 to HOOK.
47033 All callers changed.
47034
47035 * kern/disk.c (grub_print_partinfo): Removed.
47036
47037 * include/grub/partition.h (struct grub_partition_map): Add a new
47038 argument DISK into HOOK of ITERATE.
47039 (grub_partition_iterate): Add a new argument DISK to HOOK.
47040
47041 * include/grub/normal.h (enum grub_completion_type): New enum.
47042 (grub_completion_type_t): New type.
47043 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47044 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47045 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47046 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47047 (grub_normal_do_completion): Added a new argument HOOK.
47048 (grub_normal_print_device_info): New prototype.
47049
47050 * include/grub/disk.h (grub_print_partinfo): Removed.
47051
47052 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47053 (normal_mod_SOURCES): Likewise.
47054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47055 (normal_mod_SOURCES): Likewise.
47056
47057 * commands/ls.c (grub_ls_list_disks): Use
47058 grub_normal_print_device_info instead of grub_print_partinfo. Free
47059 PNAME.
47060 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47061 duplicating the code.
47062
0bd41162 470632005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47064
47065 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47066 follow GCS more precisely.
47067 * commands/i386/pc/vbe_test.c: Likewise.
47068 * include/grub/i386/pc/vbe.h: Likewise.
47069 * term/i386/pc/vesafb.c: Likewise.
47070 * video/i386/pc/vbe.c: Likewise.
0bd41162 47071
6323696a 470722005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47073
47074 * DISTLIST: Added term/i386/pc/vesafb.c
47075 DISTLIST: Added video/i386/pc/vbe.c
47076 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47077 DISTLIST: Added commands/i386/pc/vbe_test.c.
47078 * commands/i386/pc/vbe_list_modes.c: New file.
47079 * commands/i386/pc/vbe_test.c: Likewise.
47080 * term/i386/pc/vesafb.c: Likewise.
47081 * video/i386/pc/vbe.c: Likewise.
47082 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47083 (grub_vbe_probe) Added prototype.
47084 (grub_vbe_set_video_mode) Likewise.
47085 (grub_vbe_get_video_mode) Likewise.
47086 (grub_vbe_get_video_mode_info) Likewise.
47087 (grub_vbe_set_pixel_rgb) Likewise.
47088 (grub_vbe_set_pixel_index) Likewise.
47089 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47090 (pkgdata_MODULES): Added vesafb.mod.
47091 (pkgdata_MODULES): Added vbe_list_modes.mod.
47092 (pkgdata_MODULES): Added vbe_test.mod.
47093 (vbe_mod_SOURCES): Added.
47094 (vbe_mod_CFLAGS): Likewise.
47095 (vesafb_mod_SOURCES): Likewise.
47096 (vesafb_mod_CFLAGS): Likewise.
47097 (vbe_list_modes_mod_SOURCES): Likewise.
47098 (vbe_list_modes_mod_CFLAGS): Likewise.
47099 (vbe_test_mod_SOURCES): Likewise.
47100 (vbe_test_mod_CFLAGS): Likewise.
47101
0a74e62f 471022005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47103
0a74e62f 47104 * normal/command.c (grub_command_execute): If INTERACTIVE is
47105 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47106 CMDLINE. Disable the pager if INTERACTIVE is true.
47107 All callers are changed.
47108
47109 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47110 before reading a config file.
47111 * normal/main.c (read_config_file): Even if a command is not
47112 found, register it if it is within an entry.
47113
47114 * util/grub-emu.c: Include sys/types.h and unistd.h.
47115 (options): Added --hold.
47116 (struct arguments): Added a new member "hold".
47117 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47118 missing.
47119 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47120 cleared by a debugger, if it is not zero.
47121
47122 * include/grub/normal.h (grub_command_execute): Add an argument
47123 INTERACTIVE.
47124
e51f85ae 471252005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47126
47127 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47128
e9c6f39b 471292005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47130
47131 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47132 program with another one, because the old one didn't detect a bug
47133 in gcc-3.4. Always use regparm 2, because the new test is still
47134 not enough for gcc-4.0. Someone must investigate a simple test
47135 case which detects a bug in gcc-4.0.
47136
8de3495c 471372005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47138
47139 * DISTLIST: Added normal/completion.c.
47140
47141 * normal/completion.c: New file.
f19dbdb7 47142
8de3495c 47143 * term/i386/pc/console.c (grub_console_getwh): New function.
47144 (grub_console_term): Assign grub_console_getwh to getwh.
47145
47146 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
47147 function is defined in normal/completion.c as
47148 grub_normal_do_completion.
47149 (grub_cmdline_get): Use grub_normal_do_completion instead of
47150 grub_tab_complete.
47151
47152 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
47153 returns non-zero, otherwise return 0.
47154 (grub_partition_iterate): First, probe the partition map. Then,
47155 call ITERATE only for this partition map.
47156
47157 * kern/misc.c (grub_strncmp): Rewritten.
47158
47159 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
47160 returns non-zero. Otherwise return 0.
47161
47162 * include/grub/partition.h (grub_partition_map_iterate): Return
47163 int instead of void.
47164
47165 * include/grub/normal.h (grub_normal_do_completion): New prototype.
47166
47167 * include/grub/misc.h (grub_strncmp): Change the type of N to
47168 grub_size_t.
47169
47170 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
47171 of void.
47172
47173 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 47174 unsigned explicitly before comparing it with I.
8de3495c 47175
47176 * kern/main.c (grub_env_write_root): Add the attribute unused into
47177 VAR.
47178
47179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47180 normal/completion.c.
47181 (normal_mod_SOURCES): Likewise.
47182 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47183 (normal_mod_SOURCES): Likewise.
47184
47185 * normal/command.c (grub_iterate_commands): If ITERATE returns
47186 non-zero, return one immediately.
47187
e85e144b 471882005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47189
47190 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47191 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47192 descriptions.
47193 (grub_vbe_get_controller_info): New function.
47194 (grub_vbe_get_mode_info): Likewise.
47195 (grub_vbe_set_mode): Likewise.
47196 (grub_vbe_get_mode): Likewise.
47197 (grub_vbe_set_memory_window): Likewise.
47198 (grub_vbe_get_memory_window): Likewise.
47199 (grub_vbe_set_scanline_length): Likewise.
47200 (grub_vbe_get_scanline_length): Likewise.
47201 (grub_vbe_set_display_start): Likewise.
47202 (grub_vbe_get_display_start): Likewise.
47203 (grub_vbe_set_palette_data): Likewise.
47204 * include/grub/i386/pc/vbe.h: New file.
47205
c46153d2 472062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47207
47208 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47209 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47210 * DISTLIST: Likewise.
47211 * kern/ieee1275/of.c: Moved to ...
47212 * kern/ieee1275/ieee1275.c: ... here.
47213
0cb90c45 472142005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47215
47216 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47217 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47218 Pass 0 as `end' parameter to grub_strtoul().
47219
a19fb360 472202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47221
47222 * include/grub/powerpc/ieee1275/console.h: Do not include
47223 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47224 ifdef.
47225 (grub_console_cur_color): Remove i386-specific prototype.
47226 (grub_console_real_putchar): Likewise.
47227 (grub_console_checkkey): Likewise.
47228 (grub_console_getkey): Likewise.
47229 (grub_console_getxy): Likewise.
47230 (grub_console_gotoxy): Likewise.
47231 (grub_console_cls): Likewise.
47232 (grub_console_setcursor): Likewise.
47233 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47234 Include <grub/machine/console.h>.
47235 * term/ieee1275/ofconsole.c: Likewise.
47236
4ac9bd04 472372005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47238
47239 * Makefile.in (LIBLZO): New variable.
47240
47241 * configure.ac: Check for LZO version 2.
47242
47243 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47244 lzo/lzo1x.h instead of lzo1x.h.
47245
47246 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47247 of -llzo.
47248
47249 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47250 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47251
47252 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47253 copying the data from PARTITION to P.
47254
f4917dfd 472552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47256
47257 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47258 negative, unload the module.
47259
47260 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47261 map is "pc_partition_map" but not "pc".
47262 (usage): Fix the description. The options are --boot-image and
47263 --core-image but not --boot-file or --core-file.
47264 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47265 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47266 DEFAULT_DIRECTORY.
47267
47268 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47269 --core-file. Specify INSTALL_DEVICE as an argument.
47270
47271 * util/console.c: Include config.h.
47272 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47273 [HAVE_NCURSES_H]: Include ncurses.h.
47274 [HAVE_CURSES_H]: Include curses.h.
47275 [!A_NORMAL] (A_NORMAL): Defined as zero.
47276 [!A_STANDOUT] (A_STANDOUT): Likewise.
47277
47278 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47279 -lncurses.
47280 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47281
47282 * configure.ac: Check for curses libraries and headers.
47283
47284 * Makefile.in (LIBCURSES): New variable.
47285
47286 * genmk.rb (Script::rule): Set the executable bits.
47287
47288 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47289 name of the PC partition map is "pc_partition_map" but not "pc".
47290
0e143073 472912005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47292
47293 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47294 (modules): Likewise.
47295 (usage): Added descriptions for --modules and --grub-probefs.
47296 Handle --modules and --grub-probefs. Save the arguments in MODULES
47297 and GRUB_PROBEFS, respectively.
47298 Auto-detect a filesystem module against GRUBDIR. If the result is
47299 empty and modules are not specified explicitly, abort the
47300 installation. Add the result to MODULES.
47301
47302 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47303 disk/powerpc/ieee1275/ofdisk.c,
47304 include/grub/powerpc/ieee1275/init.h and
47305 term/powerpc/ieee1275/ofconsole.c.
47306 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47307 term/ieee1275/ofconsole.c.
47308
47309 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47310
47311 * COPYING: Upgraded to the latest version. Only the address of the
47312 FSF office has changed.
f19dbdb7 47313
efd6e6d5 473142005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47315
47316 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47317 kern/ieee1275.c with kern/ieee1275/of.c.
47318
47319 * kern/ieee1275.c: Moved to ...
47320 * kern/ieee1275/of.c: ... here.
47321
8ceafda2 473222005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47323
47324 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47325 readability.
8ceafda2 47326
47327 * config.guess: Updated to the latest version from gnulib.
47328 * config.sub: Likewise.
47329 * install.sh: Likewise.
47330 * mkinstalldirs: Likewise.
47331
47332 * include/grub/console.h: Removed. This file is arch-specific. Do
47333 not put this in include/grub.
47334
47335 * include/grub/i386/pc/console.h: Resurrected.
47336
47337 * util/console.c: Include grub/machine/console.h instead of
47338 grub/console.h.
47339 * util/grub-emu.c: Likewise.
47340
267f6cd9 473412005-08-04 Marco Gerards <metgerards@student.han.nl>
47342
47343 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47344 hardcoded value.
f19dbdb7 47345
267f6cd9 47346 From Vincent Pelletier <subdino2004@yahoo.fr>
47347 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47348 Redefined to use grub_getwh.
47349 (grub_term): New member named getwh.
47350 (grub_getwh): New prototype.
47351 * kern/term.c (grub_getwh): New function.
47352 * term/i386/pc/console.c (grub_console_getwh): New function.
47353 (grub_console_term): New member `getwh'.
47354 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47355 (grub_vga_term): New member `getwh'.
0b5abe02 47356 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47357 grub_ssize_t.
47358 (grub_ofconsole_getw): New function.
47359 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47360 (grub_ofconsole_term): New field named getwh and new initial
47361 value.
47362
3be7266d 473632005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47364
47365 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47366 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47367 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47368 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47369 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47370 of <grub/machine/ieee1275.h>.
47371 * commands/ieee1275/reboot.c: Likewise.
47372 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47373 * kern/ieee1275.c: ... to here. All users updated. Change all
47374 parameter structs to use new type `grub_ieee1275_cell_t'.
47375 * term/powerpc/ieee1275/ofconsole.c: Move ...
47376 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47377 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47378 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47379 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47380 to return int.
47381 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47382 Remove unused prototypes. All users updated.
47383 * include/grub/powerpc/ieee1275/console.h: Removed.
47384 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47385 `grub_ieee1275_cell_t'.
47386 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47387 Cast comparisons with -1 to the correct type.
47388 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47389 type to match `grub_ieee1275_entry_fn'.
47390
8b5f3938 473912005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47392
47393 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47394
47395 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47396 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47397 partmap/sun.c.
47398 (grub_probefs_SOURCES): New variable.
47399
47400 * util/i386/pc/grub-probefs.c: New file.
47401
47402 * util/i386/pc/grub-setup.c (main): Call
47403 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47404 grub_hfs_init and grub_jfs_init to initialize the system. Call
47405 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47406 grub_pc_partition_map_fini to finish the system.
47407
ea409713 474082005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47409
47410 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47411 function.
47412 (grub_multiboot_load_elf32): Likewise.
47413 (grub_multiboot_is_elf64): Likewise.
47414 (grub_multiboot_load_elf64): Likewise.
47415 (grub_multiboot_load_elf): Likewise.
47416 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47417 an ELF32 or ELF64 file.
47418 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47419
47420 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47421 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47422 NULL before calling FS->LABEL.
47423 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47424 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47425 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47426 before calling FS->LABEL.
47427
141a288b 474282005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47429
47430 * util/i386/pc/grub-install.in (datadir): New variable.
47431 (libdir): Removed.
47432 (pkgdatadir): New variable.
47433 (pkglibdir): Removed.
47434
0d5f8a54 474352005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47436
47437 * DISTLIST: Added util/i386/pc/grub-install.in.
47438
47439 * util/i386/pc/grub-install.in: New file.
47440
47441 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47442 (grub_install_SOURCES): Likewise.
47443
47444 * genmk.rb: Added support for scripts.
47445 (Script): New class.
47446 (scripts): New variable.
47447
47448 * Makefile.in (install-local): Install sbin_SCRIPTS by
47449 INSTALL_SCRIPT.
47450 (uninstall): Remove sbin_SCRIPTS.
47451
47452 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47453 device, try to get a GRUB device by
47454 grub_util_biosdisk_get_grub_dev.
47455 Free DEST_DEV.
47456
47457 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47458 description for --device-map.
47459
5f968e1e 474602005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47461
47462 Change the semantics of variable hooks. They now return strings
47463 instead of error values.
f19dbdb7 47464
5f968e1e 47465 * util/i386/pc/grub-setup.c: Include grub/env.h.
47466 (setup): Use grub_device_set_root instead of grub_env_set.
47467
47468 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47469 grub_env_get instead of grub_device_set_root and
47470 grub_device_get_root, respectively.
47471
47472 * kern/main.c (grub_env_write_root): New function.
47473 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47474 grub_env_set instead of grub_device_set_root.
47475
47476 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47477 many variables.
47478 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47479 rather than calling ENV->WRITE_HOOK afterwards.
47480 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47481 passing a pointer of a pointer.
47482 (grub_register_variable_hook): Change the types of "read_hook" and
47483 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47484 respectively.
47485 Allocate the default empty string on the heap, because this string
47486 may be freed later.
47487
47488 * kern/device.c: Include grub/env.h.
47489 (grub_device_set_root): Removed.
47490 (grub_device_get_root): Likewise.
47491 (grub_device_open): Use grub_env_get instead of
47492 grub_device_get_root.
47493
47494 * include/grub/env.h (grub_env_read_hook_t): New type.
47495 (grub_env_write_hook_t): Likewise.
47496 (grub_env_var): Change the types of "read_hook" and "write_hook"
47497 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47498 (grub_register_variable_hook): Likewise.
47499
47500 * include/grub/device.h (grub_device_set_root): Removed.
47501 (grub_device_set_root): Likewise.
47502
47503 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47504 make sure that DIRNAME terminates with '/', so that
47505 grub_fat_find_dir will fail if PATH is not a directory.
47506
47507 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47508 from DIRNAME.
47509 Use the qualifier auto for print_files and print_files_long.
47510 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47511 as a regular file.
47512 Put a newline only if there is no error.
47513 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47514 used.
47515
896f0afd 475162005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47517
47518 * kern/partition.c (grub_partition_probe): Initialize PART to
47519 NULL. Otherwise, when no partition map is registered, this returns
47520 a garbage.
47521
b28b81b2 475222005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47523
47524 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47525 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47526 valid.
47527
5f3607e0 475282005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47529
47530 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47531 information on each device, if it does not have partitions. Print
47532 "Device" instead of "Disk", because this function is not specific
47533 to disk devices.
47534
47535 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47536 static to ensure that it is put on the memory rather than a
47537 register.
47538
502c87e8 475392005-07-17 Yoshinori Okuji <okuji@enbug.org>
47540
47541 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47542 (grub_cat_init): Likewise.
47543 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47544 (options): Likewise.
47545 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47546 (grub_configfile_init): Likewise.
47547 * font/manager.c (GRUB_MOD_INIT): Likewise.
47548 * commands/help.c (GRUB_MOD_INIT): Likewise.
47549 (grub_help_init): Likewise.
47550 * normal/command.c (grub_command_init): Likewise.
47551 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47552 * disk/loopback.c (grub_loop_init): Likewise.
47553 (GRUB_MOD_INIT): Likewise.
47554 * commands/ls.c (grub_ls_init): Likewise.
47555 (GRUB_MOD_INIT): Likewise.
47556 (options): Likewise.
47557 * commands/boot.c (grub_boot_init): Likewise.
47558 (GRUB_MOD_INIT): Likewise.
47559 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47560 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47561 (GRUB_MOD_INIT): Likewise.
47562 * commands/cmp.c (grub_cmp_init): Likewise.
47563 (GRUB_MOD_INIT): Likewise.
47564
47565 * normal/arg.c: Use <> instead of "" to include header files.
47566 (SHORT_ARG_HELP): New macro.
47567 (SHORT_ARG_USAGE): Likewise.
47568 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47569 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47570 descriptions.
47571 (find_short): Check if C is 'h' or 'u' explicitly.
47572 (grub_arg_show_help): Use space characters instead of tabs. Treat
47573 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47574 are shown with --help and --usage only if they are not used for
47575 the command itself.
47576 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47577 'h' and 'u'.
47578
47579 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47580 const into "longarg". Change the type of "shortarg" to int.
47581
f806d18e 475822005-07-17 Yoshinori Okuji <okuji@enbug.org>
47583
47584 * boot/i386/pc/boot.S (boot_drive_check): New label.
47585
47586 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47587 macro.
47588
47589 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47590 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47591
e293232b 475922005-07-17 Yoshinori Okuji <okuji@enbug.org>
47593
47594 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47595 When turning off Gate A20, skip the check and return immediately,
47596 because this is not fatal usually.
47597
ebedfd00 475982005-07-17 Yoshinori Okuji <okuji@enbug.org>
47599
47600 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47601 be 0x7C00 instead of 0x8000.
47602
47603 * boot/i386/pc/pxeboot.S: Rewritten.
47604
47605 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47606 EXT_C.
47607 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47608 result.
47609
654fc59f 476102005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47611
47612 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47613 robustness. This routine now supports a BIOS call and System
47614 Control Port A to modify the gate A20.
47615
47616 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47617 Increased to 0x440.
47618
09f9923f 476192005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47620
47621 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47622 device path and resulting ihandle.
47623 (grub_ofdisk_close): dprintf the ihandle being closed.
47624 (grub_ofdisk_read): dprintf function parameters.
47625 * kern/mm.c (grub_mm_init_region): Likewise.
47626 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47627 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47628 size, and boot arguments.
47629 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47630 before loading into memory.
47631 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47632 before loading into memory.
47633
7ef504d8 476342005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47635
47636 * kern/mm.c: Added much documentation.
47637 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47638 8, set to 5 instead of 8.
47639
e0f050c2 476402005-07-10 Yoshinori Okuji <okuji@enbug.org>
47641
47642 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47643
47644 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47645 (grub_mkdevicemap_SOURCES): New variable.
47646
47647 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47648 lib/device.c of GRUB Legacy.
47649
7224189a 476502005-07-10 Yoshinori Okuji <okuji@enbug.org>
47651
47652 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47653 instead of PATH is NULL.
47654
68c864eb 476552005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47656
47657 * commands/cmp.c (BUFFER_SIZE): New macro.
47658 (grub_cmd_cmp): Close the right file at the right time. Compare
47659 only data just read. Don't report files of different size as
47660 identical. Dynamically allocate buffers. Move variable
47661 declarations at the beginning of function.
47662
e6f3e614 476632005-07-09 Yoshinori Okuji <okuji@enbug.org>
47664
47665 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47666 reverse.
47667
f8f1559a 476682004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47669
47670 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47671 when backspace is pressed at beginning of line.
47672
39c9d41d 476732005-07-03 Yoshinori Okuji <okuji@enbug.org>
47674
47675 * DISTLIST: Added genfslist.sh.
47676
47677 * normal/main.c (fs_module_list): New variable.
47678 (autoload_fs_module): New function.
47679 (read_fs_list): Likewise.
47680 (grub_normal_execute): Call read_fs_list.
47681
47682 * kern/fs.c (grub_fs_autoload_hook): New variable.
47683 (grub_fs_probe): Added support for auto-loading.
47684
47685 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47686 (grub_fs_module_list_t): New type.
47687
47688 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47689 (grub_fs_autoload_hook): New prototype.
47690
47691 * genfslist.sh: New file.
f19dbdb7 47692
39c9d41d 47693 * genmk.rb: Added a rule to generate a filesystem list.
47694
121c1d83 476952005-06-30 Marco Gerards <metgerards@student.han.nl>
47696
47697 * configure.ac: Fix the test for cross-compiling.
47698
47699 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47700 define GRUB_UTIL anymore.
47701
47702 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47703 so this function works on other systems than just big endian.
47704 (load_modules): Likewise.
47705 (add_segments): Likewise.
47706
e75d76e1 477072005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47708
47709 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47710 contains `l' modifier, get a long from va_arg().
47711
50b5a0a7 477122005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47713
47714 * kern/mm.c (grub_free): If the next free block which is being
47715 merged is the first free block, set the first block to the block
47716 being freed.
47717 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47718
89371b20 477192005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47720
47721 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47722 `grub_ieee1275_chosen'.
47723
168d6e58 477242005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47725
47726 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47727 (grub_ieee1275_chosen): New variable.
47728 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47729 `chosen'.
47730 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47731 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47732 Rename first argument to `phandle' for consistency.
47733 (grub_ieee1275_get_property_length): Likewise.
47734 (grub_ieee1275_next_property): Likewise. Change type of first argument
47735 to grub_ieee1275_phandle_t.
47736 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47737 Move export next to declaration.
47738 (grub_ieee1275_chosen): New variable.
47739 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47740 Correct cosmetic typo.
47741 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47742 `grub_ieee1275_chosen'.
47743 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47744 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47745 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47746 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47747 `grub_ieee1275_chosen'.
47748
ca5baa3f 477492005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47750
47751 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47752 /chosen/bootargs.
47753 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47754 /chosen/bootargs as "variable=value" pairs.
47755
708b345f 477562005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47757
47758 * include/grub/misc.h (grub_dprintf): New macro.
47759 (grub_real_dprintf): New prototype.
47760 (grub_strword): Likewise.
47761 (grub_iswordseparator): Likewise.
47762 * kern/misc.c (grub_real_dprintf): New function.
47763 (grub_strword): Likewise.
47764 (grub_iswordseparator): Likewise.
47765
f4c5e67c 477662005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47767
47768 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47769 (roundup): Remove macro.
47770 (grub_ieee1275_flags): Make static.
47771 (grub_ieee1275_realmode): Remove.
47772 (grub_ieee1275_test_flag): New function.
47773 (grub_ieee1275_set_flag): Likewise.
47774 (find_options): Rename to `grub_ieee1275_find_options'; update
47775 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47776 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47777 (cmain): New prototype.
47778 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47779 `grub_ieee1275_flags' directly.
47780 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47781 machine/biosdisk.h.
47782 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47783 Don't include grub/machine/init.h.
47784 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47785 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47786 Remove prototype.
47787 (grub_ieee1275_realmode): Likewise.
47788 (grub_ieee1275_flag): New enum.
47789 (grub_ieee1275_test_flag): New prototype.
47790 (grub_ieee1275_set_flag): New prototype.
47791 * include/grub/powerpc/ieee1275/init.h: Remove file.
47792 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47793 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47794 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47795 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47796 comment.
47797 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47798 `grub_ieee1275_test_flag'.
47799 (grub_ieee1275_encode_devname): Likewise.
47800
ed16607e 478012005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47802
47803 * include/grub/powerpc/ieee1275/ieee1275.h
47804 (grub_ieee1275_encode_devname): New prototype.
47805 (grub_ieee1275_get_filename): Likewise.
47806 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47807 function.
47808 (grub_set_prefix): Likewise.
47809 (grub_machine_init): Call grub_set_prefix.
47810 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47811 (grub_parse_type): New enum.
47812 (grub_ieee1275_get_devargs): New function.
47813 (grub_ieee1275_get_devname): Likewise.
47814 (grub_ieee1275_parse_args): Likewise.
47815 (grub_ieee1275_get_filename): Likewise.
47816 (grub_ieee1275_encode_devname): Likewise.
47817
be369920 478182005-03-30 Marco Gerards <metgerards@student.han.nl>
47819
47820 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47821 `grub_loader_unset'.
47822
a5ce3a4a 478232005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47824
47825 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47826 instead of grub_ieee1275_interpret.
47827 (grub_halt_init): New function.
47828 (grub_halt_fini): Likewise.
47829 (GRUB_MOD_INIT): Correct message grammar.
47830 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47831 instead of grub_ieee1275_interpret.
47832 (grub_reboot_init): New function.
47833 (grub_reboot_fini): Likewise.
47834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47835 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47836 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47837 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47838 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47839 function.
47840 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47841 Add prototype.
47842 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47843 prototype.
47844 (grub_halt): Likewise.
47845 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47846 (cmain): Remove __attribute__((unused)).
47847 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47848 (grub_heap_len): Likewise.
47849 (grub_machine_fini): New function.
47850 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47851 (grub_halt): Likewise.
47852 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47853 function.
47854 * util/powerpc/ieee1275/misc.c: New file.
47855
0058f771 478562005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47857
47858 * DISTLIST: New file.
47859 * gendistlist.sh: Likewise.
f19dbdb7 47860
0058f771 47861 * Makefile.in (COMMON_DISTFILES): Removed.
47862 (BOOT_DISTFILES): Likewise.
47863 (CONF_DISTFILES): Likewise.
47864 (DISK_DISTFILES): Likewise.
47865 (FS_DISTFILES): Likewise.
47866 (INCLUDE_DISTFILES): Likewise.
47867 (KERN_DISTFILES): Likewise.
47868 (LOADER_DISTFILES): Likewise.
47869 (TERM_DISTFILES): Likewise.
47870 (UTIL_DISTFILES): Likewise.
47871 (DISTFILES): Likewise.
47872 (uninstall): Uninstall files in $(pkgdata_DATA).
47873 (DISTLIST): New target.
47874 (distdir): Use the contents of the file DISTLIST to get a list of
47875 distributed files.
47876
46b3b8a5 478772005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47878
47879 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47880 descriptor. This is ported from GRUB Legacy.
47881
47882 * gencmdlist.sh: Added an extra semicolon to make it work with
47883 old sed versions. Reported by Robert Bihlmeyer
47884 <robbe@orcus.priv.at>.
47885
5822ff87 478862005-03-08 Yoshinori Okuji <okuji@enbug.org>
47887
47888 Automatic loading of commands is supported.
f19dbdb7 47889
5822ff87 47890 * normal/main.c (read_command_list): New function.
47891 (grub_normal_execute): Call read_command_list.
47892
47893 * normal/command.c (grub_register_command): Return zero or CMD.
47894 Allocate CMD->NAME from the heap.
47895 Initialize CMD->MODULE_NAME to zero.
47896 Find the same name as well. If the same command is found and it is
47897 a dummy command, overwrite members. If it is not a dummy command,
47898 return zero.
47899 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47900 (grub_command_find): If a dummy command is found, load a module
47901 and retry to find a command only once.
47902
47903 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47904 make sure that each command is loaded.
47905
47906 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47907 macro.
47908 (struct grub_command): Remove const from the member `name'.
47909 Add a new member `module_name'.
47910 (grub_register_command): Return grub_command_t.
47911
47912 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47913 sure that each command is loaded.
47914
47915 * genmk.rb (PModule::rule): Specify a module name without the
47916 suffix ".mod" to gencmdlist.sh.
47917
7b1f4b57 479182005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47919
47920 * gencmdlist.sh: New file.
f19dbdb7 47921
7b1f4b57 47922 * genmk.rb (PModule::rule): Generate a rule for a command list.
47923 Clean command.lst.
47924 Generate command.lst from $(COMMANDFILES).
47925
47926 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47927 (DATA): Added $(pkgdata_DATA).
47928 (install-local): Install files in $(pkgdata_DATA).
47929
062aaf39 479302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47931
47932 * term/i386/pc/vga.c (debug_command): Removed.
47933 (GRUB_MOD_INIT): Do not register the command "debug".
47934
47935 From Hollis Blanchard:
47936 * commands/configfile.c: New file.
47937 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47938 commands/configfile.c.
47939 (pkgdata_MODULES): Added configfile.mod.
47940 (configfile_mod_SOURCES): New variable.
47941 (configfile_mod_CFLAGS): Likewise.
47942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47943 commands/configfile.c.
47944 (pkgdata_MODULES): Added configfile.mod.
47945 (configfile_mod_SOURCES): New variable.
47946 (configfile_mod_CFLAGS): Likewise.
47947 * util/grub-emu.c (main): Call grub_configfile_init and
47948 grub_configfile_fini.
47949 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47950 prototype.
47951 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47952
cee01aa6 479532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47954
47955 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47956 address.
47957
47958 * commands/help.c (grub_cmd_help): Do not print newlines after
47959 the last command in print_command_help.
47960
93f3a1d8 479612005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47962
47963 * commands/default.h: New file.
47964 * commands/timeout.h: Likewise.
47965 * normal/context.c: Likewise.
f19dbdb7 47966
93f3a1d8 47967 * util/misc.c: Do not include sys/times.h.
47968 Include sys/time.h and grub/machine/time.h.
47969 (grub_get_rtc): Rewritten with gettimeofday.
47970
47971 * util/grub-emu.c (main): Call grub_default_init and
47972 grub_timeout_init before grub_normal_init, and call
47973 grub_timeout_fini and grub_default_fini after grub_main.
47974
47975 * util/console.c (grub_ncurses_checkkey): Return the read
47976 character or -1.
47977
47978 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47979 timeouts.
47980
47981 * normal/main.c (read_config_file): Push MENU. If this fails,
47982 print an error and wait for a user input.
47983 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47984 If a menu is empty or an error occurs, pop MENU.
47985 (grub_normal_execute): Pop and free MENU after grub_menu_run
47986 returns.
47987
47988 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47989
47990 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47991 include time.h.
47992 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47993 without GRUB_UTIL.
47994 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47995 time.h.
47996 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47997 without GRUB_UTIL.
47998
47999 * include/grub/normal.h (struct grub_menu_list): New struct.
48000 (grub_menu_list_t): New type.
48001 (struct grub_context): New struct.
48002 (grub_context_t): New type.
48003 (grub_register_command): Got rid of EXPORT_FUNC.
48004 (grub_unregister_command): Likewise.
48005 (grub_context_get): New prototype.
48006 (grub_context_get_current_menu): Likewise.
48007 (grub_context_push_menu): Likewise.
48008 (grub_context_pop_menu): Likewise.
48009 [GRUB_UTIL] (grub_default_init): Likewise.
48010 [GRUB_UTIL] (grub_default_fini): Likewise.
48011 [GRUB_UTIL] (grub_timeout_init): Likewise.
48012 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48013
48014 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48015 commands/timeout.c and normal/context.c.
48016 (pkgdata_MODULES): Added default.mod and timeout.mod.
48017 (normal_mod_SOURCES): Added normal/context.c.
48018 (default_mod_SOURCES): New variable.
48019 (default_mod_CFLAGS): Likewise.
48020 (timeout_mod_SOURCES): Likewise.
48021 (timeout_mod_CFLAGS): Likewise.
48022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48023 conf/i386-pc.rmk.
48024 (pkgdata_MODULES): Added default.mod and timeout.mod.
48025 (normal_mod_SOURCES): Added normal/context.c.
48026 (default_mod_SOURCES): New variable.
48027 (default_mod_CFLAGS): Likewise.
48028 (timeout_mod_SOURCES): Likewise.
48029 (timeout_mod_CFLAGS): Likewise.
48030
48031 * Makefile.in (all-local): Added $(MKFILES).
48032
4ed2e1dd 480332005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48034
48035 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48036 (grub_emu_SOURCES): Likewise.
48037 (pkgdata_MODULES): Add `sun.mod'.
48038 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48040 `partmap/sun.c'.
48041 (pkgdata_MODULES): Add `sun.mod'.
48042 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48043 * include/grub/partition.h (grub_sun_partition_map_init): New
48044 prototype.
48045 (grub_sun_partition_map_fini): Likewise.
48046 * partmap/sun.c: New file.
48047 * util/grub-emu.c (main): Initialize and de-initialize the sun
48048 partitionmap support.
48049
4d4e372e 480502005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48051
48052 This implements an Emacs-like menu entry editor.
f19dbdb7 48053
4d4e372e 48054 * normal/menu_entry.c: New file.
f19dbdb7 48055
4d4e372e 48056 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48057 characters to ASCII.
48058 (saved_char): New variable.
48059 (grub_ncurses_checkkey): Rewritten completely.
48060 (grub_ncurses_getkey): Likewise.
48061 (grub_ncurses_init): Call raw instead of cbreak.
48062
48063 * normal/menu.c (print_entry): Do not put a space.
48064 (init_page): Renamed to ...
48065 (grub_menu_init_page): ... this. All callers changed.
48066 (edit_menu_entry): Removed.
48067 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48068
48069 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48070
48071 * kern/misc.c (grub_vprintf): Call grub_refresh.
48072
48073 * normal/menu.c (DISP_LEFT): Renamed to ...
48074 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48075 * normal/menu.c (DISP_UP): Renamed to ...
48076 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48077 * normal/menu.c (DISP_RIGHT): Renamed to ...
48078 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48079 * normal/menu.c (DISP_DOWN): Renamed to ...
48080 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48081 * normal/menu.c (DISP_HLINE): Renamed to ...
48082 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48083 * normal/menu.c (DISP_VLINE): Renamed to ...
48084 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48085 * normal/menu.c (DISP_UL): Renamed to ...
48086 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48087 * normal/menu.c (DISP_UR): Renamed to ...
48088 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48089 * normal/menu.c (DISP_LL): Renamed to ...
48090 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48091 * normal/menu.c (DISP_LR): Renamed to ...
48092 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48093 * normal/menu.c (TERM_WIDTH): Renamed to ...
48094 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48095 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48096 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48097 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48098 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48099 * normal/menu.c (TERM_MARGIN): Renamed to ...
48100 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48101 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48102 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48103 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48104 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48105 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48106 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48107 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48108 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48109 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48110 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48111 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48112 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48113 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48114 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48115 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48116 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48117 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48118 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48119 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48120 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48121 All callers changed.
48122
48123 * include/grub/normal.h: New prototype.
48124
48125 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48126 normal/menu_entry.c.
48127 (normal_mod_SOURCES): Likewise.
48128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48129 (normal_mod_SOURCES): Likewise.
48130
e6b92c8a 481312005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48132
48133 * include/grub/normal.h (grub_halt_init): New prototype.
48134 (grub_halt_fini): Likewise.
48135 (grub_reboot_init): Likewise.
48136 (grub_reboot_fini): Likewise.
48137
48138 * util/grub-emu.c: Include signal.h.
48139 (main_env): New global variable.
48140 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48141 catch C-c.
48142 (grub_machine_fini): New function.
48143 (main): Call grub_halt_init and grub_reboot_init before
48144 grub_main, and grub_reboot_fini and grub_halt_fini after it.
48145 Call setjmp with MAIN_ENV to go back afterwards.
48146 Call grub_machine_fini right before return.
48147
48148 * include/grub/util/misc.h: Include setjmp.h.
48149 (main_env): New prototype.
48150
48151 * include/grub/kernel.h (grub_machine_fini): New prototype.
48152 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
48153 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
48154
48155 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
48156 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
48157 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 48158
e6b92c8a 48159 * util/i386/pc/misc.c: New file.
f19dbdb7 48160
e6b92c8a 48161 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48162 util/i386/pc/misc.c, commands/i386/pc/halt.c and
48163 commands/i386/pc/reboot.c.
48164
c642636f 481652005-02-14 Guillem Jover <guillem@hadrons.org>
48166
48167 * include/grub/dl.h (grub_dl_check_header): New prototype.
48168 (grub_arch_dl_check_header): Change return type to grub_err_t,
48169 remove size parameter and export function. Update all callers.
48170 * kern/dl.c (grub_dl_check_header): New function.
48171 (grub_dl_load_core): Use `grub_dl_check_header' instead of
48172 `grub_arch_dl_check_header'. Check ELF type. Check if sections
48173 are inside the core.
48174 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
48175 independent ELF header checks.
48176 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48177 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48178 `grub_dl_check_header' instead of explicit checks. Check for the
48179 ELF type.
48180 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48181 `grub_dl_check_header' instead of explicit checks. Remove arch
48182 specific ELF header checks.
48183
e6b92c8a 48184 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48185 argument SIZE.
48186
5eabe94b 481872005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48188
48189 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48190 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48191
1b14a681 481922005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48193
48194 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48195 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48196 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48197 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48198 * partmap/amiga.c (amiga_partition_map_iterate): Return
48199 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48200 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48201
aca108aa 482022005-02-01 Guillem Jover <guillem@hadrons.org>
48203
48204 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48205 help info.
48206
c9f9c556 482072005-01-31 Marco Gerards <metgerards@student.han.nl>
48208
48209 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48210 Removed prototype.
48211 (grub_rescue_cmd_linux): New prototype.
48212 (grub_rescue_cmd_initrd): Likewise.
48213 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48214 `bi_rec'.
48215 (grub_linux_release_mem): Release the memory for the initrd.
48216 (grub_load_linux): Renamed from this...
48217 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48218 Changed `entry' not to be static. Loop over memory regions to
48219 find another one when the default fails.
48220 (grub_rescue_cmd_initrd): New function.
48221 (grub_linux_init): Remove function.
48222 (grub_linux_fini): Likewise.
48223 (GRUB_MOD_INIT): Register `initrd'.
48224 (GRUB_MOD_FINI): Unregister `initrd'.
48225 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48226 Function removed.
48227 (grub_linux_normal_fini): Likewise.
48228 (GRUB_MOD_INIT): Register `initrd'.
48229 (GRUB_MOD_FINI): Unregister `initrd'.
48230
990cf3aa 482312005-01-31 Marco Gerards <metgerards@student.han.nl>
48232
48233 * commands/help.c: New file.
48234 * normal/arg.c (show_help): Renamed to...
48235 (grub_arg_show_help): ... this.
48236 * commands/i386/pc/halt.c: New file.
48237 * commands/i386/pc/reboot.c: Likewise.
48238 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48239 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48240 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48241 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48242 variables.
48243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48244 `commands/help.c'.
48245 (pkgdata_MODULES): Add `help.mod'.
48246 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48247 * grub/i386/pc/init.h (grub_reboot): New prototype.
48248 (grub_halt): Likewise.
48249 * include/grub/normal.h (grub_arg_show_help): New prototype.
48250 (grub_help_init): Likewise.
48251 (grub_help_fini): Likewise.
48252 * util/grub-emu.c (main): Initialize and deinitialize the help
48253 command.
48254
48255 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48256
48257 * normal/command.c (grub_command_init): Fixed the description of
48258 the `set' and `unset' commands.
48259
482602005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48261
48262 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48263 function.
48264 * commands/ieee1275/halt.c: New file.
48265 * commands/ieee1275/reboot.c: Likewise.
48266 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48267 `__attribute__ ((unused))'. Some GCS related fixed.
48268 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48269 (grub_suspend_fini): Likewise.
48270 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48271 and `halt.mod'.
48272 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48273 (halt_mod_CFLAGS): New variables.
48274 * include/grub/powerpc/ieee1275/ieee1275.h
48275 (grub_ieee1275_interpret): New prototype.
48276
1ab09cc7 482772005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48278
48279 * include/grub/misc.h (memmove): New prototype.
48280 (memcpy): Likewise.
48281
8b8cbdb2 482822005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48283
48284 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48285 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48286
e3741a27 482872005-01-22 Marco Gerards <metgerards@student.han.nl>
48288
48289 * kern/misc.c (grub_strndup): Function rewritten.
48290
776bd780 482912005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48292
48293 * normal/menu.c (TERM_WIDTH): Macro redefined.
48294 (TERM_TOP_BORDER_Y): Likewise.
48295 (draw_border): Replaced while-loop by a for-loop. Make the number
48296 of lines consistent with the number of lines displayed in
48297 print_entries. Added a margin below the rectangle.
48298 (print_entry): Make the entry fit in the rectangle.
48299 (print_entries): Display the scroll arrows next to the right
48300 border.
48301
78026bce 483022005-01-21 Marco Gerards <metgerards@student.han.nl>
48303
48304 * fs/minix.c (grub_minix_find_file): Reserve more space for
48305 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48306 `grub_strncpy' to copy `path' into it.
48307
67bbaf0f 483082005-01-21 Marco Gerards <metgerards@student.han.nl>
48309
48310 Add the loopback device, a device via which files can be accessed
48311 as devices.
f19dbdb7 48312
67bbaf0f 48313 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48314 (pkgdata_MODULES): Add loopback.mod.
48315 (loopback_mod_SOURCES): New variable.
48316 (loopback_mod_CFLAGS): Likewise.
48317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48318 `disk/loopback.c'.
48319 (pkgdata_MODULES): Add loopback.mod.
48320 (loopback_mod_SOURCES): New variable.
48321 (loopback_mod_CFLAGS): Likewise.
48322 * disk/loopback.c: new file.
48323 * include/grub/normal.h (grub_loop_init): New prototype.
48324 (grub_loop_fini): New prototype.
48325 * util/grub-emu.c (main): Initialize and de-initialize loopback
48326 support.
48327 * include/grub/disk.h (grub_disk_dev_id): Add
48328 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48329
6f1c18bd 483302005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48331
48332 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48333 function.
48334 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48335 (suspend_mod_SOURCES): New variable.
48336 (suspend_mod_CFLAGS): Likewise.
48337 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48338 New prototype.
48339 * commands/ieee1275/suspend.c: New file.
48340
b38551da 483412005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48342
48343 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48344 ((unused))' to `__attribute__ ((used))'.
b38551da 48345 (GRUB_MOD_FINI): Likewise.
48346 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48347 * genmk.rb (PModule): Assign space to common symbols when linking
48348 modules.
48349
777aff39 483502005-01-20 Marco Gerards <metgerards@student.han.nl>
48351
48352 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48353 `unsigned' arguments to `grub_size_t'.
48354 (grub_malloc): Likewise.
48355 (grub_realloc): Likewise.
48356 (grub_memalign): Likewise.
48357 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48358 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48359 * util/misc.c (grub_malloc): Likewise.
48360 (grub_realloc): Likewise.
48361 * kern/mm.c (get_header_from_pointer): Change the casts to
48362 `unsigned' into a cast to `grub_size_t'.
48363
48364 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48365 point to `currnode' when `currnode' is changed.
48366
48367 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48368 Schottelius <nico-linux@schottelius.org>.
48369
d0ff18e1 483702005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48371
48372 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48373 (note_path): Remove variable.
48374 (GRUB_IEEE1275_NOTE_NAME): New macro.
48375 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48376 (grub_ieee1275_note_hdr): New structure.
48377 (grub_ieee1275_note_desc): Likewise.
48378 (grub_ieee1275_note): Likewise.
48379 (load_note): Remove `dir' argument. All callers updated. Remove
48380 `note_img' and `path'. Do not load a file from `note_path'.
48381 Initialize a struct grub_ieee1275_note and write that to `out'.
48382 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48383
4ca7004c 483842005-01-05 Marco Gerards <metgerards@student.han.nl>
48385
48386 * util/misc.c (grub_util_read_image): Revert last change. It
48387 called `grub_util_read_at', which seeks from the beginning of the
48388 file.
48389
0b412211 483902005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48391
48392 * TODO: Add note about endianness in grub-mkimage.
48393 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48394 section.
48395 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48396 (grub_mkimage_SOURCES): New target.
48397 * include/grub/kernel.h (grub_start_addr): Remove variable.
48398 (grub_end_addr): Likewise.
48399 (grub_total_module_size): Likewise.
48400 (grub_kernel_image_size): Likewise.
48401 (GRUB_MODULE_MAGIC): New constant.
48402 (grub_module_info): New structure.
48403 (grub_arch_modules_addr): New prototype.
48404 (grub_get_end_addr): Remove prototype.
48405 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48406 * include/grub/powerpc/ieee1275/kernel.h: New file.
48407 * include/grub/util/misc.h (grub_util_get_fp_size): New
48408 prototype.
48409 (grub_util_read_at): Likewise.
48410 (grub_util_write_image_at): Likewise.
48411 * kern/main.c (grub_get_end_addr): Remove function.
48412 (grub_load_modules): Call grub_arch_modules_addr instead of using
48413 grub_end_addr. Look for a grub_module_info struct in memory. Use
48414 the grub_module_info fields instead of calling grub_get_end_addr
48415 as loop conditions. Move grub_add_unused_region code here.
48416 (grub_add_unused_region): Remove function.
48417 * kern/i386/pc/init.c: Include grub/cache.h.
48418 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48419 one call to add_mem_region.
48420 (grub_arch_modules_addr): New function.
48421 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48422 (grub_total_module_size): Likewise.
48423 Include grub/machine/kernel.h.
48424 (grub_arch_modules_addr): New function.
48425 * util/grub-emu.c (grub_end_addr): Remove variable.
48426 (grub_total_module_size): Likewise.
48427 (grub_arch_modules_addr): New function.
48428 * util/misc.c: Include unistd.h.
48429 (grub_util_get_fp_size): New function.
48430 (grub_util_read_at): Likewise.
48431 (grub_util_write_image_at): Likewise.
48432 (grub_util_read_image): Call grub_util_read_at.
48433 (grub_util_write_image): Call grub_util_write_image_at.
48434 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48435 additional memory in kernel_img for a struct grub_module_info.
48436 Fill in that grub_module_info.
48437 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48438
458786f8 484392005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48440
48441 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48442 New function.
48443 * include/grub/powerpc/ieee1275/ieee1275.h
48444 (grub_ieee1275_milliseconds): New prototype.
48445 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48446 Change to 1000.
48447 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48448 grub_ieee1275_milliseconds.
48449
ac507d1b 484502005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48451
48452 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48453 variable.
48454 (find_options): New function.
48455 (cmain): Call find_options.
48456 * include/grub/powerpc/ieee1275/ieee1275.h
48457 (grub_ieee1275_realmode): New extern variable.
48458 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48459 grub_map if grub_ieee1275_realmode is false.
48460
6b8fd1c4 484612004-12-29 Marco Gerards <metgerards@student.han.nl>
48462
48463 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48464 lines are inserted and make it work like readline. Reported by
48465 Vincent Pelletier <subdino2004@yahoo.fr>.
48466
8514a1e0 484672004-12-28 Marco Gerards <metgerards@student.han.nl>
48468
48469 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48470
48471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48472 `kern/powerpc/cache.S'.
48473
924b6140 484742004-12-27 Marco Gerards <metgerards@student.han.nl>
48475
48476 * genmk.rb: Handle the `Program' class in the main loop. Written
48477 by Johan Rydberg <jrydberg@gnu.org>.
48478 (Program): New class.
48479 (programs): New variable.
48480 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48481 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48482 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48483 (help_arch): Function removed.
48484 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48485 `powerpc/libgcc.h' and `loader.h'.
48486 (pkgdata_PROGRAMS): New variable.
48487 (sbin_UTILITIES): Variable removed.
48488 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48489 (grubof_SOURCES): Variable re-defined so it only includes the
48490 core functionality.
48491 (grubof_CFLAGS): Remove `-DGRUBOF'.
48492 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48493 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48494 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48495 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48496 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48497 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48498 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48499 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48500 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48501 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48502 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48503 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48504 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48505 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48506 (pc_mod_CFLAGS): New variables.
48507 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48508 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48509 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48510 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48511 Moved from here...
48512 * include/grub/i386/pc/init.h (grub_os_area_addr)
48513 (rub_os_area_size): ... to here.
48514 * include/grub/powerpc/ieee1275/ieee1275.h
48515 (grub_ieee1275_entry_fn): Export symbol.
48516 * include/grub/powerpc/ieee1275/init.h: New file.
48517 * include/grub/powerpc/libgcc.h: Likewise.
48518 * include/grub/cache.h: Likewise.
48519 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48520 <hollis@penguinppc.org>.
48521 * kern/dl.c: Include <grub/cache.h>.
48522 (grub_dl_flush_cache): New function.
48523 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48524 for this module.
48525 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48526 (grub_console_init): Removed prototypes.
48527 (grub_machine_init): Don't initialize the modules anymore.
48528 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48529 static.
48530 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48531 Macro undef removed.
48532 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48533 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48534 relocation `R_PPC_REL32'. Return an error when the relocation is
48535 unknown.
48536 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48537 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48538 * util/misc.c (grub_arch_sync_caches): Likewise.
48539
e4b47e0c 485402004-12-19 Marco Gerards <metgerards@student.han.nl>
48541
48542 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48543 `symlist.c', add `grubof_symlist.c'.
48544 (symlist.c): Variable removed.
48545 (grubof_HEADERS): Variable added.
48546 (grubof_symlist.c): New target.
48547 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48548 `kernel_img_HEADERS'.
48549 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48550 * kern/powerpc/dl.c: New file.
48551 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48552 Function removed.
48553 (grub_arch_dl_relocate_symbols): Likewise.
48554 (grub_register_exported_symbols): Likewise.
48555
4ceb3636 485562004-12-13 Marco Gerards <metgerards@student.han.nl>
48557
48558 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48559 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48560 to fail instead. Reported by Vincent Pelletier
48561 <subdino2004@yahoo.fr>.
48562
48563 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48564 it is not allocated. Reported by Vincent Pelletier
48565 <subdino2004@yahoo.fr>.
48566
48567 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48568 output so the output looks better.
f19dbdb7 48569
3f1578fe 485702004-12-04 Marco Gerards <metgerards@student.han.nl>
48571
48572 Modulize the partition map support and add support for the amiga
48573 partition map.
f19dbdb7 48574
3f1578fe 48575 * commands/ls.c: Include <grub/partition.h> instead of
48576 <grub/machine/partition.h>.
48577 * kern/disk.c: Likewise.
48578 * kern/rescue.c: Likewise.
48579 * loader/i386/pc/chainloader.c: Likewise.
48580 * normal/cmdline.c: Likewise.
48581 * kern/powerpc/ieee1275/init.c: Likewise.
48582 (grub_machine_init): Call `grub_pc_partition_map_init',
48583 `grub_amiga_partition_map_init' and
48584 `grub_apple_partition_map_init'.
48585 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48586 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48587 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48588 `partition.h' and `pc_partition.h'.
48589 (grub_setup_SOURCES): Remove
48590 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48591 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48592 (grub_emu_SOURCES): Likewise.
48593 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48594 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48595 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48597 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48598 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48599 (grubof_SOURCES): Likewise.
48600 * disk/i386/pc/partition.c: File removed.
48601 * disk/powerpc/ieee1275/partition.c: Likewise.
48602 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48603 * include/grub/i386/pc/partition.h: Likewise.
48604 * kern/partition.c: New file.
48605 * partmap/amiga.c: Likewise.
48606 * partmap/apple.c: Likewise.
48607 * partmap/pc.c: Likewise.
48608 * include/grub/partition.h: Likewise..
48609 * include/grub/pc_partition.h: Likewise.
48610 * util/grub-emu.c: Include <grub/partition.h> instead of
48611 <grub/machine/partition.h>.
48612 (main): Call `grub_pc_partition_map_init',
48613 `grub_amiga_partition_map_init' and
48614 `grub_apple_partition_map_init' and deinitialize afterwards.
48615 * util/i386/pc/biosdisk.c: Include `#include
48616 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48617 `<grub/machine/partition.h>'.
48618 * util/i386/pc/grub-setup.c: Likewise.
48619 * util/i386/pc/biosdisk.c: Likewise.
48620 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48621 partition information in case of a PC partition.
48622 * util/i386/pc/grub-setup.c: Include `#include
48623 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48624 `<grub/machine/partition.h>'.
48625 (setup): Only access the PC specific partition information in case
48626 of a PC partition.
48627
0ef4ced9 486282004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48629
0ef4ced9 48630 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48631 (grub_longjmp): Likewise.
48632 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48633 20.
48634 * normal/powerpc/setjmp.S: New file.
48635 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48636 `normal/powerpc/setjmp.S'.
48637 (grubof_CFLAGS): Add `-DGRUBOF'.
48638 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48639 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48640
19950e29 486412004-11-16 Marco Gerards <metgerards@student.han.nl>
48642
48643 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48644 property named `name'. Correctly handle the error returned by
48645 `grub_ieee1275_finddevice' if a device can not be opened.
48646
a2fea427 486472004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48648
48649 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48650 `actual' for negativity.
48651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48652 kern/fshelp.c.
48653
41ea0ea3 486542004-11-01 Marco Gerards <metgerards@student.han.nl>
48655
48656 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48657 (PAGE_OFFSET): New macro.
48658 (CRTC_ADDR_PORT): Likewise.
48659 (CRTC_DATA_PORT): Likewise.
48660 (START_ADDR_HIGH_REGISTER): Likewise.
48661 (START_ADDR_LOW_REGISTER): Likewise.
48662 (GRAPHICS_ADDR_PORT): Likewise.
48663 (GRAPHICS_DATA_PORT): Likewise.
48664 (READ_MAP_REGISTER): Likewise.
48665 (INPUT_STATUS1_REGISTER): Likewise.
48666 (INPUT_STATUS1_VERTR_BIT): Likewise.
48667 (page): New variable.
48668 (wait_vretrace): New function.
48669 (set_read_map): Likewise.
48670 (set_start_address): Likewise.
48671 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48672 the right page.
48673 (check_vga_mem): Take the page into account.
48674 (write_char): Likewise.
48675 (write_cursor): Likewise.
48676 (scroll_up): Likewise. Copy the page to the page that is not
48677 shown and switch between both pages.
48678 (grub_vga_putchar): Fix off by one error.
48679 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48680 account.
48681
ad0bd20b 486822004-11-01 Marco Gerards <metgerards@student.han.nl>
48683
48684 Add support for iso9660 (including rockridge).
f19dbdb7 48685
ad0bd20b 48686 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48687 (iso9660_mod_SOURCES): New variable.
48688 (iso9660_mod_CFLAGS): Likewise.
48689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48690 * include/grub/fs.h (grub_iso9660_init): New prototype.
48691 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48692 * fs/iso9660.c: New file.
48693
48694 * include/grub/misc.h (grub_strncat): New prototype.
48695 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48696
ad0bd20b 48697 * fs/hfs.c (grub_hfs_mount): Translate the error
48698 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48699 * fs/jfs.c (grub_jfs_mount): Likewise.
48700 * fs/ufs.c (grub_ufs_mount): Likewise.
48701
a5477a59 487022004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48703
48704 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48705 which initialized BAT registers.
48706 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48707 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48708 Move from here...
48709 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48710 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48711 ... to here.
48712 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48713 (grub_mapclaim): Likewise.
48714 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48715 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48716 hand.
48717
9304c1f8 487182004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48719
48720 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48721 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48722 -ffreestanding and -msoft-float.
48723
86f4ae25 487242004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48725
48726 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48727 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48728 set in grub_ieee1275_flags.
48729
38912228 487302004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48731
48732 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48733 prototype.
48734 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48735 grub_console_init first.
48736 Change the memory range used for grub_ieee1275_claim and
48737 grub_mm_init_region.
48738 Print an error message if the claim fails.
48739 Include <grub/misc.h>.
48740
d1923dc8 487412004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48742
48743 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48744 Call grub_children_iterate for device nodes of type `scsi',
48745 `ide', or `ata'.
48746 (grub_ofdisk_open): Remove manual device alias resolution.
48747 Fix memory leak when device cannot be opened.
f19dbdb7 48748 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48749 (grub_children_iterate): New prototype.
48750 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48751 New function.
48752 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48753 Return -1 if args.size was -1.
48754
4512e4f3 487552004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48756
48757 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48758 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48759 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48760 Open Firmware's memory for it; claim memory from _start to _end.
48761 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48762 (_end): New extern.
48763 (_start): Zero BSS from __bss_start to _end.
48764 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48765 New extern.
48766 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48767
4d61feb0 487682004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48769
ad0bd20b 48770 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48771 -1 if args.base was -1.
4d61feb0 48772
026fa2f9 487732004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48774
48775 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48776 escape sequence instead of a literal ^L. Also call
48777 grub_ofconsole_gotoxy.
48778
9f2220ef 487792004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48780
48781 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48782 void * arguments to grub_addr_t. All callers updated. Also make
48783 the `result' argument optional.
48784 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48785 All callers updated.
48786
8a572cd7 487872004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48788
48789 * commands/ls.c (grub_ls_list_files): Use the string following the
48790 initial ')', if present, as the filesystem path.
48791 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48792
48793 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48794
18aa81f2 487952004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48796
48797 Make the source code of the menu interface more readable.
f19dbdb7 48798
18aa81f2 48799 * normal/menu.c: Include grub/mm.h.
48800 (TERM_WIDTH): New macro.
48801 (TERM_HEIGHT): Likewise.
48802 (TERM_INFO_HEIGHT): Likewise.
48803 (TERM_MARGIN): Likewise.
48804 (TERM_SCROLL_WIDTH): Likewise.
48805 (TERM_TOP_BORDER_Y): Likewise.
48806 (TERM_LEFT_BORDER_X): Likewise.
48807 (TERM_BORDER_WIDTH): Likewise.
48808 (TERM_MESSAGE_HEIGHT): Likewise.
48809 (TERM_BORDER_HEIGHT): Likewise.
48810 (TERM_NUM_ENTRIES): Likewise.
48811 (TERM_FIRST_ENTRY_Y): Likewise.
48812 (TERM_ENTRY_WIDTH): Likewise.
48813 (TERM_CURSOR_X): Likewise.
48814 (draw_border): Use macros instead of magic numbers.
48815 (print_entry): Likewise.
48816 (print_entries): Likewise.
48817 (run_menu): Likewise. Also, handle the key 'e'.
48818 (run_menu_entry): Ignore empty command lines.
48819 (print_message): Added a new argument EDIT. If EDIT is true,
48820 print a different message.
48821 (init_page): Likewise.
48822 (edit_menu_entry): New function. Not implemented yet.
48823
b47efe30 488242004-09-17 Marco Gerards <metgerards@student.han.nl>
48825
48826 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48827 can be loaded from normal mode.
f19dbdb7 48828
b47efe30 48829 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48830 `multiboot.mod'.
48831 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48832 (multiboot_mod_CFLAGS): New variables.
48833 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48834 * loader/i386/pc/multiboot_normal.c: Likewise.
48835
b47efe30 48836 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48837 attribute `unused'.
f19dbdb7 48838
b47efe30 48839 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48840 `fdiro' to read the mode information from instead of `diro'.
48841
48842 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48843 looking up a symlink.
48844
48845 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48846 macro.
48847 * normal/command.c (grub_command_execute): Don't parse the
48848 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48849 flags of the command.
48850
48851 * normal/menu.c (grub_menu_run): Fix typo.
48852
da75ac71 488532004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48854
48855 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48856
48857 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48858 `y + 1' instead of `y - 1'.
48859
48860 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48861
062b24c2 488622004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48863
48864 From Hollis Blanchard <hollis@penguinppc.org>:
48865 * kern/misc.c (memmove): New alias for grub_memmove.
48866 (memcmp): New alias for grub_memcmp.
48867 (memset): New alias for grub_memset.
f19dbdb7 48868 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48869 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48870 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48871 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48872
8ddad845 488732004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48874
48875 Added normal mode command `chainloader' as module chain.mod, which
48876 depends on normal.mod and _chain.mod.
f19dbdb7 48877
8ddad845 48878 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48879 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48880 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48881 Deleted prototype.
48882 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48883 but arguments parsing moved to ...
48884 (grub_chainloader_cmd): ... here. New function.
48885 * include/grub/i386/pc/chainloader.h: New file.
48886 * loader/i386/pc/chainloader_normal.c: Likewise.
48887
2c1f4ce3 488882004-09-11 Marco Gerards <metgerards@student.han.nl>
48889
48890 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48891 (grub_mkimage_LDFLAGS): Likewise.
48892 (grub_emu_SOURCES): Likewise.
48893 (kernel_img_HEADERS): Added fshelp.h.
48894 * fs/ext2.c: Include <grub/fshelp.h>.
48895 (FILETYPE_REG): New macro.
48896 (FILETYPE_INO_REG): Likewise.
48897 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48898 Changed all users.
48899 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48900 all users.
48901 (grub_fshelp_node): New struct.
48902 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48903 to a pointer.
48904 (grub_ext2_get_file_block): Removed function.
48905 (grub_ext2_read_block): New function.
48906 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48907 This function was written.
48908 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48909 (grub_ext2_find_file): Removed function.
48910 (grub_ext2_read_symlink): New function.
48911 (grub_ext2_iterate_dir): Likewise.
48912 (grub_ext2_open): Rewritten.
48913 (grub_ext2_dir): Rewritten.
48914 * include/grub/fshelp.h: New file.
48915 * fs/fshelp.c: Likewise.
48916
3c52136a 489172004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48918
48919 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48920 (print_message): Add a missing newline.
48921 (run_menu): Added timeout support.
48922 (run_menu_entry): New local function.
48923 (grub_menu_run): Added support for booting.
48924
48925 * kern/loader.c (grub_loader_is_loaded): New function.
48926
48927 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48928 (grub_get_rtc): Exported.
48929
48930 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48931 (grub_get_rtc): Exported.
48932
48933 * include/grub/normal.h (struct grub_command_list): Remove
48934 constant from the member `command'.
48935
48936 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48937
48938 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48939
48940 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48941
aa033560 489422004-08-28 Marco Gerards <metgerards@student.han.nl>
48943
48944 Add support for the JFS filesystem.
48945
48946 * fs/jfs.c: New file.
48947 * include/grub/fs.h (grub_jfs_init): New prototype.
48948 (grub_jfs_fini): New prototype.
48949 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48950 (grub_emu_SOURCES): Likewise.
48951 (pkgdata_MODULES): Add jfs.mod.
48952 (jfs_mod_SOURCES): New variable.
48953 (jfs_mod_CFLAGS): Likewise.
48954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48955 (grubof_SOURCES): Likewise.
48956 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48957
48958 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48959 endian to the host endian.
48960 (grub_fat_utf16_to_utf8): Move function from there...
48961 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48962 the endianness of the source string anymore.
aa033560 48963 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48964
94bc45af 489652004-08-24 Marco Gerards <metgerards@student.han.nl>
48966
48967 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48968 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48969 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48970 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48971
94bc45af 48972 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48973 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48974 for `node_found' and `it_dir'.
48975 (grub_hfs_dir): Add prototype for `dir_hook'.
48976
48977 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48978 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48979 and `indir32' to silence a gcc warning.
48980
48981 * include/grub/fs.h (grub_hfs_init): New prototype.
48982 (grub_hfs_fini): Likewise.
f19dbdb7 48983
48984
97543f08 489852004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48986
48987 Each disk device has its own id now. This is useful to make use
48988 of multiple disk devices.
f19dbdb7 48989
97543f08 48990 * include/grub/disk.h (grub_disk_dev_id): New enum.
48991 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48992 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48993
48994 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48995 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48996
48997 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48998 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48999
49000 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49001 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49002
49003 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49004 "id" which is used by the cache manager.
49005
49006 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49007 of just "GRUB".
49008
64372eb4 490092004-08-18 Marco Gerards <metgerards@student.han.nl>
49010
49011 * fs/hfs.c: New file.
49012 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49013 (grub_emu_SOURCES): Likewise.
49014 (pkgdata_MODULES): Add hfs.mod.
49015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49016 (grubof_SOURCES): Likewise.
49017 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49018
49019 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49020 * kern/misc.c (grub_strncasecmp): Add function.
49021
cc61b58f 490222004-08-14 Marco Gerards <metgerards@student.han.nl>
49023
49024 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49025 with parentheses.
49026
49027 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49028 (grub_ext2_dir): In case the directory entry type is unknown, read
49029 it from the inode.
49030
0ef123f6 490312004-08-02 Peter Bruin <pjbruin@dds.nl>
49032
49033 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49034 grub_load_linux instead of grub_rescue_cmd_linux as second
49035 argument of grub_rescue_register_command.
49036
49037 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49038
a447c5df 490392004-07-27 Marco Gerards <metgerards@student.han.nl>
49040
49041 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49042 function.
49043 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49044 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49045 `loader/powerpc/ieee1275/linux.c',
49046 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49047 * include/grub/powerpc/ieee1275/ieee1275.h
49048 (grub_ieee1275_release): New prototype.
49049 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49050 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49051 normal, boot, linux and linux_normal.
49052 * loader/powerpc/ieee1275/linux.c: New file.
49053 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49054
5a9e3546 490552004-07-12 Marco Gerards <metgerards@student.han.nl>
49056
49057 * normal/arg.c (grub_arg_parse): Correct error handling after
49058 reallocating the argumentlist (check if `argl' is not null instead
49059 of checking if `args' is not null).
49060 * kern/mm.c (grub_realloc): Return the same pointer when using the
49061 same region, instead of returning the header address.
49062
e15199cb 490632004-07-11 Marco Gerards <metgerards@student.han.nl>
49064
49065 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49066 one block instead of two when looking for the initial partition.
49067 (grub_partition_probe): Initialize the local variable `p' with 0.
49068 Use base 10 for the grub_strtoul call.
49069 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49070 need for one local variable.
49071 (grub_strtoul): Don't add the new value to `num', instead of that
49072 just assign it.
49073
020616c2 490742004-07-11 Marco Gerards <metgerards@student.han.nl>
49075
49076 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49077 (pxeboot_img_SOURCES): New variable.
49078 (pxeboot_img_ASFLAGS): Likewise.
49079 (pxeboot_img_LDFLAGS): Likewise.
49080 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49081 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49082 <lode_leroy@hotmail.com>.
49083
6c51eb64 490842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49085
49086 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49087 there was no input.
49088
cfb12aff 490892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49090
49091 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49092 the history buffer logic.
49093
6eabba74 490942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49095
49096 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49097 (FILETYPE_INO_SYMLINK): New macros.
49098 (grub_ext2_find_file): Check if the node is a directory using the
49099 inode stat information instead of using the filetype in the
49100 dirent. Exclude the first character of an absolute symlink.
49101 (grub_ext2_dir): Mask out the filetype part of the mode member of
49102 the inode.
49103
66e19ef8 491042004-05-24 Marco Gerards <metgerards@student.han.nl>
49105
49106 Add support for UFS version 1 and 2. Add support for the minix
49107 filesystem version 1 and 2, both the variants with 14 and 30 long
49108 filenames.
f19dbdb7 49109
66e19ef8 49110 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49111 fs/minix.c.
49112 (grub_emu_SOURCES): Likewise.
49113 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49114 (ufs_mod_SOURCES): New variable.
49115 (ufs_mod_CFLAGS): Likewise.
49116 (minix_mod_SOURCES): Likewise.
49117 (minix_mod_CFLAGS): Likewise.
49118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49119 fs/minix.c.
49120 (grubof_SOURCES): Likewise.
49121 * fs/ufs.c: New file.
49122 * fs/minix.c: New file.
49123 * include/grub/fs.h (grub_ufs_init): New prototype.
49124 (grub_ufs_fini): Likewise.
49125 (grub_minix_init): Likewise.
49126 (grub_minix_fini): Likewise.
49127 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49128 minix fs.
49129
cc2e748a 491302004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49131
49132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49133 commands/ls.c, commands/terminal.c, commands/boot.c,
49134 commands/cmp.c and commands/cat.c.
49135 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49136
49137 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49138 "env.h"
49139
4b13b216 491402004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49141
49142 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
49143 and grub_, respectively. Because the conversion is trivial and
49144 mechanical, I omit the details here. Please refer to the CVS
49145 if you need more information.
49146
6a142551 491472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49148
49149 * include/pupa: Renamed to ...
49150 * include/grub: ... this.
49151 * util/i386/pc/pupa-mkimage.c: Renamed to ...
49152 * util/i386/pc/grub-mkimage.c: ... this.
49153 * util/i386/pc/pupa-setup.c: Renamed to ...
49154 * util/i386/pc/grub-setup.c: ... this.
49155 * util/pupa-emu.c: Renamed to ...
49156 * util/grub-emu.c: ... this.
49157
e56cdf21 491582004-03-29 Marco Gerards <metgerards@student.han.nl>
49159
49160 Add support for the newworld apple macintosh (PPC). This has been
49161 tested on the powerbook 2000 only. It only adds support for
49162 generic ieee1275 functions, console and disk support. This should
49163 be easy to port to other architectures with support for Open
49164 Firmware.
f19dbdb7 49165
e56cdf21 49166 * configure.ac: Accept the powerpc as host_cpu. In the case of
49167 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
49168 specific tests are only executed while building for the i386.
49169 Inverse test for crosscompile.
49170 * genmk.rb (Utility): Allow assembler files.
49171 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
49172 * conf/powerpc-ieee1275.rmk: New file.
49173 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
49174 * disk/powerpc/ieee1275/partition.c: Likewise.
49175 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49176 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49177 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49178 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49179 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49180 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49181 * include/pupa/powerpc/ieee1275/loader.h
49182 * include/pupa/powerpc/setjmp.h: Likewise.
49183 * include/pupa/powerpc/types.h: Likewise.
49184 * kern/powerpc/ieee1275/init.c: Likewise.
49185 * kern/powerpc/ieee1275/openfw.c: Likewise.
49186 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49187
49188 These files were written by Johan Rydberg
49189 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49190
e56cdf21 49191 * boot/powerpc/ieee1275/cmain.c: New file.
49192 * boot/powerpc/ieee1275/crt0.S: Likewise.
49193 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49194 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49195
8c8cc205 491962004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49197
49198 * Makefile.in: Update copyright.
49199 * genmodsrc.sh: Likewise.
49200 * gensymlist.sh: Likewise.
49201 * term/i386/pc/vga.c: Indent correctly.
49202
49203 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49204 bugreporting address.
49205 * util/i386/pc/pupa-setup.c (usage): Likewise,
49206 (main): Call pupa_ext2_init and pupa_ext2_fini.
49207
f19dbdb7 49208 * fs/fat.c (log2): Renamed to ...
8c8cc205 49209 (fat_log2): ... this.
49210 All callers changed.
49211 * kern/misc.c (memcpy): Alias to pupa_memmove.
49212 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49213 lvalue cast.
49214 * util/console.c (pupa_ncurses_fini): Return 0.
49215
49216 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49217 Move fail label here.
49218 [__GNU__]: Don't warn when using stat.
49219 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49220 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49221 long int. Use strtol instead of strtoul.
f19dbdb7 49222
db1771cf 492232004-03-14 Marco Gerards <metgerards@student.han.nl>
49224
49225 * commands/boot.c: New file.
49226 * commands/cat.c: Likewise.
49227 * commands/cmp.c: Likewise.
49228 * commands/ls.c: Likewise.
49229 * commands/terminal.c: Likewise.
49230 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49231 (pupa_register_command): Changed interface to match the new
49232 argument parser.
49233 (pupa_command_execute): Changed (almost rewritten) so it uses
49234 pupa_split_command. Added support for setting variables using the
49235 syntax `foo=bar'.
49236 (rescue_command): Changed to work with the new argument parser.
49237 (terminal_command): Moved from here to commands/terminal.c.
49238 (set_command): New function.
49239 (unset_command): New function.
49240 (insmod_command): New function.
49241 (rmmod_command): New function.
49242 (lsmod_command): New function.
49243 (pupa_command_init): Don't initialize the command terminal
49244 anymore. Initialize the commands set, unset, insmod, rmmod and
49245 lsmod.
49246 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49247 (kernel_img_HEADERS): Add arg.h and env.h.
49248 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49249 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49250 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49251 normal/arg.c.
49252 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49253 terminal.mod.
49254 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49255 (boot_mod_SOURCES): New variable.
49256 (terminal_mod_SOURCES): Likewise.
49257 (ls_mod_SOURCES): Likewise.
49258 (cmp_mod_SOURCES): Likewise.
49259 (cat_mod_SOURCES): Likewise.
49260
49261 * normal/arg.c: New file.
49262 * kern/env.c: Likewise.
49263 * include/pupa/arg.h: Likewise.
49264 * include/pupa/env.h: Likewise.
49265 * font/manager.c (font_command): Changed to match argument parsing
49266 interface changes.
49267 (PUPA_MOD_INIT): Likewise.
49268 * hello/hello.c (pupa_cmd_hello): Likewise.
49269 (PUPA_MOD_INIT): Likewise.
49270 * include/pupa/disk.h: Include <pupa/device.h>.
49271 (pupa_print_partinfo): New prototype.
49272 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49273 (pupa_dl_get_prefix): Likewise.
49274 * include/pupa/misc.h: Include <pupa/err.h>.
49275 (pupa_isgraph): New prototype.
49276 (pupa_isdigit): Likewise.
49277 (pupa_split_cmdline): Likewise.
49278 * include/pupa/normal.h: Include <pupa/arg.h>.
49279 (pupa_command): Changed the prototype of the member `func' to
49280 match the argument parsing interface. Added member `options'.
49281 (pupa_register_command): Updated to match function.
49282 (pupa_arg_parse): New prototype.
49283 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49284 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49285 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49286 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49287 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49288 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49289 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49290 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49291 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49292 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49293 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49294 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49295 * kern/disk.c: Include <pupa/file.h>.
49296 (pupa_print_partinfo): New function.
49297 * kern/dl.c: Include <pupa/env.h>.
49298 (pupa_dl_dir): Variable removed.
49299 (pupa_dl_load): Use the environment variable `prefix' instead of
49300 the variable pupa_dl_dir.
49301 (pupa_dl_set_prefix): Function removed.
49302 (pupa_dl_get_prefix): Likewise.
49303 * kern/i386/pc/init.c: Include <pupa/env.h>.
49304 (pupa_machine_init): Use the environment variable `prefix' instead of
49305 using pupa_dl_set_prefix to set the prefix.
49306 * kern/main.c: Include <pupa/env.h>.
49307 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49308 using pupa_dl_get_prefix to get the prefix.
49309 * kern/misc.c: Include <pupa/env.h>.
49310 (pupa_isdigit): New function.
49311 (pupa_isgraph): Likewise.
49312 (pupa_ftoa): Likewise.
49313 (pupa_vsprintf): Added support for printing values of the type
49314 `double'. Make it possible to format variable output when using
49315 formatting like `%1.2%f'.
49316 (pupa_split_cmdline): New function.
49317 * kern/rescue.c: Include <pupa/env.h>.
49318 (next_word): Removed function.
49319 (pupa_rescue_cmd_prefix): Likewise.
49320 (pupa_rescue_cmd_set): New function.
49321 (pupa_rescue_cmd_unset): New function.
49322 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49323 split the command line instead of splitting it here. Added
49324 support for setting variables using the syntax `foo=bar'. Don't
49325 initialize the prefix command anymore. Initialized the set and
49326 unset commands.
49327 * normal/cmdline.c: Include <pupa/env.h>.
49328 (pupa_tab_complete): Added prototypes for print_simple_completion,
49329 print_partition_completion, add_completion, iterate_commands,
49330 iterate_dev, iterate_part and iterate_dir. Moved code to print
49331 partition information from here to kern/disk.c.
fe6b695a 49332 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49333 * normal/main.c: Include <pupa/env.h>.
49334 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49335 instead of using pupa_dl_get_prefix to get the prefix.
49336 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49337 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49338 warning.
49339 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49340 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49341 ((unused))' to silence a gcc warning.
49342 (pupa_vga_setcolor): Likewise.
49343 (debug_command): Changed to match argument parsing
49344 interface changes.
49345 * util/pupa-emu.c: Include <pupa/env.h>.
49346 (options): Added 0's for unused fields to silence a gcc warning.
49347 (argp): Likewise.
49348 (main): Use the environment variable `prefix' instead of using
49349 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49350 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49351 and terminal.
49352
49353 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49354 * util/misc.c: Include <malloc.h>.
49355 (pupa_malloc): Rewritten so errors are correctly reported.
49356 (pupa_realloc): Likewise.
49357 (pupa_memalign): Likewise.
49358 (pupa_mm_init_region): Declare unused variables with
49359 `__attribute__ ((unused))' to silence a gcc warning.
49360 * normal/i386/setjmp.S: Remove tab at the end of the file to
49361 silence a gcc warning.
49362 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49363 variables with `__attribute__ ((unused))' to silence a gcc
49364 warning.
49365 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49366 local variable i unsigned to silence a gcc warning.
49367
49368 * kern/term.c: Include <pupa/misc.h>.
49369 (pupa_more_lines): New variable.
49370 (pupa_more): Likewise.
49371 (pupa_putcode): When the pager is active pause at the end of every
49372 screen.
49373 (pupa_set_more): New function.
49374 * include/pupa/term.h (pupa_set_more): New prototype.
49375
49376
3b1139cb 493772004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49378
49379 Now this project is GRUB 2 rather than PUPA. The location of
49380 the CVS repository was moved to GRUB's.
f19dbdb7 49381
3b1139cb 49382 * configure.ac: Use bug-grub as the reporting address.
49383 Use GRUB instead of PUPA.
49384 Change the version number to 1.90.
49385
8367695c 493862004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49387
49388 * genkernsyms.sh: Updated copyright information.
49389 * genmk.rb: Likewise.
49390 * genmodsrc.sh: Likewise.
49391 * gensymlist.sh: Likewise.
49392 * boot/i386/pc/boot.S: Likewise.
49393 * boot/i386/pc/diskboot.S: Likewise.
49394 * disk/i386/pc/biosdisk.c: Likewise.
49395 * disk/i386/pc/partition.c: Likewise.
49396 * font/manager.c: Likewise.
49397 * fs/ext2.c: Likewise.
49398 * fs/fat.c: Likewise.
49399 * include/pupa/boot.h: Likewise.
49400 * include/pupa/device.h: Likewise.
49401 * include/pupa/disk.h: Likewise.
49402 * include/pupa/dl.h: Likewise.
49403 * include/pupa/elf.h: Likewise.
49404 * include/pupa/err.h: Likewise.
49405 * include/pupa/file.h: Likewise.
49406 * include/pupa/font.h: Likewise.
49407 * include/pupa/fs.h: Likewise.
49408 * include/pupa/kernel.h: Likewise.
49409 * include/pupa/loader.h: Likewise.
49410 * include/pupa/misc.h: Likewise.
49411 * include/pupa/mm.h: Likewise.
49412 * include/pupa/net.h: Likewise.
49413 * include/pupa/normal.h: Likewise.
49414 * include/pupa/rescue.h: Likewise.
49415 * include/pupa/setjmp.h: Likewise.
49416 * include/pupa/symbol.h: Likewise.
49417 * include/pupa/term.h: Likewise.
49418 * include/pupa/types.h: Likewise.
49419 * include/pupa/i386/setjmp.h: Likewise.
49420 * include/pupa/i386/types.h: Likewise.
49421 * include/pupa/i386/pc/biosdisk.h: Likewise.
49422 * include/pupa/i386/pc/boot.h: Likewise.
49423 * include/pupa/i386/pc/console.h: Likewise.
49424 * include/pupa/i386/pc/init.h: Likewise.
49425 * include/pupa/i386/pc/kernel.h: Likewise.
49426 * include/pupa/i386/pc/linux.h: Likewise.
49427 * include/pupa/i386/pc/loader.h: Likewise.
49428 * include/pupa/i386/pc/memory.h: Likewise.
49429 * include/pupa/i386/pc/multiboot.h: Likewise.
49430 * include/pupa/i386/pc/partition.h: Likewise.
49431 * include/pupa/i386/pc/time.h: Likewise.
49432 * include/pupa/i386/pc/vga.h: Likewise.
49433 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49434 * include/pupa/util/getroot.h: Likewise.
49435 * include/pupa/util/misc.h: Likewise.
49436 * include/pupa/util/resolve.h: Likewise.
49437 * kern/device.c: Likewise.
49438 * kern/disk.c: Likewise.
49439 * kern/dl.c: Likewise.
49440 * kern/err.c: Likewise.
49441 * kern/file.c: Likewise.
49442 * kern/fs.c: Likewise.
49443 * kern/loader.c: Likewise.
49444 * kern/main.c: Likewise.
49445 * kern/misc.c: Likewise.
49446 * kern/mm.c: Likewise.
49447 * kern/rescue.c: Likewise.
49448 * kern/term.c: Likewise.
49449 * kern/i386/dl.c: Likewise.
49450 * kern/i386/pc/init.c: Likewise.
49451 * kern/i386/pc/lzo1x.S: Likewise.
49452 * kern/i386/pc/startup.S: Likewise.
49453 * loader/i386/pc/chainloader.c: Likewise.
49454 * loader/i386/pc/linux.c: Likewise.
49455 * loader/i386/pc/multiboot.c: Likewise.
49456 * normal/cmdline.c: Likewise.
49457 * normal/command.c: Likewise.
49458 * normal/main.c: Likewise.
49459 * normal/menu.c: Likewise.
49460 * normal/i386/setjmp.S: Likewise.
49461 * term/i386/pc/console.c: Likewise.
49462 * term/i386/pc/vga.c: Likewise.
49463 * util/console.c: Likewise.
49464 * util/genmoddep.c: Likewise.
49465 * util/misc.c: Likewise.
49466 * util/pupa-emu.c: Likewise.
49467 * util/resolve.c: Likewise.
49468 * util/unifont2pff.rb: Likewise.
49469 * util/i386/pc/biosdisk.c: Likewise.
49470 * util/i386/pc/getroot.c: Likewise.
49471 * util/i386/pc/pupa-mkimage.c: Likewise.
49472 * util/i386/pc/pupa-setup.c: Likewise.
49473
e6eced71 494742004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49475
49476 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49477 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49478 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49479 reading and reset it after reading.
49480 (pupa_ext2_close): Return PUPA_ERR_NONE.
49481
49482 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49483 Correct value.
49484 (struct linux_kernel_header): Add kernel_version and
49485 initrd_addr_max.
49486 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49487 pupa_file_read succeeds.
49488 (pupa_rescue_cmd_initrd): Implement.
49489
5aded270 494902003-12-03 Marco Gerards <metgerards@student.han.nl>
49491
49492 * fs/ext2.c (pupa_ext2_label): New function.
49493 (pupa_ext2_fs): Added label.
49494 * fs/fat.c (pupa_fat_label): New function.
49495 (pupa_fat_fs): Added label.
49496 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49497
49498 * kern/misc.c (pupa_strndup): New function.
49499 * include/pupa/misc.h (pupa_strndup): New prototype.
49500
49501 * include/pupa/normal.h: Include <pupa/err.h>.
49502 (pupa_set_history): New prototype.
49503 (pupa_iterate_commands): New prototype.
49504 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49505 <pupa/disk.h>, <pupa/file.h>.
49506 (hist_size): New variable.
49507 (hist_lines): Likewise.
49508 (hist_end): Likewise.
49509 (hist_used): Likewise.
49510 (pupa_set_history): New function.
49511 (pupa_history_get): Likewise.
49512 (pupa_history_add): Likewise.
49513 (pupa_history_replace): Likewise.
49514 (pupa_tab_complete): Likewise.
49515 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49516 completion shows partitionnames while completing partitions, this
49517 feature was suggested by Jeff Bailey.
49518 * normal/command.c (pupa_iterate_commands): New function.
49519 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49520 (pupa_normal_init): Initialize history buffer.
49521 (PUPA_MOD_INIT): Likewise.
49522 (pupa_normal_fini): Free the history buffer.
49523 (PUPA_MOD_FINI): Likewise.
49524
49525 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49526 key.
49527
49528 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49529 * configure.ac [i386]: Check for regparam bug.
49530 (NESTED_FUNC_ATTR) [! i386]: Defined.
49531
1f7315a3 495322003-11-17 Marco Gerards <metgerards@student.han.nl>
49533
49534 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49535 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49536 (pupa_emu_SOURCES): New variable.
49537 (pupa_emu_LDFLAGS): Likewise.
49538 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49539 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49540 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49541 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49542 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49543 (pupa_jmp_buf): New typedef.
49544 (pupa_setjmp) [PUPA_UTIL]: New macro.
49545 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49546 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49547 (pupa_refresh): New prototype.
49548 * include/pupa/util/getroot.h: New file.
49549 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49550 it.
49551 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49552 (pupa_rescue_cmd_cat): Likewise.
49553 (pupa_rescue_cmd_ls): Likewise.
49554 (pupa_rescue_cmd_testload): Likewise.
49555 (pupa_rescue_cmd_lsmod): Likewise.
49556 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49557 * normal/menu.c (run_menu): Likewise.
49558 * kern/term.c (pupa_cls): Likewise.
49559 (pupa_refresh): New function.
49560 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49561 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49562 * util/console.c: New file.
f19dbdb7 49563
1f7315a3 49564 * util/i386/pc/getroot.c: New file.
49565 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49566 (pupa_putchar): New function.
49567 (pupa_refresh): Likewise.
49568 (xgetcwd): Function moved to ...
49569 (strip_extra_slashes): Likewise.
49570 (get_prefix): Likewise.
f19dbdb7 49571 * util/i386/pc/getroot.c: ... here.
1f7315a3 49572 (find_root_device): Function moved and renamed to...
49573 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49574 Changed all callers.
49575 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49576 and renamed to...
49577 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49578 Changed all callers.
49579 * util/misc.c (pupa_memalign): New function.
49580 (pupa_mm_init_region): Likewise.
49581 (pupa_register_exported_symbols): Likewise.
49582 (pupa_putchar): Function removed.
49583 * util/pupa-emu.c: New file.
49584
9a5c1ade 495852003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49586
49587 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49588 (_multiboot_mod_SOURCES): New variable.
49589 (_multiboot_mod_CFLAGS): Likewise.
49590 * loader/i386/pc/multiboot.c: New file.
49591 * include/pupa/i386/pc/multiboot.h: Likewise.
49592 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49593 (pupa_multiboot_real_boot): New function.
49594 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49595 (pupa_multiboot_real_boot): New prototype.
49596 (pupa_rescue_cmd_multiboot): Likewise
49597 (pupa_rescue_cmd_module): Likewise.
49598
49599 * kern/loader.c (pupa_loader_set): Continue when
49600 pupa_loader_unload_func() fails.
49601 (pupa_loader_unset): New function.
49602 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49603
49604 * kern/misc.c (pupa_stpcpy): New function.
49605 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49606
8e72a9c0 496072003-11-12 Marco Gerards <metgerards@student.han.nl>
49608
49609 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49610 for available extensions.
49611
49612 * include/pupa/i386/pc/time.h: New file.
49613 * kern/disk.c: Include <pupa/machine/time.h>.
49614 (PUPA_CACHE_TIMEOUT): New macro.
49615 (pupa_last_time): New variable.
49616 (pupa_disk_open): Flush the cache when there was a timeout.
49617 (pupa_disk_close): Reset the timer.
49618 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49619 pupa_currticks.
49620 * util/misc.c: Include <sys/times.h>
49621 (pupa_get_rtc): New function.
49622
c4adbd32 496232003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49624
49625 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49626 as blocks.
49627 (pupa_ext2_get_file_block): Use blocks member.
49628
49629 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49630 first block. Return -1 instead of pupa_errno on error.
49631
bfd30f06 496322003-10-27 Marco Gerards <metgerards@student.han.nl>
49633
49634 * README: In the pupa-mkimage example use _chain instead of chain
49635 and ext2 instead of fat.
49636 * TODO: Replace ext2fs with jfs as an example. Add an item for
49637 adding journal playback for ext2fs.
49638 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49639 (pkgdata_MODULES): Added ext2.mod.
49640 (ext2_mod_SOURCES): New variable.
49641 (ext2_mod_CFLAGS): Likewise.
49642 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49643 * include/pupa/misc.h (pupa_strncpy): New prototype.
49644 (pupa_strcat): Likewise.
49645 (pupa_strncmp): Likewise.
49646 * kern/misc.c (pupa_strcat): Enable function.
49647 (pupa_strncpy): New function.
49648 (pupa_strncmp): Likewise.
49649 * fs/ext2.c: New file.
f19dbdb7 49650
bfd30f06 49651 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49652 when the read failed before retrying.
49653 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49654 (_FILE_OFFSET_BITS): Likewise.
49655 * configure.ac: Added AC_SYS_LARGEFILE.
49656
98d15063 496572003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49658
49659 * genmk.rb (PModule#rule): Make sure to get only symbol names
49660 from the output of nm.
59cad637 49661 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49662
18d9c7cd 496632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49664
49665 I forgot to check in these changes for a long time. This adds
49666 incomplete support for VGA console, and this is still very
49667 buggy. Also, a lot of consideration is required for I18N,
49668 UNICODE, and VGA font issues. Therefore, assume that this is
49669 such that "better than nothing".
f19dbdb7 49670
18d9c7cd 49671 * font/manager.c: New file.
49672 * include/pupa/font.h: Likewise.
49673 * include/pupa/i386/pc/vga.h: Likewise.
49674 * term/i386/pc/vga.c: Likewise.
49675 * util/unifont2pff.rb: Likewise.
49676
49677 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49678 (pkgdata_MODULES): Added vga.mod and font.mod.
49679 (vga_mod_SOURCES): New variables.
49680 (vga_mod_CFLAGS): Likewise.
49681 (font_mod_SOURCES): Likewise.
49682 (font_mod_CFLAGS): Likewise.
49683
49684 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49685
49686 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49687 (struct pupa_term): Added init and fini.
18d9c7cd 49688 Changed the argument of putchar to pupa_uint32_t.
49689
49690 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49691 (pupa_console_real_putchar): New prototype.
49692 (pupa_console_putchar): Removed.
49693 (pupa_console_checkkey): Exported.
49694 (pupa_console_getkey): Likewise.
49695
49696 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49697 characters.
49698
49699 * kern/term.c (pupa_term_set_current): Rewritten.
49700 (pupa_putchar): Likewise.
49701 (pupa_putcode): New function.
49702
49703 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49704 (pupa_console_real_putchar): ... this.
49705 (pupa_vga_set_mode): New function.
49706 (pupa_vga_get_font): Likewise.
49707
49708 * normal/command.c: Include pupa/term.h.
49709 (terminal_command): New function.
49710 (pupa_command_init): Register the command "terminal".
49711
49712 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49713 (DISP_UP): Likewise.
49714 (DISP_RIGHT): Likewise.
49715 (DISP_DOWN): Likewise.
49716 (DISP_HLINE): Likewise.
49717 (DISP_VLINE): Likewise.
49718 (DISP_UL): Likewise.
49719 (DISP_UR): Likewise.
49720 (DISP_LL): Likewise.
49721 (DISP_LR): Likewise.
49722
49723 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49724
977329f5 497252003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49726
49727 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49728 FIX. Reverse the path_list.
49729
49730 * include/pupa/normal.h: Export pupa_register_command and
49731 pupa_unregister_command.
49732
49733 * hello/hello.c (pupa_cmd_hello): New module.
49734 * conf/i386-pc.rmk: Added hello.mod.
49735
1f5ab428 497362003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49737
49738 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49739
1f5ab428 49740 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49741 (compress_kernel): New variable.
49742 (generate_image): Heavily modified to support compressing a
49743 large part of the core image.
49744
49745 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49746 leak.
49747 (pupa_util_load_image): New function.
49748
49749 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49750 (pupa_compressed_size): New variable.
49751 (codestart): Enable Gate A20 here.
49752 Decompress the compressed part of the core image.
49753 Rearrange the code to put functions and variables which are
49754 required for initialization in the non-compressed part.
49755 Include lzo1x.S.
49756
49757 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49758 here.
49759
49760 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49761
f19dbdb7 49762 * include/pupa/i386/pc/kernel.h
1f5ab428 49763 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49764 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49765 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49766 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49767 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49768
49769 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49770
49771 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49772 (Utility#rule): Likewise.
49773
49774 * configure.ac: Check if LZO is available.
49775
ce5bf700 497762003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49777
49778 * include/pupa/normal.h: New file.
49779 * include/pupa/setjmp.h: Likewise.
49780 * include/pupa/i386/setjmp.h: Likewise.
49781 * normal/cmdline.c: Likewise.
49782 * normal/command.c: Likewise.
49783 * normal/main.c: Likewise.
49784 * normal/menu.c: Likewise.
49785 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49786
ce5bf700 49787 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49788 (pupa_rescue_cmd_initrd): Likewise.
49789
49790 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49791 Likewise.
49792
49793 * kern/i386/pc/startup.S (translation_table): New variable.
49794 (translate_keycode): New function.
49795 (pupa_console_getkey): Call translate_keycode.
49796
49797 * kern/rescue.c (attempt_normal_mode): New function.
49798 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49799 it failed, print a message.
49800
49801 * kern/mm.c (pupa_real_malloc): Print more information when a
49802 free magic is broken.
49803 (pupa_free): If the first free header is not free actually, set
49804 it to P.
49805
49806 * kern/main.c (pupa_load_normal_mode): Just load the module
49807 "normal".
49808 (pupa_main): Don't print the message
49809 "Entering into rescue mode..." here.
49810
49811 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49812 Declared.
49813 (pupa_rescue_cmd_initrd): Likewise.
49814 (pupa_rescue_cmd_initrd): Likewise.
49815
49816 * include/pupa/symbol.h (FUNCTION): Specify the type.
49817 (VARIABLE): Likewise.
49818
49819 * include/pupa/err.h (pupa_err_t): Added
49820 PUPA_ERR_UNKNOWN_COMMAND.
49821
49822 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49823 (pupa_dl_get_prefix): Likewise.
49824
49825 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49826 Added _chain.mod and _linux.mod instead of chain.mod and
49827 linux.mod.
49828 (chain_mod_SOURCES): Renamed to ...
49829 (_chain_mod_SOURCES): ... this.
49830 (chain_mod_CFLAGS): Renamed to ...
49831 (_chain_mod_CFLAGS): ... this.
49832 (linux_mod_SOURCES): Renamed to ...
49833 (_linux_mod_SOURCES): ... this.
49834 (linux_mod_CFLAGS): Renamed to ...
49835 (_linux_mod_CFLAGS): ... this.
49836 (normal_mod_SOURCES): New variable.
49837 (normal_mod_CFLAGS): Likewise.
49838 (normal_mod_ASFLAGS): Likewise.
49839
498402003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49841
49842 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49843 possible.
49844
fe6b695a 49845 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49846 recursively.
49847 (pupa_dl_unref): Unrefer depending modules recursively.
49848 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49849 a module is unloaded before one depending on that module is
49850 unloaded.
49851 (pupa_dl_unload): Unload depending modules explicitly,
49852 if possible.
49853
c04da074 498542003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49855
49856 * include/pupa/i386/pc/linux.h: New file.
49857 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49858
c04da074 49859 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49860 Removed.
49861 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49862 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49863 of PUPA_CHAINLOADER_BOOT_SECTOR.
49864
49865 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49866 (pupa_linux_prot_size): New variable.
49867 (pupa_linux_tmp_addr): Likewise.
49868 (pupa_linux_real_addr): Likewise.
49869 (pupa_linux_boot_zimage): New function.
49870 (pupa_linux_boot_bzimage): Likewise.
49871
49872 * kern/i386/pc/init.c (struct mem_region): New structure.
49873 (MAX_REGIONS): New macro.
49874 (mem_regions): New variable.
49875 (num_regions): Likewise.
49876 (pupa_os_area_addr): Likewise.
49877 (pupa_os_area_size): Likewise.
49878 (pupa_lower_mem): Likewise.
49879 (pupa_upper_mem): Likewise.
49880 (add_mem_region): New function.
49881 (compact_mem_regions): Likewise.
49882 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49883 the size of the conventional memory and that of so-called upper
49884 memory (before the first memory hole).
49885 Instead of adding each found region to free memory, use
49886 add_mem_region and add them after removing overlaps.
49887 Also, add only 1/4 of the upper memory to free memory. The rest
49888 is used for loading OS images. Maybe this is ad hoc, but this
49889 makes it much easier to relocate OS images when booting.
49890
49891 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49892 (pupa_enter_rescue_mode): Don't register initrd and module.
49893
49894 * kern/mm.c: Include pupa/dl.h.
49895
49896 * kern/main.c: Include pupa/file.h and pupa/device.h.
49897
49898 * kern/loader.c (pupa_loader_load_module_func): Removed.
49899 (pupa_loader_load_module): Likewise.
49900
49901 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49902 ``.o''.
49903
49904 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49905 (pupa_linux_tmp_addr): Likewise.
49906 (pupa_linux_real_addr): Likewise.
49907 (pupa_linux_boot_zimage): Likewise.
49908 (pupa_linux_boot_bzimage): Likewise.
49909
49910 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49911 (pupa_upper_mem): Likewise.
49912 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49913 module is too dangerous.
49914
49915 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49916 (pupa_os_area_size): Likewise.
49917 (pupa_loader_set): Remove the first argument. Loader doesn't
49918 manage modules or initrd any longer.
49919 (pupa_loader_load_module): Removed.
49920
49921 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49922 (linux_mod_SOURCES): New variable.
49923 (linux_mod_CFLAGS): Likewise.
49924
a13f9237 499252003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49926
49927 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49928 the length of a blocklist correctly.
49929
49930 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49931 Use ioctl only if the OS file is a block device.
49932 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49933 not very useful for normal files.
49934
49935 * kern/main.c (pupa_set_root_dev): New function.
49936 (pupa_load_normal_mode): Likewise.
49937 (pupa_main): Call those above.
49938
49939 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49940 pupa_uint16_t.
49941
49942 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49943
a5ffe966 499442003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49945
49946 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49947 (setup): Configure the installed partition information and the
49948 dl prefix.
49949
49950 * loader/i386/pc/chainloader.c (my_mod): New variable.
49951 (pupa_chainloader_unload): New function.
49952 (pupa_rescue_cmd_chainloader): Refer itself.
49953 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49954
49955 * kern/i386/pc/startup.S (install_partition): Removed.
49956 (version_string): Likewise.
49957 (config_file): Likewise.
49958 (pupa_install_dos_part): New variable.
49959 (pupa_install_bsd_part): Likewise.
49960 (pupa_prefix): Likewise.
49961 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49962
49963 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49964 and pupa/misc.h.
49965 (make_install_device): New function.
49966 (pupa_machine_init): Set the dl prefix.
49967
49968 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49969 (buf): Renamed to ...
49970 (linebuf): ... this.
49971 (pupa_rescue_cmd_prefix): New function.
49972 (pupa_rescue_cmd_insmod): Likewise.
49973 (pupa_rescue_cmd_rmmod): Likewise.
49974 (pupa_rescue_cmd_lsmod): Likewise.
49975 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49976 rmmod and lsmod.
49977
49978 * kern/mm.c (pupa_memalign): If failed even after invalidating
49979 disk caches, unload unneeded modules and retry.
49980
49981 * kern/misc.c (pupa_memmove): New function.
49982 (pupa_memcpy): Removed.
49983 (pupa_strcpy): New function.
49984 (pupa_itoa): Made static.
49985
49986 * kern/dl.c (pupa_dl_iterate): New function.
49987 (pupa_dl_ref): Likewise.
49988 (pupa_dl_unref): Likewise.
49989 (pupa_dl_unload): Return if succeeded or not.
49990 (pupa_dl_unload_unneeded): New function.
49991 (pupa_dl_unload_all): Likewise.
49992 (pupa_dl_init): Renamed to ...
49993 (pupa_dl_set_prefix): ... this.
49994 (pupa_dl_get_prefix): New function.
49995
49996 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49997 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49998 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49999 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50000 (pupa_install_dos_part): Declared.
50001 (pupa_install_bsd_part): Likewise.
50002 (pupa_prefix): Likewise.
50003 (pupa_boot_drive): Likewise.
50004
50005 * include/pupa/types.h: Fix a typo.
50006
50007 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50008 pupa_memmove.
50009 (pupa_memmove): Declared.
50010 (pupa_strcpy): Likewise.
50011
50012 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50013 pupa_mod_init takes one argument, its own module.
50014 (pupa_dl_unload_unneeded): Declared.
50015 (pupa_dl_unload_all): Likewise.
50016 (pupa_dl_ref): Likewise.
50017 (pupa_dl_unref): Likewise.
50018 (pupa_dl_iterate): Likewise.
50019 (pupa_dl_init): Renamed to ...
50020 (pupa_dl_set_prefix): ... this.
50021 (pupa_dl_get_prefix): Declared.
50022
50023 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50024 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50025 unloaded.
50026 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50027 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50028
50029 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50030 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50031
012d7999 500322003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50033
50034 * util/i386/pc/pupa-setup.c (setup): Define the internal
50035 function find_first_partition_start at the top level, because GCC
50036 3.0.x cannot compile internal functions in deeper scopes
50037 correctly.
50038 (find_root_device): Use lstat instead of stat.
50039 Don't follow symbolic links.
50040 Fix the path-constructing code.
50041
50042 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50043 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50044 by a BLKGETSIZE ioctl first, because block devices don't fill
50045 the member st_mode of the structure stat on Linux.
50046 [__linux__] (linux_find_partition): Use a temporary buffer
50047 REAL_DEV for the working space. Copy it to DEV before returning.
50048 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50049 buffer cache consistent.
50050 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50051 strncmp. The previous value was merely wrong.
50052 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50053
50054 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50055 FAT size is 12. The previous value was merely wrong.
50056
50057 * kern/main.c (pupa_main): Don't split the starting message from
50058 newlines.
50059
50060 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50061 LF, because BIOS goes crazy about character attributes in this
50062 case.
50063
1cc73a62 500642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50065
50066 * include/i386/pc/util/biosdisk.h: New file.
50067 * util/i386/pc/biosdisk.c: Likewise.
50068 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50069
1cc73a62 50070 * Makefile.in (INCLUDE_DISTFILES): Added
50071 include/pupa/i386/pc/util/biosdisk.h.
50072 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50073 directory util/i386/pc.
50074 (install-local): Added a rule for sbin_UTILITIES.
50075 (uninstall): Likewise.
50076
50077 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50078
50079 * util/misc.c (xrealloc): New function.
50080 (pupa_malloc): Likewise.
50081 (pupa_free): Likewise.
50082 (pupa_realloc): Likewise.
50083 (pupa_stop): Likewise.
50084 (pupa_putchar): Likewise.
50085
50086 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50087
50088 * include/pupa/util/misc.h (xrealloc): Declared.
50089
50090 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50091 macro.
50092 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50093 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50094
50095 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50096 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50097
50098 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50099 way should be implemented.
50100 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50101
50102 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50103 the size of NAME for safety.
50104 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50105 0x88.
50106
50107 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50108 (pupa_setup_SOURCES): Likewise.
50109
50110 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50111
08b70fe8 501122002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50113
50114 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50115 bunch of pushl's from pusha, because this destroys the return
50116 value.
50117
62ddcc8f 501182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50119
50120 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50121 This means that any missing prototypes could be fatal. Also, you
50122 must take care when writing assembly code. See the comments at
50123 the beginning of startup.S, for more details.
f19dbdb7 50124
62ddcc8f 50125 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50126 compilation mechanism.
50127 (pupa_chainloader_real_boot): Likewise.
50128 (pupa_biosdisk_rw_int13_extensions): Likewise.
50129 (pupa_biosdisk_rw_standard): Likewise.
50130 (pupa_biosdisk_check_int13_extensions): Likewise.
50131 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50132 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50133 (pupa_get_memsize): Likewise.
50134 (pupa_get_mmap_entry): Likewise.
50135 (pupa_console_putchar): Likewise.
50136 (pupa_console_setcursor): Likewise.
50137 (pupa_getrtsecs): Use pushl instead of push.
50138
50139 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50140 memory instead of the stack for a mmap entry, because some
50141 BIOSes may ignore the maximum size and overflow.
50142
50143 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
50144
50145 * genmk.rb (PModule#rule): Compile automatically generated
50146 sources with module-specific CFLAGS as well as other sources.
50147
9962ed99 501482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50149
50150 * configure.ac: Check ld.
50151 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
50152 respectively, before checking endianness and sizes.
50153
50154 * Makefile.in (LD): New variable.
f19dbdb7 50155
abdfc3c5 501562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50157
50158 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
50159
6a161fa9 501602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
50161
50162 * Changelog: New file.
50163