]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
[grub2.git] / ChangeLog
CommitLineData
affce7d4
VS
12013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
4
5 Based on patches from AROS.
6
0e8daad0
VS
72013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/Makefile.am: Override STRIP and RANLIB.
10 * configure.ac: compute TARGET_RANLIB.
11 * INSTALL: Document TARGET_RANLIB
12
13 Based on patches from AROS.
14
3f7d9c82
VS
152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
18 that floppies are unpartitioned.
19
bca8873a
VS
202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
23 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
24
252013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
28 less nice but more portable.
29 * grub-core/lib/posix_wrap/wchar.h: Likewise.
30
a47a78be
VS
312013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
34 for cheat_fd.
35 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
36 functions.
37 (grub_cryptodisk_cheat_insert): Likewise.
38 (grub_cryptodisk_close): Likewise.
39
e85a5d5c
VS
402013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
43 Use windows path for DEFAULT_DIRECTORY.
44
dad9fa6b
VS
452013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
48 difference was likely just gcc version, not anything mingw-related.
49
7e518ca8
VS
502013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Use Winapi on both cygwin and mingw32 to share more code between both.
53
d68d0157
AB
542013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
55
56 * util/grub-install.in: Add --grub-editenv option.
57 * util/grub-install_header (grub_compress_file): Explicitly check for
58 plain file to avoid cp error.
59
775b284d
AB
602013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
61
62 * docs/grub.texi (Device syntax): Document new LVM UUID based device
63 names; fix LVM driver name (lvm, not lv).
64 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
65 names.
66
3ff4063d
VS
672013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
70 files rather than one file with loads of #if's.
71 * util/getroot.c: Likewise.
72
287faafe
VS
732013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
76
d1983764
VS
772013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
80 GNU/Hurd to the list of checked PRNG.
81
15ce95c4
VS
822013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * configure.ac: On FreeBSD use -melf_*_fbsd format.
85
207862dd 862013-09-21 Ales Nesrsta <starous@volny.cz>
87
88 * grub-core/bus/usb/ehci.c: Correceted EHCI QH handling (async./sync.)
89
63653cfd
VS
902013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
93 * grub-core/disk/lvm.c: Add LVM UUIDs.
94 * util/getroot.c: Use LVM UUIDs whenever possible.
95
f5d3e7ef
AB
962013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
97
98 * docs/grub.texi (Networking commands): Add documentation for
99 network related commands.
100
53c6b7d6
VS
1012013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * util/getroot.c (grub_util_open_dm): Check major rather than the name
104 to determine if device is handled by devmapper.
105 (convert_system_partition_to_system_disk): Likewise.
106 (get_dm_uuid): Don't check explicitly if device is mapped, it's
107 already done in grub_util_open_dm.
108
e70d6736
LL
1092013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
110
111 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
112 Clean up stack manipulation (sync_caches_armv*)
113
90379808
VS
1142013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * util/lvm.c: Remove since unused. Remove remaining references.
117
386701a8
VS
1182013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
119
120 Handle the case of partitioned LVM properly.
121
122 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
123 Stop on meeting LVM, mpath or DMRAID.
124 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
125 (read_device_map): Likewise.
126 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
127 device is full disk rather than erroring out on LVM and similar cases.
128
53070787
VS
1292013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
130
131 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
132
1bc783bd
VS
1332013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
136 4K before the end.
137 Reported by: Leif Lindholm
138
436ad5c3
PW
1392013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
1402013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
143 codes.
144
607319c9
CW
1452013-09-18 Colin Watson <cjwatson@ubuntu.com>
146
147 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
148 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
149
d404d154
DR
1502013-09-18 Douglas Ray <dougray@cpan.org>
151
152 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
153 as secure.
154
28851ef6
AN
1552013-09-18 Aleš Nesrsta <starous@volny.cz>
156
157 * docs/grub.texi: Fix broken link.
158
897c3bc6
MC
1592013-09-18 Melki Christian <Christian.melki@saabgroup.com>
160
161 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
162 to break endless loop.
163
f1630459
VS
1642013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * util/grub-fstest.c: Fix several printf formats.
167 * util/grub-mkimage.c: Likewise.
168 * util/grub-mkimagexx.c: Likewise.
169 * util/grub-script-check.c: Likewise.
170
64463dfd
VS
1712013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
174 error.
175
48972495
VS
1762013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
179
5dd5e64b
VS
1802013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
183 removed in current versions cygwin_conv_*.
184
1c1f31e5
VS
1852013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * configure.ac: Disable efiemu runtime on cygwin.
188
c546a259
VS
1892013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
192 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
193
81690478
VS
1942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
197 error message.
198
6b87c10a
VS
1992013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
202 windows variant.
203 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
204 data.
205
8f0baaac
VS
2062013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
209 when on x86 and not cygwin.
210 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
211 -Wl,-melf_x86_64.
212
b224c266
VS
2132013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * configure.ac: Set CPP to build one when checkoing for freetype for
216 build.
217
506b336b
VS
2182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
221 [!GRUB_BUILD]: Remove has_argument.
222
8c8c87b7
VS
2232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
226 Replace with a dummy.
227
7dc5ca13
VS
2282013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * configure.ac: Don't change host_os from mingw to cygwin.
231
c3302aa5
VS
2322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * configure.ac: Change target_os from windows to cygwin.
235
7b780018
VS
2362013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
237
238 Handle grub-pe2elf and grub-mkfont for cases when build != host.
239
240 * Makefile.am (build-grub-mkfont): Don't include gnulib.
241 (build-grub-gen-asciih): Likewise.
242 (build-grub-gen-widthspec): Likewise.
243 * Makefile.util.def (grub-pe2elf): Remove.
244 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
245 * configure.ac: Separate tests for build.
246 Move ./build-grub-pe2elf to grub-core.
247 Fix typo.
248 * grub-core/Makefile.am (build-grub-pe2elf): New target.
249 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
250 defined.
251 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
252 constants.
253 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
254 * util/grub-pe2elf.c: Simplify not to rely on getopt.
255 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
256
984cfd8a
VS
2572013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
260 mingw32 as well based on grub_util_get_disk_size.
261 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
262 grub_util_get_fd_size.
263 (sync): Removed.
264 (fsync): Moved to ...
265 * grub-core/kern/emu/misc.c (fsync): ... here.
266
f82d79c9
VS
2672013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * include/grub/mm.h (grub_extend_alloc): Remove.
270 * grub-core/loader/i386/pc/plan9.c: Use own version of
271 grub_extend_alloc with appropriate types.
272
fd7dd66d
VS
2732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
276
43ffba7c
VS
2772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * util/getroot.c: Include sys/wait.h only when we need waitpid.
280
3c7eac44
VS
2812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
282
283 Fix dependencies on cygwin.
284
285 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
286 dependencies when used and defined.
287 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
288
bdb5ba47
VS
2892013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
292 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
293
ed7fbf43
VS
2942013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
297 implementation available to cause compile-time rather than runtime
298 error.
299
fc46e9fc
VS
3002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * util/grub-fstest.c: Don't check for symlinks on windows.
303
7f68269a
VS
3042013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * INSTALL: Mention unavailability of man pages when cross-compiling.
307
8ed358e0
VS
3082013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
311 and gcry_log_bug.
312 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
313
fc97214f
VS
3142013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * INSTALL: Document cross-compilation.
317 * acinclude.m4: Determine whether nm support -P and --defined-only.
318 * configure.ac: Add TARGET_ to all variables pertaining to target
319 that don't have it yet.
320 * gentpl.py: Likewise.
321 * grub-core/Makefile.am: Likewise.
322 * grub-core/genmod.sh.in: Likewise.
323 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
324 as well.
325
ca1fb563
IB
3262013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
327
328 * configure.ac: Remove -Wempty-body. It's not essential and needs
329 recent gcc.
330
0031b229
IB
3312013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
332
333 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
334 * util/getroot.c: Likewise.
335
54ea2f44
VS
3362013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/disk/ahci.c: Add needed explicit cast.
339 * grub-core/lib/backtrace.c: Likewise.
340 * grub-core/net/ip.c: Likewise.
341 * grub-core/net/tcp.c: Likewise.
342 * grub-core/net/udp.c: Likewise.
343
3c601f8c
VS
3442013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
347
1d679dda
VS
3482013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * util/import_gcry.py: Add final newline in visibility.h.
351
00c28dd9
VS
3522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * conf/Makefile.common: Fix typo.
355
32af299a
VS
3562013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
359
e733cf52
VS
3602013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * Makefile.am (widthspec.h): Fix typo.
363 * util/grub-gen-widthspec.c: Likewise.
364
c6b066f2
VS
3652013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
366
367 Move ascii.h and widthspec.h generation to a separate build-time-only
368 tool.
369
ad1fe3f9 3702013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
371
372 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
373 Always fill bootdisk info and improve check for NetBSD disklabel.
374
92a52dd4
VS
3752013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * conf/Makefile.extra-dist: Add util/bin2h.c.
378 Reported by: floppym.
379
b2e9d276
VS
3802013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
383
7b966834
VS
3842013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * configure.ac: Disable unifont and starfield if no freetype was found.
387
d5c1eef1
VS
3882013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
391 on NetBSD and OpenBSD.
392
66345b50 3932013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
394
395 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
396
66345b50 3972013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
398
399 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
400 reduced. Inheritant options are processed during the theme loading.
401
66345b50 4022013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
403
404 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
405
369508b3
AS
4062013-08-14 Avik Sil <aviksil@in.ibm.com>
407
408 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
409
4102013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
411
412 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
413 using qemu.
414
6f27a3f6
PFS
4152013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
416
417 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
418 remove-potcdate.sed.
419
c6ed362a
AB
4202013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
421
422 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
423 unused attribute from pull argument.
424
5e7d9464
AB
4252013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
426
427 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
428 memory leak.
429
dea55e2a
AB
4302013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
431
432 * util/getroot.c (pull_lvm_by_command): add --separator option
433 to vgs call to disable padding of output to 10 characters.
434
f0b94ded
VS
4352013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
438 here ...
439 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
440 here.
441
b828fb5d
VS
4422013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
445 length.
446
7c9d0c39
VS
4472013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
448
449 Fix handling of build-time grub-bin2h and grub-mkfont when doing
450 full Canadian cross. Tested with build=x86_64, host=arm,
451 target=ppc-ieee1275.
452
816719c8
VS
4532013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * configure.ac: Error if no $BUILD_CC could be found.
456 Reported by: DevHC.
457
2af2353b
VS
4582013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
461 i386-multiboot.
462
797abd0a
VS
4632013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
466 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
467
36e87d25
CW
4682013-08-13 Colin Watson <cjwatson@ubuntu.com>
469
470 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
471 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
472 falling back to the partition device, otherwise a later call to this
473 function may fail spuriously.
474 Reported by Axel Beckert. Fixes Debian bug #708614.
475
273349fe
GS
4762013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
477
478 * autogen.sh: Replace find -not by the POSIX-compliant find !.
479
418f86c6
GS
4802013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
481
482 Prevent shadowing of stdlib's devname(3) on BSD.
483
484 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
485 and devlast to diskname and disklast, respectively.
486
c137aea0
CW
4872013-08-11 Colin Watson <cjwatson@ubuntu.com>
488
489 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
490
272dc8df 4912013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
492
493 * docs/grub.texi: Introduce terminal window position options:
494 terminal-left: terminal window's left position
495 terminal-top: terminal window's top position
496 terminal-width: terminal window's width
497 terminal-height: terminal window's height
498 terminal-border: terminal window's border width
499 * grub-core/gfxmenu/theme-loader.c: Likewise.
500 * include/grub/gfxmenu_view.h: Likewise.
501 * po/exlude.pot: Likewise.
502 * grub-core/gfxmenu/view.c: Likewise.
503 Also updated minimal window size.
504 Also terminal_sanity_check function has been introduced.
272dc8df
VT
505 * grub-core/tests/checksums.h: Update (terminal window height
506 is adjusted now for low resolution screen)
b4743461 507
748a4533
VS
5082013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
511 position).
512
fca5f944
VS
5132013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * po/exclude.pot: Add few recent exceptions.
516
4f47d809
VS
5172013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * tests/grub_func_test.in: Add unicode.pf2.
520
a62ae90c
VS
5212013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
524 standard rather than noral color, in line with other terminals.
525
4ed41392
VS
5262013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
529 analysis.
530
3719fbc5
VS
5312013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/loader/arm/linux.c: Change printf to dprintf.
534
459b1d91
VS
5352013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
538 inappropriate printf.
539
f4e1ab9d
AB
5402013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
541
542 * .bzrignore: Remove grub-core/lib/dtc-grub,
543 grub-core/Makefile.libfdt.def
544 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
545
fa471bfa
VS
5462013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * include/grub/video.h (grub_video_register): Keep double-linked as
549 well as single-linked invariants.
550 Reported by: qwertial.
551
d65be02b
VS
5522013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/commands/nativedisk.c (get_uuid): Handle
555 GRUB_DISK_DEVICE_UBOOTDISK_ID.
556
ba8bc620
VT
5572013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
558
559 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
560 maximum of NW, N, NE heights instead of N's height and maximum of
561 NW, W, SW widths instead of W's width. (So the box will be always
562 correctly drawn)
563
4f0ad029
GS
5642013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
565
566 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
567 Fix misuse of variable count.
568
43d53b72
LL
5692013-07-18 Leif Lindholm <leif.lindholm@arm.com>
5702013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
5712013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 572
43d53b72
LL
573 New ports to arm-uboot and arm-efi.
574 Mostly by Leif Lindholm with some additions from
575 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 576
88f8d146
VS
5772013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
580 and not before.
581 Reported by: Leon Drugi.
582
3f42504c
VS
5832013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
586 Reported by: Paulo Flabiano Smorigo.
587
d110499b
VT
5882013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
589
590 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
591
a8674ad3
VT
5922013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
593
594 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
595
286fe4b3
VS
5962013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
599
1bd57aa3
VS
6002013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
603
7a87d69f
AB
6042013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
605
606 * grub-core/net/bootp.c: Export net_* variables.
607 * grub-core/net/net.c: Likewise.
608
b2182299
VS
6092013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
612
795b3dc0
VS
6132013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
616
68714c43
VS
6172013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
620
af211bab
VS
6212013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
624
0036f02d
MM
6252013-07-14 Massimo Maggi <me@massimo-maggi.eu>
626
627 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
628 <= 0.
629
6d0ddff3
MM
6302013-07-14 Massimo Maggi <me@massimo-maggi.eu>
631
632 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
633 functions.
634
038016f4
MM
6352013-07-14 Massimo Maggi <me@massimo-maggi.eu>
636
637 * grub-core/fs/zfs/zfs_lz4.c: New file.
638 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
639
776bdce2
MM
6402013-07-14 Massimo Maggi <me@massimo-maggi.eu>
641
642 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
643
c71dbd40
MM
6442013-07-14 Massimo Maggi <me@massimo-maggi.eu>
645
646 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
647 (check_pool_label): Likewise.
648 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
649
6502013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
651
652 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
653
8e67b50f
AB
6542013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
655
656 * docs/grub.texi (Commands): Document postition parameters
657 for menuentry command.
658
f5ae3717
AB
6592013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
660
661 * util/grub-mknetdir.in: Remove stray line from help output.
662
9c28da2a
VS
6632013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Remove early sm712 init as there is no reason for it (the "watchdog"
666 effect was due to wrong GPIO map).
667
139072b8
VS
6682013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/commands/pcidump.c: Remove static variables.
671
c6a61bda
VS
6722013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/commands/sleep.c: Refresh screen before sleeping.
675
51369614
VS
6762013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * configure.ac: Move delimiter after the infos.
679
efa8640a
VS
6802013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
683
6f80a7b2
VS
6842013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
687 not filling whole 8x16 space.
688
a2371e19
VS
6892013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
692
64fce2d8
VS
6932013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * configure.ac: Indicate which liblzma is used if any.
696
eb272d84
PW
6972013-06-21 Paul Wise <pabs3@bonedaddy.net>
6982013-06-21 Craig Sanders <savannah@taz.net.au>
699
700 * util/grub-reboot.in: Document submenu usage.
701
a9e5abee
CW
7022013-06-25 Colin Watson <cjwatson@ubuntu.com>
703
704 * .bzrignore: Update with a number of new test-related files.
705
e639c204
CW
7062013-06-25 Colin Watson <cjwatson@ubuntu.com>
707
708 * util/grub-script-check.c: Fail on scripts containing no
709 commands, to guard against corrupted grub-mkconfig setups that
710 produce no useful output.
711 * tests/grub_script_no_commands.in: New test.
712 * Makefile.util.def (grub_script_no_commands): Add.
713 Reported by Hans Putter. Fixes Debian bug #713886.
714
a4c89b17
AB
7152013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
716
717 * grub-core/disk/diskfilter.c: Forgot to remove comment
718 from previous commit.
719
5b06b53c
AB
7202013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
721
722 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
723 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
724
702da5c9
AB
7252013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
726
727 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
728
aa62a5b7
AB
7292013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
730
731 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
732 rescan diskfilter devices until nothing new is found.
733
4aa237c8
VS
7342013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
735
736 Fix casts when compiling coreboot-specific code for 64-bit EFI.
737
93d8479b
VS
7382013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
739
740 Don't try to detect cbfs on *-emu.
741
837222cc
VS
7422013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/term/gfxterm.c: USe right background color when scrolling.
745
99c971af
VS
7462013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Add support for processed coreboot payload chainloading.
749
e6930a45
VS
7502013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
751
752 Enable coreboot information commands even when not loaded as
753 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
754
5027af38
VS
7552013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
756
757 Support for cbfs. Also factor out the part which is common
758 for all archives to a separate module. This splits tar from cpio
759 as they are very different but keeps cpio, cpio_be, odc and newc
760 together since they're very similar.
761
a5b55c4b
DM
7622013-06-15 David Michael <fedora.dm0@gmail.com>
763
764 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
765 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
766
0301a8b3
VS
7672013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * tests/grub_script_eval.in: Really add the eval test.
770
3d84cb17
VS
7712013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Move flavour-specific parts out of common cpio.c file and
774 rename remaining to cpio_common.c
775
593e430c
AB
7762013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
777
778 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
779 off new function grub_script_execute_new_scope. Change callers to use
780 either of them as appropriate.
781 * grub-core/commands/eval.c: New command eval.
782 * docs/grub.texi (Commands): Document it.
783
63c29849
AB
7842013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
785
786 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
787 to fetch values when listing.
788
cc284112
AB
7892013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
790
791 Fix make dist on non-pc.
792
7932013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
794
795 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
796 without a device name.
797
69544d1e
VS
7982013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
799
800 Remove enable_executable_check as it's not needed anymore.
801 Reported by: dougray.
802
96dbe648
VS
8032013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
806 ambigouos RAID before discovering RAIDs on top of it.
807 Reported by: bodom.
808
ccfc0bdb
VS
8092013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
810
811 Fix typo (failback vs fallback).
812
f2587088
AB
8132013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
814
815 * util/grub.d/30_os-prober.in: Add support for probing EFI
816 System Partition (as of os-prober 1.58).
817
cec5cf0c
VS
8182013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * configure.ac: Add yet another path to unifont. For parabola.
821
e40b4596
JT
8222013-05-30 Josh Triplett <josh@joshtriplett.org>
823
824 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
825 handling to copy the killed characters to the kill buffer as
826 UCS4 stored as grub_uint32_t rather than as 8-bit characters
827 stored as char. Eliminates UCS4 truncation and corruption
828 observed when killing characters with Ctrl-u and yanking them
829 back with Ctrl-y.
830
fc4c4fdd
VS
8312013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
832
833 Detach optional parts of gfxterm and integrate in with coreboot init.
834
6570b205
VS
8352013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
836
837 Move blit and fill dispatcher to appropriate files to decrease export
838 and relocation overhead.
839
b8323067
VS
8402013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/font/font.c, include/grub/font.h: Inline simple font
843 functions.
844
3cc1878f
VS
8452013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/Makefile.am: Fix compilation problem with some
848 automake versions.
849
4b80e43c
VS
8502013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
853
57e0c20c
VS
8542013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
857 automake versions.
858
4fd42c53
VS
8592013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
862 SSDT.
863
1e908b34
RS
8642013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
865
866 * grub-core/partmap/dfly.c: New partition map.
867
1359e474
VS
8682013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
871 checking.
872 Reported by: Francesco Lavra.
873
17806392
AB
8742013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
875
876 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
877 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
878 false conditions.
879 * conf/Makefile.common: define dist_grubconf_DATA
880
cdce14fa
VS
8812013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Progressively skip menu elements on small terminals rather
884 than crashing.
885
c8d6cc3c
VS
8862013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
889 to avoid losing last column.
890
a73b31ce
VS
8912013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * po/exclude.pot: Add missing string "%C".
894
1202c764
VS
8952013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
898 after the test.
899
50268344
VS
9002013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * util/grub-install.in: Gettextize "Not found" message.
903
62b15edf
VS
9042013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
905
906 Fix distfiles list.
907 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
908
9092013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
910
911 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
912 present.
913 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
914
709ad61b
VS
9152013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
918
d128901a
VS
9192013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
922 attribute since structure is not necessarily aligned.
923
34b22f5c
AB
9242013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
925
926 * docs/grub.texi (Device syntax): Clarify description of network
927 drives.
928
0f7e980b
VS
9292013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
932 for vasprintf presence.
933
30b03dc2
VS
9342013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * util/grub-install.in: Handle efibootmgr presence check.
937 Reported by: Leif Lindholm.
938
0dc11c08
VS
9392013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
942 new strings to translate.
943
f8024c3f
VS
9442013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
947 yet another string (pun intended) to translate.
948
b4c1da62
VS
9492013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * po/POTFILES-shell.in: Autogenerate it.
952
0ef7478b
VS
9532013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
956
8200fa15
VS
9572013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
960 misnomer.
961
091945b2
AB
9622013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
963
964 * docs/grub.texi (Network): Add description of net_default_interface,
965 net_default_ip and net_default_mac. Rewrite variables description
966 to emphasize that they are per-interface.
967
0e7b2e32
VS
9682013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
969
970 New test: cmdline and cat.
971
16f7c8f6
VS
9722013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/commands/cat.c: Show UTF-8 characters.
975
3e912fda
VS
9762013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * conf/Makefile.common: Poison float and double on non-emu.
979
ee0220bc
VS
9802013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * configure.ac: Don't disable extended registers on emu.
983
89e0240c
VS
9842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * configure.ac: Don't use extended registers on x86_64.
987 Reported by: Peter Jones.
988
e56d9637
VS
9892013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/term/efi/console.c: Fix compile error.
992
8098f655
VS
9932013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Compressed HFS+ support.
996
16940e07
VS
9972013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
1000 pixel".
1001
c5dbc13d
VS
10022013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 Menu color test.
1005
011f8ae8
VS
10062013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/tests/setjmp_test.c: New test.
1009
2aa072d7
VS
10102013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 New variables 'net_default_*' to determine MAC/IP of default interface.
1013
43fe02cb
VS
10142013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * tests/gettext_strings_test.in: A test to check for strings not
1017 marked for translation.
1018
bed06142
VS
10192013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * autogen.sh: Exclude unused libgcrypt files from translation.
1022
fb2666b5
VS
10232013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 Simplify few strings.
1026
d22840ec
VS
10272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 Mark few forgotten strings for translation.
1030
e34092fd
VS
10312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
1034 rather than printf.
1035
47cf82b4
VS
10362013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
1039 rather than printf.
1040 * grub-core/video/readers/tga.c: Likewise.
1041
1eed0e6e
VS
10422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * tests/priority_queue_unit_test.cc: New test.
1045
c5b7697b
VS
10462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
1049 than printf.
1050
5945c2f8
AB
10512013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
1052
1053 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
1054 variable for one time boot menu entry.
1055
fa292343
B
10562013-05-05 Bean <bean123ch@gmail.com>
1057
1058 * grub-core/commands/testspeed.c: New command testspeed.
1059
310d4214
VS
10602013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 Factor-out human-size printing.
1063
85002bf3
VS
10642013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Agglomerate more mallocs to speed-up gfxterm.
1067
22b06e96
VS
10682013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 Speed-up gfxterm by slightly agglomerating mallocs.
1071
b7c036bc
VS
10722013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 More video checks.
1075
92323d1f
VS
10762013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Speed-up gfxterm by saving intermediate results in index+alpha
1079 format.
1080
0fb356a3
VS
10812013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
1084 test.
1085
44dea3f9
VS
10862013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
1089 line of timeout as it may contain the rest of long line.
1090
14af86e4
VS
10912013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/normal/main.c: Fix freed memory dereference.
1094
03f7c8c3
VS
10952013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 Fix several memory leaks.
1098
c686014c
VS
10992013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
1102
0788a695
VS
11032013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
1106
daf01d61
VS
11072013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 Fix test -a and -o precedence.
1110 Reported by: adrian15.
1111
82ae74d7
VS
11122013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
1115
8cec7bd4
AB
11162013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
1117
1118 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
1119 and add it as source to functional_test module.
1120
aa73d688
VS
11212013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
1124
c104b6f9
VS
11252013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 New series of tests for gfxterm and gfxmenu.
1128
7391c4d5
VS
11292013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
1132 the theme path relative to $prefix/themes.
1133
cff50118
VS
11342013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
1137 Fix order bug.
1138 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1139
7c332bdc
VS
11402013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
1143 descriptor.
1144
a4f9a5ff
VS
11452013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
1148 grub_gfxmenu_timeout_notifications.
1149 (grub_gfxmenu_view_destroy): Likewise.
1150
b5a2114d
VS
11512013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
1154
a8905e8a
VS
11552013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 Several fixes to ieee1275 and big-endian video.
1158
813c1622
VS
11592013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 Add missing exports on mips.
1162
3f3e7326
VS
11632013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
1166 if no unifont is found.
1167 Restore original keyboard.
1168
095accd1
VS
11692013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1172 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
1173
50361660
VS
11742013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 First automated video test (running videotest and comparing results)
1177
cd0f6eec
VS
11782013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
1181 instead of 2 to have full RGB/CMY test pattern.
1182
3f9634e5
VS
11832013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Add few more tests.
1186
583e5b64
VS
11872013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * include/grub/arc/arc.h: Account for missing "other" peripheral on
1190 ARCS. All users updated.
1191
aa7bcb99
VS
11922013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
1195
95ef1a54
VS
11962013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/partmap/amiga.c: Fix size of checksummed block.
1199
46546fc5
VS
12002013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
1203 Reported by: qwertial.
1204
3476e0ef
VT
12052013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
1206
1207 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
1208 with syntax "XXX deg"/"XXX °".
1209
96f33fed
VS
12102013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 Make PCI init in i386-qemu port more robust.
1213
12142013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
1215
1216 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
1217 cached view is reused.
1218 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
1219 open boot menus.
1220
c53b4e67
VS
12212013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 Unify more code in grub-install_header.
1224
f7457fb2
VS
12252013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 Add few new tests.
1228
e2f27a8c
VS
12292013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 Enforce disabling of firmware disk drivers when native drivers kick in.
1232
ef9d8cd5
VS
12332013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/commands/nativedisk.c: Customize the list of modules on
1236 platform. Don't try to search for disks already using native drivers.
1237
f7bf6c31
VS
12382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
1241 platforms.
1242
bdc4add8
VS
12432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
1246 handling of variables containing backslash.
1247
e9e46c9a
VS
12482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
1251 dereference.
1252 Reported by: qwertial.
1253
0e90dee8
VS
12542013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1257
e0aacf24
VS
12582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1261 dereference.
1262 Reported by: qwertial.
1263
3c0003c3
VS
12642013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1267
adb7d667
VS
12682013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1271
7cd0df84
VS
12722013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 New command `nativedisk'.
1275
02adbb93
VS
12762013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1279 * grub-core/loader/i386/bsd.c: Likewise.
1280
9fb0fd4f
VS
12812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1284
bd69257a
VS
12852013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1288 grub_get_unaligned16 rather than shifts.
1289
178c2764
VS
12902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * grub-core/kern/file.c: Use const char * rather than casting to
1293 non-const.
1294
eadfad24
VS
12952013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/commands/probe.c: Add missing grub_device_close.
1298
9f73ebd4
VS
12992013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * INSTALL: Document linguas.sh.
1302
965fa829
VS
13032013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 Remove POTFILES.in and regenerate it in autogen.sh.
1306
d417ddc4
VS
13072013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 Move --directory/--override-directorry to grub-install_header and unify.
1310
f97ec546
VS
13112013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * grub-core/term/morse.c: Macroify dih and dah.
1314
b2d7470c
PFS
13152013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1316
1317 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1318
141e2a78
VS
13192013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/term/ns8250.c: Systematically probe ports by writing
1322 to SR before using them.
1323
1dd70ebd
PFS
13242013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1325
1326 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1327 disks.
1328 (check_sas): Get sas_adress info.
1329
c796a107
VS
13302013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1333 ports.
1334
43168646
LD
13352013-04-27 Leon Drugi <eyak>
1336
1337 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1338 BSS clearing.
1339
e7b8fd08
VS
13402013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 Core compression test.
1343
17f9fd29
VS
13442013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 Implement grub_machine_get_bootlocation for ARC.
1347
dc2a6c8b
VS
13482013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 Improve AHCI detection and command issuing.
1351
f25a2ba6
VS
13522013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 Fix pseries test.
1355
a6393224
VS
13562013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 Make 'make check' work on emu.
1359
db99fbe8
VS
13602013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Replace libcurses with our own vt100 handling for the ease of testing
1363 and decreasing prerequisites.
1364
b24ca7cd
VS
13652013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1368
63314aa4
VS
13692013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1372 compile when not needed.
1373
c1b00fff
VS
13742013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * tests/pseries_test.in: New test.
1377
f93e89ef
VS
13782013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Add test to check that different boot mediums work.
1381
c4b456d3
VS
13822013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1385 ofw limited ISO support.
1386
5fe67f39
VS
13872013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * configure.ac: Fix loongson conditional.
1390
7f63a64f
VS
13912013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 Enable mipsel-arc.
1394
b04b5990
VS
13952013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 Add serial on ARC platform.
1398
88d2f302
VS
13992013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1402 commit.
1403
86eb23bc
VS
14042013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * tests/partmap_test.in: Add missing double semicolon.
1407
eec3bb75
VS
14082013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * util/grub-mkrescue.in: Fix loongson filename.
1411
e0810df3
VS
14122013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * util/grub-mkrescue.in: Move all files that don't have a location
1415 set in stone under /boot/grub. Use ISO hard links rather than copies
1416 to save some space.
1417
65a6b30b
VS
14182013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1421 bogus SLOF values.
1422
6aff0107
VS
14232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Make check work on mips-arc.
1426
5e013e56
VS
14272013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * util/grub-mkrescue.in: Alias sashARCS as sash.
1430
d1989e2e
VS
14312013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1434 it's serial.
1435
1a25e72c
VS
14362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * util/grub-install.in: Fix target fo qemu_mips.
1439 Fix extension on EFI.
1440
a59a9826
VS
14412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1444 in front of chosen entry to mark it even if highlighting is lost.
1445
1a40f80c
VS
14462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1449 gfxpayload=keep if cbfb is active.
1450
e343549c
VS
14512013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1454
45fbd9a2
VS
14552013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 Add missing video ids to coreboot and ieee1275 video.
1458
ab1440bd
VS
14592013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * util/grub-mkrescue.in: Add mips-arc support.
1462
cdeb8324
VS
14632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1466
8528c879
VS
14672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 Move mips-arc link address. Previous link address was chosen
1470 in belief that RAM on SGI platforms grows down while in fact it
1471 grows up from an unusual base.
1472
17fca573
VS
14732013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1476 Fix a type which prevented CD-ROM and floppy boot.
1477
d178788e
VS
14782013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Support coreboot framebuffer.
1481
1482 * grub-core/video/i386/coreboot/cbfb.c: New file.
1483
fe4c3e7e
VS
14842013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1487 detecting too small regions.
1488
ec2dd179
VS
14892013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1492
872dac83
VS
14932013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1496 Remove dprintf.
1497 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1498
90ec4b7f
VS
14992013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1502 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1503 * grub-core/loader/powerpc/ieee1275/linux.c
1504 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1505
f32555dd
VS
15062013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1509 Look for /boot-rom as well as /rom/boot-rom.
1510
38649799
VS
15112013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1514 handling when creating text_layer failed.
1515 * grub-core/video/video.c (grub_video_create_render_target):
1516 Set result to 0 on error.
1517 (grub_video_delete_render_target): Do not dereference NULL.
1518
aeace7f7
VS
15192013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1522 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1523 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1524 (grub_linux_load64): Mask out 2 high bits.
1525
4eafa175
AB
15262013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1527
1528 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1529 more place.
1530
daaa64bd
VS
15312013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 Add support for pseries and other bootinfo machines to grub-mkrescue.
1534
1535 Tested by: Paulo Flabiano Smorigo.
1536
d0d2daa6
VS
15372013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * util/grub-mkrescue.in: Add GPT for EFI boot.
1540
b193e100
VS
15412013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1544 It improves performance in qemu.
1545
a0f8f3ac
VS
15462013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * build-aux/snippet: Add missing gnulib files.
1549
284df0e2
AB
15502013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1551
1552 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1553
740201f3
AB
15542013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1555
1556 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1557
a7e03923
PJ
15582013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15592013-04-15 Peter Jones <pjones@redhat.com>
1560
1561 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1562 sectors.
1563 Based on patch by Peter Jones.
1564
25fc51a8
VS
15652013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 Fix DMRAID partition handling.
1568
88017d47
VS
15692013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * tests/grub_cmd_date.in: Skip on sparc64.
1572
fa7d914e
VS
15732013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1576 firmware error messages.
1577
cbe57a48
VS
15782013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1581 source and destination differ.
1582
21aecce0
VS
15832013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1586 detection.
1587
25092d29
VS
15882013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1591 match config-util.h to avoid warnings and increase compatibility.
1592
79451522 15932013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 15942013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1595
1596 Add option to compress files on install/image creation.
1597
78b7d77b
VS
15982013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * docs/grub-dev.texi: Rearrange menu to match the section order.
1601 Reported by: Bryan Hundven.
1602
cc2fa5ec
VS
16032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1606
b49fe879
VS
16072013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Move GRUB out of system area when using xorriso 1.2.9 or later.
1610
5351da81
VS
16112013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * tests/grub_cmd_date.in: Add missing exit 1.
1614
c9d586ea
VS
16152013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * tests/partmap_test.in: Skip on sparc64.
1618
3f729741
VS
16192013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 Support grub-shell on sparc64.
1622
8ca86b3a
VS
16232013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 Support mkrescue on sparc64.
1626
aa1af9bb
VS
16272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1630 Needed on OpenBIOS due to incomplete device tree.
1631
ac4fea79
VS
16322013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1635 would be otherwise excluded.
1636
16372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1638
1639 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1640 Inline name defines used only once.
1641
fe22b071
VS
16422013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Fix memory leaks in ofnet.
1645 Reported by: Francesco Lavra.
1646
9d21381b
VS
16472013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * docs/man/grub-glue-efi.h2m: Add missing file.
1650
07aec23c
VS
16512013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1654
67ab8353
VS
16552013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 Better support Apple Intel Macs on CD.
1658
ba44ca6d
VS
16592013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 Replace stpcpy with grub_stpcpy in tools.
1662
bbdd6305
VS
16632013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 Handle Japanese special keys.
1666 Reported by: Hiroyuki YAMAMORI.
1667 Codes supplied by: Hiroyuki YAMAMORI.
1668
8573d302
VS
16692013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 * util/grub-mkimage.c: Document memdisk implying --prefix.
1672
d70dbab7
VS
16732013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1676 much we can do about it anyway.
1677
51a4c3e3
AN
16782013-04-12 Aleš Nesrsta <starous@volny.cz>
1679
1680 Fix handling of split transfers.
1681
92c8f58d
VS
16822013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/net/http.c: Fix bad free.
1685
b7d17a49
VS
16862013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1689 than buffer size.
1690
a3d566d4
VS
16912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1694
a936af56
VS
16952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * tests/util/grub-shell.in: Fix it on powerpc.
1698
51212234
VS
16992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 Turn off QEMU ACPI-way since new releases don't have shutdown port
1702 anymore.
1703
a21eec9e
VS
17042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * docs/grub.texi: Update coreboot status info.
1707
e3734b84
VS
17082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * tests/grub_cmd_date.in: New test for datetime.
1711
f9d40055
VS
17122013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * tests/partmap_test.in: Fix missing qemudisk setting.
1715
dbc56d8f
VS
17162013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 Support i386-ieee1275 grub-mkrescue and make check on it.
1719
a79b8a15
VS
17202013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1723 feature for it.
1724
48f39bb4
VS
17252013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1728 GRUB_CMDLINE_XEN_DEFAULT.
1729 Reported by: Marc Warne (GigaTux) <gigatux>
1730
053cfcdd
VS
17312013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 Import new gnulib.
1734
93cd84df
VS
17352013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 Use ACPI shutdown intests as traditional port was removed.
1738
f4b1fa4f
AB
17392013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1740
1741 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1742 distinction.
1743
49818a59
VS
17442013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1747 Fix few warining messages and leaks while on it.
1748
9277a306
AB
17492013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1750
1751 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1752 links under grub-core/lib/libgcrypt-grub/mpi.
1753
d5e2a158
VS
17542013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 Fix ia64-efi image generation on big-endian machines. Deduplicate
1757 some code while on it.
1758 Reported by: Leif Lindholm.
1759
18866643
AB
17602013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1761
1762 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1763 as extra_dist.
1764
ca53deb8
AB
17652013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1766
1767 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1768
d4c4b8e1
BH
17692013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1770
1771 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1772 texinfo-5.1.
1773
47043f95
VS
17742013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * grub-core/normal/term.c: Few more fixes for menu entry editor
1777 rendering.
1778 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1779
a3216068
VS
17802013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/normal/term.c: Few more fixes for menu entry editor
1783 rendering.
1784 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1785
21026747
AB
17862013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1787
1788 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1789 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1790
59624ca8
AB
17912013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1792
1793 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1794 instead of hardcoding grub.mo.
1795
1f44478c
FN
17962013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1797
1798 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1799
eeada7b1
VS
18002013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1803 grub-core/disk/geli.c.
1804
132867de
VS
18052013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * util/grub-mkfont.c: Prefer enum to #define.
1808
de73de17
VS
18092013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1812
1865baa7
VS
18132013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1816
ce7d92a9
VS
18172013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1820
52eab656
VS
18212013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1824
98b23b95
VS
18252013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * include/grub/bsdlabel.h: Use enums.
1828
0467a5dd
VS
18292013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 Move GRUB_CHAR_BIT to types.h.
1832
16cc9f03
AB
18332013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1834
1835 * docs/grub.texi: Document more user commands.
1836
3152aecb
AB
18372013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1838
1839 * docs/grub.texi: Document menuentry --id option.
1840
c506fc30
FL
18412013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1842
1843 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1844
aa428238
VS
18452013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 Unify file copying setup across different install scripts. Add
1848 options for performing partial install.
1849
efe0cdda
PJ
18502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18512013-04-04 Peter Jones <pjones@redhat.com>
1852
1853 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1854
f75835bd
VS
18552013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Use TSC as a possible time source on i386-ieee1275.
1858
2cd5ce6c
VS
18592013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
1862 Init err.
1863
c9625630
VS
18642013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * util/grub-setup.c (setup): Handle some corner cases.
1867
be008941
VS
18682013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
1871
1a78d573
VS
18722013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/commands/verify.c: Save verified file to avoid it being
1875 tampered with after verification was done.
1876
db8ff59f
VS
18772013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
1880 reported width by one to compensate for curesor algorithm problem.
1881
91bf46b1
VS
18822013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Fix screen corruption in menu entry editor and simplify the code
1885 flow while on it.
1886
a7b1d693
AB
18872013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
1888
1889 * util/grub-mount.c (fuse_init): Return error if fuse_main
1890 failed.
1891
31df9ad8
FL
18922013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
1893
1894 * include/grub/elf.h: Add missing ARM relocation codes and fix
1895 existing ones.
1896
07f392eb
VT
18972013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1898
1899 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
1900
9efd73ec 19012013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
19022013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
1905 into account when calculating radius.
1906
19072013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
1908
1909 * grub-core/gfxmenu/view.c: Fix off-by-one error.
1910
4985ddaa
VT
19112013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1912
1913 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
1914
8c3635ff
RS
19152013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1916
1917 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
1918 missing closing bracket.
1919
74a35e69
RS
19202013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1921
1922 * INSTALL: Mention xorriso requirement.
1923
40f1c000
AB
19242013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
1925
1926 * grub-core/commands/verify.c: Fix hash algorithms values for
1927 the first three hashes - they start with 1, not with 0.
1928
e75fdee4
VS
19292013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
1932 Try terminating EFI services several times due to quirks in some
1933 implementations.
1934
33028f4c
CW
19352013-03-26 Colin Watson <cjwatson@ubuntu.com>
1936
1937 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
1938 skipping Event, Device, Processor, PowerRes, ThermalZone, and
1939 BankField extended opcodes.
1940 (get_sleep_type): Add minimal scope handling (just enough to
1941 handle setting the scope to the root path).
1942 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
1943 * include/grub/acpi.h: Add enumeration values for Event, Device,
1944 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
1945
33871a10
VT
19462013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
1947
1948 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
1949 memory leak.
1950
8990963a
VS
19512013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/disk/ahci.c: Give more time for AHCI request.
1954
daae8f9e
VS
19552013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
1958 command.
1959
6a7fb94b
VS
19602013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 Replace the region at 0 from coreboot tables to available in BSD
1963 memory map.
1964
ff99babd
VS
19652013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
1968 non-BIOS platforms.
1969
30d6b1b2
VS
19702013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
1973 platforms.
1974
6ccd0b31
VS
19752013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1978 handling of multi-device filesystems.
1979
23c9cc04
VS
19802013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
1983 platforms.
1984
ce50dbd7
VS
19852013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Add new 'proc' filesystem framework and put luks_script into it.
1988
d975e8d5
VS
19892013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
1992 and qemu.
1993
e73ba5e8
VS
19942013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
1997
92750e4c
VS
19982013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1999
2000 Add ability to generate newc additions on runtime.
2001
0ec45a68
VS
20022013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
2005 description.
2006
320abd43
VS
20072013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * po/POTFILES.in: Regenerate.
2010
d7a6506e
VS
20112013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/commands/verify.c (hashes): Add several hashes
2014 from the spec.
2015
8fe05def
VS
20162013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 Slight improve in USB-related boot-time checkpoints.
2019
524e2766
VS
20202013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/commands/boottime.c: Fix copyright header.
2023
cc19857a
VS
20242013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
2027 coreboot tables content. Support for cbmemc.
2028
ef8810e9
VS
20292013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 Fix a conflict between ports structures with 2 controllers of
2032 same kind.
2033
e9dabdfa
VS
20342013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * include/grub/boottime.h: Add missing file.
2037
f6df57d2
VS
20382013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 Initialize USB ports in parallel to speed-up boot.
2041
d745dda7
VS
20422013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 Fix USB devices not being detected when requested
2045 due to delayed attach.
2046
e5a2dd7b
VS
20472013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2048
e744219b
VS
2049 Implement boot time analysis framework.
2050
20512013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
2054 descriptor to just receive it as argument rather than endpoint
2055 address.
2056
5dd6f587
VS
20572013-03-19 Aleš Nesrsta <starous@volny.cz>
2058
2059 Better estimate the maximum USB transfer size.
2060
2f1071d5
VS
20612013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 Resend a packet if we got the wrong buffer in status.
2064
46ecfc49
VS
20652013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
2068 multiplication rather than division.
2069
ea811130
VS
20702013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
2073 than divisions.
2074
d2789cf0
VS
20752013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
2078 operations to have intended shifts and not divisions.
2079
a9c94590
VS
20802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
2083 intended shifts rather than division.
2084
84cfe81b
VS
20852013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
2088 computation for some years before epoch. Avode confusing division
2089 while on it.
2090
21344ef6
VS
20912013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/video/i386/pc/vbe.c
2094 (grub_video_vbe_print_adapter_specific_info): Replace division by
2095 shifts.
2096
3f2b4d1a
VS
20972013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 Adjust types in gdb module to have intended unsigned shifts rather than
2100 signed divisions.
2101
3dac5878
VS
21022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
2105 maximum size is 4G - 1 on hfs
2106
5341c0fb
VS
21072013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
2110
fc3ff2a2
VS
21112013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
2114 function.
2115
81455e8e
AB
21162013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
2117
2118 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
2119 causing gcc error with gcc 4.7.1.
2120
efd4f117
NZ
21212013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2122
2123 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
2124 dereference null pointer. While the code is technically correct, gcc
2125 may eliminate a null check if pointer is already dereferenced.
2126
e11645f4
NZ
21272013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
2128
2129 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
2130 OOM check.
2131 * grub-core/normal/term.c (read_terminal_list): Likewise.
2132
77468368
VS
21332013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Lift up core size limits on some platforms. Fix potential memory
2136 corruption with big core on small memory systems. Document remaining
2137 limits.
2138
f6b58fe5
VS
21392013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
2142 gotoxy to 0,0.
2143
19ce697d
VS
21442013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 Remove all trampoline support. Add -Wtrampolines when
2147 present. Remove symbols used for trampolines to make
2148 link fail if trampolines are present.
2149
73b5d90f
VS
21502013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
2153 append out of its parent.
2154
cb758e96
VS
21552013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
2158 parent.
2159
3188131f
VS
21602013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
2163 all vars to a macro. All users updated.
2164
e42b2514
VS
21652013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * grub-core/disk/ieee1275/nand.c: Fix compilation on
2168 i386-ieee1275.
2169
83e1a1a1
VS
21702013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
2173
1d5a880f
VS
21742013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
2177
6e4146c4
VS
21782013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 Move to more hookless approach in IEEE1275 devices handling.
2181
99fcda8a
VS
21822013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/kern/term.c (grub_term_normal_color),
2185 (grub_term_highlight_color): Add back lost defaults.
2186
73bf57e2
VS
21872013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 Make elfload not use hooks. Opt for flags and iterators instead.
2190
7f8c105f
VS
21912013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
2194 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
2195
396d4091
VS
21962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/script/execute.c (gettext_append): Remove nested functions.
2199
22002013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
2203 hook pass-through parameter. All users updated and unnested.
2204
74a27421
VS
22052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
2208 out of its parent.
2209
b46d4213
VS
22102013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/fs/hfs.c: Remove nested functions.
2213
e114c3cc
VS
22142013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
2217 the context through.
2218 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
2219
f9b7d780
VS
22202013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * util/grub-editenv.c (list_variables): Move print_var out of its
2223 parent.
2224
ca9c2608
VS
22252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
2228 function.
2229
5d983f5f
VS
22302013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/gentrigtables.c: Make tables const.
2233
3056d3e7
VS
22342013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 Remove nested functions from videoinfo iterators.
2237
e2303774
VS
22382013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
2241 for 64-bit platforms.
2242
f42e3a2f
VS
22432013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
2246 a FOR_CHILDREN macro.
2247
be174e5e
VS
22482013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
2251 platform from firmware path.
2252
0789b672
VS
22532013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 Enable linux16 on non-BIOS systems for i.a. memtest.
2256
2257 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2258 correctly.
2259 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2260
005a9c32
VS
22612013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2264 Fix end of table condition.
2265
ff2b3cd9
VS
22662013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2269 out of its parent.
2270
4fc40ff8
VS
22712013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/jfs.c: Remove nested functions.
2274
be42d97a
VS
22752013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/fs/minix.c: Remove nested functions.
2278
99373ce4
VS
22792013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/fs/iso9660.c: Remove nested functions.
2282
5aec2afe
VS
22832013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2286 of parent function.
2287
6c69e691
VS
22882013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * util/grub-fstest.c: Remove nested functions.
2291
43c91882
VS
22922013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/loader/machoXX.c: Remove nested functions.
2295
4eb8b756
CW
22962013-02-27 Colin Watson <cjwatson@ubuntu.com>
2297
2298 Remove nested functions from disk and file read hooks.
2299
2300 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2301 (struct grub_disk): Add read_hook_data member.
2302 * include/grub/file.h (struct grub_file): Likewise.
2303 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2304 argument.
2305
2306 Update all callers.
2307
df6da5a5
AB
23082012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2309
2310 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2311 Fix off by one error in enumerating extended partitions.
2312
21aecde5
AB
23132013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2314
2315 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2316 memory leak if device name is not found.
2317
f1a19118
AB
23182013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2319
2320 * grub-core/normal/menu_entry.c (update_screen): remove
2321 unused variable `off' which caused scroll down arrow to be always shown.
2322
958bfd20
AB
23232013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2324
2325 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2326 access to unallocated memory.
2327
b7b78edb
AB
23282013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2329
2330 * Makefile.util.def: Add partmap/msdos.c to common library.
2331 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2332 * grub-core/disk/ldm.c: Check for existence of
2333 GRUB_PC_PARTITION_TYPE_LDM.
2334
28d468d6
VS
23352013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2338 sizes and display sector size.
2339
d55ffb02
VS
23402013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 Implement new command cmosdump.
2343
b5ea6ce0
VS
23442013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2345
2346 Support Openfirmware disks with non-512B sectors.
2347
2348 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2349 size of the disk.
2350 * (grub_ofdisk_get_block_size): New function.
2351 * (grub_ofdisk_prepare): Use the correct block size.
2352 * (grub_ofdisk_read): Likewise.
2353 * (grub_ofdisk_write): Likewise.
2354 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2355 New proto.
2356
cc0e476f
VS
23572013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2360
c5dbdc33
VS
23612013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2364 on first error.
2365
3f078c0f
VS
23662013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2369 freeing it.
2370
66a93674
VS
23712013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 Implement USBDebug (full USB stack variant).
2374
c9f0c134
VS
23752013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2378 unless they have unexpected values.
2379
cfe1288b
VS
23802013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2383 grub_print_error.
2384
e42b9969
VS
23852013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2388 zero-out of port structure.
2389
cf94fd62
VS
23902013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2393 of extended attributes.
2394
f81ef4b5
AB
23952013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2396
2397 * util/grub-install.in: change misleading comment about
2398 device.map creation
2399
af18fdb4
VS
24002013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2403 when menu highlight color isn't set.
2404
08bcec50
M
24052013-01-27 C. Masloch <pushbx@38.de>
2406
2407 Improve FreeDOS direct loading support compatibility.
2408
2409 * include/grub/i386/relocator.h (grub_relocator16_state):
2410 New member ebp.
2411 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2412 variable.
2413 (grub_relocator16_boot): Handle %ebp.
2414 * grub-core/lib/i386/relocator16.S: Likewise.
2415 * grub-core/loader/i386/pc/freedos.c:
2416 Load BPB to pass kernel which partition to load from.
2417 Check that kernel file is not too large.
2418 Set register dl to BIOS unit number as well.
2419
7782b8a6
CW
24202013-01-22 Colin Watson <cjwatson@ubuntu.com>
2421
2422 * util/grub-reboot.in (usage): Document the need for
2423 GRUB_DEFAULT=saved.
2424 * util/grub-set-default.in (usage): Likewise.
2425 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2426
e661c180
VS
24272013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2430 than defining WORDS_BIGENDIAN manually.
2431
1c22ca9a
VS
24322013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2435 invariants.
2436
d44892fe
CW
24372013-01-21 Colin Watson <cjwatson@ubuntu.com>
2438
2439 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2440 nested.
2441 (blit_comb: add_device_width): Likewise.
2442
5fdbaed1
CW
24432013-01-21 Colin Watson <cjwatson@ubuntu.com>
2444
2445 Remove nested functions from USB iterators.
2446
2447 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2448 (grub_usb_controller_iterate_hook_t): Likewise.
2449 (grub_usb_iterate): Add hook_data argument.
2450 (grub_usb_controller_iterate): Likewise.
2451 (struct grub_usb_controller_dev.iterate): Likewise.
2452
2453 Update all implementations and callers.
2454
4250985a
VS
24552013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2458 margin when not needed.
2459
7d8848f3
VS
24602013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2461
bc136973 2462 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2463
24642013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2465
bc136973
VS
2466 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2467 asterisk.
7d8848f3 2468
ed12a003
CW
24692013-01-21 Colin Watson <cjwatson@ubuntu.com>
2470
2471 Fix powerpc and sparc64 build failures caused by un-nesting memory
2472 map iterators.
2473
6a0db449
CW
24742013-01-21 Colin Watson <cjwatson@ubuntu.com>
2475
2476 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2477 parameter declarations.
2478
ccd86b21
VS
24792013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2482
822b726b
VS
24832013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 Improve spkmomdem reliability by adding a separator between bytes.
2486
115c2cc1
CW
24872013-01-21 Colin Watson <cjwatson@ubuntu.com>
2488
2489 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2490 an Acer registration utility with several sightings in the wild.
2491 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2492
fc524edf
CW
24932013-01-21 Colin Watson <cjwatson@ubuntu.com>
2494
2495 Remove nested functions from filesystem directory iterators.
2496
2497 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2498 (struct grub_fs.dir): Add hook_data argument.
2499
2500 Update all implementations and callers.
2501
53d3e4e3
CW
25022013-01-21 Colin Watson <cjwatson@ubuntu.com>
2503
2504 * docs/grub.texi (Multi-boot manual config): Fix typo for
2505 "recommended".
2506
c821711f
LL
25072013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2508
2509 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2510 until after its use in generate_image.
2511
6a0debbd
CW
25122013-01-20 Colin Watson <cjwatson@ubuntu.com>
2513
2514 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2515 initrd size to addr_min, since the initrd will be allocated after
2516 this address.
2517
f41e08db
AB
25182013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2519
2520 * conf/Makefile.common: Fix autogen rules to pass definition
2521 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2522
77529e0f
LL
25232013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2524
2525 * include/grub/elf.h: Update ARM definitions based on binutils.
2526
b879aa7b
VS
25272013-01-20 Aleš Nesrsta <starous@volny.cz>
2528
2529 Split long USB transfers into short ones.
2530
8eb8284d
AB
25312013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2532
2533 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2534 is interrupted by ESC.
2535
08dad2dc
VS
25362013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * util/grub-script-check.c (main): Uniform the error message.
2539
6c724b85
CW
25402013-01-20 Colin Watson <cjwatson@ubuntu.com>
2541
2542 Remove nested functions from ELF iterators.
2543
25239370
CW
25442013-01-20 Colin Watson <cjwatson@ubuntu.com>
2545
2546 Remove nested functions from device iterators.
2547
2548 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2549 (grub_arc_iterate_devs): Add hook_data argument.
2550 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2551 (struct grub_ata_dev.iterate): Add hook_data argument.
2552 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2553 (grub_device_iterate): Add hook_data argument.
2554 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2555 (struct grub_disk_dev.iterate): Add hook_data argument.
2556 (grub_disk_dev_iterate): Likewise.
2557 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2558 Likewise.
2559 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2560 Likewise.
2561 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2562 type.
2563 (struct grub_partition_map.iterate): Add hook_data argument.
2564 (grub_partition_iterate): Likewise.
2565 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2566 (struct grub_scsi_dev.iterate): Add hook_data argument.
2567
2568 Update all callers.
2569
6c0314d6
CW
25702013-01-20 Colin Watson <cjwatson@ubuntu.com>
2571
2572 Fix typos for "developer" and "development".
2573
600dc5f1
VS
25742013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 Add license header to spkmodem-recv.c.
2577
17334a6b
VS
25782013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 Rewrite spkmodem to use PIT for timing. Double the speed.
2581
7d462559
VS
25822013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 Add new command pcidump.
2585
b78d6c32
VS
25862013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 New terminal outputs using serial: morse and spkmodem.
2589
34f71cb8
VS
25902013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 Improve bidi handling in entry editor.
2593
4542e71b
VS
25942013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2597 argument to prevent name collision.
2598
09fd6d82
CW
25992013-01-15 Colin Watson <cjwatson@ubuntu.com>
2600
2601 Remove nested functions from script reading and parsing.
2602
2603 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2604 getline_data argument, passed to getline.
2605 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2606 getline_data argument, passed to grub_parser_split_cmdline.
2607 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2608 lexerstate->getline_data to lexerstate->getline.
2609 (grub_script_lexer_init): Add getline_data argument, saved in
2610 lexerstate->getline_data.
2611 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2612 argument, passed to grub_script_parse.
2613 * grub-core/script/script.c (grub_script_parse): Add getline_data
2614 argument, passed to grub_script_lexer_init.
2615 * include/grub/parser.h (grub_parser_split_cmdline): Update
2616 prototype. Update all callers to pass appropriate getline data.
2617 (struct grub_parser.parse_line): Likewise.
2618 (grub_rescue_parse_line): Likewise.
2619 * include/grub/reader.h (grub_reader_getline_t): Add void *
2620 argument.
2621 * include/grub/script_sh.h (struct grub_lexer_param): Add
2622 getline_data member.
2623 (grub_script_parse): Update prototype. Update all callers to pass
2624 appropriate getline data.
2625 (grub_script_lexer_init): Likewise.
2626 (grub_normal_parse_line): Likewise.
2627
2628 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2629 data argument.
2630 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2631 static instead of nested. Rename to ...
2632 (grub_parser_execute_getline): ... this.
2633 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2634 data argument.
2635 * grub-core/normal/main.c (read_config_file: getline): Make static
2636 instead of nested. Rename to ...
2637 (read_config_file_getline): ... this.
2638 (grub_normal_read_line): Add unused data argument.
2639 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2640 getline): Make static instead of nested. Rename to ...
2641 (grub_script_execute_sourcecode_getline): ... this.
2642 * util/grub-script-check.c (main: get_config_line): Make static
2643 instead of nested.
2644
d0d4b8a0
CW
26452013-01-15 Colin Watson <cjwatson@ubuntu.com>
2646
2647 Remove nested functions from memory map iterators.
2648
2649 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2650 argument, passed to hook.
2651 * grub-core/kern/i386/coreboot/mmap.c
2652 (grub_linuxbios_table_iterate): Likewise.
2653 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2654 instead of nested.
2655 (grub_machine_mmap_iterate): Add hook_data argument.
2656 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2657 Add hook_data argument, passed to hook.
2658 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2659 Likewise.
2660 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2661 Likewise.
2662 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2663 Likewise.
2664 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2665 Likewise.
2666 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2667 Likewise.
2668 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2669 Likewise.
2670 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2671 (grub_machine_mmap_iterate): Likewise.
2672 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2673 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2674 prototype.
2675 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2676 Remove NESTED_FUNC_ATTR from here and from all users.
2677 (grub_mmap_iterate): Update prototype.
2678 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2679 pass appropriate hook data.
2680 (grub_machine_mmap_iterate): Likewise.
2681
2682 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2683 static instead of nested.
2684 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2685 Rename to ...
2686 (lsmmap_hook): ... this.
2687 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2688 Likewise.
2689 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2690 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2691 heap_init): Likewise.
2692 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2693 Rename to ...
2694 (mmap_iterate_hook): ... this.
2695 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2696 Likewise.
2697 * grub-core/lib/ieee1275/relocator.c
2698 (grub_relocator_firmware_get_max_events: count): Likewise.
2699 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2700 to ...
2701 (grub_relocator_firmware_fill_events_iter): ... this.
2702 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2703 hook): Likewise. Rename to ...
2704 (grub_relocator_alloc_chunk_align_iter): ... this.
2705 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2706 Rename to ...
2707 (generate_e820_mmap_iter): ... this.
2708 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2709 Rename to ...
2710 (count_hook): ... this.
2711 (grub_linux_boot: hook): Likewise. Rename to ...
2712 (grub_linux_boot_mmap_find): ... this.
2713 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2714 (grub_linux_boot_mmap_fill): ... this.
2715 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2716 hook): Likewise. Rename to ...
2717 (grub_fill_multiboot_mmap_iter): ... this.
2718 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2719 hook): Likewise. Rename to ...
2720 (count_hook): ... this.
2721 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2722 hook): Likewise. Rename to ...
2723 (grub_fill_multiboot_mmap_iter): ... this.
2724 * grub-core/loader/powerpc/ieee1275/linux.c
2725 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2726 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2727 Likewise. Rename to ...
2728 (alloc_phys_choose): ... this.
2729 (determine_phys_base: get_physbase): Likewise.
2730 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2731 find_hook): Likewise.
2732 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2733 (malloc_hook: count_hook): Likewise.
2734 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2735 Likewise. Rename to ...
2736 (lower_hook): ... this.
2737 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2738 (upper_hook): ... this.
2739 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2740 (post64_hook): ... this.
2741 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2742 Likewise. Rename to ...
2743 (lower_hook): ... this.
2744 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2745 (upper_hook): ... this.
2746 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2747 (grub_mmap_iterate: fill_hook): Likewise.
2748 (fill_mask): Pass addr and mask within a single struct.
2749 (grub_cmd_badram: hook): Make static instead of nested. Rename
2750 to ...
2751 (badram_iter): ... this.
2752 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2753 (cutmem_iter): ... this.
2754
22099030
VS
27552013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2758 delimit path in strings using quotes.
2759 * util/getroot.c (grub_guess_root_devices): Likewise.
2760 (grub_make_system_path_relative_to_its_root): Likewise.
2761 * util/grub-probe.c (probe): Likewise.
2762 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2763 (xrealpath): Likewise.
2764
4a9950ec
VS
27652013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 Fix compilation with older compilers.
2768
2769 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2770 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2771 declarations.
2772 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2773 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2774 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2775 identifier with b.
2776 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2777 * include/grub/crypto.h: Add type defines.
2778 * util/import_gcrypth.sed: Remove duplicate type defines.
2779
adcc6020
VS
27802013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 New command list_trusted.
2783
2784 * grub-core/commands/verify.c (grub_cmd_list): New function.
2785
a4528937
CW
27862013-01-13 Colin Watson <cjwatson@ubuntu.com>
2787
2788 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2789 info message.
2790
ca3a7446
CW
27912013-01-13 Colin Watson <cjwatson@ubuntu.com>
2792
2793 Remove nested functions from PCI iterators.
2794
2795 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2796 passed to hook. Update all callers to pass appropriate hook data.
2797 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2798 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2799 Remove NESTED_FUNC_ATTR from here and from all users.
2800 (grub_pci_iterate): Update prototype.
2801 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2802 instead of nested. Rename to ...
2803 (grub_cs5536_find_iter): ... this.
2804 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2805 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2806 Likewise.
2807 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2808 Likewise.
2809 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2810 Likewise.
2811 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2812 Likewise.
2813 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2814 * grub-core/video/radeon_fuloong2e.c
2815 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2816 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2817 find_card): Likewise.
2818 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2819 Likewise.
2820
f8e98fee
VS
28212013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/commands/verify.c: Mark messages for translating.
2824
055b36b6
VS
28252013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2828 fatal.
2829
f7ff879b
VS
28302013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2833 fatal.
2834
28352013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2836
2837 * autogen.sh: Do not try to delete nonexistant files.
2838 * util/import_gcrypth.sed: Add some missing header removals.
2839
01323d49
CW
28402013-01-12 Colin Watson <cjwatson@ubuntu.com>
2841
2842 Clean up dangling references to grub-setup.
2843 Fixes Ubuntu bug #1082045.
2844
2845 * docs/grub.texi (Images): Refer generally to grub-install rather
2846 than directly to grub-setup.
2847 (Installing GRUB using grub-install): Remove direct reference to
2848 grub-setup.
2849 (Device map) Likewise.
2850 (Invoking grub-install): Likewise.
2851 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2852 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2853 * util/grub-install.in (usage): Likewise.
2854
2855 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2856 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2857 grub-setup.
2858 * configure.ac: Remove grub_setup output variable.
2859
2860 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2861 to grub-bios-setup.
2862 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
2863 grub-setup to grub-sparc64-setup.
2864
5e3b8dcb
VS
28652013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 Import gcrypt public-key cryptography and implement signature checking.
2868
535714bd
VS
28692013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2870
2871 * grub-core/fs/ntfs.c: Ue more appropriate types.
2872 * grub-core/fs/ntfscomp.c: Likewise.
2873 * include/grub/ntfs.h: Likewise.
2874
3e4f3566
VS
28752013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Support Apple FAT binaries on non-Apple platforms.
2878
2879 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
2880 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
2881 Likewise.
2882 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
2883 Apple FAT binaries.
2884
4dedb13f
VS
28852013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
2888 sector devices.
2889
f8861eaf
CW
28902013-01-07 Colin Watson <cjwatson@ubuntu.com>
2891
2892 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
2893 explicitly zeroing elements.
2894 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
2895 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
2896 of elements in a structure already allocated using grub_zalloc.
2897 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2898
86065b0a
CW
28992013-01-07 Colin Watson <cjwatson@ubuntu.com>
2900
2901 * docs/grub.texi (grub_cpu): New subsection.
2902 (grub_platform): Likewise.
2903
c6f1e92f
VS
29042013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
2907
f797ec85
VS
29082013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
2911 divisions.
2912
033d0b4b
VS
29132013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
2916 * grub-core/fs/ntfscomp.c: Likewise.
2917 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
2918 (grub_ntfs_comp): Likewise.
2919
21d1b9a0
VS
29202013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
2923 Rename to ...
2924 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
2925 of groups_per_block. All users updated.
2926
10ca8645
VS
29272013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
2930 grub_error properly.
2931 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
2932 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
2933
a4c3ed4c
VS
29342013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
2937 always in /boot/zfs.
2938 Reported by: Yuta Satoh.
2939
0b716507
YS
29402013-01-03 Yuta Satoh <nigoro>
2941
2942 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
2943 ${grub_probe}
2944
00c05e22
VS
29452013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * configure.ac: Extend -Wno-trampolines to host.
2948
dadddb76
VS
29492013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
2952 entry->len = 0.
2953
54ce53ca
CW
29542013-01-03 Colin Watson <cjwatson@ubuntu.com>
2955
2956 * docs/grub.texi (Invoking grub-mkrelpath): New section.
2957 (Invoking grub-script-check): Likewise.
2958
8912efca
CW
29592013-01-03 Colin Watson <cjwatson@ubuntu.com>
2960
2961 * docs/grub.texi (Invoking grub-mount): New section.
2962 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
2963
c3fc8394
CW
29642013-01-02 Colin Watson <cjwatson@ubuntu.com>
2965
2966 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
2967 test failures, so that a failing unit test correctly causes 'make
2968 check' to fail.
2969
45d26abb
CW
29702013-01-02 Colin Watson <cjwatson@ubuntu.com>
2971
2972 Fix failing printf test.
2973
2974 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
2975 '$' in the correct order when collecting type information.
2976
971dd2c6
CW
29772013-01-02 Colin Watson <cjwatson@ubuntu.com>
2978
2979 * docs/grub.texi (configfile): Explain environment variable
2980 handling.
2981 (source): New section.
2982 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
2983
5c67ea6c
CW
29842012-12-31 Colin Watson <cjwatson@ubuntu.com>
2985
2986 Remove several trivially-unnecessary uses of nested functions.
2987
2988 * grub-core/commands/i386/pc/sendkey.c
2989 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
2990 instead of nested.
2991 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
2992 Rename to ...
2993 (legacy_file_getline): ... this.
2994 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
2995 Likewise.
2996 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
2997 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
2998 to ...
2999 (probe_dummy_iter): ... this.
3000 * grub-core/kern/i386/coreboot/mmap.c
3001 (grub_linuxbios_table_iterate: check_signature): Likewise.
3002 * grub-core/kern/parser.c (grub_parser_split_cmdline:
3003 check_varstate): Likewise. Mark inline.
3004 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
3005 an additional parameter.
3006 (find_long: fnd_long): Likewise. Pass two additional parameters.
3007 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
3008 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
3009 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
3010 Likewise. Rename to ...
3011 (grub_cmos_find_port_iter): ... this.
3012 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
3013 Rename to ...
3014 (find_rtc_iter): ... this.
3015
3016 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
3017 function directly into the function body, since it is only called
3018 once.
3019
33a68ac6
CW
30202012-12-30 Colin Watson <cjwatson@ubuntu.com>
3021
3022 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
3023 __attribute__ ((unused)).
3024 * grub-core/video/bochs.c (find_card): Likewise.
3025 * grub-core/video/cirrus.c (find_card): Likewise.
3026 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
3027 * grub-core/video/sis315pro.c (find_card): Likewise.
3028 * grub-core/video/sm712.c (find_card): Likewise.
3029
608b647a
CW
30302012-12-28 Colin Watson <cjwatson@ubuntu.com>
3031
3032 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
3033 Fixes Savannah bug #37821.
3034
fd49ceb3
CW
30352012-12-28 Colin Watson <cjwatson@ubuntu.com>
3036
3037 Apply program name transformations at build-time rather than at
3038 run-time. Fixes Debian bug #696465.
3039
3040 * acinclude.m4 (grub_TRANSFORM): New macro.
3041 * configure.ac: Create output variables with transformed names for
3042 most programs.
3043 * util/bash-completion.d/grub-completion.bash.in: Use
3044 pre-transformed variables for program names.
3045 * util/grub-install.in: Likewise.
3046 * util/grub-kbdcomp.in: Likewise.
3047 * util/grub-mkconfig.in: Likewise.
3048 * util/grub-mkconfig_lib.in: Likewise.
3049 * util/grub-mknetdir.in: Likewise.
3050 * util/grub-mkrescue.in: Likewise.
3051 * util/grub-mkstandalone.in: Likewise.
3052 * util/grub-reboot.in: Likewise.
3053 * util/grub-set-default.in: Likewise.
3054 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3055 * tests/util/grub-shell-tester.in: Remove unused assignment.
3056 * tests/util/grub-shell.in: Likewise.
3057 * util/grub.d/00_header.in: Likewise.
3058
7024b3c0
CW
30592012-12-28 Colin Watson <cjwatson@ubuntu.com>
3060
3061 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
3062
3063 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
3064 HAVE_RAW_DECL_GETS.
3065 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
3066
e3501b13
VS
30672012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
3070 Reported by: Eriks Latosheks <foresterlv>.
3071
b40c88a9
VS
30722012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * docs/grub.texi (Network): Update instructions on generating netboot
3075 image.
3076
ce96d01c
VS
30772012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
3080 around device name if necessarry.
3081
0f596201
PFS
30822012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3083
3084 * util/grub-install.in: Follow the symbolic link parameter added
3085 to the file command.
3086
600d5bdb
AB
30872012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
3088
3089 * util/grub-install.in: Remove stale TODO.
3090
64ebd2f4
PFS
30912012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3092
3093 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
3094 dynamic allocation for the bootpath buffer.
3095
74b2fe3e
DTB
30962012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
3097
3098 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
3099 window too small.
3100
969b804f
VS
31012012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
3104 argument rather than font name. All users updated.
3105 (grub_gfxterm_set_window): Likewise.
3106
b9f5ebd6
VT
31072012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
3108
3109 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
3110 from working.
3111
258f43b7
VS
31122012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * util/getroot.c (convert_system_partition_to_system_disk): Support
3115 nbd disks.
3116
cc1ce5f9
VS
31172012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
3120 infinite loop on corrupted FS.
3121
e77a16ca
VS
31222012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 Fix big-endian mtime.
3125
3126 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
3127 together sec and usec.
3128 (grub_ufs_dir): Use correct byteswapping for UFS time.
3129
d9c48c7b
VS
31302012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 Support big-endian UFS1.
3133
3134 * Makefile.util.def (libgrubmods): Add ufs_be.c
3135 * grub-core/Makefile.core.def (ufs1_be): New module.
3136 * grub-core/fs/ufs_be.c: New file.
3137 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
3138 the file.
3139
2f9f40ba
LL
31402012-11-28 Leif Lindholm <leif.lindholm@arm.com>
3141
3142 * include/grub/types.h: Fix functionality unaffecting typo in
3143 GRUB_TARGET_WORDSIZE conditional macro.
3144
48ff0889
PFS
31452012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3146
3147 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
3148
03711240
GS
31492012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3150
3151 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
3152 that /netbsd appears first (when it exists).
3153
a31b11bd
CJ
31542012-10-12 Christoph Junghans <ottxor@gentoo.org>
3155
3156 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
3157 Fixes Savannah bug #37558.
3158
e8a5d5d4
CW
31592012-10-12 Colin Watson <cjwatson@ubuntu.com>
3160
3161 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
3162 description of extract_entries_configfile.
3163
31642012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
3165
3166 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
3167 preferred_address.
3168 (grub_cmd_linux): Likewise.
3169 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
3170 preferred_lifetime. Update all users.
3171
288c757d
CW
31722012-09-26 Colin Watson <cjwatson@ubuntu.com>
3173
3174 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
3175 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
3176
0d35da3f
CW
31772012-09-26 Colin Watson <cjwatson@ubuntu.com>
3178
3179 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
3180 errors from grub-probe to /dev/null, not stdout.
3181
b78c3127
VS
31822012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
3185 sector 1.
3186
473959f0
CW
31872012-09-24 Colin Watson <cjwatson@ubuntu.com>
3188
3189 * util/grub-install.in: Make the error message if $source_dir
3190 doesn't exist more useful.
3191
794c8c33
CW
31922012-09-22 Colin Watson <cjwatson@ubuntu.com>
3193
3194 Fix grub-emu build on FreeBSD.
3195
3196 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
3197 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
3198 headers on Linux.
3199 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
3200 implementation is currently Linux-specific.
3201 * util/getroot.c (exec_pipe): Define only on Linux or when either
3202 libzfs or libnvpair is unavailable.
3203 (find_root_devices_from_poolname): Remove unused path variable.
3204
86d08fdb
CW
32052012-09-19 Colin Watson <cjwatson@ubuntu.com>
3206
3207 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
3208 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
3209 should fit before end == 63.
3210
735abf54
CW
32112012-09-19 Colin Watson <cjwatson@ubuntu.com>
3212
3213 * util/grub-setup.c (write_rootdev): Remove unused core_img
3214 parameter. Update all callers.
3215 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
3216 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
3217 GRUB_SETUP_BIOS.
3218
140acd3c
VS
32192012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * util/grub-mkconfig_lib.in (grub_tab): New variable.
3222 (grub_add_tab): New function.
3223 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
3224 * util/grub.d/10_illumos.in: Likewise.
3225 * util/grub.d/10_kfreebsd.in: Likewise.
3226 * util/grub.d/10_linux.in: Likewise.
3227 * util/grub.d/10_netbsd.in: Likewise.
3228 * util/grub.d/10_windows.in: Likewise.
3229 * util/grub.d/10_xnu.in: Likewise.
3230 * util/grub.d/20_linux_xen.in: Likewise.
3231 * util/grub.d/30_os-prober.in: Likewise.
3232
7ddffdad
VS
32332012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3236 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
3237 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
3238 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
3239 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
3240 ieee1275-nocursor.
3241 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
3242 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
3243
4e092454
VS
32442012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
3247 le-conversion.
3248 Reported by: BURETTE, Bernard.
3249
735abf54 32502012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
3251
3252 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
3253 from comment.
3254
dfd39dbd
CW
32552012-09-14 Colin Watson <cjwatson@ubuntu.com>
3256
3257 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3258 IEEE1275 machines. Fixes powerpc-emu compilation.
3259 * include/grub/terminfo.h: Likewise.
3260
3bfa763c
VS
32612012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3264 a const pointer.
3265 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3266 const pointer.
3267 (efiemu_set_variable): Make vendor_guid a const pointer.
3268
250e475b
VS
32692012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Don't require grub-mkconfig_lib to generate manpages for programs.
3272
3273 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3274 dependencies, don't add grub-mkconfig_lib.
3275 (program): Pass empty adddeps.
3276 (script): Pass grub-mkconfig_lib as adddeps.
3277
592fd0e4
VS
32782012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3281 * util/getroot.c (grub_find_device): Likewise.
3282 (get_mdadm_uuid): Likewise.
3283 (grub_util_is_imsm): Likewise.
3284 (grub_util_pull_device): Likewise.
3285 * util/grub-probe.c (probe): Likewise.
3286
801a3027
BG
32872012-09-10 Benoit Gschwind <gschwind>
3288
3289 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3290 (devs): Add devpath_8.
3291
c5052c81
PJ
32922012-09-08 Peter Jones <pjones@redhat.com>
3293
3294 * grub-core/Makefile.core.def (efifwsetup): New module.
3295 * grub-core/commands/efi/efifwsetup.c: New file.
3296 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3297 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3298 New define.
3299 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3300
8e832f71
JS
33012012-09-05 Jiri Slaby <jslaby@suse.cz>
3302
3303 * configure.ac: Add SuSe path.
3304
f0f55752
CW
33052012-09-05 Colin Watson <cjwatson@ubuntu.com>
3306
3307 * NEWS: Fix typo.
3308
ecadc4c2
CW
33092012-09-05 Colin Watson <cjwatson@ubuntu.com>
3310
3311 * util/import_gcry.py: Sort cipher_files, to make build system
3312 generation more deterministic.
3313
64498f25
VS
33142012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3317 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3318 (grub_set_datetime): Likewise.
3319
9cc836a2
VS
33202012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3323 warnings.
3324
bcfcea01
VS
33252012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3328
a4099485
VS
33292012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3332
265c162a
CW
33332012-09-04 Colin Watson <cjwatson@ubuntu.com>
3334
3335 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3336 required for checkouts from bzr, but it may be useful for users or
3337 distributors wishing to update translations against a tarball
3338 distribution, and it can be helpful for the tarball to be a superset
3339 of what's in bzr.
3340
3d171e95
CW
33412012-09-04 Colin Watson <cjwatson@ubuntu.com>
3342
3343 * Makefile.am (EXTRA_DIST): Add
3344 grub-core/tests/boot/linux.init-mips.S,
3345 grub-core/tests/boot/linux.init-ppc.S, and
3346 grub-core/tests/boot/linux-ppc.cfg.
3347
f2c2503e
CW
33482012-09-04 Colin Watson <cjwatson@ubuntu.com>
3349
3350 * grub-core/mmap/mips/loongson: Remove empty directory.
3351
33522012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3353
3354 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3355 gone.
3356
ab2163d5
CW
33572012-09-04 Colin Watson <cjwatson@ubuntu.com>
3358
3359 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3360 grub-sparc64-setup.
3361
ce938140
GS
33622012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3363
3364 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3365
529f58a5
GS
33662012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3367
3368 * po/POTFILES.in: Regenerated.
3369
16cf79e9
GS
33702012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3371
3372 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3373 (NetBSD): New subsection.
3374
39b27f1e 33752012-07-22 Ales Nesrsta <starous@volny.cz>
3376
3377 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3378 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3379
a885261b
VS
33802012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3383 * util/grub.d/10_hurd.in: Add missing quoting.
3384 * util/grub.d/10_illumos.in: Likewise.
3385 * util/grub.d/10_kfreebsd.in: Likewise.
3386 * util/grub.d/10_linux.in: Likewise.
3387 * util/grub.d/20_linux_xen.in: Likewise.
3388
7bd29c01
VS
33892012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 New command `lsefi'.
3392
3393 * grub-core/Makefile.core.def (lsefi): New module.
3394 * grub-core/commands/efi/lsefi.c: New file.
3395 * include/grub/efi/api.h: Add more GUIDs.
3396
ac625d8f
VS
33972012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3400 (grub_bsd_elf32_hook): Likewise.
3401 (grub_bsd_elf64_size_hook): Likewise.
3402 (grub_bsd_elf64_hook): Likewise.
3403 (grub_bsd_load_elf): Likewise.
3404
e73bb801
VS
34052012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3408 if hash function is unavailable.
3409 (dec_stream_header): Likewise.
3410
e81db8b5
VS
34112012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3414 filter state.
3415
d187a1c3
VS
34162012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 Fix coreboot compilation.
3419
3420 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3421 (grub_vga_text_init_real): ... this.
3422 (grub_vga_text_fini): Rename to ...
3423 (grub_vga_text_fini_real): ... this.
3424
91a05f64
VS
34252012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3428
6af96df7
VS
34292012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/lib/legacy_parse.c: Support clear and testload.
3432
4d569e12
VS
34332012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3436
073b57bb
VS
34372012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3440
a706f4cc
VS
34412012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 * grub-core/net/tftp.c (ack): Fix endianness problem.
3444 (tftp_receive): Likewise.
3445 Reported by: Michael Davidsaver.
3446
e7850aa9
VS
34472012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3450
34512012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3454 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3455 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3456
35692881
VS
34572012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3460 efi_mmap_size.
3461 Reported by: Stuart Hayes.
3462
c35fc5bd
VS
34632012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3466
3467 * grub-core/Makefile.core.def (mda_text): New module.
3468 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3469 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3470 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3471 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3472 here.
3473 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3474 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3475 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3476 here.
3477 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3478 to ..
3479 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3480 ... here
3481 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3482 here.
3483 * grub-core/term/i386/vga_common.c: Removed.
3484 * include/grub/i386/vga_common.h: Likewise.
3485 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3486 (grub_vga_cr_bw_read): Likewise.
3487 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3488 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3489 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3490 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3491 grub_vga_cr_read/grub_vga_cr_write.
3492 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3493
5f91f701
VS
34942012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * configure.ac: Bump version to 2.00.
3497 * grub-core/normal/main.c (features): Add feature_200_final.
3498
0c4f85f6
VS
34992012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
35002012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3501
3502 * NEWS: Fix unclarity and language mistakes.
3503
f923ad22
VS
35042012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3507 additional size to 3 pages.
3508 Reported by: Stuart Hayes.
3509
d22029ba
VS
35102012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * NEWS: Add 2.00 entry.
3513
58eee08f
VS
35142012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3517 put explicit "/" for empty path.
3518 (wildcard_expand): Improve dprintf.
3519
c59bdff7
VS
35202012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3523 it's equal to currnode. This can happen with "" symlink.
3524
5e6a440a
YB
35252012-06-27 Yves Blusseau <blusseau@zetam.org>
3526
3527 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3528 echo shell command by printf command.
3529
73a68bcb
VS
35302012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3533 the value returned by firmware is the maximal position, not diumension.
3534 (grub_terminfo_output_state): Use a more sane fallback.
3535
392a603b
VS
35362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3539
42d0867f
VS
35402012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3543 frequency to 150 MHz.
3544
489509f4
VS
35452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Apple fixes.
3548
3549 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3550 __APPLE_
3551 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3552 definition.
3553 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3554
9f3fc883
VS
35552012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 Handle slash in HFS label.
3558
3559 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3560 (grub_hfs_dir): Tanslate slash.
3561 (grub_hfs_label): Don't translate slash.
3562
54853fd7
VS
35632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3566 network protocol listing since it introduces problematic dependency on
3567 net module.
3568
4dc02ddf
VS
35692012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3572
c50c867d
VS
35732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Init video early on yeeloong to avoid being rebooted by watchdog.
3576
3577 * grub-core/Makefile.am (gensm712): New target.
3578 (sm712_start.S): Likewise.
3579 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3580 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3581 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3582 description.
3583 * include/grub/vga.h: Move registry definitions to...
3584 * include/grub/vgaregs.h: ... here.
3585
5f92c8a1
VS
35862012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3589 signedness.
3590
e9e6f111
VS
35912012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3594 platforms with firmware disk drivers in the core.
3595
754ad9eb
VS
35962012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3599 informative verbose message.
3600 (read_lv): Handle 64-bit segment size.
3601
315654c2
VS
36022012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3605
fb022c79
VS
36062012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3609 character but still remove trainling spaces.
3610 (grub_fat_label): Ignore archive flag.
3611
8645f72c
VS
36122012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3615 cast between linux_kernel_header and linux_kernel_params.
3616
36498496
VS
36172012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3620 type for size.
3621 (grub_raid6_recover_func_t): Likewise.
3622 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3623 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3624
0b5ea6b8
VS
36252012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3628
650cfcfe
GS
36292012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3630
3631 Fix overflow.
3632
3633 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3634 [__NetBSD__]: Add explicit cast before bitshift.
3635
8a4d6a44
VS
36362012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * configure.ac: Bump to 2.00~rc1.
3639
2fb97ed3
VS
36402012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3643 half of $a0.
3644
1fa097dc
VS
36452012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
36462012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3647
3648 * docs/grub.texi: Fix search syntax.
3649 (Multi-boot manual config): Put msdos rather than GPT example.
3650 Grammar corrections.
3651
c890ba78
VS
36522012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3655
0f92dca7
VS
36562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3659
3988c4a0
VS
36602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3663 message on double free. Put the value of magic in case of mismatch.
3664
9e86d4c5
VS
36652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 Speed-up video on yeeloong.
3668
3669 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3670 add cached_ptr.
3671 (grub_video_sm712_video_fini): Unmap cached_ptr.
3672 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3673 (grub_video_sm712_set_active_render_target): Removed.
3674 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3675 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3676 sync caches.
3677
ed24c312
VS
36782012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3679
3680 Avoid flushing the same line multiple times on loongson.
3681
3682 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3683 Step in 32 bytes and not 1 byte.
3684 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3685 Likewise.
3686
d1718e7d
VS
36872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3690 subvolumes.
3691
982f1909
VS
36922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Implement flow control for http.
3695
3696 * grub-core/net/http.c (parse_line): Handle response 206.
3697 (http_receive): Stall if too many packets are in the queue.
3698 (http_establish): Fix range header.
3699 (http_seek): Fix double free.
3700 (http_close): Likewise.
3701 (http_packets_pulled): New function.
3702 (grub_http_protocol): Set http_seek
3703 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3704 (ack_real): Set window depending on i_stall.
3705 (grub_net_send_tcp_packet): Likewise.
3706 (grub_net_tcp_stall): New function.
3707 (grub_net_tcp_unstall): Likewise.
3708 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3709 (grub_net_tcp_unstall): Likewise.
3710
bd407d6e
VS
37112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3714
c7564b8e
VS
37152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3716
3717 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3718
a3706162
VS
37192012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * tests/util/grub-shell.in: Fix a typo.
3722
b27069e0
VS
37232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 Implement flow control for tftp.
3726
3727 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3728 packets but stop only if stop condition is satisfied.
3729 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3730 `stall' instead of `eof' as stop condition.
3731 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3732 (http_err): Likewise.
3733 * grub-core/net/tftp.c (ack): Replace the first argument with data
3734 instead of socket.
3735 (tftp_receive): Stall if too many packets are in wait queue.
3736 (tftp_packets_pulled): New function.
3737 (grub_tftp_protocol): Set packets_pulled.
3738 * include/grub/net.h (grub_net_packets): New field count.
3739 (grub_net_put_packet): Increment count.
3740 (grub_net_remove_packet): Likewise.
3741 (grub_net_app_protocol): New field `packets_pulled'.
3742 (grub_net): New field `stall'.
3743
6b9cfac6
VS
37442012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3747 sync part to handle them.
3748
f35abd81
VS
37492012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3752 * grub-core/net/drivers/ieee1275/ofnet.c
3753 (grub_ieee1275_net_config_real): Likewise.
3754
0e7ec820
VS
37552012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3758 the direct route for server/gateway.
3759
9d611a31
VS
37602012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3763 IP address to server name since we may not hame the DNS.
3764
418f45ab
VS
37652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3768 freeing random buffer on failure.
3769 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3770
44a0efc1
VS
37712012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3774
531e2241
VS
37752012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3778 reserved bytes.
3779 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3780 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3781 Handle malloc error correctly.
3782
cde393c9
VS
37832012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3786 blocks.
3787
538478d0
VS
37882012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3791 increment.
3792
9b55efe0
VS
37932012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3796 none is explicitly specified.
3797
9eb832c3
VS
37982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3801 while reallocating.
3802
d6b7c7c9
VS
38032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Respect netmask from bootp/dhcp.
3806
3807 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3808 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3809 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3810 into ...
3811 (grub_net_add_ipv4_local): ... this.
3812 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3813 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3814 (grub_net_add_ipv4_local): New proto.
3815
67caf9eb
VS
38162012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3819 determining EFI memory map size.
3820
43657558
VS
38212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3824
eb6d0dd3
VS
38252012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3828 when looking for partition separator.
3829
31230544
VS
38302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3833 Escape commas.
3834
918a2517
VS
38352012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 Restructure FAT driver to avoid hook in label reading as it hits a
3838 GCC bug.
3839
3840 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3841 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3842 (grub_fat_iterate_dir): Split into ...
3843 (grub_fat_iterate_init): ... this, ...
3844 (grub_fat_iterate_fini): ... this, ...
3845 (grub_fat_iterate_dir_next): ... and this. All users updated.
3846
9f1d654e
VS
38472012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3850 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3851 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3852 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3853 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3854 New fields last_key and last_key_time.
3855 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3856 extended key-esc into extended key-extended key.
3857
52f0f643
VS
38582012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 Avoid unnecessary memcpy of whole video buffer.
3861
3862 * grub-core/video/fb/video_fb.c (dirty): New struct.
3863 (framebuffer): Add members current_dirty and previous_dirty.
3864 (dirty): New function.
3865 (grub_video_fb_fill_rect): Update dirty.
3866 (common_blitter): Likewise.
3867 (grub_video_fb_scroll): Likewise.
3868 (doublebuf_blit_update_screen): Copy only dirty part.
3869 (doublebuf_pageflipping_update_screen): Likewise.
3870 (grub_video_fb_doublebuf_blit_init): Init dirty.
3871 (doublebuf_pageflipping_init): Likewise.
3872 (grub_video_fb_setup): Likewise.
3873
e169a180
VS
38742012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
3877 poll rate.
3878
48556879
VS
38792012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 Fix wildcard regexp dot and other special characters handling.
3882 Reported by: Robert Mabee.
3883
3884 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
3885 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
3886 (split_path): Trigger expansion on '?'.
3887 (unescape): New function.
3888 (wildcard_expand): Unescape parts copied without globbing.
3889 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
3890 (grub_script_arglist_to_argv): Don't unescape expansions.
3891
0494408e
VS
38922012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * include/grub/net.h (grub_net_card): New member txbufsize.
3895 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
3896 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3897 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
3898 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
3899 txbufsize.
3900 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
3901 compatible property to check for macs. Set
3902 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3903 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
3904 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
3905 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
3906 (send_card_buffer): Use txbuf.
3907 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
3908 nested function out of the parent while on it.
3909
cc35fe8f
VS
39102012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
3913 presence check.
3914 (grub_ieee1275_net_config_real): Fix config pointer.
3915
970a0a09
VS
39162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
3919 filename parsing to non-block devices.
3920
3e19bf87
VS
39212012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/kern/device.c (grub_device_open): Remove dead code.
3924
c62d1a0c
VS
39252012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
3928 All users updated.
3929
ef76bec3
VS
39302012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
3933 UUID search command even if hints probing failed.
3934
39352012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
3936
3937 * po/POTFILES.in: Regenerated.
3938
70aaf305
VS
39392012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 Speed-up video on fuloong.
3942
3943 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
3944 New function.
3945 (grub_pci_device_unmap_range): Handle non-cached address.
3946 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
3947 add direct_ptr.
3948 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
3949 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
3950 (grub_video_sis315pro_set_active_render_target): Removed.
3951 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
3952 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3953 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
3954 sync caches.
3955 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
3956 New proto.
3957
10400f0b
VS
39582012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * docs/grub.texi (Multi-boot manual config): New section.
3961
ba67e2c6
VS
39622012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Avoid slow read-back from VRAM.
3965
3966 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3967 Move from here ...
3968 * grub-core/video/fb/video_fb.c
3969 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
3970 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
3971 (front_target): Remove front_target. Add pages.
3972 (grub_video_fb_init): Skip setting front_pages.
3973 (grub_video_fb_fini): Likewise.
3974 (doublebuf_blit_update_screen): Use pages.
3975 (grub_video_fb_doublebuf_blit_init): Likewise.
3976 (doublebuf_pageflipping_init): Allocate offscreen buffer.
3977 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
3978 (grub_video_fb_setup): Prefer doublebuffing.
3979
377c98cb
VS
39802012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
3983 gzio.
3984
eac49cff
VS
39852012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Add loongson tests.
3988
3989 * tests/util/grub-shell.in: Handle loongson.
3990 * tests/partmap_test.in: Add loongson to the list of platform using ATA
3991 drivers.
3992 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
3993 Reboot instead of shutdown if REBOOT is defined.
3994
0321415e
VS
39952012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
3998 sized ports since unlike on real hardware qemu supports only 32-bit
3999 regs.
4000
3f2bdd8f
VS
40012012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * Makefile.util.def (grub-mkrescue): Enable on loongson.
4004 * util/grub-mkrescue.in: Handle loongson.
4005
29a049c9
VS
40062012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
4009 Set is_part appropriately.
4010 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
4011 names. Canonicalize partition without full disk.
4012
4abde346
VS
40132012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 Revert usb-quiesce since it's wrong.
4016
4017 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
4018 (grub_ofdisk_init): Don't do quiesce.
4019
61f1d93b
VS
40202012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
4023 PowerMac workaround to Xserves as well.
4024 Information supplied by: Benjamin Herrenschmidt.
4025
a09eb541
VS
40262012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 Don't assume that beginning address is also the entry point on ppc.
4029
4030 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
4031 (grub_linux_boot): Use linux_entry.
4032 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
4033 (grub_linux_load64): Likewise.
4034
505b3c9b
VS
40352012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
4038
cbe0b4ef
VS
40392012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
4042 needlessly lose the console.
4043
3006e981
VS
40442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
4047 space.
4048
4e5a96b0
VS
40492012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4050
7da036bb
VS
4051 Remove non-functional EFI grub_get_rtc. Put a better fatal message
4052 than current grub_get_rtc() not implemented when booted with
4053 coreboot without TSC.
4054
4055 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
4056 Add machine/time.h to kernel headers on loongson.
4057 * grub-core/Makefile.core.def (kernel): Remove
4058 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
4059 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
4060 (grub_get_rtc): Likewise.
4061 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
4062 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
4063 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
4064 * grub-core/kern/i386/tsc.c (grub_tsc_init)
4065 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
4066 rather than installing known non-working time source.
4067 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
4068 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
4069 * include/grub/time.h: Don't include machine/time.h.
4070 * include/grub/efi/time.h: Removed.
4071 * include/grub/i386/efi/time.h: Likewise.
4072 * include/grub/i386/ieee1275/time.h: Likewise.
4073 * include/grub/powerpc/ieee1275/time.h: Likewise.
4074 * include/grub/sparc64/ieee1275/time.h: Likewise.
4075 * include/grub/x86_64/efi/time.h: Likewise.
4076
40772012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
4080
4081 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
4082 value.
4083 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
4084 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
4085 with dotless variants when any combining above is present.
4086
5561c22d
VS
40872012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
4090 text and not binary.
4091
96f7e60e
VS
40922012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 Stop polling as soon as we have the packet we were waiting for.
4095
4096 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
4097 All users updated.
4098 * grub-core/net/arp.c (have_pending): New var.
4099 (pending_req): Likewise.
4100 (grub_net_arp_send_request): Fill pending_req and use have_pending as
4101 stop indicator.
4102 (grub_net_arp_receive): Set have_pending.
4103 * grub-core/net/dns.c (recv_data): New field stop.
4104 (recv_hook): Set stop.
4105 (grub_net_dns_lookup): Init stop and use as stop condition.
4106 * grub-core/net/http.c (http_establish): Use headers_recv as stop
4107 condition.
4108 * grub-core/net/net.c (grub_net_poll_cards): New argument
4109 stop_condition. Stop when it goes true.
4110 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
4111 indicator.
4112 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
4113
3e747239
VS
41142012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 Keep TX and RX buffers on EFI rather than always allocate new ones.
4117
4118 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
4119 card. All users updated.
4120 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
4121 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
4122 (get_card_packet): Likewise.
4123 (grub_efinet_findcards): Init new fields.
4124
f695e99a
VS
41252012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
4128 compilation error on sparc64.
4129
9e5e66d1
VS
41302012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 Use ITC on IA64 rather than broken routine based on daytime.
4133
4134 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
4135 ia64.
4136 (grub_get_rtc) [__ia64__]: Likewise.
4137 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
4138 (get_itc): New function.
4139 (grub_rtc_get_time_ms): Likewise.
4140 (grub_machine_init): Calibrate ITC.
4141 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
4142 Keep only on non-ia64. Don't export since it's broken and used only
4143 if TSC is unavailable.
4144
a1767404
VS
41452012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
4148 even if it's used.
4149 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
4150 Skip if parent is unused.
4151
34b2bced
VS
41522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
4155
5e619f40
VS
41562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 Fix wildcard escaping.
4159
4160 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
4161 * grub-core/script/execute.c (wildcard_escape): .. to here.
4162 Don't escape dot.
4163 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
4164 * grub-core/script/execute.c (wildcard_unescape): .. to here.
4165 Don't escape dot.
4166 * grub-core/script/execute.c (gettext_append): Always escape.
4167 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
4168 * grub-core/script/yylex.l: Don't cut away the escaping.
4169 * tests/grub_script_echo1.in: Add tests with wildcard.
4170
c8ca5855
VS
41712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
4174 (ftdi_hw_configure): Likewise.
4175 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
4176 define.
4177 (real_config): Handle 1.5 stop bits.
4178 (pl2303_hw_configure): Likewise.
4179
7183452c
VS
41802012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * Makefile.am: Add ppc linux bootcheck.
4183 * grub-core/tests/boot/linux-ppc.cfg: New file.
4184 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
4185
f57c84cd
VS
41862012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * tests/grub_script_expansion.in: Skip network protocols.
4189
ecfc6207
VS
41902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
4193
8d03d284
VS
41942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
4197 --rom-directory.
4198 Add -graft-points.
4199
61c42af0
VS
42002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 ESCC serial driver for conducting sautomated tests in qemu.
4203 Not tested on real hardware.
4204
4205 * include/grub/serial.h (grub_serial_port): New field escc_desc.
4206 * grub-core/term/ieee1275/escc.c: New file.
4207 * grub-core/Makefile.core.def (escc): New module.
4208
08fd1291
VS
42092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
4212 invalid on error.
4213 (serial_hw_fetch): Don't read invalid handle.
4214 (serial_hw_put): Don't write into invalid handle.
4215
08dafeea
VS
42162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 Add a 1.5 stop bits value.
4219
4220 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
4221 * include/grub/serial.h (grub_serial_stop_bits_t): Add
4222 GRUB_SERIAL_STOP_BITS_1_5.
4223
9068fdcf
VS
42242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
4227 value rather than let it uninited.
4228
f4d5820f
VS
42292012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * grub-core/commands/wildcard.c (+check_file): New function.
4232 (wildcard_expand): Don't expand to non-existing files, expand with
4233 suffix and not attempt to expand if not needed.
4234
3d2de9a7
VS
42352012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
4238 out of partitions containing other partitions.
4239
c5c81ff9
VS
42402012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
4243 on some qemu versions with GRUB.
4244
4245 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
4246 define.
4247 (grub_openbsd_bootarg_pcibios): New struct.
4248 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
4249 Add PCIINFO.
4250
08a14e0b
VS
42512012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * tests/util/grub-shell.in: Trim firmware output on EFI.
4254
cede3ca3
VS
42552012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4258 and coreboot since it's already in kernel.
4259
558d3a60
VS
42602012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4263 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4264 to here. New return value start. All users updated.
4265 Recursively scan linear mappings.
4266 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4267 proto.
4268 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4269 Use grub_util_get_dm_node_linear_info.
4270 * util/getroot.c (convert_system_partition_to_system_disk): Use
4271 grub_util_info rather than grub_dprintf.
4272 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4273
60fde14d
VS
42742012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4277
4278 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4279 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4280
24bd8838
VS
42812012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * include/grub/types.h (grub_set_unaligned64): New function.
4284 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4285 (setup): Likewise.
4286
7bc06a49
VS
42872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4290 (grub_ofdisk_fini): Quiesce USB devices.
4291
49cea015
VS
42922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4295 caches.
4296
8dcbe03b
VS
42972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4300
5b258735
VS
43012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/disk/pata.c (grub_pata_pio_read)
4304 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4305 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4306
37ba07eb
VS
43072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Extend automated tests to qemu-mips.
4310
4311 * Makefile.am: reorganise tests and enable qemu-mips.
4312 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4313 * grub-core/tests/boot/linux.init-mips.S: New file.
4314 * tests/partmap_test.in: Handle ata0 disks.
4315 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4316 non-pc i386.
4317
070038f8
VS
43182012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4321 ia64.
4322 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4323 quotes while on it.
4324
004be2cd
VS
43252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4328 (grub_halt): Likewise.
4329 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4330
b1622487
VS
43312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/term/serial.c (grub_serial_register)
4334 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4335 the behaviour in line with x86 platforms.
4336
b7b4ab33
VS
43372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4340 (grub_ata_strncpy): Likewise.
4341 (grub_ata_identify): Add missing byteswaps.
4342
5e3535ae
VS
43432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4346 byte-swap.
4347 (screen_read_char): Likewise.
4348 (grub_vga_text_cls): Likewise.
4349
c21b17e6
VS
43502012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4353 filenames.
4354 (make_file_path): Likewise.
4355
bf293dec
VS
43562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4359 machines.
4360 Tested by: Paulo Flabiano Smorigo.
4361 Crucial information about API supplied by: Coleen <Last name unknown>.
4362 Reviewed by: Coleen <Last name unknown>.
4363
81f6ef0e
VS
43642012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * util/grub-mkimage.c: Disable -Wcast-align.
4367
7284143a
VS
43682012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4371 as they are fatal.
4372
b99f3e00
VS
43732012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4376
944f752d
VS
43772012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * util/grub-probe.c (escape_of_path): Fix double free.
4380
6cce6f38
VS
43812012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * grub-core/commands/videoinfo.c (hook): Show pitch.
4384
1e1eb50e
VS
43852012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4388
1c715b5a
VS
43892012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4392 (probe): Add ieee1275 to OFW devices.
4393
007ae52d
VS
43942012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4397
4557a36d
VS
43982012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 Handle IBM OFW path.
4401
4402 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4403 available.
4404 (of_path_of_scsi): Handle vdevice.
4405
efbeefe9
VS
44062012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4409 Allocate in multiples of 16 to avoid adding a few bytes free region the
4410 windows bugs upon.
4411
15a940bb
VS
44122012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4415 Allocate in multiples of 16 to avoid adding a few bytes free region the
4416 windows bugs upon.
4417 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4418
6e5efd60
VS
44192012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4422 resolutions.
4423 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4424 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4425
0d3d137e
IS
44262012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4427
4428 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4429
45dbe300
VS
44302012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4433 resulted in \\ at the end of the line.
4434
6d8db947
VS
44352012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4438 (grub_parser_cmdline_state): Likewise.
4439 (grub_parser_split_cmdline): Likewise.
4440
de89d338
VS
44412012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4444 /dev/root and /dev/dm-*.
4445
00d41dee
VS
44462012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4449 fix partially stale display.
4450
f95d1f11
VS
44512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4454 substraction.
4455
6297e197
VS
44562012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4459 Fix MBR remapping workaround.
4460 (grub_util_biosdisk_read) [__linux__]: Likewise.
4461
8a7ecad3
VS
44622012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4465
2b34f944
VS
44662012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * configure.ac: Bump to beta6.
4469
684aef11
CW
44702012-05-31 Christer Weinigel <christer@weinigel.se>
4471
4472 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4473
05b0bb91
VS
44742012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4477 (grub_cmd_linux): Likewise.
4478
bda36bfa
CW
44792012-05-31 Christer Weinigel <christer@weinigel.se>
4480
4481 Fix EHCI low-speed.
4482
4483 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4484 (GRUB_EHCI_MULT_TWO): Likewise.
4485 (GRUB_EHCI_MULT_THREE): Likewise.
4486 (GRUB_EHCI_CMASK_MASK): New enum value.
4487 (GRUB_EHCI_SMASK_MASK): Likewise.
4488 (GRUB_EHCI_CMASK_OFF): Likewise.
4489 (GRUB_EHCI_SMASK_OFF): Likewise.
4490 (grub_ehci_pci_iter): Enable periodic schedule.
4491 (grub_ehci_parse_notrun): Likewise.
4492 (grub_ehci_restore_hw): Likewise.
4493 (grub_ehci_setup_qh): Set flags for low speed transfers.
4494 (grub_ehci_find_qh): Use periodic list for low speed.
4495 (grub_ehci_setup_transfer): Check periodic queue as well.
4496 (grub_ehci_check_transfer): Likewise.
4497 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4498
e12bcb1c
PFS
44992012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4500
4501 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4502 parameter is used.
4503
bcc75fb3
PJ
45042012-05-31 Peter Jones <pjones@redhat.com>
4505
4506 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4507 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4508 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4509
f19cb95e
VS
45102012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4513 uninited variable. Allocate at least setup_sects.
4514
a4e5ca80
VS
45152012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Fix handling of EFI with big memory maps.
4518
4519 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4520 (real_mode_mem): Likewise.
4521 (real_mode_target): Likewise.
4522 (real_mode_pages): Likewise.
4523 (prot_mode_pages): Likewise.
4524 (linux_params): New var.
4525 (linux_cmdline): Likewise.
4526 (free_pages): Don't set real mode variables.
4527 (allocate_pages): Don't allocate real mode memory.
4528 (grub_e820_add_region): Remove the limit.
4529 (grub_linux_boot): Allocate and copy real mode memory.
4530 (grub_linux_unload): Free linux_cmdline.
4531 (grub_cmd_linux): Use temporary storage for parameters.
4532 (grub_cmd_initrd): Likewise.
4533 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4534 (linux_kernel_params): Make it 1K big.
4535
ddb73558
VS
45362012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * Makefile.util.def: Remove -Wno-format.
4539 * grub-core/Makefile.core.def: Likewise.
4540
1c4afb60
VS
45412012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * tests/cmp_unit_test.c: Add missing failure message.
4544 * tests/example_unit_test.c: Likewise.
4545 * tests/printf_unit_test.c: Likewise.
4546
941e3a6d
VS
45472012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4550 relaxation of protective MBR requirements.
4551
b105df76
VS
45522012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * configure.ac: Add condition for COND_HOST_XNU.
4555 * Makefile.util.def (10_xnu): New script.
4556 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4557
84e1569e
VS
45582012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4561 objconv bug.
4562
130c0f77
VS
45632012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4566 Binary on other platforms stays identical.
4567
6fd0b143
VS
45682012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4571 Apple.
4572
0af1751d
VS
45732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4576
176d5f7d
VS
45772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4580 rather than defining size_t ourselves to avoid conflict.
4581
7de5e20a
VS
45822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4585 initialisation to avoid __bzero reference.
4586
f7143efe
VS
45872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4590 version.
4591 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4592 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4593 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4594 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4595 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4596
e6ad0555
VS
45972012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4600 * grub-core/kern/misc.c: Likewise.
4601 * grub-core/loader/i386/xnu.c: Likewise.
4602 * include/grub/i386/tsc.h: Likewise.
4603 * include/grub/symbol.h: Likewise.
4604
4a5a3c4a
VS
46052012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4608 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4609 on older compiler.
4610
037f6d90
VS
46112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4614 Implement Apple flavour.
4615 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4616
f7194551
VS
46172012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4620 (memmove) [__APPLE__]: Likewise.
4621 (memcpy) [__APPLE__]: Likewise.
4622 (memset) [__APPLE__]: Likewise.
4623 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4624 (memmove) [__APPLE__]: Likewise.
4625 (memcpy) [__APPLE__]: Likewise.
4626 (memset) [__APPLE__]: Likewise.
4627
85a730ca
VS
46282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4631 dependency discard.
4632
40e80b94
VS
46332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/normal/main.c (read_config_file): Provide config_file and
4636 config_directory.
4637 * util/grub.d/41_custom.in: Use config_directoy when available.
4638
9da59c32
VS
46392012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4642 (grub_bfs_dir): Likewise.
4643
2787ae53
PJ
46442012-05-27 Peter Jones <pjones@redhat.com>
4645
4646 The old code gives arguments to a printf function which can't work
4647 correctly, and the compiler complains.
4648
4649 * grub-core/tests/example_functional_test.c (example_test): Add
4650 missing text.
4651 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4652 * include/grub/test.h (grub_test_assert_helper): New declaration.
4653 (grub_test_assert): Use grub_test_assert_helper.
4654
526ef13d
VS
46552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4658 (exfctest): ... this to avoid overlong filenames.
4659 All users updated.
4660
20dd511c
VS
46612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 Handle "." and ".." on squashfs.
4664
4665 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4666 Make inode numbers into stack.
4667 (grub_squash_read_symlink): Use stack.
4668 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4669 (make_root_node): Fill stack.
4670 (grub_squash_open): Use stack.
4671
1d80c62a
VS
46722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4675 freeing.
4676
d336f652
VS
46772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4680 stderr on test calls.
4681
8b43f587
VS
46822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4685
80a3dc3f
VS
46862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4689
47e297d4
VS
46902012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4693 "..".
4694
df042ccb
VS
46952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4698 (grub_hfsplus_iterate_dir): Add "." and "..".
4699
fc977f48
VS
47002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4703 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4704
f3250e5f
VS
47052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4708 (find_path): Handle "." and "..".
4709
fd8ed4c5
VS
47102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4713 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4714 (grub_affs_iterate_dir): Handle hardlinks.
4715
4ce776d2
MG
47162012-05-26 Matthew Garrett <mjg@redhat.com>
4717
4718 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4719 (grub_efi_console_fini): Likewise.
4720 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4721 (grub_video_gop_fill_mode_info): Rename to ...
4722 (grub_video_gop_fill_real_mode_info): ... this.
4723 (grub_video_gop_fill_mode_info): New function.
4724 (grub_video_gop_setup): Setup double framebuffer.
4725 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4726 Free offscreen.
4727 (grub_video_gop_swap_buffers): Copy framebuffer.
4728 (grub_video_gop_fini): Free offscreen buffer.
4729 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4730 New enum.
4731 (grub_efi_gop_blt_pixel): New struct.
4732
683031ba
VS
47332012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * gentpl.py: Remove error disabling for objconv.
4736
c2deb798
VS
47372012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * configure.ac: Remove -Wunitialized as it's not available on older
4740 compilers.
4741
47422012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4743
4744 Fix extent overflow comparator.
4745
4746 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4747 (grub_hfsplus_read_block): Set type.
4748 (grub_hfsplus_cmp_extkey): Compare type.
4749
d6b1fd36
VS
47502012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4753
0a9aa0f6
VS
47542012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4757 than 0.
4758
8360e159
VS
47592012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4762 (dejavu_bold_14.pf2): New target.
4763
501b9e4b
VS
47642012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * configure.ac: Fix djvu font detection.
4767
7026b0e2
VS
47682012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4771 ext* instead of ext2.
4772
c2a51ade
VS
47732012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4776 name with \0.
4777
8f803a5d
JU
47782012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4779
4780 * docs/grub-dev.texi: Remove dot from .png.
4781
13c6353f
VS
47822012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4785 protective entry in any slot.
4786 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4787 if protective entry is found in any slot.
4788
4789 Protective entry in non-first slot make no sense but is a widespread
4790 brain damage.
4791
4cf6be1b
VS
47922012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4795
937d1c44
VS
47962012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4799 with old reiserfs.
4800 (grub_reiserfs_open): Don't free root.
4801
021d90ec
VS
48022012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4805 after freeing for safety.
4806
967b2b64
VS
48072012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4810 Reported by: Jordan Uggla.
4811
34274d02
JU
48122012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4813
967b2b64
VS
4814 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4815 actual implementation. Specifically, clarify that the grub menu will
4816 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4817 passed.
34274d02 4818
dcaaae9d
BH
48192012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4820
4821 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4822 of r0.
4823
7086ad52
VS
48242012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 Remove unjustified hard dependency of normal.mod on gfxterm.
4827
4828 * include/grub/term.h (grub_term_output): New member fullscreen.
4829 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4830 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4831 (grub_gfxterm): Set .fullscreen.
4832 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4833 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4834
37ed2c9b
VS
48352012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4838 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4839 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4840
a4469c88
VS
48412012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4844
4e461486
VS
48452012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4848 a bad FS.
4849
aa78f5c4
VS
48502012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4853 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4854
197626b5
VS
48552012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4858 (grub_jfs_mount): Fill caseins.
4859 (grub_jfs_find_file): Respect caseins.
4860
8ad3f28c
VS
48612012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
4864 through UTF-16.
4865
0c6c324e
VS
48662012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
4869 New argument origpath. All users updated.
4870
c6666ba6
VS
48712012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
4874 (read_attr): Ensure that we read start of possibly compressed block.
4875
e28e5fe5
VS
48762012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
4879 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
4880 All users updated.
4881
5fc23ab2
VS
48822012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
4885 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
4886 (dejavu.pf2): Replace with ...
4887 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
4888 this.
4889
79dbc21c
VS
48902012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * util/grub.d/20_linux_xen.in: Add missing line.
4893
d2fcfb0c
VS
48942012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
4897 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
4898 (grub_utf16_to_utf8): Likewise.
4899
5560e9d6
VS
49002012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
4903 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
4904 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4905 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
4906 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4907 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
4908
49092012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
4910
4911 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4912 a bad FS.
4913
5560e9d6 49142012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
4915
4916 * grub-core/fs/udf.c (read_string): Bail out on size=0.
4917 (grub_udf_read_symlink): Handle read_string failure.
4918
5eae3175
VS
49192012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
4922 comment.
4923
c1ad82db
VS
49242012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 Fix handling of UDF symlinks.
4927
4928 * grub-core/fs/udf.c (read_string): New argument outbuf.
4929 All users updated.
4930 (grub_ufs_read_symlink): Rename to ...
4931 (grub_udf_read_symlink): ... this. All users updated.
4932 Handle symlinks with more than one component.
4933
33eca6e0
VS
49342012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
4937 symlinks. Replace leading colon with a slash.
4938
57f4a70b
VS
49392012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
4942 filename.
4943
38c8ee20
VS
49442012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
4947 match in inner node.
4948
2e57f28f
VS
49492012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
4952 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
4953 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
4954 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
4955 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
4956 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
4957 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
4958 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
4959 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
4960
fe8c2f11
VS
49612012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 Use grub-probe and not cmp to check that disk is empty.
4964
4965 * util/grub-install.in: Use grub-probe for zero-check.
4966 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
4967 (probe): Handle PRINT_ZERO_CHECK.
4968 (argp_parser): Handle -t zero_check.
4969
49702012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
4971
4972 Flush block cache on adding disk to device map.
4973
4974 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
4975 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
4976 adding.
4977 (read_device_map): Likewise.
4978 (open_device): Flush on opening.
4979
690434e8
VS
49802012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
4983 (handle_symlink): Fix off-by-one error.
4984 Canonicalize the target.
4985 (grub_cpio_dir): Canonicalize the name.
4986 Fix memory leak.
4987 Set directory.
4988 (grub_cpio_open): Canonicalize the name.
4989
742d2be6
VS
49902012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
4993 handling.
4994
3244fe96
VS
49952012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
4998 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
4999
8aeb1837
VS
50002012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
5003 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 5004 All users updated.
8aeb1837 5005
9133fd05
VS
50062012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
5009 counterpart.
5010
6d521c5b
VS
50112012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 Fix UFS1 big file support.
5014
5015 * grub-core/fs/ufs.c (INODE): Removed.
5016 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
5017 64-bit.
5018 (INODE_MODE): Simplify.
5019 (grub_ufs_inode): Use uint64_t for size and not int64_t.
5020 (grub_ufs_lookup_symlink): Don't use INODE.
5021
21b82e17
VS
50222012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 Fix minixfs with non-power-of-two blocks since it's supported by minix.
5025
5026 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
5027 (grub_minix_data): Replace log_block_size with block_size.
5028 (grub_minix_read_file): Use block_size but avoid 64-bit division.
5029 (grub_minix_mount): Fill block_size.
5030
50312012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
5032
5033 * configure.ac: Bump to beta5.
5034
f417ed04
VS
50352012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 Fix wrapped HFS+ handling.
5038
5039 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
5040 blocks_start. All users updated.
5041 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
5042 wrapping offset.
5043 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
5044
607d282b
VS
50452012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 Fix long symlinks on reiserfs.
5048
5049 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
5050 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
5051 (grub_reiserfs_iterate_dir): Save size for non-directories.
5052 (grub_reiserfs_open): Don't reread stat block as we already know the
5053 size.
5054 (grub_reiserfs_read): Split into...
5055 (grub_reiserfs_read_real): ... and ...
5056 (grub_reiserfs_read): ...this.
5057
ae16024d
VS
50582012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 Fix non-indexed JFS.
5061
5062 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
5063 (grub_jfs_data): New field namecomponentlen.
5064 (grub_jfs_mount): Fill namecomponentlen.
5065 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
5066
eea1e26e
VS
50672012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
5070 * tests/grub_script_echo1.in: Add tests.
5071
df760f77
VS
50722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * util/grub-install.in: Ignore empty devicetree directory.
5075
5efb817d
B
50762012-05-08 Bean <bean123ch@gmail.com>
5077
5078 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
5079 All users updated.
5080 (free_rsm): Free header as well.
5081 (free_old_fragments): Fix memory leak.
5082 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
5083 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
5084 (destroy_pq): Likewise.
5085 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
5086
668ea6d2
VS
50872012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
5090 resulting hash as a precaution.
5091
1739b1fe
VS
50922012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
5095 '_' in variable names.
5096 * grub-core/net/net.c (grub_net_network_level_interface_register):
5097 Likewise.
5098
6ae485aa
VS
50992012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 Fix AFFS with non-512B blocks.
5102
5103 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
5104 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
5105 (grub_affs_data): Replace blocksize with log_blocksize.
5106 (grub_affs_read_block): Fix non-512B blocks.
5107 (grub_affs_read_symlink): Likewise.
5108 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
5109 (grub_affs_read): Fix non-512B blocks.
5110 (grub_affs_label): Likewise.
5111 (grub_affs_mtime): Likewise.
5112 (grub_affs_mount): Fix block detection routine.
5113
d20fab84
VS
51142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 Add filesystem mtime to AFFS.
5117
5118 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
5119 (aftime2ctime): New function.
5120 (grub_affs_dir): Use aftime2ctime.
5121 (grub_affs_label): Fix return value.
5122 (grub_affs_mtime): New function.
5123 (grub_affs_fs): Add mtime.
5124
e87b10f5
VS
51252012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
5128 UTF-8.
5129
7dceec9b
VS
51302012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
5133 UTF-8.
5134
2f48221f
VS
51352012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
5138
dacd85cf
VS
51392012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
5142 flags.
5143 (FLAGS_CASE_SENSITIVE): New enum value.
5144 (cache_entry): New struct.
5145 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
5146 cache_size and cache.
5147 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
5148 Add log_blocksize and fshelp_flags.
5149 (grub_sfs_read_extent): Handle non-512 blocks.
5150 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
5151 (grub_sfs_read_file): Handle non-512 blocks.
5152 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
5153 fshelp_flags.
5154 (grub_sfs_read_symlink): Handle non-512 blocks.
5155 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
5156 (grub_sfs_dir): Free cache.
5157 (grub_sfs_close): Likewise.
5158
24e9a854
VS
51592012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
5162 filesystems.
5163
62ace64d
VS
51642012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
5167
83b2e89c
VS
51682012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
5171
75ccaea3
VS
51722012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
5175 (grub_sfs_read_extent): Likewise.
5176 (grub_sfs_read_block): Likewise.
5177 (grub_sfs_mount): Likewise.
5178 (grub_sfs_iterate_dir): Likewise.
5179 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
5180 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
5181
1b8463f2
VS
51822012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Fix errors on compressed NTFS with 512B clusters.
5185
5186 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
5187 types.
5188 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
5189 not 0.
5190 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
5191 Relax check for inline extents.
5192 (ntfscomp): Return correct -1 on error and not 0.
5193
4f8e368f
VS
51942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * util/grub-install.in: Fix handling of prefix containing spaces.
5197
6f5d5ee8
VS
51982012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
5201 (grub_squash_read_data): Fix offset byte-swapping.
5202
ce41ab7a
VS
52032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5204
5205 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
5206 per common usage and preffered in several parts of code.
5207 (grub_memcmp): Likewise.
5208 (grub_strncmp): Likewise.
5209 * include/grub/misc.h (grub_strcasecmp): Likewise.
5210 (grub_strncasecmp): Likewise.
5211 * Makefile.util.def (cmp_test): New test.
5212 (grub_script_strcmp): Likewise.
5213 * tests/cmp_unit_test.c: New file.
5214 * tests/grub_script_strcmp.in: Likewise.
5215 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
5216
49717bf4
VS
52172012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * include/grub/pci.h: Move enums into no-asm part.
5220
0a308f64
VS
52212012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
5224
1796965f
ST
52252012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
5226
5227 * util/getroot.c (find_hurd_root_device): Try to make error message
5228 and comments to translators clearer.
5229
4e9b2819
VS
52302012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
5233
076aeb50
VS
52342012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
5237 btrfs.
5238
19424d94
VS
52392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * docs/grub.cfg: Update.
5242
ebb73076
VS
52432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * docs/grub.texi (PXE): Remove not present variables.
5246
9a1b669c
VS
52472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * grub-core/net/net.c (defserver_set_env): New function.
5250 (defserver_get_env): Likewise.
5251 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
5252
d38bf7d3
VS
52532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5256 entries.
5257
52582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5259
5260 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5261 * grub-core/kern/emu/hostdisk.c: Likewise.
5262
e5e4ca48
ST
52632012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5264
5265 Handle hurd userspace partitions.
5266
5267 * util/getroot.c (find_hurd_root_device): New function.
5268 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5269
56bb5dd5
VS
52702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5273 names.
5274 Reported by: Bastian Blank.
5275
9e8bc27a
VS
52762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5279 crossing page boundary.
5280
aa01499d
VS
52812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Fix B-tree search in BFS, especially in presence of non-ASCII
5284 characters.
5285
5286 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5287 (find_in_b_tree): Use standard bsearch + btree algorithm.
5288
57006035
VS
52892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5292 and so on.
5293
9d34bb85
MG
52942012-05-03 Matthew Garrett <mjg@redhat.com>
52952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 Suspend broadcom cards in order to stop their DMA.
5298
5299 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5300 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5301 (pci): Don't build on x86 EFI.
5302 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5303 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5304 New function.
5305 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5306 stop_broadcom if running on EFI.
5307 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5308 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5309 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5310 (grub_pci_find_capability): New proto.
5311
01aab997
VS
53122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 * docs/grub.texi: Remove dot from the extension as it apparently
5315 doesn't work with some makeinfo versions.
5316
fbd8dca6
VS
53172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5320 with GRUB expectance.
5321
dab797f4
VS
53222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5325
1516bfb4
VS
53262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5329 zero after directory block since last entry may be not 0-terminated if
5330 it ends on block boundary. Use continue instead of if spanning whole
5331 loop.
5332
a3a0eace
VS
53332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 Support 4K sectors UDF inline files.
5336
5337 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5338 (grub_udf_extended_file_entry): Likewise.
5339 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5340 All users updated.
5341 (get_fshelp_size): New function.
5342 (grub_udf_read_icb): Read whole block.
5343 (grub_udf_iterate_dir): Likewise.
5344 (grub_udf_dir): Likewise.
5345 (grub_udf_open): Likewise.
5346
c82f16c1
VS
53472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5350
59fd2aac
VS
53512012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5354 inline symlinks in addition to workaround.
5355
3b4afb4d
VS
53562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5359
f45c794a
VS
53602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5363
f25cecbd
VS
53642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5367
bb9a34e8
VS
53682012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 Fix reiserfs big seek times.
5371
5372 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5373 exact. All users updated.
5374 (grub_reiserfs_read): Use nearest btree search for seeking.
5375 Fix return value on error.
5376
dc478aea
VS
53772012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5380 entries.
5381 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5382 * docs/grub.texi: Update menuentry description.
5383
8db10f47
VS
53842012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5387 crash when embedding onto filesystem.
5388
bcb288ed
VS
53892012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5392 name.
5393
a626fdd7
VS
53942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5397
b2f68477
VS
53982012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5401 commit.
5402
ba15b2af
B
54032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
54042012-05-01 Bean <bean123ch@gmail.com>
5405
5406 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5407
a188012e
VS
54082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5411 Special behaviour for len = 0 to read whole file isn't used anywhere and
5412 can cause buffer ovewrflows in several places.
5413
f0a53ed2
VS
54142012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5417
5ed554f0
VS
54182012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 Handle RAIDZ on non-512B sectors.
5421
5422 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5423 max_children_ashift.
5424 (fill_vdev_info_real): Fill max_children_ashift.
5425 (read_device): Use max_children_ashift.
5426
ddc58357
VS
54272012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5430
e3282399
VS
54312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5434 disk names.
5435 * docs/grub.texi: Update device.map parts.
5436
ee618bd4
VS
54372012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 Don't scan into non-diskfilter devices having diskfilter names.
5440
5441 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5442 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5443 handling.
5444 (scan_disk_hook): New function.
5445
bdf88864
B
54462012-04-29 Bean <bean123ch@gmail.com>
5447
5448 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5449 allocation.
5450
32745f51
MK
54512012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5452
5453 * configure.ac: Detect starfield theme font path
5454 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5455
bc95c8c0
VS
54562012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5457
5458 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5459 geometry on serial consoles.
5460
147fbcab
VS
54612012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5464 because of network consoles.
5465
0f42c889
VS
54662012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5469 handling.
5470
4a3594c9
VS
54712012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5474 falls on Q syndrom.
5475
5cb53879
VS
54762012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5477
5478 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5479 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5480
b282dfe5
VS
54812012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5484 Allocate at lest 8192 for temporary buffer as required for lzo.
5485
daa59f47
VS
54862012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5489 to cluster_bits, since it's already added in.
5490 (grub_fat_read_data): Likewise.
5491
986748ce
VS
54922012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5495 as long as cluster size is multiple of 512 bytes.
5496
a20f6ad0
VS
54972012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * util/grub-mkrescue.in: Fix locale directory.
5500
385f9abb
VS
55012012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/kern/emu/hostdisk.c (map): Make static.
5504
1c557d30
B
55052012-04-23 Bean <bean123ch@gmail.com>
5506
5507 * util/grub-fstest.c (fstest): Add missing break.
5508
524b5d3a
ST
55092012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5510
5511 Fix hurd build.
5512
5513 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5514 not define nr variable.
fe4824e9 5515 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5516 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5517 grub_find_device): Do not define.
524b5d3a 5518
9a06490c
VS
55192012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 Fix kfreebsd compile and behaviour.
5522
5523 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5524 format-security.
5525 * util/getroot.c: Fix wait.h include.
5526 (grub_guess_root_devices): Error if grub_find_device fails.
5527 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5528 (grub_util_get_dev_abstraction): Likewise.
5529 (grub_util_pull_device): Likewise.
5530 (grub_util_get_grub_dev): Likewise.
5531 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5532
48143d96
VS
55332012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 Fix and unify wholedisk detection.
5536
5537 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5538 is_part. All users updated.
5539 (device_is_wholedisk): Removed.
5540 (grub_util_biosdisk_get_grub_dev): Use is_part.
5541
ebbd24f3
VS
55422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5545 mode.
5546
56f7aa1e
VS
55472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * configure.ac: Bump to beta4.
5550
9c815e01
VS
55512012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5554 --fs-uuid --set UUID syntax.
5555
59e2651a
VS
55562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5559 disunification.
5560
54e03cfc
VS
55612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5564
81092a75
MK
55652012-04-18 Mads Kiilerich <mads@kiilerich.com>
5566
5567 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5568
f8315e14
MG
55692012-04-18 Mike Gilbert <floppym@gentoo.org>
5570
5571 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5572
1501ac21
B
55732012-04-18 Bean <bean123ch@gmail.com>
5574
5575 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5576 place.
5577
cb7f944e
VS
55782012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5581 users updated.
5582 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5583 corresponding to GRUB partitions.
5584 (grub_util_biosdisk_write): Likewise.
5585
b72d44a1
VS
55862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 Scan mdraid before LVM.
5589
5590 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5591 (grub_diskfilter_register_front): ... this.
5592 (grub_diskfilter_register_back): New function.
5593 All users of grub_diskfilter_register updated.
5594
33d918b8
VS
55952012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * util/grub-install.in: Fix an automatic target detection bug.
5598
c6ca973d
VS
55992012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * util/grub-install.in: New option --efi-directory.
5602
b41be562
VS
56032012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5606 boot services if we have no other choice.
5607
56082012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5611 document it.
5612 * tests/util/grub-shell.in: Update to --directory.
5613
e0595a73
VS
56142012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5617
4ed80652
VS
56182012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5621 (grub_minix_read_file): Likewise.
5622 (grub_minix_read_inode): Likewise.
5623 (grub_minix_find_file): Likewise.
5624 (grub_minix_dir): Likewise.
5625
56008077
VS
56262012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 * util/grub-setup.c (setup): Fix partition handling and blocklist
5629 check.
5630
ee520775
VS
56312012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5634 redundant buggy overlap check.
5635
16fc9293
VS
56362012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5639 and grub-mknetdir.
5640
9bab65c4
VS
56412012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5644 kh.loadflags on pre-2.00 kernels.
5645
3c491b47
VS
56462012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 Terminate UNDI and PXE before launching the payload to avoid problems
5649 with DMA.
5650
5651 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5652 (grub_loader_flags): ... this. All users updated.
5653 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5654 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5655 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5656 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5657 function.
5658 (grub_pxe_restore): Likewise.
5659 (fini_hnd): New var.
5660 (GRUB_MOD_INIT): Register shutdown hook.
5661 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5662 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5663 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5664 (grub_loader_set): Rename second argument to flags.
5665
851ffada
VS
56662012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5669 written bytes.
5670 (grub_get_num_of_utf8_bytes): New function.
5671 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5672 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5673 executing it.
5674 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5675 (grub_ucs4_to_utf8): Change return type.
5676
491c57a8
VS
56772012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5680 warning.
851ffada
VS
5681 * grub-core/fs/bfs.c (hop_level): Likewise.
5682 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5683
756773df
VS
56842012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/lib/adler32.c: Recode due to license unclearness.
5687
fd556a96
VS
56882012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5691 (test_header): Likewise.
5692
9f9d3f69
VS
56932012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 Fix --help formatting.
5696
5697 * util/grub-mkconfig_lib.in (print_option_help): New function.
5698 (grub_fmt): Likewise.
5699 * util/grub-install.in: Use print_option_help and grub_fmt.
5700 * util/grub-kbdcomp.in: Likewise.
5701 * util/grub-mkconfig.in: Likewise.
5702 * util/grub-mknetdir.in: Likewise.
5703 * util/grub-mkrescue.in: Likewise.
5704 * util/grub-mkstandalone.in: Likewise.
5705 * util/grub-reboot.in: Likewise.
5706 * util/grub-set-default.in: Likewise.
5707 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5708
561ec77e
VS
57092012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * linguas.sh: Remove autogenerated *.po.
5712
7ec2b021
VS
57132012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * po/README: Move language fetcing to ...
5716 * linguas.sh: ... here.
5717 * po/README: Point to linguas.sh.
5718
a88f3270
VS
57192012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * po/README: Exclude ko.po due to disclaimer problems.
5722
d61357ce
VS
57232012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5726 len = 0.
5727 (grub_gettext_translate_real): Handle 0th string.
5728 (grub_gettext_translate): Ensure that "" isn't translated.
5729
505e41dc
VS
57302012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5733 TRANSLATORS comment.
5734 (grub_diskfilter_print_partmap): Propagate changing of error into
5735 warning.
5736
e44092db
VS
57372012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5740 to uint64_t to prevent overflow.
5741 (grub_diskfilter_lv): Increase start_extent and extent_count
5742 to uint64_t to prevent overflow.
5743
9b83956a
VS
57442012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * configure.ac: Increase version.
5747
da0d5b3f
VS
57482012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5751
5752 * po/Rules-translit: New file.
5753 * po/arabic.sed: Likewise.
5754 * po/cyrillic.sed: Likewise.
5755 * po/greek.sed: Likewise.
5756 * po/hebrew.sed: Likewise.
5757 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5758 * po/Makefile.in.in: Add extra_dist4.
5759
ac66b453
VS
57602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5763
5764 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5765 modify names. Introduce MODE_BIGENDIAN.
5766 * grub-core/fs/minix_be.c: New file.
5767 * grub-core/fs/minix2_be.c: Likewise
5768 * grub-core/fs/minix3_be.c: Likewise.
5769 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5770 minix3_be.
5771 * grub-core/Makefile.core.def (minix_be): New module.
5772 (minix2_be): Likewise.
5773 (minix3_be): Likewise.
5774
57752012-04-01 Felix <email@hamburg.de>
5776
5777 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5778 (devs): Add MBP 2011.
5779
0a2d5a82
VS
57802012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5783
d1625889
VS
57842012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/normal/cmdline.c (print_completion): New field
5787 prompt_len.
5788 (grub_cmdline_get): Handle width properly.
5789
6d36a236
VS
57902012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5793
9576977e
VS
57942012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5797 after 29th of February.
9576977e 5798
d73ff15d
VS
57992012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 Fix exfat endianness handling.
5802
5803 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5804 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5805 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5806 Byte-swap utf16 when necessary.
5807 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5808
bbb39a45
AB
58092012-03-31 Anton Blanchard <anton@samba.org>
58102012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 Fix btrfs endianness handling.
5813
5814 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5815 (lower_bound): Make root uint64_t. Use root in le.
5816 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5817 (find_path): Fix template key init.
5818 (grub_btrfs_dir): Fix mtime byteswap.
5819 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5820
354e0af7
VS
58212012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5824 recursion_depth. Break infinite resursions. All users updated.
5825
4e75f21c
VS
58262012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5829 after free.
5830 Reported by: Peter Jones.
5831
25581802
AB
58322012-03-31 Anton Blanchard <anton@samba.org>
5833
5834 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5835 8 bit values.
5836
08fbf92e
VS
58372012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * util/grub-install.in: Fix nvram call for PreP.
5840
5d1182a6
VS
58412012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5844 the error when some elements are missing into a warning.
5845
3f8cdd90
VS
58462012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5849
51006716
CW
58502012-03-28 Colin Watson <cjwatson@ubuntu.com>
5851
5852 * docs/grub.texi (Invoking grub-probe): New section.
5853 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5854
e1bd676b
VS
58552012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 Fix tab and wide character handling in editor and menu.
5858
5859 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5860 agglomerate control characters with combining marks.
5861 (bidi_line_wrap): Allow break on tab.
5862 (grub_unicode_get_comb_start): New function.
5863 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
5864 and tab correctly.
5865 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
5866 with a space.
5867 * grub-core/normal/term.c (print_ucs4_terminal): New argument
5868 fixed_tab_size. All users updated.
5869 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
5870 (grub_term_getcharwidth): Handle \t.
5871 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
5872 and copy.
5873
22e6a774
VS
58742012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 Handle big-endian mdraid.
5877
5878 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
5879 * grub-core/Makefile.core.def (mdraid09_be): New module.
5880 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
5881 rather than grub_le_to_cpu* and grub_cpu_to_le*.
5882 * grub-core/disk/mdraid_linux_be.c: New file.
5883
3c0eae66
VS
58842012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
5887
b6cf74c9
VS
58882012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5891 missing quotes which caused confusion among translators.
5892
83c93b9c
VS
58932012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * util/grub-mkconfig_lib.in: Fix typo.
5896
ac6fd218
VS
58972012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
5900 spaces.
5901 * tests/grub_script_leading_whitespace.in: New file.
5902 * Makefile.util.def (grub_script_leading_whitespace): New test.
5903
ba287dd8
VS
59042012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
5907 to work.
5908
d2d58d0a
VS
59092012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
5912 starts with control character.
5913
0382d9bb
VS
59142012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
5917 overflow.
5918 (grub_gdb_outbuf): Likewise.
5919
d83ff9f9
VS
59202012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
5923 zero terminator. Fixes a crash.
5924
2282da4a
VS
59252012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
5928 beyond 4 GiB.
5929 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
5930 images independently of preffered adderss field.
5931
0ae4f0bd
VS
59322012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
5935 * grub-core/commands/regexp.c: Likewise.
5936 * grub-core/loader/i386/linux.c: Likewise.
5937 * grub-core/partmap/msdos.c: Likewise.
5938 * grub-core/script/execute.c: Likewise.
5939 * grub-core/term/gfxterm.c: Likewise.
5940
546fbe9b
VS
59412012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 Add variable parsing in $"..." and fix several mismatches with bash.
5944
5945 * Makefile.util.def (grub_script_gettext): New test.
5946 * grub-core/script/execute.c (parse_string): New function.
5947 (gettext_append): Likewise.
5948 (grub_script_arglist_to_argv): Use gettext_append.
5949 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
5950 * tests/grub_script_gettext.in: New file.
5951
9fdb2d7b
VS
59522012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 Fix handling of leading spaces in scripts.
5955
5956 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
5957 spaces.
5958 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
5959 other than skipping \r. All users updated.
5960 * tests/grub_script_echo1.in: Add space-related tests.
5961 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
5962
1a1ac4f6
VS
59632012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
5966
b63d89b6
VS
59672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * configure.ac: Bump up the version to beta2.
5970
17f38c0f
VS
59712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 Fix gettext reload bugs (e.g. inability to disable gettext
5974 once enabled).
5975
5976 * grub-core/gettext/gettext.c: Encapsulate all static variables in
5977 main_context and secondary_context. All functions updated.
5978 (grub_gettext_translate): Rename to ...
5979 (grub_gettext_translate_real): ... this. Return NULL on failed
5980 translate.
5981 (grub_gettext_translate): Handle secondary context.
5982 (grub_gettext_delete_list): Close file and zero-out the context.
5983 (grub_mofile_open): Don't call grub_gettext_delete_list.
5984 Don't close file.
5985 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
5986 if locale="" to avoid pointless error message.
5987 (grub_gettext_env_write_lang): Update lang even if load fails.
5988 Handle secondary context.
5989 (grub_gettext_reread_prefix): New function.
5990 (read_main): Likewise.
5991 (read_secondary): Likewise.
5992 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
5993 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
5994 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
5995 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
5996
8e56f870
VS
59972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * configure.ac: Decrease warning level to avoid spurious warnings and
6000 to be able to compile with GCC 4.2.
6001 * Makefile.util.def: Remove -Wno-error=logical-op.
6002
82f6d455
WB
60032012-03-10 William Bittner <william.bittner@gmail.com>
6004
6005 * util/import_unicode.py: Add missing brackets around string for
6006 python 3 support.
6007
1ecd61a4
VS
60082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 Fix efi chainloader on network root.
6011
6012 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
6013 network devices.
6014 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
6015 New function.
6016
14361ee8
VS
60172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
6020 unused show_text member.
6021 * docs/grub.texi: Document "text" property.
6022
922aabf3
VS
60232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
6026 in dprintf.
6027
ec316771
VS
60282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 Fix IMSM handling on Fedora.
6031
6032 * util/getroot.c (grub_util_is_imsm): New function.
6033 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
6034
0f021838
VS
60352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * Makefile.am: Strip gold section.
6038 * conf/Makefile.common: Likewise.
6039 * gentpl.py: Likewise.
6040 * grub-core/Makefile.core.def: Likewise.
6041 * grub-core/genmod.sh.in: Likewise.
6042
1039c8eb
VS
60432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
6046 * util/grub.d/20_linux_xen.in: Likewise.
6047 Based on Debian patch.
6048
6dd412cd
VS
60492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * util/grub.d/10_linux.in: Fix syntax error resulting in
6052 Richard Laager's patch.
6053 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
6054
3fd8bae5
VS
60552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
6058 dependencies.
6059
7eea1671
RL
60602012-03-10 Richard Laager <rlaager@wiktel.com>
6061
6062 * util/grub.d/10_linux.in: Fix ZFS root passing.
6063
e8e0566b
VS
60642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6067 * grub-core/commands/xnu_uuid.c: Likewise.
6068 * grub-core/loader/efi/appleloader.c: Likewise.
6069 * grub-core/script/execute.c: Likewise.
6070 * grub-core/script/main.c: Likewise.
6071 * util/grub-mkfont.c: Likewise.
6072
1acc5b1f
VS
60732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * util/grub-mkfont.c (options): Use more appropriate "select" that
6076 "set" for face index.
6077
35d70620
VS
60782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * util/grub-editenv.c (options): Gettextize command summaries.
6081
c9eb96b5
VS
60822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
6085 "out of memory" error messagge.
6086
1f493136
VS
60872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
6090 of diskfilter for diskfilter on diskfilter support.
6091
6d790129
VS
60922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
6095
005f46c9
VS
60962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * util/grub-install.in: Check for themes/starfield/theme.txt and not
6099 themes/starfield.
6100
c8f778a0
VS
61012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
6104
de1e64eb
VS
61052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
6108
c6d54211
VS
61092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
6112 of error message.
6113
dd390777
VS
61142012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
6117
5fd1c522
VS
61182012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
6121 message.
c6d54211 6122 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 6123
fae01f6c
VS
61242012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
6127 Gettextize.
6128 * util/grub-mount.c (options): Likewise.
6129
292fdaff
VS
61302012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
6133 gettextize.
6134 * grub-core/commands/search_wrap.c (options): Likewise.
6135
ecdbae77
VS
61362012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
6139
52bfedfa
VS
61402012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
6143 size calculation.
6144 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
6145 none is known.
6146
55b20e58
VS
61472012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
6150 "temporary" since it's used in identifier and is limited in space.
6151
fda9d101
VS
61522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * po/POTFILES.in: Regenerate. Include *.h since they contain
6155 translatable strings as well.
6156
6a0295e2
VS
61572012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6160 byte-swap on big-endian.
6161 Reported by: Lennart Sorensen
6162
807fb77c
VS
61632012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
6166 (allocate_pages): Improve dprintf.
6167 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
6168 code32_start. Fill code32_start and kernel_alignment in params.
6169 (grub_cmd_initrd): Use prot_init_space.
6170
61ac50ba
VS
61712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
6174
abdd26dd
VS
61752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * util/grub-install.in: Add missing dot at the end of sentence.
6178
6e69da9c
VS
61792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
6182 * grub-core/commands/videotest.c: Likewise.
6183 * grub-core/loader/i386/linux.c: Likewise.
6184
4a929343
VS
61852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
6188 sentence.
6189 Reported by: Milo Casagrande.
6190
bb51c6c6
VS
61912012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
6194 * grub-core/commands/gptsync.c: Likewise.
6195 * grub-core/commands/hashsum.c: Likewise.
6196 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6197 * grub-core/commands/legacycfg.c: Likewise.
6198 * grub-core/io/gzio.c: Likewise.
6199 * grub-core/net/net.c: Likewise.
6200 * grub-core/term/gfxterm.c: Likewise.
6201 * grub-core/term/terminfo.c: Likewise.
6202 * grub-core/tests/test_blockarg.c: Likewise.
6203 * grub-core/video/video.c: Likewise.
6204 * util/grub-install.in: Likewise.
6205 * util/grub-mkfont.c: Likewise.
6206
b2b149cb
VS
62072012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
6210
c7c080ad
VS
62112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 6214 Reported by: David Prévot.
c7c080ad 6215
f2e243c0
VS
62162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
6219 description.
6220
09963c76
VS
62212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * util/grub-script-check.c (main): Fix a syntax error message which was
6224 unclear.
6225
a50514a8
VS
62262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
6229
4650daec
VS
62302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
6233 messages.
6234
62352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
6236
6237 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
6238 without argument.
6239 * util/grub-mount.c (options): Likewise.
6240
bbc5a342
VS
62412012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
6244
ef292a87
VS
62452012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * grub-core/net/http.c: Add TRANSLATORS comments.
6248 * grub-core/normal/cmdline.c: Likewise.
6249 * grub-core/normal/misc.c: Likewise.
6250 * grub-core/partmap/msdos.c: Likewise.
6251 * grub-core/parttool/msdospart.c: Likewise.
6252 * grub-core/script/execute.c: Likewise.
6253 * grub-core/script/main.c: Likewise.
6254 * grub-core/term/terminfo.c: Likewise.
6255 * grub-core/video/bitmap.c: Likewise.
6256 * util/grub-install.in: Likewise.
6257 * util/grub-mkimage.c: Likewise.
6258 * util/grub-mklayout.c: Likewise.
6259 * util/grub-setup.c: Likewise.
6260
0fc19bd0
VS
62612012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6264 with similar messages in grub-fstest.
6265
d95862ef
VS
62662012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * util/grub-install.in: Unify "option requires an argument" message
6269 with similar messages in other files.
6270 * util/grub-mkconfig.in: Likewise.
6271
b7308f90
VS
62722012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * util/grub-set-default.in: Replace printf with gettext_printf (the
6275 string in in question is already translated from grub-reboot)
6276
559dc587
VS
62772012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * configure.ac: Bump up the version to beta1.
6280
1a11761f
VS
62812012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6284 case when min_align = 0.
6285
24539abd
VS
62862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6289 and fix a case when line_start overflows.
6290
32bd735b
VS
62912012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * util/grub-reboot.in (usage): Mention id posibility.
6294 * util/grub-set-default.in (usage): Likewise.
6295
1a2fd1e6
VS
62962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6299 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6300 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6301 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6302 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6303 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6304 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6305
90eeab76
VS
63062012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/commands/menuentry.c (options): Remove
6309 GRUB_ARG_OPTION_REPEATABLE.
6310 Reported by: Andreas Vogel
6311
5ad1be82
AV
63122012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6313
6314 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6315
cb055286
HE
63162012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6317
6318 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6319 error.
6320
93b1cd79
VS
63212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 Use sort -V by the idea of Georgi Georgiev.
6324
6325 * util/grub-mkconfig_lib.in (version_sort): New function.
6326 (version_test_numeric): Use version_sort.
6327
0cdc126c
VS
63282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 Use submenus in grub-mkconfig.
6331
6332 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6333 * util/grub-mkconfig_lib.in (grub_quote): New function.
6334 (gettext_printf): Use gettext and not gettext_quoted to fix several
6335 messages.
6336 * util/grub.d/10_hurd.in: Use submenus.
6337 * util/grub.d/10_kfreebsd.in: Likewise.
6338 * util/grub.d/10_linux.in: Likewise.
6339 * util/grub.d/10_netbsd.in: Likewise.
6340 * util/grub.d/20_linux_xen.in: Likewise.
6341 * util/grub.d/30_os-prober.in: Likewise.
6342 * util/grub.d/10_illumos.in: Add missing quoting.
6343 * util/grub.d/10_windows.in: Likewise.
6344
d9bef9bc
VS
63452012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 Fix menu title instability bug.
6348
6349 * grub-core/commands/menuentry.c (options): New option --id.
6350 (grub_normal_add_menu_entry): New argument id. All users updated.
6351 (grub_cmd_menuentry): Handle --id.
6352 (grub_menu_init): Accept unknown arguments.
6353 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6354 feature_menuentry_options.
6355 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6356 saved_entry.
6357 (get_entry_number): Match with id as well.
6358 * include/grub/menu.h (grub_menu_entry): New member id.
6359 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6360 * util/grub.d/00_header.in: Define menuentry_id_option.
6361 * util/grub.d/10_hurd.in: Define id.
6362 * util/grub.d/10_illumos.in: Likewise.
6363 * util/grub.d/10_kfreebsd.in: Likewise.
6364 * util/grub.d/10_linux.in: Likewise.
6365 * util/grub.d/10_netbsd.in: Likewise.
6366 * util/grub.d/10_windows.in: Likewise.
6367 * util/grub.d/20_linux_xen.in: Likewise.
6368 * util/grub.d/30_os-prober.in: Likewise.
6369
63702012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6371
6372 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6373 "scope" with "body".
6374
7c8d0ce7
VS
63752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6378 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6379 prot_size and prot_file_size.
6380
49de079b
VS
63812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6384 All users updated. If easily=1 require raid-5/-6 to be full.
6385 (is_node_readable): Likewise.
6386 (scan_devices): Scan incomplete but readable LVs at the end.
6387 (grub_diskfilter_memberlist): Pull missing devices.
6388 (insert_array): Skip scanning until device is complete or scan is
6389 done otherwise.
6390 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6391 check.
6392 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6393 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6394
aff05d45
MG
63952012-03-03 Matthew Garrett <mjg@redhat.com>
63962012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6397
6398 Avoid EFI boot services when loading Linux.
6399
6400 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6401 avoid_efi_bootservices. All users updated.
6402 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6403 argument avoid_efi_bootservices. All users updated.
6404 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6405 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6406 align, min_align, relocatable, prefered_address. All users updated.
6407 Allocate avoiding boot services if kernel is relocatable.
6408 (grub_cmd_linux): Check if kernel is relocatable.
6409 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6410 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6411 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6412 avoid_efi_boot_services.
6413 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6414 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6415 (linux_kernel_params): Likewise.
6416
3935dde2
MG
64172012-03-03 Matthew Garrett <mjg@redhat.com>
64182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 Use EDID on EFI.
6421
6422 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6423 datasize_out.
6424 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6425 modes. Set gop_handle.
6426 (grub_video_gop_get_edid): New function.
6427 (grub_gop_get_preferred_mode): Likewise.
6428 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6429 (grub_video_efi_gop_adapter): Set .get_edid.
6430 * include/grub/efi/edid.h: New file.
6431 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6432
32107ec0
VS
64332012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * util/grub-install.in: Load efivars unconditionally.
6436
e70a2c50
VS
64372012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * po/Rules-piglatin: Change suffix from .po-update-en to
6440 .po-update-en-piglatin.
6441
8f9cace1
VS
64422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 Add a pig farm.
6445
6446 * po/piglatin.sed: New file.
6447 * po/en@piglatin.header: Likewise.
6448 * po/Rules-piglatin: Likewise.
6449 * po/README: Add en@piglatin to autogenerated languages.
6450
8f95d002
VS
64512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6454 "Command for ...".
6455 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6456 "Check" since we don't check anything.
6457 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6458 is 64-bit one.
6459 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6460 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6461 (grub_md_sha512_real): Likewise.
6462
805a8dcc
VS
64632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * grub-core/commands/gptsync.c: Fix typographic quoting.
6466 * grub-core/commands/ieee1275/suspend.c: Likewise.
6467 * grub-core/commands/parttool.c: Likewise.
6468 * grub-core/commands/search_wrap.c: Likewise.
6469 * grub-core/commands/videoinfo.c: Likewise.
6470 * grub-core/gfxmenu/gui_label.c: Likewise.
6471 * grub-core/hello/hello.c: Likewise.
6472 * grub-core/kern/emu/main.c: Likewise.
6473 * grub-core/net/net.c: Likewise.
6474 * grub-core/normal/menu.c: Likewise.
6475 * grub-core/normal/menu_text.c: Likewise.
6476 * grub-core/normal/misc.c: Likewise.
6477 * util/grub-editenv.c: Likewise.
6478 * util/grub-install.in: Likewise.
6479 * util/grub-kbdcomp.in: Likewise.
6480 * util/grub-mkconfig.in: Likewise.
6481 * util/grub-mknetdir.in: Likewise.
6482 * util/grub-mkrescue.in: Likewise.
6483 * util/grub-mkstandalone.in: Likewise.
6484 * util/grub-reboot.in: Likewise.
6485 * util/grub-set-default.in: Likewise.
6486 * util/grub-setup.c: Likewise.
6487 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6488
40211ab8
VS
64892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6492 * grub-core/commands/keystatus.c: Likewise.
6493 * grub-core/commands/loadenv.c: Likewise.
6494 * grub-core/commands/probe.c: Likewise.
6495 * grub-core/commands/regexp.c: Likewise.
6496 * grub-core/commands/true.c: Likewise.
6497 * grub-core/commands/videoinfo.c: Likewise.
6498 * grub-core/disk/cryptodisk.c: Likewise.
6499 * grub-core/disk/ldm.c: Likewise.
6500 * grub-core/disk/loopback.c: Likewise.
6501 * grub-core/disk/luks.c: Likewise.
6502 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6503 * grub-core/kern/disk.c: Likewise.
6504 * grub-core/kern/emu/hostdisk.c: Likewise.
6505
0c7d99c7
VS
65062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6509 * util/grub-install.in: Add missing quote in the comment.
6510
e7d2559b
VS
65112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6514 * grub-core/commands/lsmmap.c: Likewise.
6515 * grub-core/commands/minicmd.c: Likewise.
6516 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6517 * grub-core/commands/regexp.c: Likewise.
6518 * grub-core/gdb/gdb.c: Likewise.
6519 * grub-core/term/gfxterm.c: Likewise.
6520 * util/grub-mkconfig.in: Likewise.
6521 * util/grub-mkfont.c: Likewise.
6522 * util/grub-mklayout.c: Likewise.
6523 * util/grub-mknetdir.in: Likewise.
6524 * util/grub-mkrescue.in: Likewise.
6525 * util/grub.d/30_os-prober.in: Likewise.
6526
49ce9e50
VS
65272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6530 with "Direct color" and "Packed" with "Packed pixel".
6531 (grub_cmd_videoinfo): Simplify legend.
6532
e4b791fa
VS
65332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6536 absolutely unclear error message.
6537
fd1265cb
VS
65382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * util/grub-mkstandalone.in: Remove confusing leftover print.
6541
8822a8a0
VS
65422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6545 comments.
6546 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6547 (GRUB_MOD_INIT): Likewise.
6548 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6549 VGA mode.
6550 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6551 comments.
6552 * util/grub-install.in (usage): Likewise.
6553 Spell ID in whole letters.
6554 Add missing ending dot.
6555 Quote variables.
6556 * util/grub-reboot.in: Fix capitalisation.
6557 * util/grub-set-default.in: Likewise.
6558
937fd0cc
VS
65592012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6562 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6563 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6564 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6565 Disable -Werror for -Wdeprecated-declarations.
6566 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6567 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6568 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6569 (grub_util_get_grub_dev): Make luks handling dependent on
6570 HAVE_DEVICE_MAPPER and not __linux__.
6571 (get_win32_path): Fix format security.
6572 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6573 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6574 Don't try grub_find_zpool_from_dir.
6575 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6576 #ifdef-out paresdir.
6577
1bab1ae3
VS
65782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * util/grub-pe2elf.c (usage): Add missing noreturn.
6581 (write_section_data): Rename name to shname to avoid shadowing.
6582 (write_symbol_table): Rename name to symname to avoid shadowing.
6583 Fix write_reloc_section call.
6584
ef023e42
VS
65852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6588 to ensure that it's after the last byte of .text.
6589
48afcb75
VS
65902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * util/ieee1275/ofpath.c (my_isdigit): New function.
6593 (trailing_digits): Use my_isdigit.
6594 (strip_trailing_digits): Likewise.
6595
88d51eff
VS
65962012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6599 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6600
17edc2ba
VS
66012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * grub-core/kern/i386/pc/startup.S: Define __start.
6604
ad5518d7
VS
66052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6608 strip already transforms he format.
6609
9e95e1bf
VS
66102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6613
9cc3ee5c
VS
66142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * util/grub-install.in: Add missing gettext init.
6617 * util/grub-kbdcomp.in: Likewise.
6618 * util/grub-mkconfig.in: Likewise.
6619 * util/grub-mknetdir.in: Likewise.
6620 * util/grub-mkrescue.in: Likewise.
6621 * util/grub-mkstandalone.in: Likewise.
6622 * util/grub-reboot.in: Likewise.
6623 * util/grub-set-default.in: Likewise.
6624 * util/grub.d/00_header.in: Likewise.
6625 * util/grub.d/10_hurd.in: Likewise.
6626 * util/grub.d/10_windows.in: Likewise.
6627 * util/grub.d/30_os-prober.in: Likewise.
6628 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6629
49e08a06
VS
66302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * po/Rules-swiss: Fix header comment.
6633
3809cb41
AV
66342012-02-29 Andreas Vogel <anvoit>
6635
6636 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6637 resulted in leak of arguments.
6638
fa6ec573
VS
66392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6642 reed_solomon_size const definition instead of computing it since
6643 Apple assembler doesn't support the later.
6644
22899b9c
VS
66452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6646
6647 * gentpl.py (kernel): Rewrite Apple part.
6648
a132afc3
VS
66492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6652
9d742bd4
VS
66532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6656 ELF section gap.
6657 (load_image): Likewise.
6658
f04a9a21
VS
66592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * configure.ac: Fix a typo in previous commit.
6662
46cf439c
VS
66632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 Don't add -Wl,-N on Apple platform.
6666
6667 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6668 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6669
c4c48c54
VS
66702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/Makefile.core.def (lzma_decompress): Use
6673 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6674
31a12124
VS
66752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/genmod.sh.in: Rewrite the Apple part.
6678
4f3aa1af
VS
66792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6682 comparison.
6683
7bd8b0c7
VS
66842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * acinclude.m4 (grub_CHECK_PIC): New test.
6687 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6688
97304d7c
VS
66892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6692 to avoid the warning.
6693
fb883812
VS
66942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6697 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6698 after. All users updated.
6699
a121c964
VS
67002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 Use the common size routine in hostfs so we can read disks as well.
6703
6704 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6705 (grub_util_get_fd_size): ... this. Return size in bytes.
6706 All users updated.
6707 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6708 grub_util_get_fd_size.
6709
c66d6410
VS
67102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6713 Add blocksize retrieval.
6714
dfc8aeb0
VS
67152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * configure.ac: Restore CFLAGS after efiemu check.
6718
403e25a5
VS
67192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6722 Apple bug.
6723
382775d1
VS
67242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6727
6fd4e6e4
VS
67282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6731 (grub_cmd_halt): Likewise.
6732
bea359d6
VS
67332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6736 for local arithmetics.
6737 Break %sp init into 2 instructions.
6738 Add 0 byte at the end.
6739
32eb6ee1
VS
67402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6743 before loops.
6744
e8377389
VS
67452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6748 for context.
6749
8cb17de7
VS
67502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6751
6752 * grub-core/disk/ldm.c (make_vg): Init part.name.
6753 (grub_ldm_detect): Silence spurious warning.
6754 (grub_util_is_ldm): Likewise.
6755
595717e6
VS
67562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6759 sane value to avoid a spurious warning.
6760
c4b7e588
VS
67612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6764 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6765
59824957
VS
67662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6769 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6770
70115b99
VS
67712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6774 hardcoding the relevant info.
6775
56733740
VS
67762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6777
6778 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6779 missing const qualifiers.
6780 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6781
43481481
VS
67822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * util/getroot.c [__APPLE__]: Add missing includes.
6785 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6786
3cb38f01
VS
67872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6788
6789 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6790
d9dbf11e
VS
67912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6794 avoid conflicts.
6795
0c42a45d
VS
67962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6799
46c34eb0
VS
68002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6803 and grub_file_close call.
6804
99ce1597
VS
68052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 Add LZSS Mach-O support (needed for new xnu kernelcache).
6808
6809 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6810 * grub-core/loader/lzss.c: New file.
6811 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6812 on Mach-O open failure.
6813 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6814 Don't free cmdsXX in uncompressedXX is set.
6815 (grub_macho_file): Init new fields.
6816 New argument is_64bit. All users updated.
6817 Handle compressed. Error out if no suitable architecture is found.
6818 Don't close file.
6819 (grub_macho_open): New argument is_64bit. All users updated.
6820 * grub-core/loader/macho32.c: Add defines for new fields.
6821 * grub-core/loader/macho64.c: Likewise.
6822 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6823 (grub_macho_parse): Handle compressed.
6824 Defer actual processing if compressed.
6825 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6826 "filename". All users updated.
6827 (grub_macho_size): New argument "filename". All users updated.
6828 (grub_macho_get_entry_point): Likewise.
6829 (grub_macho_load): Handle compressed.
6830 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6831 (GRUB_MACHO_LZSS_OFFSET): New define.
6832 (grub_decompress_lzss): New proto.
6833 * include/grub/machoload.h (grub_macho_file): New fields to handle
6834 compressed.
6835 (grub_macho_contains_macho64): Remove proto.
6836 (grub_macho_contains_macho32): Likewise.
6837 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6838
ebd17d6f
VS
68392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6840
6841 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6842
2702b4e4
VS
68432012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 Fix make dist.
6846
6847 * Makefile.am (starfield_theme_files): New var.
6848 (starfield_DATA): Use starfield_theme_files.
6849 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6850 Add bootcheck-related files.
6851 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6852 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6853 and font_char_metrics.txt.
6854 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6855 (setjmp): Add lib/ia64/longjmp.S.
6856 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6857 * po/POTFILES.in: Regenerate.
6858 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6859 DISTFILES.common.extra1.
6860 * util/devicemap.c: Removed.
6861 * grub-core/lib/i386/relocator_backward.S: Likewise.
6862 * util/import_gcry.py: Remove unused files. Add extra_dist for
6863 ChangeLog.
6864
cf1adfdf
VS
68652012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/gettext/gettext.c (grub_mofile_open): Call
6868 grub_gettext_delete_list before changing grub_gettext_max to avoid
6869 running out of array bounds.
6870
68712012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
6872
6873 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
6874 grub_vga_text_init/grub_vga_text_fini.
6875
cf1adfdf 68762012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
6877
6878 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
6879
541d92e9
VS
68802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * configure.ac: Bump to 2.00~beta0.
6883
7931dddf
VS
68842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
6887 missing initialisation.
6888
f1b16fa3
VS
68892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
6892
83ddae23
VS
68932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 Support v2 xnu boot arguments.
6896
6897 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
6898 New argument fsbfreq_out.
6899 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
6900 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
6901 be used.
6902 * grub-core/loader/machoXX.c (grub_macho_load): New argument
6903 darwin_version.
6904 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
6905 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
6906 (grub_xnu_boot_params): Rename to ...
6907 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
6908 (grub_xnu_boot_params_v2): New struct.
6909
dc693fe6
VS
69102012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
6913 zeroing of CRC field before computing CRC.
6914
5a6e39c2
VS
69152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
6918 Change order of allocations to decrease fragmentation.
6919
6c21f5d7
VS
69202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
6923
cfe456dc
CW
69242012-02-27 Colin Watson <cjwatson@ubuntu.com>
6925
6926 Use write-combining MTRR to speed up video with buggy BIOSes.
6927
6928 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
6929 (cpuid): New define.
6930 (rdmsr): Likewise.
6931 (wrmsr): Likewise.
6932 (mtrr_base): Likewise.
6933 (mtrr_mask): Likewise.
6934 (grub_vbe_enable_mtrr_entry): New function.
6935 (grub_vbe_enable_mtrr): Likewise.
6936 (grub_vbe_disable_mtrr): Likewise.
6937 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
6938 control off to BIOS.
6939 (grub_video_vbe_init): Fill mtrr.
6940 (grub_video_vbe_fini): Disable mtrr.
6941 (grub_video_vbe_get_info_and_fini): Likewise.
6942 (grub_video_vbe_setup): Enable mtrr.
6943
e3c78337
CW
69442012-02-27 Colin Watson <cjwatson@ubuntu.com>
6945
6946 * include/grub/partition.h (grub_partition_map): Change prototype of
6947 embed to take a maximum value for nsectors.
6948 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
6949 * include/grub/fs.h (grub_fs): Likewise.
6950 * grub-core/partmap/msdos.c (embed_signatures): New array.
6951 (pc_partition_map_embed): Check for and avoid sectors matching any
6952 of the signatures in embed_signatures, up to max_nsectors.
6953 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
6954 returned sector map to max_nsectors.
6955 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
6956 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
6957 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
6958 * util/grub-setup.c (setup): Allow for the embedding area being
6959 split into multiple blocklists. Tell dest_partmap->embed the
6960 maximum number of sectors we care about.
6961
69622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
6965 Specify blocklist_install and reserver_first_sector for all fs.
6966 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
6967 blocklists.
6968
984b973f
VS
69692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * util/grub-install.in: Clarify strings.
6972 Fix source dir check.
6973
f122e0d6
RL
69742012-02-27 Richard Laager <rlaager@wiktel.com>
6975
6976 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
6977 "zfs" and "fuse.zfs" as synonyms.
6978
071114bb
VS
69792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * configure.ac: Put platform and target_cpu substitutions back since
6982 they are used for directories.
6983
817e6abc
RL
69842012-02-27 Richard Laager <rlaager@wiktel.com>
69852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * util/grub.d/10_linux.in: Add ZFS-related arguments.
6988 * util/grub.d/20_linux_xen.in: Likewise.
6989
897b7419
RL
69902012-02-27 Richard Laager <rlaager@wiktel.com>
6991
6992 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
6993 with full paths.
6994
a414bd15
RL
69952012-02-27 Richard Laager <rlaager@wiktel.com>
6996
6997 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
6998 unescape.
6999
30ac48c4
VS
70002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 Don't use insecure popen in getroot.
7003
7004 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
7005 (exec_pipe): ... here.
7006 (find_root_devices_from_poolname): Use exec_pipe.
7007
53f13848
VS
70082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 Remove platform and target_cpu replacement.
7011
7012 * configure.ac: Remove platform and target_cpu substitutions.
7013 * tests/util/grub-shell.in: Use modinfo.
7014 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
7015 explicitly.
7016
90cb2803
VS
70172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 Autodetect platform in grub-install but allow override.
7020
7021 * util/grub-install.in: Autodetect platform. Support --target and
7022 --directory. Read platform from modinfo.sh.
7023
b9136427
VS
70242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 Support btrfs multi-volume probe.
7027
7028 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
7029 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
7030 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
7031 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
7032 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
7033 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
7034 grub_find_root_devices_from_btrfs if on btrfs.
7035
c36e5cd1
VS
70362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Remove any awareness of *.c util files about target.
7039
7040 * Makefile.util.def (grub-setup): Split to ...
7041 (grub-bios-setup): ... and this.
7042 (grub-sparc64-setup): ... and this.
7043 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
7044 * docs/man/grub-setup.h2m: Split into ...
7045 * docs/man/grub-sparc64-setup.h2m: ... this.
7046 * docs/man/grub-bios-setup.h2m: ... and this.
7047 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
7048 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
7049 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
7050 (grub_target_addr_t): Remove.
7051 (grub_target_size_t): Remove.
7052 (grub_target_ssize_t): Remove.
7053 * util/grub-install.in: Use new grub-*-setup.
7054 * util/grub-mkimagexx.c (Elf_Word): New define.
7055 (Elf_Half): Likewise.
7056 (Elf_Section): Likewise.
7057 (ELF_ST_TYPE): Likewise.
7058 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
7059 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
7060
584b2f8a
VS
70612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 Replace grub_target_addr with more appropriate types.
7064
7065 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
7066 grub_target_addr with grub_addr.
7067 * grub-core/commands/iorw.c (grub_cmd_read): Replace
7068 grub_target_addr with grub_port.
7069 (grub_cmd_write): Likewise.
7070 * grub-core/commands/memrw.c (grub_cmd_read): Replace
7071 grub_target_addr with grub_addr.
7072 (grub_cmd_write): Likewise.
7073 * grub-core/video/efi_uga.c (find_line_len): Likewise.
7074
5a0dc6fb
VS
70752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
7078 const qualifier for vendor_guid.
7079
786aff6e
VS
70802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
7083 const qualifier.
7084 (efiemu_memequal): Likewise.
7085 (find_variable): Likewise.
7086
49017b17
VS
70872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 Fix missing console prototype on qemu-mips.
7090
7091 * include/grub/mips/qemu_mips/console.h: New file.
7092
c5988629
MG
70932012-02-27 Matthew Garrett <mjg@redhat.com>
70942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
7097 * include/grub/efi/efi.h: Likewise.
7098 * include/grub/efi/api.h: Add guid for EFI-specified variables.
7099 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
7100 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
7101 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
7102 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
7103 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
7104
e33f8d69
MG
71052012-02-27 Matthew Garrett <mjg@redhat.com>
7106
7107 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
7108
fb312cd9
VS
71092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
7112 error.
7113
7134247c
VS
71142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * configure.ac: Remove inappropriate use of program_transform_name
7117 on grubdir and bootdir but allow explicit specification of those
7118 variables.
7119
6a313124
VS
71202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * util/grub-mknetdir.in (grub_prefix): Removed.
7123 (subdir): Use @bootdirname@ and @grubdirname@.
7124
2311c5ca
VS
71252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
7128
7d5d60f7
VS
71292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * po/POTFILES.in: Regenerated.
7132
8151bc82
VS
71332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 Remove improper use of program_transform_name on pkglibrootdir.
7136
7137 * configure.ac (pkglibrootdir): Removed.
7138 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
7139 * util/grub-mkimage.c: Likewise.
7140
b4a6a533
VS
71412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
7144 warning.
7145
668f304f
VS
71462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * util/grub-install.in: Use file identifier if no UUID is available
7149 or user explicitly prompted for it.
7150
665f2341
NP
71512012-02-27 Navdeep Parhar <nparhar@gmail.com>
7152
7153 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
7154 (freebsd_get_zfs): New function.
7155 (grub_freebsd_boot): Pass zfs UUID.
7156 (grub_cmd_freebsd): Set zfs UUID.
7157
8151bc82 71582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
7159
7160 * conf/Makefile.common (platformdir): Base on pkglibdir and not
7161 pkglibrootdir.
7162
e4c498a1
MG
71632012-02-27 Mike Gilbert <floppym@gentoo.org>
7164
7165 Add configure flag to control libzfs integration.
7166
7167 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
7168
1e9a9a3f
VS
71692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
7172 device.
7173 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
7174 small devices.
7175
036985b8
VS
71762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 Remove grub_{modname}_init and grub_{modname}_fini. They should never
7179 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
7180 be used on non-modules.
7181
7182 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
7183 Rename to grub_boot_init.
7184 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
7185 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
7186 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
7187 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
7188 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
7189 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
7190 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
7191 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
7192 includes.
7193 (grub_machine_init): Remove empty inits.
7194 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
7195 includes.
7196 (grub_machine_init): Remove empty inits.
7197 * grub-core/term/arc/console.c: Remove explicit proto.
7198 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
7199 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
7200 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7201 grub_at_keyboard_fini.
7202 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
7203 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
7204 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7205 grub_gfxterm_fini.
7206 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
7207 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
7208 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7209 grub_vgatext_fini.
7210 * grub-core/term/ieee1275/console.c: Remove explicit proto.
7211 * grub-core/term/serial.c (GRUB_MOD_INIT)
7212 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
7213 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7214 grub_serial_fini.
7215 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
7216 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
7217 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
7218 grub_terminfo_fini.
7219 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
7220 (GRUB_MOD_FINI): Likewise.
7221 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
7222 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
7223 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7224 grub_video_radeon_fuloong2e_fini.
7225 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
7226 [LOONGSON]: Rename to grub_video_sis315pro_init.
7227 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7228 grub_video_sis315pro_fini.
7229 * grub-core/video/sm712.c (GRUB_MOD_INIT)
7230 [LOONGSON]: Rename to grub_video_sm712_init.
7231 (GRUB_MOD_FINI) [LOONGSON]: Rename to
7232 grub_video_sm712_fini.
7233 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
7234 (grub_at_keyboard_fini): Likewise.
7235 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
7236 Don't declare grub_{modname}_init.
7237 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
7238 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
7239 New proto.
7240 (grub_keylayouts_fini) [!EMU]: Likewise.
7241 * include/grub/serial.h (grub_serial_init) [!EMU]:
7242 New proto.
7243 (grub_serial_fini) [!EMU]: Likewise.
7244 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
7245 New proto.
7246 (grub_terminfo_fini) [!EMU]: Likewise.
7247 * include/grub/video.h (grub_font_init) [!EMU]:
7248 New proto.
7249 (grub_font_fini) [!EMU]: Likewise.
7250 (grub_gfxterm_init) [!EMU]: Likewise.
7251 (grub_gfxterm_fini) [!EMU]: Likewise.
7252 (grub_video_sm712_init) [!EMU]: Likewise.
7253 (grub_video_sm712_fini) [!EMU]: Likewise.
7254 (grub_video_sis315pro_init) [!EMU]: Likewise.
7255 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7256 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7257 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7258
d5534665
VS
72592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 Make nand a prefix for nand devices.
7262
7263 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7264
10133b5f
VS
72652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7268 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7269
8e307a62
VS
72702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * include/grub/env.h (grub_env_find): Remove prototype.
7273 * grub-core/kern/env.c (grub_env_find): Make static.
7274 (grub_env_set): Remove useless set.
7275
a4c65f34
VS
72762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/kern/i386/realmode.S: Remove useless align.
7279
d87893d5
VS
72802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * include/grub/dl.h (grub_dl_load_file): Don't export.
7283
50159add
VS
72842012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7287 grub_dprintf.
7288
b2582b84
VS
72892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7292 grub_errors.
7293 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7294 not reloading whole superblock but only the part which is really needed.
7295 Remove useless grub_errors.
7296 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7297 grub_errors.
7298
e2a83395
VS
72992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 Don't export grub_get_rtc.
7302
7303 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7304 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7305
e7d2a906
VS
73062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7309
6cf1363b
VS
73102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7313 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7314
eece3349
VS
73152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 Remove prio_list.
7318
7319 * include/grub/list.h (grub_prio_list): Removed.
7320 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7321 GRUB_COMMAND_PRIO_MASK.
7322 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7323 GRUB_COMMAND_FLAG_ACTIVE.
7324 (grub_prio_list_insert): Removed.
7325 (grub_prio_list_remove): Likewise.
7326 (GRUB_AS_PRIO_LIST): Likewise.
7327 (GRUB_AS_PRIO_LIST_P): Likewise.
7328 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7329 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7330 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7331 * grub-core/kern/command.c (grub_register_command_prio): Inline
7332 the prio_list code.
7333 (grub_unregister_command): Likewise.
7334
94f064b4
VS
73352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 Fix interrupt mixup from previous commit.
7338
7339 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7340 (grub_realidt): New var.
7341 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7342 Load idt.
7343 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7344 New declaration.
7345 (grub_relocator16_boot): Set grub_relocator16_idt.
7346 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7347 (LOCAL(realidt)): ... this.
7348 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7349 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7350 (grub_realidt): New variable.
7351
27317084
VS
73522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7355 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7356 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7357 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7358 Gettextize.
7359 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7360 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7361 * po/POTFILES.in: Regenerate.
7362
47b40053
VS
73632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7366 errors.
7367
2b343101
VS
73682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7371 \0.
7372 (add_length): Likewise.
7373
ff27c3dd
LK
73742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
73752012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7376
7377 GDB serial and backtrace support.
7378
7379 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7380 (prot_to_real): Likewise.
7381 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7382 * grub-core/Makefile.core.def (backtrace): New module.
7383 (gdb): Likewise.
7384 * grub-core/gdb/cstub.c: New file.
7385 * grub-core/gdb/gdb.c: Likewise.
7386 * grub-core/gdb/i386/idt.c: Likewise.
7387 * grub-core/gdb/i386/machdep.S: Likewise.
7388 * grub-core/gdb/i386/signal.c: Likewise.
7389 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7390 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7391 * include/grub/backtrace.h: Likewise.
7392 * include/grub/gdb.h: Likewise.
7393 * include/grub/i386/gdb.h: Likewise.
7394
73952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7396
7397 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7398 New function.
7399 (add_length): Likewise.
7400 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7401 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7402 proto.
7403 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7404 __argp_get_display_len.
7405
ff27c3dd 74062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7407
7408 $"..." support in scripts.
7409
7410 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7411 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7412 * grub-core/script/yylex.l: Likewise.
7413 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7414 value.
7415
ff27c3dd 74162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7417
7418 * gentpl.py: Remove obsolete pkglib_DATA handling.
7419
ff27c3dd 74202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7421
7422 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7423 mailing list.
7424
7425 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7426 * util/grub-kbdcomp.in: Likewise.
7427 * util/grub-mkconfig.in: Likewise.
7428 * util/grub-mkconfig_lib.in: Likewise.
7429 * util/grub-mknetdir.in: Likewise.
7430 * util/grub-mkrescue.in: Likewise.
7431 * util/grub-mkstandalone.in: Likewise.
7432 * util/grub-reboot.in: Likewise.
7433 * util/grub-set-default.in: Likewise.
7434 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7435
ff27c3dd 74362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7437
7438 Remove GRUB_PREFIX.
7439
7440 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7441 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7442 used for backward compatibility.
7443
ff27c3dd 74442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7445
7446 Add new all_video module.
7447
7448 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7449 * grub-core/Makefile.core.def (all_video): New module.
7450 * grub-core/genmoddep.awk: Generate dependency of all_video from
7451 video.lst.
7452 * grub-core/lib/fake_module.c: New file.
7453 * grub-core/normal/main.c (features): Add feature_all_video_module.
7454 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7455 don't do explicit search again.
47454da5 7456 insmod all_video in load_video if available.
22c7ce85 7457
ff27c3dd 74582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7459
7460 Another round of string clarification and adding TRANSLATORS comments.
7461
ff27c3dd 74622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7463
7464 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7465
ff27c3dd 74662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7467
7468 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7469 to grub_ssize_t.
7470 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7471 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7472
ff27c3dd 74732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7474
7475 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7476 trailing newline implicitly. All users updated.
7477
ff27c3dd 74782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7479
7480 Implement serial on IEEE1275 and EFI.
7481
7482 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7483 on emu. Mention arc and emu as the only platforms without serial
7484 support.
7485 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7486 ieee1275 platforms.
7487 * grub-core/term/efi/serial.c: New file.
7488 * grub-core/term/ieee1275/serial.c: Likewise.
7489 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7490 specification if no ns8250 driver is available.
7491 (grub_cmd_serial): Likewise.
7492 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7493 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7494 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7495 (grub_efi_parity_type_t): New type.
7496 (grub_efi_stop_bits_t): Likewise.
7497 (grub_efi_serial_io_interface): New struct.
7498 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7499 available for all interfaces.
7500 Add EFI and IEEE1275 fields.
7501 (grub_ofserial_init): New proto.
7502 (grub_efiserial_init): Likeiwse.
7503 * util/grub.d/00_header.in: Don't check for the presence of serial
7504 module.
7505
ff27c3dd 75062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7507
7508 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7509 name as if it was an alias.
7510
114076ef
VS
75112012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * grub-core/commands/lsacpi.c (options): Fix typo.
7514
6a656b0e
VS
75152012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Convert grub-emu to argp.
7518
7519 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7520 emu.
7521 * util/argp_common.c: Rename to ...
7522 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7523 Add missing includes.
7524 * grub-core/kern/emu/main.c: Convert to argp.
7525 * po/POTFILES.in: Regenerate.
7526 * util/grub-install.in (usage): Make first letter lowcase in messages
7527 for uniformity.
7528 * util/grub-setup.c (options): Likewise.
7529
1e3f8ae8
VS
75302012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7533 Put back accidently commented-out code.
7534
ed167a80
VS
75352012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7538 loop check using Brent algorithm.
7539 (grub_hfsplus_btree_search): Likewise.
7540
6753c0ec
VS
75412012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7542
7543 * util/grub-install.in: Fix usage of wrong device for PreP install.
7544
4e27343f
VS
75452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * conf/Makefile.common (CFLAGS_GNULIB): Add
7548 -Wno-unsafe-loop-optimizations.
7549 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7550 on tools.
7551 * grub-core/commands/legacycfg.c: Add pragma to skip
7552 -Wunsafe-loop-optimizations.
7553 (check_password_md5_real): Fix loop counter type.
7554 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7555 reading.
7556 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7557 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7558 loop condition.
7559 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7560 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7561 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7562 condition.
7563 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7564 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7565 avoid possible infinite loops.
7566 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7567 and -Wunsafe-loop-optimizations.
7568 * grub-core/script/yylex.l: Likewise.
7569 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7570 (print_glyphs): Avoid infinite loops.
7571 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7572
697f18b0
GS
75732012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7574
7575 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7576 to avoid infinite loop.
7577 (disp_acpi_rsdt_table): Likewise.
7578
274416e8
VS
75792012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * grub-core/font/font.c (grub_font_load): Add support for default
7582 path for fonts ($prefix/fonts).
7583 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7584 for checking if string is a path.
7585 * grub-core/normal/main.c (features): Add feature_default_font_path.
7586 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7587 * util/grub.d/00_header.in: Use default directory if possible.
7588 * util/grub-install.in: Install unicode.pf2.
7589
b3e08622
VS
75902012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7593 * po/Rules-swiss: New file.
7594 * po/swiss.sed: Likewise.
7595
fe42ce09
VS
75962012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/fs/btrfs.c (find_device): Fix typos.
7599 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7600 * util/grub-mkrelpath.c (argp_parser): Likewise.
7601 Reported by: Yuri Chornoivan.
7602
72f1d065
DO
76032012-02-23 Dalet Omega <daletomega@gmail.com>
7604
7605 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7606 for usual informative messages.
7607
c5884973
DO
76082012-02-23 Dalet Omega <daletomega@gmail.com>
7609
7610 Starfield theme.
7611
7612 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7613 * conf/Makefile.common: Define starfielddir.
7614 * configure.ac: Configure starfield.
7615 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7616 * themes/starfield/README: Likewise.
7617 * themes/starfield/blob_w.png: Likewise.
7618 * themes/starfield/boot_menu_c.png: Likewise.
7619 * themes/starfield/boot_menu_e.png: Likewise.
7620 * themes/starfield/boot_menu_n.png: Likewise.
7621 * themes/starfield/boot_menu_ne.png: Likewise.
7622 * themes/starfield/boot_menu_nw.png: Likewise.
7623 * themes/starfield/boot_menu_s.png: Likewise.
7624 * themes/starfield/boot_menu_se.png: Likewise.
7625 * themes/starfield/boot_menu_sw.png: Likewise.
7626 * themes/starfield/boot_menu_w.png: Likewise.
7627 * themes/starfield/slider_c.png: Likewise.
7628 * themes/starfield/slider_n.png: Likewise.
7629 * themes/starfield/slider_s.png: Likewise.
7630 * themes/starfield/src/blob_nw.xcf: Likewise.
7631 * themes/starfield/src/bootmenu/: Likewise.
7632 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7633 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7634 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7635 * themes/starfield/src/slider_c.xcf: Likewise.
7636 * themes/starfield/src/slider_n.xcf: Likewise.
7637 * themes/starfield/src/slider_s.xcf: Likewise.
7638 * themes/starfield/src/terminalbox/: Likewise.
7639 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7640 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7641 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7642 * themes/starfield/starfield.png: Likewise.
7643 * themes/starfield/terminal_box_c.png: Likewise.
7644 * themes/starfield/terminal_box_e.png: Likewise.
7645 * themes/starfield/terminal_box_n.png: Likewise.
7646 * themes/starfield/terminal_box_ne.png: Likewise.
7647 * themes/starfield/terminal_box_nw.png: Likewise.
7648 * themes/starfield/terminal_box_s.png: Likewise.
7649 * themes/starfield/terminal_box_se.png: Likewise.
7650 * themes/starfield/terminal_box_sw.png: Likewise.
7651 * themes/starfield/terminal_box_w.png: Likewise.
7652 * themes/starfield/theme.txt: Likewise.
7653
17d73325
VS
76542012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * util/grub.d/00_header.in: Add missing export theme.
7657
dbebaf92
VS
76582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7659
7660 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7661 already included.
7662 Reported by: Eren D.
7663
3d68bffb
VS
76642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * conf/Makefile.common (grubdatadir): Removed.
7667 (Makefile.am): Move eveything grubdata to pkgdata.
7668
4b59234d
VS
76692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * grub-core/commands/acpihalt.c (get_sleep_type):
7672 Remove unused variable.
7673
463dcadc
VS
76742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7677 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7678 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7679 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7680 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7681 i18n with gettext no-op.
7682 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7683 GRUB_ACPI_OPCODE_STRING_CONST.
7684 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7685 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7686
e5b90c82
VS
76872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * po/POTFILES.in: Regenerate.
7690
2a704ca9
VS
76912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7694 -Wno-error=missing-noreturn.
7695
84f9d341
VS
76962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7699 condition to avoid possibly infinite loops.
7700 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7701 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7702
d46683f9
VS
77032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7706 condition to avoid possibly infinite loops.
7707
c44866b2
VS
77082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7711 on show_error.
7712
96790539
VS
77132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7716
1ba7e295
VS
77172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7720
21ffe8f1
VS
77212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * util/bin2h.c (usage): Add missing attribute noreturn.
7724
0ccb6b3c
VS
77252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7728 if the size isn't divisible by 512.
7729
b00d7fb6
VS
77302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 Make list_push and list_remove functions rather than inline functions
7733 to decrease size and avoid aliasing violations.
7734
7735 * include/grub/list.h (grub_list_push): Move to ...
7736 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7737 * include/grub/list.h (grub_list_remove): Move to ...
7738 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7739
9d369087
VS
77402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7743 and -Wunused-result.
7744
af0250d9
VS
77452012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7748 Reported by: Seth Goldberg
7749
aad32b14
VS
77502012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7753
ac96441c
ST
77542012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7755
7756 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7757 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7758 command line.
7759 * docs/grub.texi (Simple configuration): Document
7760 GRUB_CMDLINE_GNUMACH.
7761
77622012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7763
7764 * conf/Makefile.common (platform_SCRIPTS): New variable.
7765 (platform_PROGRAMS): Likewise.
7766 * gentpl.py: Mark *,module and *.image for install.
7767 * grub-core/gdb_grub.in: Add a notice of expected environment.
7768 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7769 (gmodule.pl): Likewise.
7770
ac96441c 77712012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7772
7773 Replace grub_checkkey with grub_getkey_noblock.
7774
7775 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7776 (grub_getkey_noblock): ... this. All users updated.
7777
ac96441c 77782012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7779
7780 * grub-core/kern/emu/console.c: Move to ...
7781 * grub-core/term/emu/console.c: ...here.
7782 (grub_ncurses_getkey): Fix return value if no key is detected.
7783
e51b5666
VS
77842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7787 (grub_unit_test_fini): Likewise.
7788 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7789
77902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * include/grub/test.h (GRUB_UNIT_TEST)
7793
d9a62292
VS
77942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7797 Better error handling.
7798 (grub_script_return): Likewise.
7799 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7800
77c9182f
VS
78012012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7804 rimplicit redifinition.
7805
edb13cf9
VS
78062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7809 GRUB.
7810
a9e9dc7c
VS
78112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7814 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7815 prompt here.
7816
b4ba8e02
VS
78172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7820 as GRUB_ERR_BUG. Don't malloc if no device is available.
7821
dded5540
VS
78222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7825 Mark calling with invalid term as GRUB_ERR_BUG.
7826
0cf69874
VS
78272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7830 packets rather than raising an error.
7831
59bfe502
VS
78322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7835 in if.
7836
db5fc596
VS
78372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7840 diagnostic to dprintf.
7841 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7842
e4b7f404
VS
78432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7846 device name.
7847
e7b02f9e
VS
78482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7851 (grub_ntfs_iterate_dir): Likewise.
7852
0331e102
VS
78532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 Efiemu stylistic fixes and gettext.
7856
7857 * grub-core/efiemu/i386/loadcore32.c
7858 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7859 * grub-core/efiemu/i386/loadcore64.c
7860 (grub_arch_efiemu_relocate_symbols64): Likewise.
7861 * grub-core/efiemu/i386/pc/cfgtables.c
7862 (grub_machine_efiemu_init_tables): Likewise.
7863 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
7864 (grub_efiemu_loadcore_initXX): Add a filename argument.
7865 All users updated.
7866 Improved error message.
7867 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
7868 Add a filename argument.
7869 All users updated.
7870 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
7871 Reclassify double relocation as GRUB_ERR_BUG.
7872
306fc074
VS
78732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
7876 handling.
7877
794d8ef2
VS
78782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
7881 on partition.
7882
78832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
7884
7885 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
7886
794d8ef2 78872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
7888
7889 Improve string. Gettextize.
7890
78dde88e
VS
78912012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
7894 utils.
7895 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
7896
4786a90f
VS
78972012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
7900 [GRUB_UTIL]: New function.
7901 (insert_array) [GRUB_UTIL]: Store partmaps.
7902 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
7903 partmaps.
7904 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
7905 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
7906 (probe_abstraction): Print diskfilter and not raid.
7907 Reported by: Lennart Sorensen
7908
0b6225bd
VS
79092012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
7912 * util/grub-mkimagexx.c (MASK3): New define.
7913 (add_value_to_slot_20b): Use MASK3.
7914 (add_value_to_slot_21): Likewise.
7915 (relocate_addresses): Fix format specification.
7916 (load_image): Explicitly init symtab_section.
7917
b055f8f6
VS
79182012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
7921 (grub_util_biosdisk_get_grub_dev): Fix format specification.
7922
b77c2fb7
VS
79232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
7926 on powerpc.
7927 Reported by: Lennart Sorensen
7928
e3ec28ab
VS
79292012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * gentpl.py: Add missing license header.
7932 * docs/grub.texi: Update copyright year.
7933
c8d9ead6
GS
79342012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7935
7936 Source grub-mkconfig_lib from the build directory at build time.
7937 Suggested by: Vladimir Serbinenko.
7938
7939 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
7940 * util/grub-install.in: Define pkgdatadir if not already set, and source
7941 grub-mkconfig_lib from there.
7942 * util/grub-kbdcomp.in: Likewise.
7943 * util/grub-mkconfig.in: Likewise.
7944 * util/grub-mknetdir.in: Likewise.
7945 * util/grub-mkrescue.in: Likewise.
7946 * util/grub-mkstandalone.in: Likewise.
7947 * util/grub-reboot.in: Likewise.
7948 * util/grub-set-default.in: Likewise.
7949 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7950
ebcecdf1
VS
79512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 Increase warning level.
7954
7955 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
7956 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
7957 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
7958 (TARGET_CFLAGS): Likewise.
7959 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
7960 * grub-core/Makefile.core.def (decompressor_xz): Add
7961 -Wno-unreachable-code.
7962 (normal): Add -Wno-redundant-decls.
7963 (xzio): Add -Wno-unreachable-code.
7964 (lzopio): Add -Wno-redundant-decls -Wno-error.
7965 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
7966 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
7967 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
7968 * grub-core/kern/dl.c: Add exception to -Wcast-align.
7969 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
7970 * grub-core/kern/i386/coreboot/init.c: Add exception to
7971 -Wsuggest-attribute=noreturn.
7972 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
7973 * grub-core/kern/ia64/dl_helper.c: Likewise.
7974 * grub-core/kern/mips/dl.c: Likewise.
7975 * grub-core/kern/sparc64/dl.c: Likewise.
7976 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
7977 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
7978 (memcmp): Likewise.
7979 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
7980 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
7981 * grub-core/loader/mips/linux.c: Likewise.
7982 * grub-core/loader/multiboot_elfxx.c: Likewise.
7983 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
7984 * grub-core/video/sm712.c: Add exception to -Wcast-align.
7985 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
7986 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
7987 fixme.
7988 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7989 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
7990 Fix prototype.
7991
37bb97fe
VS
79922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7993
7994 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
7995 address.
7996
29a3550b
VS
79972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8000 Avoid improper use of strings.
8001 (grub_cmd_legacy_initrdnounzip): Likewise.
8002
dfdffd0d
VS
80032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 * include/grub/emu/misc.h (grub_util_warn): Add missing format
8006 attribute.
8007 (grub_util_info): Likewise.
8008 (grub_util_error): Likewise.
8009
102fae4a
VS
80102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
8013 * util/grub-fstest.c (fstest): Likewise.
8014
7e94d044
VS
80152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
8018 (grub_md_sha512_real): Likewise.
8019 (grub_util_get_geli_uuid): Likewise.
8020 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
8021 (grub_util_biosdisk_open): Fix format specification.
8022 Respect format security.
8023 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
8024 (xrealloc): Likewise.
8025 (xasprintf): Likewise.
8026
5ebd9769
VS
80272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * util/import_gcry.py: Include grub/crypto.h in init.c.
8030
495fc8c1
VS
80312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
8034 (generate_image): Make prefix a const char *.
8035 Fix format specifications. Respect format security.
8036 Avoid void * arithmetics.
8037 Avoid shadowing.
8038 (argp_parser): Remove unused variable. Respect format security.
8039 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
8040 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
8041 (count_funcs): Remove unused variable.
8042 (relocate_addresses): Fix format specification.
8043 Disable x86-64 with elf32. Remove unused variables.
8044 (add_fixup_entry): Avoid shadowing.
8045 (make_reloc_section): Fix format specification.
8046 Use assert.
8047 (locate_sections): Fix format specifications.
8048 (load_image): Avoid shadowing.
8049
043c2ea3
VS
80502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
8053 Fix format specifications. Respect format security.
8054 Don't translate already translated grub_errmsg.
8055 (argp_parser): Remove unused variable
8056
3ec65a81
VS
80572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
8060
a4d9fe4a
VS
80612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
8064 (main): Likewise. Use xmalloc. Respect format security.
8065
15b81d49
VS
80662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
8069 a const char *.
8070 (argp_parser): Remove unused variable.
8071
31731fc0
VS
80722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
8075 (add_pixel): Make static.
8076 (add_font): Likewise.
8077 (write_string_section): Make name and str a const char *.
8078 (write_be16_section): Make name a const char *.
8079 (print_glyphs): Make static.
8080 (write_font_ascii_bitmap): Likewise.
8081 (write_font_width_spec): Likewise.
8082 (write_font_pf2): Likewise.
8083 (argp_parser): Remove unused variable.
8084 Respect format security.
8085 (main): Avoid shadowing. Respect format security.
8086
0809527b
VS
80872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * util/grub-editenv.c (argp_parser): Make static.
8090 (create_envblk_file): Use xmalloc.
8091 (open_envblk_file): Likewise.
8092 Resepect format security.
8093 (set_variables): Respect format security.
8094
45b0c8b7
VS
80952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * util/getroot.c (grub_find_device): Respect format security.
8098 (get_mdadm_uuid): Remove unused variable.
8099 (grub_util_pull_device): Dont call gettext on already translated
8100 grub_errmsg.
8101 (find_system_device): Remove unused variable.
8102 (grub_util_get_grub_dev): Likewise.
8103 (grub_make_system_path_relative_to_its_root): Respect format security.
8104
1b024b4e
VS
81052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * util/grub-fstest.c (execute_command): Make first argument
8108 a const char *.
8109 (read_file): Avoid shadowing.
8110 Reuse underlying error message if device open fails.
8111 (cmd_cmp): Respect format security.
8112 (root): Make const char *.
8113 (fstest): Remove args argument and use global copy.
8114 Respect format security.
8115 (argp_parser): Make static.
8116 (main): Make default_root const char *.
8117
5d1d4e28
VS
81182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * util/grub-mount.c (root): Make const char *.
8121 (execute_command): Make first argument a const char *.
8122 (fuse_init): Respect format security.
8123 (argp_parser): Make static. Remove unused variable.
8124 (main): Make default_root a const char *.
8125 Respect format security.
8126
36eb7379
VS
81272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * util/grub-probe.c (probe): Don't call gettext on already translated
8130 grub_errmsg.
8131 Remove unused variables.
8132 (argp_parser): Remove unused variable.
8133
76fb2ea9
VS
81342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * util/grub-script-check.c (argp_parser): Remove unused variable.
8137 (main): Rename read to curread to avoid shadowing.
8138
56c98584
VS
81392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * util/misc.c (grub_util_write_image_at): Fix format specification.
8142 (grub_util_write_image): Likewise.
8143 (grub_script_execute_argument_to_string): Removed (unused).
8144 (grub_script_execute_menuentry): Likewise.
8145 (grub_putchar): Likewise.
8146
164ebb48
VS
81472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
8150 (FUNCTION) [GRUB_UTIL]: Likewise.
8151 (VARIABLE) [GRUB_UTIL]: Likewise.
8152
44318d61
VS
81532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
8156 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
8157
31a26002
VS
81582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
8161 buffer.
8162
81632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
8166 (LzmaEnc_SaveState): Removed (unused).
8167 (LzmaEnc_RestoreState): Likewise.
8168 (LzmaEnc_InitPriceTables): Made static.
8169 (LzmaEnc_Construct): Likewise.
8170 (LzmaEnc_FreeLits): Likewise.
8171 (LzmaEnc_Destruct): Likewise.
8172 (LzmaEnc_Init): Likewise.
8173 (LzmaEnc_InitPrices): Likewise.
8174 (LzmaEnc_Finish): Likewise.
8175 (LzmaEnc_PrepareForLzma2): Removed (unused).
8176 (LzmaEnc_MemPrepare): Likewise.
8177 (LzmaEnc_GetNumAvailableBytes): Likewise.
8178 (LzmaEnc_GetCurBuf): Likewise.
8179 (LzmaEnc_CodeOneMemBlock): Likewise.
8180
6fa67967
VS
81812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
8184 (grub_util_ldm_embed): Likewise.
8185
9a7428e6
VS
81862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * util/grub-editenv.c (print_var): Rename name to varname to
8189 avoid shadowing.
8190 (main): Rename index to curindex to avoid shadowing.
31a26002 8191 Make filename a const char *.
9a7428e6 8192
4f96abd1
VS
81932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8194
8195 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
8196 to arg_getline to avoid shadowing.
8197
44d10dad
VS
81982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
8201 disk_ to avoid shadowing.
8202
340ba63e
VS
82032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
8206 curindex to avoid shadowing.
8207 Make static.
8208 (MatchFinder_GetNumAvailableBytes): Make static.
8209
22965bce
VS
82102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
8213 avoid shadowing.
8214
7b5784d4
VS
82152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
8218 argument from encrypt to do_encrypt to avoid shadowing.
8219
6f48ca01
VS
82202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
8223 incorrect nesting of #if's.
8224
a4ea2dff
VS
82252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
8228 checks which are always false on some platforms.
8229 (grub_cmd_lsacpi): Likewise.
8230 * grub-core/kern/misc.c (grub_strtoul): Likewise.
8231 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
8232 Likewise.
8233
def9fc1b
VS
82342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
8237 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
8238
a67b2a04
VS
82392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
8242 re_dfa_t to avoid breaking alignment invariants.
8243 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
8244 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
8245
44c6828d
VS
82462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8247
8248 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
8249 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
8250
bebe0dd0
VS
82512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
8254 Fix declaration.
8255
a9cdb3cf
VS
82562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8259 conserve alignment invariants.
8260 (grub_ehci_ehcc_read16): Likewise.
8261 (grub_ehci_oper_read32): Likewise.
8262 (grub_ehci_oper_write32): Likewise.
8263 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8264 Conserve alignment invariants.
8265
ccc3b1b8
VS
82662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8269 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8270 declarations.
8271
987fbd95
VS
82722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8275 Remove unused variable.
8276
0df363f3
VS
82772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8280 Remove set in if.
8281
b2c0c4a6
VS
82822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * include/grub/net.h: Remove double declarations.
8285
690c531f
VS
82862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 Remove "payload" command in ia64 Linux loader since I couldn't
8289 find any evidence of it being used for anything.
8290 Replace "relocate" command with an environment variable
8291
8292 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8293 fields.
8294 (ia64_boot_payload): Removed.
8295 (last_payload): Likewise.
8296 (RELOCATE_OFF): Likewise.
8297 (RELOCATE_ON): Likewise.
8298 (RELOCATE_FORCE): Likewise.
8299 (relocate): Likewise.
8300 (free_pages): Don't free payloads.
8301 (grub_load_elf64): Use common error messages.
8302 Use "linux_relocate" variable.
8303 Increase the space after boot_params.
8304 (grub_cmd_payload): Removed.
8305 (grub_cmd_relocate): Likewise.
8306 (grub_cmd_fpswa): Improve messages.
8307 (cmd_payload): Removed.
8308 (cmd_relocate): Likewise.
8309 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8310 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8311
01783768
VS
83122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 Convert UHCI to DMA framework.
8315
8316 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8317 (grub_uhci_pci_iter): Fill new members
8318 (grub_alloc_td): Use P2V and V2P functions.
8319 (grub_free_queue): Likewise.
8320 (grub_alloc_qh): Likewise.
8321 (grub_uhci_setup_transfer): Likewise.
8322 (grub_uhci_check_transfer): Likewise.
8323
43206939
VS
83242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8327 Remove assignment in if while on it.
8328
571e140e
VS
83292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8330
8331 * util/grub-mkstandalone.in: Fix modules directory.
8332
a9d96eeb
VS
83332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8336 on i386-pc target.
8337 (argp_parser): Accept "auto" as compression specification.
8338
e4e37e8d
VS
83392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 Fix `help' with unloaded modules.
8342
8343 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8344 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8345 (grub_dyncmd_dispatcher): Small stylistic fix.
8346 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8347 explicit help is requested.
8348
e1ea3ade
VS
83492012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8350
8351 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8352 Explicitly init restart while on it.
8353
27556881
VS
83542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8355
8356 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8357 uninited variable.
8358
d65f6b36
VS
83592012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * util/grub-mknetdir.in: Use . rather than source for POSIX
8362 compatibility.
8363
0a1e473c
VS
83642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8367
ce6647c8
VS
83682012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8371 variable.
8372
66747894
VS
83732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8376 without quotes.
8377
71645f6e
VS
83782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8381
0e1c1f61
VS
83822012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8385 iteration of partitions.
8386
9c4b5c13
VS
83872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 Improve gettext support. Stylistic fixes and error handling fixes while
8390 on it.
8391
215c90cb
VS
83922012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8395 part. Instead setup the correct stack in RM.
8396 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8397 for stack.
8398 * include/grub/i386/relocator_private.h: New file.
8399
b5c1f9bf
VS
84002012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8403 argument.
8404 * util/grub-fstest.c (options): Add missing DEVICE part.
8405
b525fd83
VS
84062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 Clarify and unify messages.
8409
8410 * grub-core/commands/hashsum.c (options): Unify messages.
8411 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8412 literal-only message as translatable.
8413 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8414 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8415 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8416 commands.
8417 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8418 key, not the key used to unlock. Clarify what it's used for.
8419 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8420 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8421 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8422 * util/grub-editenv.c (options): Unify "verbose" message.
8423 * util/grub-fstest.c (read_file): Unify error message.
8424 (fstest): Add quotes around commands.
8425 (options): Unify "verbose" message.
8426 * util/grub-install.in: Add quotes around variable name.
8427 * util/grub-kbdcomp.in: Unify error message.
8428 * util/grub-mkfont.c (main): Likewise.
8429 * util/grub-mkrescue.in: Likewise.
8430 * util/grub-mklayout.c (options): Unify "verbose" message.
8431 * util/grub-mkstandalone.in: Unify help and verbose messages.
8432 * util/grub-mount.c (options): Unify "verbose" message.
8433 * util/grub-probe.c (options): Likewise.
8434 * util/grub-script-check.c (options): Likewise.
8435 * util/grub-setup.c (setup): Unify no-terminator message.
8436 (options): Use DEVICE and not DEV.
8437 Unify "verbose" message.
8438 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8439
0ae70393
VS
84402012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 Improve and unify messages.
8443
8444 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8445 name. All users updated.
8446 Print filename in error.
8447 (read_device_map): Print filename in error.
8448 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8449 (grub_util_get_os_disk): Likewise.
8450 (grub_util_biosdisk_get_grub_dev): Likewise.
8451 (grub_util_check_block_device): Likewise.
8452 (grub_util_check_char_device): Likewise.
8453 (grub_make_system_path_relative_to_its_root): Likewise.
8454 * util/grub-editenv.c (create_envblk_file): Likewise.
8455 (open_envblk_file): Likewise.
8456 (write_envblk): Likewise.
8457 * util/grub-fstest.c (cmd_cp): Likewise.
8458 (cmd_cat): Likewise.
8459 (cmd_cmp): Likewise.
8460 * util/grub-menulst2cfg.c (main): Likewise.
8461 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8462 (write_font_width_spec): Likewise.
8463 (write_font_pf2): Likewise.
8464 * util/grub-mkimage.c (generate_image): New argument outname.
8465 All users updated.
8466 Remove unreacheable message.
8467 (options): Unify messages.
8468 (help_filter): Likewise.
8469 * util/grub-mklayout.c (usage): Removed (unused).
8470 (main): Print filename in error.
8471 * util/grub-mkrescue.in: Fix wrong quoting.
8472 * util/grub-setup.c (setup): Print filename in error.
8473 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8474 (check_sas): Likewise.
8475 * util/misc.c (grub_util_get_fp_size): Removed.
8476 (grub_util_get_image_size): Print filename in error.
8477 (grub_util_read_at): Removed.
8478 (grub_util_read_image): Print filename in error.
8479 (grub_util_load_image): Likewise.
8480 (grub_util_write_image_at): New argument filename. All users updated.
8481 Print filename in error.
8482 (grub_util_write_image): New argument filename. All users updated.
8483 Print filename in error.
8484 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8485 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8486
0a96117d
VS
84872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/Makefile.core.def (pxechain): New module.
8490 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8491 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8492 function.
8493 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8494 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8495
aca002f7
VS
84962012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8499 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8500 * include/grub/err.h (grub_error_saved): New struct.
8501 (grub_errmsg): Make array size explicit.
8502 * include/grub/misc.h (grub_error_save): New function.
8503 (grub_error_load): Likewise.
8504 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8505 (grub_error_push): Update `errno' member name.
8506 (grub_error_pop): Likewise
8507 * grub-core/net/tftp.c (tftp_data): New member save_err.
8508 (tftp_receive): Save error.
8509 (tftp_open): Restore error.
8510
a51dab13
VS
85112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8514 to real mode down to execute A20-related code in protected mode as
8515 intended.
8516
eb6e6649
GS
85172012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8518
8519 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8520 NULL when the argument `level' has an unexpected value.
8521
92cd0f6e
VS
85222012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 Move platform-dependent files from $prefix to $prefix/$platform.
8525
8526 * config.h.in (GRUB_TARGET_CPU): New definition.
8527 (GRUB_PLATFORM): Likewise.
8528 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8529 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8530 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8531 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8532 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8533 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8534 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8535 * grub-core/normal/term.c (read_terminal_list): Likewise.
8536 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8537 $prefix/locale.
8538 (grub_gettext_init_ext): Likewise.
8539 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8540 grub_platform.
8541 * util/grub-install.in: Update directories.
8542 * util/grub-mknetdir.in: Likewise.
8543 * util/grub-mkrescue.in: Likewise.
8544
db606889
VS
85452012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8548 grub_error framework. All users updated.
8549
c39992a4
VS
85502012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8553 lists (by always binsearching), improve caching (cache strings
8554 used for binsearch, not only results), improve
8555 maintainability (by using more structured binary search) and correct
8556 error handling.
8557
1e5ec32f
VS
85582012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/script/execute.c (grub_script_return): Fix warning.
8561
ac576cde
VS
85622012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 * grub-core/script/execute.c (grub_script_return): Fix potential
8565 NULL-dereference.
8566 Reported by: Jim Meyering.
8567
498453f6
VS
85682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * po/POTFILES.in: Regenerate.
8571 * util/grub-install.in: Gettextize the strings missed in first pass.
8572
8be63f2e
VS
85732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * Makefile.util.def (grub-mkdevicemap): Removed.
8576 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8577 * include/grub/util/deviceiter.h: Removed.
8578 * util/deviceiter.c: Likewise.
8579 * util/getroot.c (grub_util_get_os_disk): New function.
8580 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8581 replacement for EFI.
8582 * util/grub-mkdevicemap.c: Removed.
8583 * util/grub-probe.c (probe): Handle PRINT_DISK.
8584 (argp_parser): Handle -t disk.
8585
8e1e4e39
VS
85862012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * util/grub-mkfont.c: Migrate to argp.
8589 * util/grub-mklayout.c: Likewise.
8590 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8591 * util/grub-mkrelpath.c: Likewise.
8592 * util/grub-probe.c: Likewise.
8593 * util/grub-script-check.c: Likewise.
8594
4459819a
VS
85952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * util/grub-reboot.in: Add missing datarootdir.
8598 Add missing newline.
8599 * util/grub-set-default.in: Add missing datarootdir.
8600 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8601 * util/grub-mkrescue.in: Likewise.
8602
f65741c7
VS
86032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8606
c1a33466
VS
86072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * util/grub-kbdcomp.in: Add decent help and gettextize.
8610 * docs/man/grub-kbdcomp.h2m: New file.
8611
c76899a0
VS
86122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 Migrate grub-mkimage.c to argp.
8615
8616 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8617 (grub-setup): Likewise.
8618 * util/grub-setup.c (print_version): Move to ...
8619 * util/argp_common.c (print_version): ... here.
8620 * util/grub-setup.c (argp_program_version_hook): Move to ...
8621 * util/argp_common.c (argp_program_version_hook): ... here.
8622 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8623 safety.
8624 * util/grub-mkimage.c (main): Migrate to argp.
8625
57db0757
VS
86262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * util/grub-mkrescue.in: Use same message as
8629 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8630 for better translations.
8631
18534ad9
VS
86322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8635 options with generic grub-mkrescue.in with the goal of future
8636 merge.
8637
c84ba308
VS
86382012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * grub-core/kern/mm.c: Add missing include of i18n.h
8641 * grub-core/lib/relocator.c: Likewise.
8642
347998c2
VS
86432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8646 error.
8647 (allocate_pages): Check return value.
8648 Replace fatal with error.
8649 (grub_linux_boot): Replace printf with dprintf.
8650 Check find_mmap_size return value.
8651 Replace fatal with error.
8652 Don't call grub_machine_fini.
8653 (grub_load_elf64): Replace printf with dprintf.
8654 (grub_cmd_linux): Likewise.
8655 (grub_cmd_initrd): Likewise.
8656 (grub_cmd_payload): Likewise.
8657
c779226e
VS
86582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8661 message.
8662 * grub-core/video/radeon_fuloong2e.c
8663 (grub_video_radeon_fuloong2e_setup): Likewise.
8664 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8665 * grub-core/video/video.c (grub_video_set_mode): Don't override
8666 standard out of memory message.
8667
dc87d45a
GS
86682012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8669
8670 NetBSD disk wedge support.
8671
8672 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8673 [__NetBSD__]: Handle NetBSD disk wedges.
8674 * util/getroot.c (convert_system_partition_to_system_disk)
8675 [__NetBSD__]: Likewise.
8676
055f856f
MW
86772012-02-03 Mark Wooding <mdw@distorted.org.uk>
8678
8679 * util/grub-mkconfig.in: Use umask rather than chmod to create
8680 grub.cfg.new to avoid insecure grub.cfg.
8681
4a9f8346
VS
86822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/commands/ls.c: Gettextize.
8685 * grub-core/commands/setpci.c: Likewise.
8686 * grub-core/commands/videotest.c: Likewise.
8687 * grub-core/disk/geli.c: Likewise.
8688 * grub-core/kern/mm.c: Likewise.
8689 * grub-core/lib/relocator.c: Likewise.
8690 * grub-core/loader/efi/appleloader.c: Likewise.
8691 * grub-core/loader/i386/xnu.c: Likewise.
8692 * grub-core/loader/ia64/efi/linux.c: Likewise.
8693 * grub-core/loader/xnu.c: Likewise.
8694 * grub-core/net/dns.c: Likewise.
8695 * grub-core/net/net.c: Likewise.
8696 * grub-core/script/lexer.c: Likewise.
8697 * grub-core/script/parser.y: Likewise.
8698 * grub-core/script/yylex.l: Likewise.
8699 * util/getroot.c: Likewise.
8700 * util/grub-setup.c: Likewise.
8701
a646a366
VS
87022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8705 number.
8706
54e2be26
VS
87072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8710
f7c71e68
VS
87112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8714 macro.
8715 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8716 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8717
a32d5c71
VS
87182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8721 * util/grub-install.in: Gettextize.
8722 * util/grub-mkconfig.in: Likewise.
8723 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8724 if not available.
8725 (grub_warn): Gettextize.
8726 * util/grub-mknetdir.in: Gettextize.
8727 * util/grub-mkrescue.in: Likewise.
8728 * util/grub-mkstandalone.in: Likewise.
8729 * util/grub-reboot.in: Likewise.
8730 * util/grub-set-default.in: Likewise.
8731 * util/grub.d/00_header.in: Likewise.
8732 * util/grub.d/10_hurd.in: Likewise.
8733 * util/grub.d/10_kfreebsd.in: Likewise.
8734 * util/grub.d/10_linux.in: Likewise.
8735 * util/grub.d/10_netbsd.in: Likewise.
8736 * util/grub.d/10_windows.in: Likewise.
8737 * util/grub.d/20_linux_xen.in: Likewise.
8738 * util/grub.d/30_os-prober.in: Likewise.
8739 * po/POTFILES-shell.in: Regenerate.
8740
69edd81a
RL
87412012-02-03 Richard Laager <rlaager@wiktel.com>
8742
8743 * util/grub-mkimage.c (main): Fix format-security warning.
8744 * util/grub-mkrelpath.c (main): Likewise.
8745 * util/grub-probe.c (main): Likewise.
8746
65f08dbf
RL
87472012-02-03 Richard Laager <rlaager@wiktel.com>
8748
8749 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8750 failure.
8751 Put back lost PRINT_DRIVE.
8752
e9084abe
RL
87532012-02-03 Richard Laager <rlaager@wiktel.com>
8754
8755 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8756 (grub_guess_root_devices): Replace strlen with sizeof.
8757 Avoid crash.
8758 (find_root_devices_from_poolname): Remove unused variable.
8759 Handle raidzN.
8760
cf5f7ee7
VS
87612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 Support install on multi-device filesystems.
8764
8765 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8766 (grub_guess_root_devices): ...this. Return char **. All users updated.
8767 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8768 Removed.
8769 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8770 (find_root_devices_from_poolname): ... here.
8771 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8772 Support zfs-fuse.
8773 (grub_guess_root_device): Rename to ...
8774 (grub_guess_root_devices): ... this. Return char **. All users updated.
8775 * util/grub-install.in: Handle multi-device filesystems.
8776 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8777 argument. All users updated.
8778 Handle multi-device filesystems.
8779 Use 'delim' as separator.
8780 Remove device check to allow filesystems on file.
8781 (main): Support -0 argument. Handle multi-device.
8782 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8783 Fix a cross-device check while on it.
8784 (arguments): Remove root_dev.
8785 (argp_parser): Remove -r.
8786 (main): Remove root_dev.
8787
2f53a9ed
VS
87882012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8791
17e1d934
VS
87922012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8795 symbol.
8796 Reported by: NODA, Kai <nodakai>.
8797
d3e3fab5
VS
87982012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Fix ehci on amd64.
8801
8802 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8803 pointers.
8804 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8805 (grub_ehci_setup_qh): Likewise.
8806 (grub_ehci_find_qh): Likewise.
8807 (grub_ehci_transaction): Likewise.
8808 (grub_ehci_setup_transfer): Likewise.
8809 (grub_ehci_check_transfer): Likewise.
8810 (grub_ehci_portstatus): Likewise.
8811 (grub_ehci_detect_dev): Likewise.
8812 (grub_ehci_transfer_controller_data): New field td_last_phys.
8813 (grub_ehci_setup_transfer): Fill td_last_phys.
8814 (grub_ehci_check_transfer): Use td_last_phys.
8815
3008675b
SG
88162012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8817
8818 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8819 if no submenu is present.
8820
fc9b5652
AN
88212012-02-01 Aleš Nesrsta <starous@volny.cz>
8822
8823 CBI support.
8824
8825 * include/grub/usb.h (grub_usbms_protocol_t): New values
8826 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8827 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8828 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8829 (grub_usbms_dev): Add subclass, protocol and intrpt.
8830 Remove in_maxsz and out_maxsz.
8831 (grub_usbms_reset): Rename to ...
8832 (grub_usbms_bo_reset): .. this.
8833 (grub_usbms_cbi_cmd): New function.
8834 (grub_usbms_cbi_reset): Likewise.
8835 (grub_usbms_reset): Likewise.
8836 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8837 (grub_usbms_transfer): Rename to ...
8838 (grub_usbms_transfer_bo): ... this.
8839 (grub_usbms_transfer_cbi): Likewise.
8840 (grub_usbms_transfer): Likewise.
8841
a2b81d53
AN
88422012-02-01 Aleš Nesrsta <starous@volny.cz>
88432012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8846 the support for the CS5536 modification thereos and few bugfixes.
8847
8848 * grub-core/Makefile.core.def (ehci): New module.
8849 * grub-core/bus/usb/ehci.c: New file.
8850 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8851 port and hubaddr. All users updated.
8852 Save port and hubaddr into dev structure.
8853 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8854 define.
8855 * include/grub/pci.h (grub_dma_phys2virt): New function.
8856 (grub_dma_virt2phys): Likewise.
8857 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8858
b1d51f02
VS
88592012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
8862 check as some mkfs implementations omit it.
8863
fc694106
VS
88642012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * docs/grub.texi (Unicode): Mention identifier and space limitations.
8867
6c0920e3
VS
88682012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
8871 Add new member volname2.
8872 (grub_jfs_label): Use volname2 if available.
8873
d1a46f9a
VS
88742012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
8877 over last_mounted as seen in image generated by mkfs.nilfs2.
8878 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
8879
dec8ed14
VS
88802012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
8883 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
8884 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
8885
7397c69b
VS
88862012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
8889 over the sector.
8890
b3fe42ad
VS
88912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
8894 subvolume name (by removing a bogus and useless check).
8895
10476bb0
VS
88962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
8899 sizeof while on it.
8900
9c08ad87
VS
89012012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
8904 (grub_scsi_read_capacity10): ... this.
8905 (grub_scsi_read_capacity16): New function.
8906 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
8907 0xffffffff.
8908 Fix off-by-one error.
8909 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
8910 64-bit unsigned.
8911 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
8912 (grub_scsi_read_capacity10): ... this.
8913 (grub_scsi_read_capacity_data): Rename to ...
8914 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
8915 (grub_scsi_read_capacity16): New struct.
8916 (grub_scsi_read_capacity16_data): Likewise.
8917 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
8918 grub_scsi_cmd_read_capacity10.
8919 New command grub_scsi_cmd_read_capacity16.
8920
bc8d0f45
VS
89212012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8922
8923 SCSI >2TiB support.
8924
8925 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
8926 (grub_scsi_write16): Likewise.
8927 (grub_scsi_read): Use read16 when necessary.
8928 (grub_scsi_write): Likewise.
8929 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
8930 (grub_scsi_write16): Likewise.
8931 (grub_scsi_cmd_t): Add READ16 and WRITE16.
8932
cc774926
VS
89332012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 SCSI write support (for usbms mainly).
8936
8937 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
8938 a const pointer.
8939 (grub_scsi_write): Implement.
8940 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
8941
67639fd7
VS
89422012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
8945 variable.
8946
9079d3ed
VS
89472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/lib/posix_wrap/string.h (memchr): New function.
8950
c6a6f204
VS
89512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * po/POTFILES.in: Regenerate.
8954
ecbf8cd1
VS
89552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8958 with grub_printf to avoid unnecessary fatal failure.
8959
0b3b3b38
VS
89602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
8963 (INT_MAX): Likewise.
8964 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
8965 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
8966 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
8967 (strcpy): Likewise.
8968 (strstr): Likewise.
8969 (strchr): Likewise.
8970 (strncpy): Likewise.
8971 (strcat): Likewise.
8972 (strncat): Likewise.
8973 (strcoll): Likewise.
8974 * include/grub/types.h (GRUB_SHRT_MAX): New define.
8975 (GRUB_INT_MAX): Likewise.
8976
db7337a3
VS
89772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
8980 unexpected error.
8981 (optimize_utf8): Likewise.
8982 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
8983
f37c87e1
VS
89842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/boot/i386/pc/lnxboot.S: Use
8987 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
8988 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
8989 location.
8990 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
8991 definition.
8992 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
8993
63fe43f3
VS
89942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
8997 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
8998 now to avoid double free.
8999 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
9000 hostdisk.
9001 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
9002 * util/grub-probe.c (escape_of_path): Always return a new copy.
9003 (print_full_name): Escape path.
9004 (probe): Don't call grub_util_devname_to_ofpath on NULL.
9005 Fix hints on abstractions.
9006
ebe2c961
VS
90072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
9010 Don't add "root" line if no compatibility hont is available.
9011 Suggested by: Seth Goldberg.
9012
2b5336a2
VS
90132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
9016 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
9017 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
9018 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
9019
74310bd8
VS
90202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
9023
c30582ba
VS
90242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 * util/grub-pe2elf.c (ehdr): Make static.
9027 (shdr): Likewise.
9028 (num_sections): Likewise.
9029 (offset): Likewise.
9030
5f47782c
VS
90312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Eliminate ofpath limits and possible overflows.
9034
9035 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
9036 (OF_PATH_MAX): Removed.
9037 (MAX_DISK_CAT): New const.
9038 (find_obppath): Use allocated rather than preallocated buffer.
9039 Return result. Argument of_path removed. All users updated.
9040 Add missing fdstat.
9041 (xrealpath): New function.
9042 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
9043 Allocate rather than use preallocated buffer. All users updated.
9044 (__of_path_common): Use allocated rather than preallocatecd buffer.
9045 Return result. Argument of_path removed. All users updated.
9046 (vendor_is_ATA): Read only needed part form the file.
9047 (check_sas): Allocate depending on contents rather than fixed.
9048 (main) [STANDALONE]: Handle NULL result.
9049
f990cbf9
VS
90502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * grub-core/normal/completion.c (iterate_dev): Close the disk.
9053
9c6e84b8
VS
90542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 Cryptodisk write support.
9057
9058 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
9059 (grub_cryptodisk_decrypt): Moved logic to ...
9060 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
9061 (grub_cryptodisk_write): Implement.
9062 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
9063 (grub_util_fd_write): ... this. Make global.
9064 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
9065
87cf9744
VS
90662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 * include/grub/list.h (grub_list_remove): Don't crash if element is
9069 removed twice.
9070
ca8c0baf
VS
90712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 Rename ofconsole to console.
9074
9075 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
9076 as sysnonym to console.
9077 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
9078 * grub-core/term/ieee1275/console.c: ... this. All users updated.
9079 Rename grub_ofconsole_ to grub_console_. All users updated
9080 (grub_console_term_output): Rename "ofconsole" to "console".
9081 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
9082 as "console".
9083
64c8b8f6
VS
90842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
9087 handling.
9088 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
9089 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
9090 GRUB_DISK_DEVICE_FILE_ID.
9091
f6c434d5
VS
90922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
9095 and improve performance.
9096
5858b42d
VS
90972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9098
9099 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
9100 missing ieee1275/ prefix on whole disk.
9101
4ed3c26b
VS
91022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
9105 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
9106
df71143e
VS
91072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
9110
076e7c0f
VS
91112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 Merge common RAID and LVM logic to an abstract diskfilter.
9114 Add LDM support using the same framework.
9115
9116 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
9117 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
9118 (libgrubmods): Remove grub-core/disk/raid.c and
9119 grub-core/partmap/gpt.c.
9120 * grub-core/Makefile.core.def (ldm): New module.
9121 (raid): Renamed to diskfilter. All users updated.
9122 * grub-core/disk/raid.c: Moved to ...
9123 * grub-core/disk/diskfilter.c: ... here.
9124 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
9125 (lv_num): New var.
9126 (find_array): Renamed to ...
9127 (find_lv): ... this. Support multi-LV. Skip nameless LVs
9128 (grub_is_array_readable): Renamed to ...
9129 (grub_is_lv_readable): ... this. Support multinode hierarchy.
9130 (insert_array): New argument id.
9131 (is_node_readable): New function.
9132 (scan_device): Rename to ...
9133 (scan_disk): .. this. Restrict to one disk.
9134 (scan_devices): New function.
9135 (grub_diskfilter_iterate): Support multi-LV.
9136 Skip invisible and nameless LVs.
9137 (grub_diskfilter_memberlist): Support multi-LV.
9138 (grub_diskfilter_read_node): New function.
9139 (grub_raid_read): Most of logic moved to ...
9140 (read_segment): ... here
9141 (read_lv): New function.
9142 (grub_diskfilter_get_vg_by_uuid): New function.
9143 (grub_diskfilter_make_raid): Likewise.
9144 * grub-core/disk/ldm.c: New file.
9145 * grub-core/disk/lvm.c (vg_list): Removed.
9146 (lv_count): Likewise.
9147 (scan_depth): Likewise.
9148 (is_lv_readable): Likewise.
9149 (grub_lvm_getvalue): Advance pointer past the number.
9150 (find_lv): Removed.
9151 (do_lvm_scan): Refactored into ...
9152 (grub_lvm_detect): ... this. Support raid.
9153 (grub_lvm_iterate): Removed.
9154 (grub_lvm_memberlist): Likewise.
9155 (grub_lvm_open): Likewise.
9156 (grub_lvm_close): Likewise.
9157 (read_lv): Likewise.
9158 (read_node): Likewise.
9159 (is_node_readable): Likewise.
9160 (is_lv_readable): Likewise.
9161 (grub_lvm_read): Likewise.
9162 (grub_lvm_write): Likewise.
9163 (grub_lvm_dev): Use diskfilter
9164 (GRUB_MOD_INIT): Likewise.
9165 (GRUB_MOD_FINI): Likewise.
9166 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
9167 new interface.
9168 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
9169 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9170 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
9171 grub_diskfilter_read_node.
9172 Fix a bug with xor.
9173 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
9174 grub_diskfilter_read_node.
9175 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
9176 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
9177 (grub_disk_dev_iterate): Move from here...
9178 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
9179 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9180 Make global.
9181 (grub_hostdisk_find_partition_start): Likewise.
9182 (grub_hostdisk_os_dev_to_grub_drive): New function.
9183 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
9184 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
9185 * util/getroot.c (make_device_name): ... here.
9186 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9187 Move to ...
9188 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
9189 * grub-core/kern/emu/hostdisk.c
9190 (convert_system_partition_to_system_disk): Move to ...
9191 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
9192 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
9193 * util/getroot.c (device_is_wholedisk): ... here.
9194 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
9195 * util/getroot.c (find_system_device): ... here.
9196 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
9197 Move to ...
9198 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
9199 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9200 Move to ...
9201 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
9202 Handle LDM.
9203 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9204 Move to ...
9205 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
9206 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
9207 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
9208 DISKFILTER.
9209 * include/grub/raid.h: Renamed to ...
9210 * include/grub/diskfilter.h: ... this.
9211 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
9212 (GRUB_RAID_LAYOUT_*): Make into array.
9213 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
9214 (grub_diskfilter_vg): New struct.
9215 (grub_diskfilter_pv_id): Likewise.
9216 (grub_raid_member): Removed.
9217 (grub_raid_array): Likewise.
9218 (grub_diskfilter_pv): New struct.
9219 (grub_diskfilter_lv): Likewise.
9220 (grub_diskfilter_segment): Likewise.
9221 (grub_diskfilter_node): Likewise.
9222 (grub_diskfilter_get_vg_by_uuid): New proto.
9223 (grub_raid_register): Inline.
9224 (grub_diskfilter_unregister): Likewise.
9225 (grub_diskfilter_make_raid): New proto.
9226 (grub_diskfilter_vg_register): Likewise.
9227 (grub_diskfilter_read_node): Likewise.
9228 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
9229 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
9230 (grub_util_is_ldm): Likewise.
9231 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
9232 (grub_hostdisk_find_partition_start): Likewise.
9233 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
9234 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
9235 New definition.
9236 (grub_gpt_partition_map_iterate): New proto.
9237 * include/grub/lvm.h (grub_lvm_vg): Removed.
9238 (grub_lvm_pv): Likewise.
9239 (grub_lvm_lv): Likewise.
9240 (grub_lvm_segment): Likewise.
9241 (grub_lvm_node): Likewise.
9242 * util/getroot.c [...]
9243 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
9244 (probe_abstraction): Likewise.
9245 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
9246 (main): Remove dead logic.
9247
8a7f9b9c
VS
92482012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 Simplify root device discover and don't fail when trying to open
9251 incorrect devices.
9252
9253 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
9254 function.
9255 (get_diskname_from_path): Likewise.
9256 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9257 of iterating.
9258
30545b85
VS
92592012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9262
28ea58cf
VS
92632012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9266 pastthe end.
9267
692dabca
VS
92682012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * util/grub-install.in: Add missing \.
9271 Reported by: gentoofan
9272
f6e4ea70
VS
92732012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9276 (direct_read): Use correct compressed size.
9277 (grub_squash_read_data): Likewise.
9278
92792012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9280
9281 * docs/grub.texi (Platform limitations): New section.
9282 (Platform-specific operations): Likewise.
9283 * docs/grub-dev.texi (Porting): Likewise.
9284
76261110
VS
92852012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 IEEE1275 disk write support.
9288
9289 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9290 const void *.
9291 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9292 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9293 and seek loginc to ...
9294 (grub_ofdisk_prepare): ... here.
9295 (grub_ofdisk_write): Implement.
9296
fc36d603
VS
92972012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 ARC disk write support.
9300
9301 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9302 (reopen): New argument writable. All users updated.
9303 Handle required access mode.
9304 (grub_arcdisk_write): Implement.
9305 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9306 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9307
e06c2e7a
VS
93082012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9311 (read_sblock): Don't attempt to read superblocks outside the disk size.
9312
ff447958
VS
93132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9316 first superblock to find the second one when possible.
9317
9e88df39
VS
93182012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * util/grub-install.in: Fix an ARC bug.
9321 Print a warning if no platform-specific setup is available.
9322
bb26e4ff
VS
93232012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Use static allocation rather than scratch pointer in reed_solomon.
9326 It decreases its size significantly and avoids a variable in .text.
9327
9328 * grub-core/lib/reed_solomon.c (scratch): Removed.
9329 (chosenstat): New const or static array.
9330 (sigma): Likewise.
9331 (errpot): Likewise.
9332 (errpos): Likewise.
9333 (sy): Likewise.
9334 (mstat): Likewise.
9335 (errvals): Likewise.
9336 (eqstat): Likewise.
9337 (pol_evaluate): Replace x with log_x argument. All users updated.
9338 (syndroms): Removed.
9339 (gauss_solve): Use statically allocated arrays.
9340 (rs_recover): Likewise.
9341 Calculate syndroms directly.
9342 (decode_block): Use statically allocated arrays.
9343 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9344 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9345
2e13ede5
VS
93462012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 Eliminate fixed limit on reed solomon decoder length.
9349
9350 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9351 rather than hardcoding the address.
9352 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9353 no_reed_solomon_length.
9354 Move gate_a20 to no-reed-solomon part.
9355 Don't force a particular size of no reed-solomon part.
9356 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9357 Removed.
9358 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9359 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9360
f8a9ab12
VS
93612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/commands/wildcard.c (match_files): Handle filenames
9364 without explicit device.
9365 (wildcard_expand): Don't add explicit device if not already present.
9366 * tests/grub_script_echo1.in: Add a new expansion test.
9367
87edb894
VS
93682012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 Replace single-linked with double-linked lists. It results in more
9371 compact and more efficient code.
9372
9373 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9374 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9375 (grub_list_remove): Moved from here ...
9376 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9377 (grub_prio_list_insert): Set prev.
9378 * include/grub/list.h (grub_list): Add prev. All users updated.
9379
48b391e9
VS
93802012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 Handle newer autotools. Add some missing quotes while on it.
9383
9384 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9385 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9386 (pkgdata_DATA): ... here.
9387 * Makefile.util.def (update-grub_lib): Removed.
9388 * conf/Makefile.common (pkglib_DATA): Removed.
9389 (pkglib_SCRIPTS): Likewise.
9390 (pkgdata_DATA): New variable.
9391 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9392 needed.
9393 Add missing quotes.
9394 Remove unused variable while on it.
9395 * tests/util/grub-shell.in: Likewise.
9396 * util/grub-install.in: Likewise.
9397 * util/grub-mkconfig.in: Likewise.
9398 * util/grub-mknetdir.in: Likewise.
9399 * util/grub-mkrescue.in: Likewise.
9400 * util/grub-mkstandalone.in: Likewise.
9401 * util/grub.d/00_header.in: Likewise.
9402 * util/grub.d/10_hurd.in: Likewise.
9403 * util/grub.d/10_illumos.in: Likewise.
9404 * util/grub.d/10_kfreebsd.in: Likewise.
9405 * util/grub.d/10_linux.in: Likewise.
9406 * util/grub.d/10_netbsd.in: Likewise.
9407 * util/grub.d/10_windows.in: Likewise.
9408 * util/grub.d/20_linux_xen.in: Likewise.
9409 * util/grub.d/30_os-prober.in: Likewise.
9410 * util/update-grub_lib.in: Removed.
9411
94122012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9413
9414 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9415 a workaround for intel problem.
9416
66832792
PRP
94172012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
94182012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
94192012-01-23 pfsmorigo
9420
9421 * util/grub-install.in: Support dd'in into PreP partition.
9422 * util/grub-probe.c (probe): Support discovering partition type.
9423 (main): Support -t msdos_parttype.
9424
7816a17e
VS
94252012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9428 infinite recursion using counter.
9429 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9430 init to skip it if the magic check fails.
9431 (dec_stream_header): Init s->crc32.
9432
8f9d3a8c
ZB
94332012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
94342012-01-22 Zachary Bedell <pendorbound@gmail.com>
94352012-01-22 Richard Laager <rlaager@wiktel.com>
9436
9437 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9438 All users updated.
9439 (find_bestub): Determine correct size.
9440 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9441 (scan_disk): Align the size down.
9442 Call check pool before find_bestub to have ashift.
9443
b055dd32
VS
94442012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9447 dprintf in no-malloc zone.
9448
d779e9bd
ML
94492012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9450
9451 * configure.ac: Add back in test for limits.h.
9452
b508af69
VS
94532012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 Support 4K-sector NTFS.
9456
9457 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9458 (grub_ntfs_data): Remove blocksize.
9459 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9460 Remove data argument. All users updated.
9461
dad9c8b5
VS
94622012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9465 being in .text to avoid dprel references.
9466 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9467 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9468 (grub_arch_highmemsize): Likewise.
9469 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9470 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9471 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9472
d43a777e
VS
94732012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9476
9477 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9478 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9479
34e4208f
VS
94802012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9483 GRUB_UTIL.
9484 (grub_set_datetime_cmos): Likewise.
9485
3ec0fc1c
VS
94862012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 Make XZ compression parameters dependent on target and not host CPU.
9489
9490 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9491 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9492
22489834
VS
94932012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9496 set but not used variable.
9497
8502fbca
VS
94982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9501 created when no uuid support is compiled into mkfs.reiser.
9502
76df2068
VS
95032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9506 (utf8_to_macroman): Do the opposite.
9507 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9508
64e3f8f6
VS
95092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * configure.ac: Refise build qemu_mips w/o unifont.
9512
9c271078
VS
95132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 Eliminate grub_min/grub_max prone to overflow usage.
9516
9517 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9518 (poll_nonroot_hub): Likewise.
9519 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9520 (grub_affs_label): Likewise.
9521 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9522 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9523 (grub_hfs_label): Likewise.
9524 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9525 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9526 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9527 (zap_leaf_array_get): Likewise.
9528 (dnode_get_path): Likewise.
9529 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9530 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9531 * grub-core/script/execute.c (grub_script_break): Likewise.
9532 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9533 grub_max.
9534 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9535 * include/grub/misc.h (grub_min): Removed.
9536 (grub_max): Likewise.
9537
80662dbc
VS
95382012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9539
9540 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9541 direct.inode = 0.
9542
e6da1467
VS
95432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9546
b1ac4cb1
VS
95472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9550
b4bf7c3b
VS
95512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9554 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9555
8ee1101a
VS
95562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9559 rather than a hack for grub_strncasemap.
9560
95612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 Support multiple initrds
9564 Note: part of this was accidently committed in r3739.
9565
9566 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9567 initrd.
9568 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9569 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9570 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9571 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9572 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9573
4d1e2bc9
VS
95742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9577 disks with unknown size.
9578 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9579
75b49ebe
VS
95802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 Remove defines pertaining to arbitrary limits not affecting GRUB
9583 anymore.
9584
9585 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9586 (EXT2_MAX_SYMLINKCNT): Likewise.
9587 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9588 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9589 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9590 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9591 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9592 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9593 (DN_MAX_OBJECT_SHIFT): Likewise.
9594 (DN_MAX_OFFSET_SHIFT): Likewise.
9595 (DN_MAX_OBJECT): Likewise.
9596 (DNODES_PER_LEVEL_SHIFT): Likewise.
9597 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9598 (SPA_MAXBLOCKSIZE): Likewise.
9599 (SPA_BLOCKSIZES): Likewise.
9600 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9601 (MZAP_MAX_BLKSZ): Likewise.
9602
74a1dce7
VS
96032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9606 handle NULL appropriately.
9607 Remove MIN.
9608
30c7d3ce
VS
96092012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 Fix efiemu.
9612
9613 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9614 cpu/types.h.
9615 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9616 * configure.ac: Fix efiemu check.
9617
3c76ea0c
VS
96182012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9621 grub_probe.
9622 Reported by: adamwill
9623
7e532280
SG
96242012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9625
9626 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9627
30492374
VS
96282012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 Fix handling of wide characters in gfxterm.
9631
9632 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9633 (clear_char): Likewise.
9634 (paint_char): Skip code == NULL chars.
9635 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9636
e70cb72f
VS
96372012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * grub-core/normal/charset.c: Move comment to right place.
9640
5c827cf9
VS
96412012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9644 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9645 (grub_affs_mount): Revert the correct version checking.
9646
53603892
VS
96472012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * docs/grub.texi (Unicode): Mention several other unsupported features.
9650
ff094b9b
VS
96512011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9654 case statements as compile-time one.
9655 (direct_read): Prevent spurious warnings.
9656 (grub_squash_read_data): Likewise.
9657
c029da8a
VS
96582011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 Various squash4 fixes and LZO and XZ support.
9661
9662 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9663 Add xzembed source files.
9664 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9665 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9666 (grub_squash_inode): New subtype long_dir.
9667 (SQUASH_TYPE_LONG_DIR): New inode type.
9668 (COMPRESSION): New enum.
9669 (XZBUFSIZ): New const.
9670 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9671 (read_chunk): Use data->decompress.
9672 (zlib_decompress): New function.
9673 (lzo_decompress): Likewise.
9674 (xz_decompress): Likewise.
9675 (squash_mount): Set new data fields.
9676 (grub_squash_iterate_dir): Handle long dir.
9677 (squash_unmount): Free xzdec and xzbuf.
9678 (grub_squash_open): Check ino type.
9679 (direct_read): Stylistic fixes. Use data->decompress.
9680 (grub_squash_read_data): Likewise.
9681 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9682 (get_byte): Likewise.
9683 (grub_zlib_disk_read): Removed.
9684 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9685 (GRUB_POSIX_BOOL_DEFINED): New define.
9686 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9687 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9688 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9689 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9690
7a45a539
VS
96912011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 Don't override more informative errors.
9694
9695 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9696 * grub-core/font/font.c (open_section): Likewise.
9697 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9698 filename. Don't override errors.
9699 (grub_cmd_openbsd_ramdisk): Don't override errors.
9700 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9701 (grub_cmd_initrd): Likewise.
9702 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9703 (grub_cmd_initrd): Likewise.
9704 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9705 (grub_cmd_linux): Likewise.
9706 (grub_cmd_initrd): Likewise.
9707 (grub_cmd_payload): Likewise.
9708 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9709 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9710 (grub_cmd_module): Likewise.
9711 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9712 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9713 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9714 (grub_cmd_xnu_mkext): Likewise.
9715 (grub_cmd_xnu_ramdisk): Likewise.
9716 (grub_xnu_check_os_bundle_required): Likewise.
9717 (grub_xnu_load_kext_from_dir): Likewise.
9718 (grub_cmd_xnu_kextdir): Likewise.
9719 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9720
b2d004db
VS
97212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9724 as 1024 in block size field. Found on one of my test images.
9725 Small optimisation while on it.
9726
ec000eac
VS
97272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9730 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9731 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9732 performance fixes while on it.
9733 (grub_sfs_close): Fix memory leak while on it.
9734 (grub_sfs_label): Convert Latin1 to UTF-8.
9735
f50e1165
VS
97362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9739 space to avoid overflows.
9740 (grub_hfs_label): Convert from macroman to UTF-8.
9741
2ae254de
VS
97422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9745
0108f491
VS
97462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9749
f45f5f89
VS
97502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * unicode: Import Unicode 6.0 data.
9753
4d8c4765
VS
97542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9755
63fa8ef9
VS
9756 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9757 outside of range.
9758
97592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9762
9763 * include/grub/charset.h (grub_getend): New function.
9764 * grub-core/script/function.c (grub_script_function_find): Use
9765 grub_getend.
9766 * grub-core/normal/completion.c (add_completion): Likewise.
9767
f3cb4a4e
VS
97682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9769
9770 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9771 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9772 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9773 (GRUB_UNICODE_TAG_END): Likewise.
9774 (GRUB_UNICODE_LAST_VALID): Likewise.
9775
5da8dbc5
VS
97762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9779 len and make it smaller. All users updated.
9780 * util/import_unicode.py: Put length and not end character.
9781 Check length.
9782
8569f13d
VS
97832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 Make better Unicode-compliant and unify some UTF-8 code pathes.
9786
9787 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9788 valid character.
9789 (grub_is_valid_utf8): Use grub_utf8_process.
9790 Check resulting code range.
9791 (grub_utf8_to_ucs4): Use grub_utf8_process.
9792 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9793 valid character.
9794
cc4fddf5
VS
97952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9798
bbc47747
VS
97992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * docs/grub.texi (Filesystems): Mention AFS.
9802
f63d6bf4
VS
98032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * docs/grub.texi (Filesystems): Clarify restrictions.
9806 (Regexp): Mention non-Unicode regexp behaviour.
9807 (Other): Mention non-Unicode matching behaviour.
9808
74bbf0db
VS
98092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9810
f63d6bf4 9811 Make HFS implementation use MacRoman.
74bbf0db
VS
9812
9813 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9814 (macroman): New const array.
9815 (macroman_to_utf8): New function.
9816 (utf8_to_macroman): Likewise.
9817 (grub_hfs_find_dir): Use utf8_to_macroman.
9818 (grub_hfs_dir): Use macroman_to_utf8.
9819 Set case_insensitive.
9820
4ea0316e
VS
98212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9824
d3c13cbd
VS
98252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 Integrate hints into autogeneration scripts.
9828
9829 * docs/grub.texi (Filesystems): Add a hostdisk example.
9830 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9831 (grub-probe): Add ofpath.
9832 * gentpl.py: Remove group nosparc64.
9833 * grub-core/commands/search.c (cache_entry): New struct.
9834 (cache): New var.
9835 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9836 * grub-core/commands/search_wrap.c (options): Add platform-specific
9837 hint options.
9838 (grub_cmd_search): Handle platform-specific hints.
9839 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9840 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9841 (grub_util_biosdisk_data): Likewise.
9842 (grub_util_biosdisk_open): Set device_map.
9843 (read_device_map): Handle "" as indication of no map.
9844 Set device_map.
9845 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9846 (grub_util_biosdisk_get_compatibility_hint): New function.
9847 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9848 * include/grub/emu/hostdisk.h
9849 (grub_util_biosdisk_get_compatibility_hint): New proto.
9850 * util/grub-install.in: Don't call grub-mkdevicemap.
9851 Add platform-specific hint to load.cfg.
9852 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9853 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9854 hints. Set root preliminary to compatibility hint, not to OS name.
9855 * util/grub-probe.c (PRINT_*): Add hints.
9856 (print): Make static.
9857 (escape_of_path): New function.
9858 (guess_bios_drive): Likewise.
9859 (guess_efi_drive): Likewise.
9860 (guess_baremetal_drive): Likewise.
9861 (print_full_name): Likewise.
9862 (probe): Handle hints.
9863 (main): Likewise.
9864 * util/ieee1275/devicemap.c: Removed.
9865 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
9866 updated.
9867 (grub_util_devname_to_ofpath): Return NULL on failure.
9868
9869 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
9870 resource leak.
9871 * util/getroot.c (grub_util_pull_device): Fix memory leak.
9872
9873 * po/POTFILES.in: Regenerated.
9874
9875 Allow purely long options
9876
9877 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
9878 (SHORT_ARG_USAGE): Likewise.
9879 (grub_arg_show_help): Compare opt with help_options.
9880 (parse_option): Receive opt as argument. If makes big simplificatons.
9881 All users updated
9882
00ce2df3
VS
98832011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
9886 Restructure to avoid warning.
9887
e77e325f
VS
98882011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 * util/grub-install.in: Account for possible escaped comma in device
9891 name.
9892
165099ea
VS
98932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
9896 channel.
9897
ce4a999d
VS
98982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9899
9900 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
9901 allocation and zero-setting.
9902 (grub_ieee1275_get_devname): Check that alias is complete.
9903
379586ad
VS
99042011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
9907 unaligned segments.
9908
9197b0ad
VS
99092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
9912 prefix.
9913 (grub_ofdisk_open): Check and discard ieee1275 prefix.
9914 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9915 Add ieee1275 prefix.
9916
edddb7f9
VS
99172011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 * docs/grub.texi (Filesystems): Update.
9920
a1a8b1b9
VS
99212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 Support odc, newc and bigendian cpio formats.
9924
9925 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
9926 * grub-core/Makefile.core.def (newc): New module.
9927 (odc): Likewise.
9928 (cpio_be): Likewise.
9929 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
9930 (MAGIC): Likewise.
9931 (MAGIC2): Likewise.
9932 (head) [MODE_ODC]: Adapt for the format.
9933 (head) [MODE_NEWC]: Likewise.
9934 (head) [!MODE_*]: Write fields of interest as arrays.
9935 (MAGIC_USTAR): Removed.
9936 (read_number) [MODE_NEWC]: Change to hex.
9937 (read_number) [!MODE_*]: Parse binary arrays.
9938 (grub_cpio_find_file): Factor out the code for better structure and
9939 always use read_number.
9940 (grub_cpio_mount): Use MAGIC and MAGIC2.
9941 (grub_cpio_dir): Exit on first hook non-0 return.
9942 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
9943 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
9944 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
9945 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
9946 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
9947 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
9948 * grub-core/fs/newc.c: New file.
9949 * grub-core/fs/odc.c: Likewise.
9950 * grub-core/fs/cpio_be.c: Likewise.
9951
58eba9ee
VS
99522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 Fix handling of tar numbers occupying the whole field.
9955
9956 * grub-core/fs/cpio.c (read_number): New function.
9957 (grub_cpio_find_file): Use read_number instead of strtoull.
9958
a54a0e12
VS
99592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
9962 occupying the whole field size.
9963
a6120aca
LA
99642011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
9965
9966 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
9967
a93964ce
VS
99682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
9971
3ea1ca46
SG
99722011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
9973
9974 * grub-core/Makefile.core.def (lzma_decompress): Add missing
9975 TARGET_IMG_LDFLAGS.
9976
b87f7ef2
VS
99772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * util/getroot.c (ESCAPED_PATH_MAX): New define.
9980 (mountinfo_entry): Increase the field size to take escaping into
9981 account.
9982 (find_root_device_from_libzfs): Add one byte to size of strings for
9983 security.
9984
62092395
VS
99852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
9988 an assert.
9989 * util/grub-setup.c (setup): Likewise.
9990
1f0b1a77
VS
99912011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
9994 _LzmaDecodeA.
9995
8eba9997
VS
99962011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 * docs/grub.texi (Internationalisation): New section.
9999
dd0c91e9
VS
100002011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * docs/grub.texi (Loopback booting): New section.
10003
100042011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
10005
10006 * util/grub-mkstandalone.in: Fix minor typo errors.
10007
198e150a
VS
100082011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
10011
10012 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
10013 net/icmp.c and net/icmp6.c.
10014 (http): New module.
10015 (priority_queue): Likewise.
10016 * grub-core/io/bufio.c: Rewritten.
10017 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
10018 TYPE_WITH_CONFIGFILE_OPTION.
10019 (legacy_commands): Add bootp and dhcp.
10020 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
10021 (grub_legacy_parse): Likewise.
10022 * grub-core/lib/priority_queue.c: New file.
10023 * grub-core/net/arp.c: Add missing license header.
10024 (arp_find_entry): Removed.
10025 (arp_find_entry): Likewise.
10026 (grub_net_arp_resolve): Rename to ...
10027 (grub_net_arp_send_request): ...this.
10028 (grub_net_arp_receive): New card argument.
10029 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
10030 Set router and DNS server.
10031 (grub_net_configure_by_dhcp_ack): Handle routing information.
10032 (grub_cmd_bootp): Set checksum.
10033 (grub_bootp_init): Remove net_dhcp.
10034 * grub-core/net/dns.c: New file.
10035 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
10036 completion.
10037 (get_card_packet): Handle allocation.
10038 (grub_efinet_findcards): Set mtu.
10039 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
10040 (get_card_packet): Handle allocation.
10041 (emucard): Set mtu.
10042 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
10043 (GRUB_MOD_INIT): Set mtu.
10044 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
10045 mtu.
10046 (get_card_packet): Handle allocation.
10047 (grub_ofnet_findcards): Set mtu.
10048 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
10049 assert.
10050 (grub_net_recv_ethernet_packet): Handle IPv6.
10051 * grub-core/net/http.c: New file.
10052 * grub-core/net/icmp.c: Likewise.
10053 * grub-core/net/icmp6.c: Likewise.
10054 * grub-core/net/ip.c (ip6addr): New type.
10055 (ip6hdr): Likewise.
10056 (reassemble): Likewise.
10057 (cmp): New function.
10058 (reassembles): New variable.
10059 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
10060 (id): New variable.
10061 (send_fragmented): New function.
10062 (grub_net_send_ip_packet): Rename to ...
10063 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
10064 Handle non-UDP.
10065 (grub_net_recv_ip_packets): Rename to ...
10066 (handle_dgram): ... this. Check checksum. Handle non-UDP.
10067 (free_rsm): New function.
10068 (free_old_fragments): Likewise.
10069 (grub_net_recv_ip4_packets): New function.
10070 (grub_net_send_ip6_packet): Likewise.
10071 (grub_net_send_ip_packet): Likewise.
10072 (grub_net_recv_ip6_packets): Likewise.
10073 (grub_net_recv_ip_packets): Likewise.
10074 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
10075 (LINK_LAYER_CACHE_SIZE): New const.
10076 (link_layer_find_entry): New function.
10077 (grub_net_link_layer_add_address): Likewise.
10078 (grub_net_link_layer_resolve_check): Likewise.
10079 (grub_net_link_layer_resolve): Likewise.
10080 (grub_net_ipv6_get_slaac): Likewise.
10081 (grub_net_ipv6_get_link_local): Likewise.
10082 (grub_cmd_ipv6_autoconf): Likewise.
10083 (parse_ip): Handle one number representation.
10084 (parse_ip6): New functoion.
10085 (match_net): Handle IPv6.
10086 (grub_net_resolve_address): Handle IPv6 and DNS.
10087 (grub_net_resolve_net_address): Handle IPv6.
10088 (route_cmp): New function.
10089 (grub_net_route_address): Find best route.
10090 (grub_net_addr_to_str): Handle IPv6.
10091 (grub_net_addr_cmp): New function.
10092 (grub_net_add_addr): Register local route.
10093 (print_net_address): Handle net address.
10094 (grub_net_poll_cards): Retransmit TCP.
10095 (grub_net_poll_cards_idle_real): Likewise.
10096 (have_ahead): New function.
10097 (grub_net_seek_real): Use underlying seek.
10098 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
10099 * grub-core/net/tcp.c: New file.
10100 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
10101 (cmp): New function.
10102 (ack): Likewise.
10103 (tftp_receive): Handle unordered input.
10104 (destroy_pq): New function.
10105 (tftp_close): Close pq.
10106 * grub-core/net/udp.c: Put missing license header.
10107 (grub_net_udp_socket): New function.
10108 (udp_socket_register): Likewise.
10109 (grub_net_udp_close): Likewise.
10110 (grub_net_recv_udp_packet): Check checksum.
10111 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
10112 * include/grub/misc.h (grub_memchr): New function.
10113 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
10114 (grub_net_card_driver): Return buf in recv.
10115 (grub_net_slaac_mac_list): New struct.
10116 (grub_network_level_protocol_id): Add ipv6.
10117 (grub_net_network_level_addr): Likewise.
10118 (grub_net_network_level_net_addr): Likewise.
10119 (grub_net_app_protocol): Add seek.
10120 (grub_net_socket): Removed.
10121 (grub_net_sockets): Likewise.
10122 (grub_net_socket_register): Likewise.
10123 (grub_net_socket_unregister): Likewise.
10124 (FOR_NET_SOCKETS): Likewise.
10125 (grub_net_add_addr): Add const.
10126 (GRUB_NET_BOOTP_*): New enum.
10127 (grub_net_addr_cmp): New proto.
10128 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
10129 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
10130 (grub_net_hwaddr_to_str): NEw proto.
10131 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
10132 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
10133 (grub_dns_init): New proto.
10134 (grub_dns_fini): Likewise.
10135 (grub_net_tcp_retransmit): Likewise.
10136 (grub_net_link_layer_add_address): Likewise.
10137 (grub_net_link_layer_resolve_check): Likewise.
10138 (grub_net_link_layer_resolve): Likewise.
10139 (grub_net_dns_lookup): Likewise.
10140 (grub_net_add_dns_server): Likewise.
10141 (grub_net_remove_dns_server): Likewise.
10142 (GRUB_NET_TRIES): New const.
10143 (GRUB_NET_INTERVAL): Likewise.
10144 * include/grub/net/arp.h: Mostly rewritten.
10145 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
10146 * include/grub/net/ip.h: Mostly rewritten.
10147 * include/grub/net/netbuff.h: Indent.
10148 * include/grub/net/tcp.h: New file.
10149 * include/grub/net/udp.h: Mostly rewritten.
10150 * include/grub/priority_queue.h: New file.
10151 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
10152 (grub_swap_bytes64_compile_time): Likewise.
10153 (grub_cpu_to_be16_compile_time): Likewise.
10154 (grub_cpu_to_be32_compile_time): Likewise.
10155 (grub_cpu_to_be64_compile_time): Likewise.
10156 (grub_be_to_cpu64_compile_time): Likewise.
10157
215c1800
VS
101582011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
10161 UINT_TO_PTR with cast.
10162
c17e546c
VS
101632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
10166 don't use them.
10167
ff6b18b6
VS
101682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
10171 already there.
10172
70ffcc93
VS
101732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
10176 confusing ipxe.
10177
e5f4d260
VS
101782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
10181 Add missing const attribute.
10182 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
10183 Likewise.
10184 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
10185 Likewise.
10186
8e54b4b7
VS
101872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
10190 misaligned access.
10191 (serpent_setkey): Likewise.
10192 (serpent_encrypt_internal): Likewise.
10193 (serpent_decrypt_internal): Likewise.
10194 (serpent_encrypt): Don't put an alignment-increasing cast.
10195 (serpent_decrypt): Likewise.
10196 (serpent_test): Likewise.
10197
813c0a2b
VS
101982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10199
10200 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
10201
f2b60fbd
VS
102022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
10205
10206 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
10207 grub_addr_t casts.
10208 (PTR_TO_UINT64): Likewise.
10209 (PTR_TO_UINT32): Likewise.
10210
5ef5c511
VS
102112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 * util/grub-mkimage.c (generate_image): Decrease the higher limit
10214 because of stack.
10215 * util/grub-setup.c (setup): Don't add redundancy past the higher load
10216 limit.
10217
c476e6df
VS
102182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
10221 text_width > available width a bit more gracefully.
10222
384ad7cc
VS
102232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
10226 current address calculation.
10227
96f8caf8
VS
102282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
10231 stack.
10232 (encode_block): Likewise.
10233
276b7a8b
VS
102342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
10237 certainety.
10238
e3fd394a
VS
102392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
10242 non-RS part to avoid RS messing with GDT.
10243 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10244 Increase to suit in realmode routines.
10245
102462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * grub-core/kern/i386/realmode.S: Increase alignment.
10249 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
10250
ee9c2e7a
VS
102512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
10254 be deterministic.
10255 (syndroms): Compute 0 syndrom.
10256 (rs_recover): Use 0 syndrom.
10257
7a7f7cc9
VS
102582011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10261
a14b16d1
VS
102622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10265 brackets.
10266
9f59e9fc
VS
102672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10268
ca1b552c
VS
10269 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10270 account.
10271 (get_top_pad): Likewise.
10272 (get_right_pad): Likewise.
10273 (get_bottom_pad): Likewise.
10274
102752011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10278
e739d698
VS
102792011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10282 attribute as the structure isn't guaranteed to be properly aligned.
10283 (grub_efi_pci_device_path): Likewise.
10284 (grub_efi_pccard_device_path): Likewise.
10285 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10286 specify the size of `memory_type'.
10287 (grub_efi_vendor_device_path): Likewise.
10288 (grub_efi_controller_device_path): Likewise.
10289 (grub_efi_acpi_device_path): Likewise.
10290 (grub_efi_expanded_acpi_device_path): Likewise.
10291 (grub_efi_atapi_device_path): Likewise.
10292 (grub_efi_scsi_device_path): Likewise.
10293 (grub_efi_fibre_channel_device_path): Likewise.
10294 (grub_efi_1394_device_path): Likewise.
10295 (grub_efi_usb_device_path): Likewise.
10296 (grub_efi_usb_class_device_path): Likewise.
10297 (grub_efi_i2o_device_path): Likewise.
10298 (grub_efi_mac_address_device_path): Likewise.
10299 (grub_efi_ipv4_device_path): Likewise.
10300 (grub_efi_ipv6_device_path): Likewise.
10301 (grub_efi_infiniband_device_path): Likewise.
10302 (grub_efi_uart_device_path): Likewise.
10303 (grub_efi_vendor_messaging_device_path): Likewise.
10304 (grub_efi_hard_drive_device_path): Likewise.
10305 (grub_efi_cdrom_device_path): Likewise.
10306 (grub_efi_vendor_media_device_path): Likewise.
10307 (grub_efi_file_path_device_path): Likewise.
10308 (grub_efi_protocol_device_path): Likewise.
10309 (grub_efi_piwg_device_path): Likewise.
10310 (grub_efi_bios_device_path): Likewise.
10311
cb8f88ea
VS
103122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10315 (grub_ucs4_to_utf8_alloc): Likewise.
10316 (grub_ucs4_to_utf8): Likewise.
10317 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10318 (grub_ucs4_to_utf8_alloc): Likewise.
10319
309e5352
VS
103202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 AFFS never uses unicode.
10323
10324 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10325 (grub_latin1_to_utf8): New inline function.
10326 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10327
e7987e1b
VS
103282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10331 overflow.
10332
efc2616e
VS
103332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10334
10335 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10336 (grub_squash_dirent_header): Likewise.
10337 (read_chunk): Don't double swap.
10338 (grub_squash_iterate_dir): Fix swap sizes.
10339
3c349f5a
VS
103402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10343
b453412d
VS
103442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10347 (grub_hfs_iterate_dir): Likewise.
10348
12e9d4d1
VS
103492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 Fix video on platforms where unaligned access is forbidden.
10352 Make several optimisations while on it.
10353
10354 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10355 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10356 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10357 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10358 Disable.
10359 (grub_video_fbblit_replace_16bit_1bit):
10360 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10361 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10362 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10363 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10364 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10365 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10366 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10367 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10368 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10369 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10370 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10371 (grub_video_fbblit_replace_index_RGB888): Likewise.
10372 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10373 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10374 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10375 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10376 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10377 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10378 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10379 Disable.
10380 (grub_video_fbblit_blend_XXX565_1bit):
10381 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10382 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10383 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10384 void *.
10385 * grub-core/video/fb/video_fb.c (common_blitter)
10386 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10387 (grub_video_fb_create_render_target_from_pointer)
10388 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10389 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10390 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10391 definition.
10392 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10393
ace96609
VS
103942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10397 HH22 and HM10 relocations.
10398
fd261d73
VS
103992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10402
e59b7857
VS
104032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10406 allocation succeeded.
10407
9b4baaa4
VS
104082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10411 argument a u8 pointer. All users updated.
10412 Handle unaligned buffers.
10413
dc713193
VS
104142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10417 add_part to workaround compiler bug.
10418
30dd48c2
VS
104192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10420
10421 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10422
0c6087a8
VS
104232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10426 Reserve alignment invariants.
10427 (grub_multiboot_load): Likewise.
10428 (retrieve_video_parameters): Likewise.
10429 (grub_multiboot_make_mbi): Likewise.
10430
c2e77777
VS
104312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10432
10433 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10434 incorrect pointer.
10435
b70b6d11
VS
104362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10439 (grub_pata_pio_write): Likewise.
10440
02a2bf83
VS
104412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 Add noreturn attributes and remove unreachable code.
10444
10445 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10446 code.
10447 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10448 code. Mark as noreturn.
10449 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10450 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10451 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10452 unreachable code.
10453 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10454 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10455 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10456 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10457 * include/grub/kernel.h (grub_main): Mark as noreturn.
10458 * include/grub/reader.h (grub_rescue_run): Likewise.
10459
2019d09e
VS
104602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10463 redundant declaration.
10464
d1c501ee
VS
104652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10468 redundant declaration.
10469 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10470
61664420
VS
104712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10474 to ensure alignment.
10475 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10476 alignment. Ensure tmp alignment.
10477 (grub_cmd_hdparm): Ensure buf alignment.
10478 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10479 to ensure alignment.
10480 (grub_ata_dumpinfo): Ensure text alignment.
10481 (grub_atapi_identify): Preserve alignment invariant.
10482 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10483
0d51ee20
VS
104842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10487 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10488 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10489 * include/grub/misc.h (grub_reboot)
10490 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10491 (grub_halt) [__mips__]: Likewise.
10492
753ef8c1
VS
104932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10496 Remove redundant declaration.
10497 (grub_mmap_get_post64): Likewise.
10498 (grub_mmap_get_upper): Likewise.
10499 (grub_mmap_get_lower): Likewise.
10500
85c85365
VS
105012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10504 uint32_t * to ensure alignment.
10505 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10506
a23f2cc4
VS
105072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10508
93018f64
VS
10509 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10510 uint16_t * to ensure alignment.
10511 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10512 alignment.
10513
105142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10517 to ensure alignment.
10518 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10519
58acccd6
VS
105202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10523 Handle unaligned pointers.
10524 (u32at): Likewise.
10525 (u64at): Likewise.
10526 (fixup): Use byte access instead of v16at.
10527 (find_attr): Fix imporper usage of v32at.
10528 (read_data): Likewise.
10529 (list_file): Handle byte-swapping and unaligned strings.
10530 (grub_ntfs_label): Likewise.
10531
9b05cad7
VS
105322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10533
10534 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10535 as it's not necessarily aligned.
10536
b3950b84
VS
105372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10540 redundant declaration.
10541 (grub_serial_init): Likewise.
10542 (grub_terminfo_init): Likewise.
10543
fcd232b7
VS
105442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10545
10546 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10547 function.
10548 (ZAP_HASH_IDX): Likewise.
10549 (ZAP_LEAF_HASH_SHIFT): Likewise.
10550 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10551 (LEAF_HASH): Likewise.
10552 (ZAP_LEAF_NUMCHUNKS): Likewise.
10553 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10554 alignment invariants. Return pointer. All users updated.
10555 (ZAP_LEAF_ENTRY): Make into inline function.
10556 (NBBY): Removed.
10557 (xor): LIkewise.
10558 (xor_out): Use grub_crypto_xor.
10559 (dnode_get_path): Use grub_get_unaligned.
10560 (nvlist_find_value): Likewise.
10561 (grub_zfs_nvlist_lookup_uint64): Likewise.
10562 (grub_zfs_nvlist_lookup_string): Likewise.
10563 (get_nvlist_size): Likewise.
10564 (grub_zfs_open): Likewise.
10565 (fill_fs_info): Likewise.
10566 (grub_zfs_dir): Likewise.
10567 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10568 alignment invariants.
10569 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10570 necessarily aligned.
10571
f138623a
VS
105722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10575
564840dc
VS
105762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10579 arithmetic to conserve alignment invariants.
10580
9b40df20
VS
105812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10584 redundant declaration.
10585 (grub_efiemu_mm_obtain_request): Likewise.
10586 (grub_efiemu_prepare): Likewise.
10587
d1c930f9
VS
105882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10591 to match types.
10592
4c5f3056
VS
105932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10596 case of aunaligned recptr.
10597 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10598 alignment.
10599 (grub_hfsplus_btree_search): Handle unaligned index.
10600
728cba91
VS
106012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10604 to get freetag and skip.
10605
eb561f31
VS
106062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10609 array.
10610 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10611 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10612
20993fbb
VS
106132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10616 name for checksum and fix allocation algorithm.
10617
1f313b94
VS
106182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * include/grub/types.h (grub_properly_aligned_t): New type.
10621 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10622 (grub_get_unaligned16): Add explicit casts.
10623 (grub_get_unaligned32): Likewise.
10624 (grub_get_unaligned64): Likewise.
10625 (grub_set_unaligned16): New function.
10626 (grub_set_unaligned32): Likewise.
10627
47ae27ec
VS
106282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10631
78c2cd1c
VS
106322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10635 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10636 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10637
53072f9b
VS
106382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10641 conditionals.
10642
055dc239
VS
106432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10646 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10647
496bd074
VS
106482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 Unify and improve RAID and crypto xor.
10651
10652 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10653 changed to grub_crypto_xor
10654 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10655 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10656 Use bigger types when possible.
10657
ef6e4335
VS
106582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/disk/raid.c (scan_devices): Fix condition.
10661
5d048bf2
VS
106622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10665 Make name a const ptr.
10666
ee533335
VS
106672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10668
10669 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10670 first argument a const pointer.
10671 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10673 proto.
10674 (grub_children_iterate): Likewise.
10675 (grub_machine_mmap_iterate): Remove redundant declaration.
10676
cc8f3668
VS
106772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10680 (grub_cmd_acpi) [!x86]: Disable EBDA.
10681
c5fc563a
VS
106822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 Enable UTF8 in gnulib regexp.
10685
10686 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10687 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10688 (isupper): Use grub_isupper.
10689 (isascii): New inline function.
10690 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10691 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10692 * grub-core/normal/charset.c (grub_utf8_process): New function.
10693 (grub_utf8_to_utf16): Use grub_utf8_process.
10694 (grub_encode_utf8_character): New function.
10695 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10696 * include/grub/charset.h (grub_utf8_process): New declaration.
10697 (grub_encode_utf8_character): Likewise.
10698 * include/grub/misc.h (grub_islower): New inline function.
10699 (grub_isupper): Likewise.
10700 (grub_strchrsub): Moved down to fix the definitions.
10701
0af2346f
VS
107022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10705 specification.
10706
74dbd244
VS
107072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * include/grub/loader.h (grub_loader_register_preboot_hook):
10710 Use struct preboot * and not void * for handle. All users updated.
10711 (grub_loader_unregister_preboot_hook): Likewise.
10712
1bc8f60d
VS
107132011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10716 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10717 UTF-16-BE. All users updated.
10718 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10719 (grub_hfsplus_iterate_dir): Likewise.
10720 (grub_hfsplus_label): Likewise.
10721
48d6e456
VS
107222011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10725
bf3a3857
VS
107262011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 Add missing const qualifiers.
10729
10730 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10731 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10732 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10733 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10734 (grub_lvm_check_flag): Likewise.
10735 * grub-core/efiemu/i386/coredetect.c
10736 (grub_efiemu_get_default_core_name): Likewise
10737 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10738 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10739 * grub-core/fs/ntfs.c (fixup): Likewise.
10740 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10741 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10742 (fzap_lookup): Likewise.
10743 (zap_lookup): Likewise.
10744 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10745 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10746 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10747 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10748 (grub_freebsd_add_meta_module): Likewise.
10749 (grub_cmd_freebsd_module): Likewise.
10750 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10751 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10752 (grub_xnu_writetree_get_size): Likewise.
10753 (grub_xnu_writetree_toheap_real): Likewise.
10754 (grub_xnu_find_key): Likewise.
10755 (grub_xnu_create_key): Likewise.
10756 (grub_xnu_create_value): Likewise.
10757 (grub_xnu_register_memory): Likewise.
10758 (grub_xnu_check_os_bundle_required): Likewise.
10759 (grub_xnu_scan_dir_for_kexts): Likewise.
10760 (grub_xnu_load_kext_from_dir): Likewise.
10761 * grub-core/normal/color.c (color_list): Likewise.
10762 * grub-core/normal/completion.c (current_word): Likewise.
10763 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10764 * grub-core/term/serial.c (grub_serial_find): Likewise.
10765 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10766 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10767 Likewise.
10768 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10769 (grub_freebsd_add_meta_module): Likewise.
10770 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10771 * include/grub/net.h (grub_net_card_driver): Likewise.
10772 (grub_net_card): Likewise.
10773 (grub_net_app_protocol): Likewise.
10774 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10775 * include/grub/serial.h (grub_serial_find): Likewise.
10776 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10777 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10778 (grub_xnu_create_value): Likewise.
10779 (grub_xnu_find_key): Likewise.
10780 (grub_xnu_scan_dir_for_kexts): Likewise.
10781 (grub_xnu_load_kext_from_dir): Likewise.
10782
10783 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10784 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10785 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10786 Moved from here ...
10787 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10788
112b4837
CW
107892011-11-28 Colin Watson <cjwatson@ubuntu.com>
10790
10791 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10792
49e891ac
VS
107932011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10796 (read_device): Fix size calculation.
10797
fd258e5c
RM
107982011-11-25 Robert Millan <rmh@gnu.org>
10799
10800 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10801 (find_root_device_from_libzfs): Add zpool output parser to be used
10802 as fallback when libzfs isn't available.
10803
78845dc2
SG
108042011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10805
10806 * po/Makefile.in.in: Add missing escape-continuation.
10807
adac5211
VS
108082011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10811
10b64f1c
VS
108122011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10815
bb416954
VS
108162011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10819
bdfe9eeb
VS
108202011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10823
581ffa8a
VS
108242011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * grub-core/lib/adler32.c: Add missing license specification.
10827 * grub-core/lib/crc64.c: Likewise.
10828 * grub-core/loader/i386/pc/plan9.c: Likewise.
10829 * grub-core/partmap/plan.c: Likewise.
10830
2536cf64
LK
108312011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10832
10833 Add facility to debug GRUB with gdb under qemu.
10834
10835 * grub-core/gdb_grub.in: New file.
10836 * grub-core/gmodule.pl.in: Likewise.
10837 * grub-core/Makefile.core.def (gmodule.pl): New script.
10838 (gdb_grub): Likewise.
10839
bc108a4a
VS
108402011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * util/grub-mount.c (argp_parser): Accept relative pathes.
10843 * util/grub-fstest.c (argp_parser): Likewise.
10844
111c1778
VS
108452011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 Plan9 support.
10848
10849 * Makefile.util.def (libgrubmods): Add
10850 grub-core/partmap/plan.c.
10851 * docs/grub.texi: Notice Plan9 support.
10852 * grub-core/Makefile.core.def (plan9): New module.
10853 (part_plan): Likewise.
10854 * grub-core/loader/i386/pc/plan9.c: New file.
10855 * grub-core/partmap/plan.c: Likewise.
10856 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10857 define.
10858 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10859 * include/grub/mm.h (grub_extend_alloc): New inline function.
10860
c30be3b6
VS
108612011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 Make Reed-Solomon faster by using power of generator representation of
10864 GF(256)*.
10865
10866 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
10867 (gf_double_t): Likewise.
10868 (gf_invert): Removed.
10869 (gf_powx): New array.
10870 (gf_powx_inv): Likewise.
10871 (scratch): Move higher.
10872 (gf_reduce): Removed.
10873 (gf_mul): Use powx.
10874 (gf_invert): Likewise.
10875 (init_inverts): Replaced with ...
10876 (init_powx): ...this. All users updated.
10877 (pol_evaluate): Replace multiplications with additions.
10878 (rs_encode): Likewise.
10879 (gauss_eliminate): Call gf_invert.
10880 (grub_reed_solomon_add_redundancy): Call init_powx.
10881 (grub_reed_solomon_recover): Call init_powx unconditionally.
10882
fa5aeffc
VS
108832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
10886
a346b81c
VS
108872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
10890 disk->partiton for safety.
10891
d89ee414
VS
108922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10895 Fix a memory leak.
10896 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
10897
91ee7b6d
VS
108982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
10901
91e5a33d
VS
109022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
10905
9edd7be2
VS
109062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 Fix spaces handling in proc/self/mountinfo.
10909
10910 * util/getroot.c (unescape): New function.
10911 (grub_find_root_device_from_mountinfo): Use unescape.
10912
ba102053
VS
109132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10914
10915 Support ZFS embedding.
10916
10917 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
10918 (grub_zfs_fs): Register grub_zfs_embed.
10919
aa94b870
VS
109202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 Fix MIPS compilation.
10923
10924 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
10925 * include/grub/offsets.h: Rename decompressor fields from
10926 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
10927 * util/grub-mkimage.c (image_targets): Use new names.
10928
5fbdac14
VS
109292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 Defer multiboot device parsing until we're in compressed part.
10932
10933 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
10934 bsd_part. setdevice has fallen into disuse.
10935 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
10936 (bsd_part): Likewise.
10937 (boot_dev): New variable.
10938 (multiboot_trampoline): Don't parse multiboot device.
10939 Pass multiboot device in %edx.
10940 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
10941 grub_boot_device.
10942 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
10943 Likewise.
10944 * grub-core/kern/i386/pc/startup.S: Save edx.
10945 (grub_boot_drive): Removed.
10946 (grub_install_dos_part): Likewise.
10947 (grub_install_bsd_part): Likewise.
10948 (grub_boot_device): New variable.
10949 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
10950 (grub_install_bsd_part): Likewise.
10951 (grub_boot_drive): Likewise.
10952 (grub_boot_device): New variable.
10953 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
10954 Removed.
10955 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10956 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
10957 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
10958 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
10959 * util/grub-install.in: Remove redundant condition.
10960
691cbb58
VS
109612011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 Fix bug introduced by previous commit.
10964
10965 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
10966
60240b8b
VS
109672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 Use decompressors framework on i386-pc. It increases core size
10970 by 46 bytes but improves compatibility and maintainability.
10971
10972 * grub-core/Makefile.core.def (lzma_decompress): New image.
10973 (kernel): Add i386_pc_ldflags.
10974 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
10975 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
10976 to real_to_prot, prot_to_real and device info.
10977 * include/grub/offsets.h: Renamed decompressor offsets.
10978 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
10979 (image_target_desc): Remove raw_size and rename decompressor fields.
10980 (compress_kernel): Handle lzma.
10981 (generate_image): Handle decompressors on i386-pc.
10982
e9d3421c
VS
109832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * configure.ac: Add -fno-asynchronous-unwind-tables.
10986
2b23074a
VS
109872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 Move assembly code to C by using intwrap. It increases core size
10990 by 88 bytes but improves compatibility and maintainability.
10991
10992 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
10993 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
10994 ... here. Translated to C.
10995 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
10996 * grub-core/term/i386/pc/console.c (grub_console_getkey):
10997 ... here. Translated to C.
10998 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
10999 * grub-core/term/i386/pc/console.c (grub_console_getxy):
11000 ... here. Translated to C.
11001 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
11002 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
11003 ... here. Translated to C.
11004 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
11005 * grub-core/term/i386/pc/console.c (grub_console_cls):
11006 ... here. Translated to C.
11007 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
11008 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
11009 ... here. Translated to C.
11010 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
11011 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
11012 Translated to C.
11013 * grub-core/term/i386/pc/console.c (int10_9): New function.
11014 (grub_console_putchar): Likewise.
11015 * include/grub/i386/pc/console.h: Removed the not anymore shared
11016 functions.
11017
678f4b67
VS
110182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 Move grub_chainloader_real_boot out of the kernel.
11021
11022 * grub-core/Makefile.am: Remove machine/loader.h.
11023 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
11024 Removed.
11025 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
11026 variable.
11027 (grub_relocator16_keep_a20_enabled): Likewise.
11028 (grub_relocator16_boot): Fill new variables.
11029 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
11030 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
11031 relocator.
11032 (grub_chainloader_unload): Likewise.
11033 (grub_chainloader_cmd): Likewise.
11034 * include/grub/i386/pc/loader.h: Removed.
11035 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
11036 and esi. All initialisers updated.
11037
4626edf6
VS
110382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
110392011-11-12 Colin Watson <cjwatson@ubuntu.com>
11040
11041 * Makefile.util.def (grub-mount): New util.
11042 * .bzrignore: Add grub-mount.
11043 * configure.ac: Check for fuse and enable grub-mount if available.
11044 * docs/man/grub-mount.h2m: New file.
11045 * util/grub-mount.c: Likewise.
11046
10f0117b
VS
110472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/commands/efi/fixvideo.c: Gettextize.
11050 * grub-core/commands/hashsum.c: Likewise.
11051 * grub-core/commands/i386/cmostest.c: Likewise.
11052 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11053 * grub-core/commands/i386/pc/lsapm.c: Likewise.
11054 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11055 * grub-core/commands/lsmmap.c: Likewise.
11056 * grub-core/commands/menuentry.c: Likewise.
11057 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11058 * grub-core/commands/setpci.c: Likewise.
11059 * grub-core/loader/i386/bsd.c: Likewise.
11060 * grub-core/loader/i386/linux.c: Likewise.
11061 * util/getroot.c: Likewise.
11062 * util/grub-editenv.c: Likewise.
11063 * util/grub-fstest.c: Likewise.
11064 * util/grub-mkfont.c: Likewise.
11065 * util/grub-mkimage.c: Likewise.
11066 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11067 * util/grub-pe2elf.c: Likewise.
11068 * util/grub-probe.c: Likewise.
11069 * util/grub-setup.c: Likewise.
11070 * util/ieee1275/ofpath.c: Likewise.
11071 * util/misc.c: Likewise.
11072 * util/raid.c: Likewise.
11073
566f779b
RM
110742011-11-11 Robert Millan <rmh@gnu.org>
11075
11076 * util/getroot.c (grub_util_get_geom_abstraction): Remove
11077 __attribute__((unused)) from `os_dev', which *is* being used.
11078
b50787de
VS
110792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
11082 forgotten define.
11083 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
11084 GRUB_IA64_DL_GOT_ALIGN.
11085 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
11086 GRUB_IA64_DL_TRAMP_ALIGN.
11087
119d11c8
VS
110882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 Replace grub_fatal with normal errors in i386 linux loader.
11091
11092 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
11093 (allocate_pages): Check find_efi_mmap_size return value.
11094 (grub_e820_add_region): Return error.
11095 (grub_linux_boot): Check mmap return value.
11096
6e0632e2
VS
110972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * grub-core/commands/acpihalt.c: Gettextized.
11100 * grub-core/commands/cacheinfo.c: Likewise.
11101 * grub-core/commands/cmp.c: Likewise.
11102 * grub-core/commands/efi/loadbios.c: Likewise.
11103 * grub-core/commands/gptsync.c: Likewise.
11104 * grub-core/commands/ieee1275/suspend.c: Likewise.
11105 * grub-core/commands/legacycfg.c: Likewise.
11106 * grub-core/commands/memrw.c: Likewise.
11107 * grub-core/commands/minicmd.c: Likewise.
11108 * grub-core/commands/parttool.c: Likewise.
11109 * grub-core/commands/time.c: Likewise.
11110 * grub-core/commands/videoinfo.c: Likewise.
11111 * grub-core/disk/geli.c: Likewise.
11112 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
11113 * grub-core/disk/luks.c: Likewise.
11114 * grub-core/disk/lvm.c: Likewise.
11115 * grub-core/font/font_cmd.c: Likewise.
11116 * grub-core/fs/zfs/zfscrypt.c: Likewise.
11117 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11118 * grub-core/gfxmenu/view.c: Likewise.
11119 * grub-core/kern/emu/hostdisk.c: Likewise.
11120 * grub-core/kern/emu/main.c: Likewise.
11121 * grub-core/kern/emu/misc.c: Likewise.
11122 * grub-core/kern/emu/mm.c: Likewise.
11123 * grub-core/kern/mips/arc/init.c: Likewise.
11124 * grub-core/kern/mips/loongson/init.c: Likewise.
11125 * grub-core/kern/partition.c: Likewise.
11126 * grub-core/lib/i386/halt.c: Likewise.
11127 * grub-core/lib/mips/arc/reboot.c: Likewise.
11128 * grub-core/lib/mips/loongson/reboot.c: Likewise.
11129 * grub-core/loader/i386/pc/chainloader.c: Likewise.
11130 * grub-core/loader/i386/xnu.c: Likewise.
11131 * grub-core/loader/multiboot.c: Likewise.
11132 * grub-core/net/bootp.c: Likewise.
11133 * grub-core/net/net.c: Likewise.
11134 * grub-core/normal/term.c: Likewise.
11135 * grub-core/partmap/bsdlabel.c: Likewise.
11136 * grub-core/parttool/msdospart.c: Likewise.
11137 * grub-core/term/gfxterm.c: Likewise.
11138 * grub-core/term/terminfo.c: Likewise.
11139 * grub-core/video/i386/pc/vbe.c: Likewise.
11140 * util/grub-menulst2cfg.c: Likewise.
11141 * util/grub-mkdevicemap.c: Likewise.
11142 * util/grub-mklayout.c: Likewise.
11143 * util/grub-mkrelpath.c: Likewise.
11144 * util/grub-script-check.c: Likewise.
11145 * util/ieee1275/grub-ofpathname.c: Likewise.
11146 * util/resolve.c: Likewise.
11147
073aa7a9
VS
111482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 Support %1$d syntax.
11151
11152 * tests/printf_unit_test.c: New file.
11153 * Makefile.util.def (printf_test): New test.
11154 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
11155
c76b5417
VS
111562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
11159 fix.
11160
df067ad1
VS
111612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
11164 dprintf.
11165 * grub-core/font/font.c (grub_font_load): Likewise.
11166
5b289bc5
VS
111672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * util/grub-macho2img.c: Add comment concerning gettext.
11170 * grub-core/lib/legacy_parse.c: Likewise.
11171
c1860f87
VS
111722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
11175 (grub_xvasprintf): Likewise.
11176
d35d0d37
VS
111772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Add const keyword to grub_env_get and gettextize week days.
11180
11181 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11182 (grub_read_hook_datetime): Return const char *.
11183 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
11184 updated.
11185 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11186 Mark for gettext.
11187 (grub_get_weekday_name): Return const char *. Call gettext.
11188 * grub-core/script/argv.c (grub_script_argv_append): Receive const
11189 char * and len as the argument. All users updated.
11190 (grub_script_argv_split_append): Receive const char *.
11191 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
11192 * include/grub/env.h (grub_env_get): Likewise.
11193 (grub_env_read_hook_t): Return const char *.
11194 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
11195 (grub_script_argv_split_append): Likewise.
11196
9aed8a71
VS
111972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
11200
067fdf00
VS
112012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
11204 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
11205
a8bd9d39
VS
112062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
11209 Fix prototype.
11210
f7ce5baf
VS
112112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 Fix mips compilation.
11214
11215 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
11216 normal decoder.
11217 (hashes): Use in embed decoder as well (for sizes).
11218 (dec_stream_header): Fix embed decompressor logic.
11219 (dec_stream_footer): Likewise.
11220
9bb182f3
VS
112212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
11224 an error and not a fatal on unrecognised relocation types.
11225
63a9e6f6
VS
112262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
11229 Issue error rather than printf on unknown arguments.
11230
4c458569
VS
112312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
11234 Make buf a const.
11235
e2d22baf
VS
112362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
11239 Fix module name.
11240
53dc8590
VS
112412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
11244 leftover debug printf.
11245
6c189294
VS
112462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
11249
f7688369
VS
112502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
11253 A stylistic fix.
11254
11a775a3
VS
112552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11258
33f784e8
SL
112592011-11-10 Shea Levy <slevy@tieronedesign.com>
11260
11261 Allow all modules to perform serial IO
11262
11263 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11264 * include/grub/serial.h (grub_serial_port_configure): New inline
11265 function.
11266 (grub_serial_port_fetch): Likewise.
11267 (grub_serial_port_put): Likewise.
11268 (grub_serial_port_fini): Likewise.
11269 (grub_serial_find): New proto.
11270
f6276525
VS
112712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 Put symlink at the end of the node and fix a potential
11274 memory corruption.
11275
11276 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11277 Make symlink into an array.
11278 (set_rockridge): Set have_symlink and alloc_dirents.
11279 (grub_iso9660_read_symlink): Use new layout.
11280 (grub_iso9660_iterate_dir): Fix memory corruption.
11281 Use new layout.
11282 (grub_iso9660_dir): Set have_symlink.
11283 (grub_iso9660_open): Likewise.
11284
c3591189
VS
112852011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 Remove local keyword.
11288
11289 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11290 (version_test_gt): Likewise.
11291 (version_find_latest): Likewise.
11292 (gettext_printf): Likewise.
11293 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11294
cb544caa
VS
112952011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11298
45bd824d
VS
112992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 Fix ZFS memory and resource leaks.
11302
11303 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11304 All users updated.
11305 Free type on exit.
11306 (fill_vdev_info): New parameter inserted. All users updated.
11307 (check_pool_label): Likewise.
11308 (scan_disk): Likewise.
11309 (scan_devices): Close non-inserted disks.
11310 (fzap_iterate): Free l.
11311 (unmount_device): Free children descripto memory.
11312
ad9a2f44
VS
113132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11316 argument (access out of bounds).
11317
6b68db81
VS
113182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11319
11320 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11321 >= 6 drives.
11322
28840fda
VS
113232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11324
11325 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11326 Fix declaration.
11327
8a5a3a5b
VS
113282011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 Fix several memory leaks.
11331
11332 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11333 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11334 (grub_cpio_dir): Likewise.
11335 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11336 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11337 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11338 (grub_romfs_label): Likewise.
11339 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11340 (squash_unmount): New function.
11341 (grub_squash_dir): Fix memory leak.
11342 (grub_squash_open): Likewise.
11343 (grub_squash_read): Likewise.
11344 (grub_squash_mtime): Likewise.
11345 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11346 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11347 * util/grub-fstest.c (fstest): Likewise.
11348
57b01250
VS
113492011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11350
11351 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11352 avoid accessing beyond the array.
11353
19e81ba7
VS
113542011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11357
52b656c0
VS
113582011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 Several AFFS fixes.
11361
11362 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11363 (GRUB_AFFS_FLAG_FFS): Removed.
11364 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11365 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11366 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11367 (grub_fshelp_node): Make block 32-bit.
11368 Add block_cache and last_block_cache.
11369 (grub_affs_read_block): Fill and use block cache.
11370 (grub_affs_read_file): Removed.
11371 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11372 boot block.
11373 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11374 safety.
11375 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11376 space.
11377 (grub_affs_close): Free block cache.
11378 (grub_affs_read): Use grub_fshelp_read_file directly.
11379
438a746a
VS
113802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11383 with no error set.
11384
49a45021
VS
113852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11388 used variable.
11389 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11390 Likewise.
11391
3ae17eb8
VS
113922011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11395
11396 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11397 byteswap when needed.
11398
27610c38
VS
113992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 Fix FreeBSD compilation.
11402
11403 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11404 to avoid circular dependency.
11405 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11406 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11407 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11408
4a19b601
VS
114092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 Fix ZFS crypto error types.
11412
11413 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11414 (grub_gcm_decrypt): Likewise.
11415 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11416 from PBKDF2.
11417
958ee221
VS
114182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 Illumos support.
11421
11422 * Makefile.util.def (10_illumos): New script.
11423 * configure.ac: Set COND_HOST_ILLUMOS.
11424 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11425 Support Illumos calls.
11426 (find_partition_start) [__sun__]: Likewise.
11427 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11428 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11429 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11430 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11431 device.
11432 * util/grub-probe.c (probe) [__sun__]: Do character check.
11433 * util/grub.d/10_illumos.in: New file.
11434
cac14fb6
VS
114352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 Support escaped commas in hostdisk.
11438
11439 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11440 (find_grub_drive): Use unescape_cmp.
11441 (make_device_name): Escape commas.
11442
78e08dc3
VS
114432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11444
11445 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11446
9f421dd1
VS
114472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11450 variable.
11451
ed64e9e2
VS
114522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 Support trampoline jumps on powerpc.
11455
11456 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11457 __ia64__ path.
11458 (grub_dl_load_segments): Set mod->sz.
11459 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11460 segments.
11461 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11462 (jump): Likewise.
11463 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11464 function.
11465 (trampoline): New struct.
11466 (trampoline_template): New const.
11467 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11468 * include/grub/dl.h (grub_dl): Add sz element.
11469 [__powerpc__]: Follow __ia64__.
11470 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11471 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11472 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11473 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11474
3084ede4
VS
114752011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 ZFS crypto support.
11478
11479 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11480 * grub-core/Makefile.core.def (zfscrypt): New module.
11481 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11482 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11483 it. All users updated.
11484 (grub_zfs_decrypt): New var.
11485 (grub_zfs_load_key): Likewise.
11486 (zio_checksum_functions): Add SHA256+MAC.
11487 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11488 (zio_read): Handle encrypted blocks.
11489 (zap_verify): Remove incorrect check.
11490 (fzap_iterate): Handle non-standard fzap.
11491 (zap_iterate): Likewise.
11492 (zap_iterate_u64): New function.
11493 (dnode_get_fullpath): Load keys.
11494 * grub-core/fs/zfs/zfscrypt.c: New file.
11495 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11496 (grub_crypto_ecb_encrypt): Make input const.
11497 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11498 (grub_crypto_ecb_encrypt): Make input const.
11499 (GRUB_CIPHER_AES): New macro.
11500 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11501 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11502 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11503 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11504 prefix. All users updated.
11505 (grub_zfs_add_key): New proto.
11506 (grub_zfs_decrypt): Likewise.
11507 (grub_zfs_load_key): Likewise.
11508 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11509 * util/grub-fstest.c (options): Add -K option.
11510 (argp_parser): Likewise.
11511
b632b404
VS
115122011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11513
11514 Support zle compression on ZFS.
11515
11516 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11517 (decomp_table): Add zle.
11518 * include/grub/zfs/zio.h (zio_compress): Add zle.
11519
c7ba4f69
VS
115202011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Support BtrFS embedding.
11523
11524 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11525 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11526 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11527 * util/grub-setup.c (setup): Use fs embedding if available.
11528 Add additional sanity check.
11529
455377d9
VS
115302011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * util/grub-install.in: Fix condition for config_opt.
11533
c2fd16ca
VS
115342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 Support third redundancy strip on raidz3.
11537
11538 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11539 Return error on singularity. All users updated.
11540 (read_device): Don't stop on 3rd failure on raidz3.
11541
8622923b
VS
115422011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 Support case-insensitive ZFS subvolumes.
11545
11546 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11547 All users updated.
11548 (zap_hash): Likewise.
11549 (name_cmp): New function.
11550 (zap_leaf_array_equal): New parameter case_insensitive.
11551 All users updated.
11552 (zap_leaf_lookup): Likewise.
11553 (fzap_lookup): Likewise.
11554 (zap_lookup): Likewise.
11555 (dnode_get_path): New parameter case_insensitive. Retrieve case
11556 sensitiviness of a volume. All users updated.
11557 (dnode_get_fullpath): New parameter case_insensitive.
11558 All users updated.
11559 (grub_zfs_dir): Set info.case_insensitiveness.
11560
95f2e860
VS
115612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 Support second redundancy strip on raidz(2,3).
11564
11565 * grub-core/fs/zfs/zfs.c (powx): New array.
11566 (powx_inv): Likewise.
11567 (poly): New const.
11568 (xor_out): New function.
11569 (gf_mul): Likewise.
11570 (recovery): Likewise.
11571 (read_device): Use second redundancy strip.
11572
11ee4389
VS
115732011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 Use a power of generator representation of GF(256) multiplication group
11576 to save space time and complexity.
11577
11578 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11579 (raid6_table2): Likewise.
11580 (powx): New array.
11581 (powx_inv): Likewise.
11582 (poly): New const.
11583 (grub_raid_block_mul): Replace with ...
11584 (grub_raid_block_mulx): ...this.
11585 (grub_raid6_init_table): Rewritten.
11586 (grub_raid6_recover): Use power of generator representation.
11587
09e2763f
VS
115882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11591 for the right device.
11592
8bec9a28
VS
115932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11596 expected by grub-mkimage and it's more clear since there is no implicit
11597 padding.
11598
dbd3a32e
VS
115992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11602 disk.
11603 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11604
182c872a
PMH
116052011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11606
11607 * util/grub-mkrescue.in: Fix handling xorriso option.
11608
1e51cabd
VS
116092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11612 NULL.
11613
9cc3581d 116142011-11-03 crocket <crockabiscuit@gmail.com>
11615
11616 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11617
158dc1ea
VS
116182011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 XZ CRC64 and SHA256 support.
11621
11622 * Makefile.util.def (libgrubmods): Add crc64.c.
11623 * grub-core/Makefile.core.def (crc64): New module.
11624 * grub-core/lib/crc64.c: New file.
11625 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11626 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11627 Fix the type.
11628 (MAX_HASH_SIZE): New define.
11629 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11630 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11631 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11632 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11633 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11634 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11635 Handle non-crc32 hashes.
11636 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11637 (dec_stream_header): Handle non-crc32 hashes.
11638 (dec_stream_footer): Likewise.
11639 (dec_block_header): Likewise.
11640 (dec_main): Likewise.
11641 (xz_dec_init): Likewise.
11642 (xz_dec_reset): Likewise.
11643 (xz_dec_end): Likewise.
11644 * util/import_gcry.py: Add CRC64 line.
11645
9d9b3d2f
VS
116462011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11649 as well.
11650
7d0ac931
VS
116512011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 Make reiserfs label retrieval similar to other *_label functions.
11654
11655 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11656 (REISERFS_MAX_LABEL_LENGTH): Removed.
11657 (REISERFS_LABEL_OFFSET): Likewise.
11658 (grub_reiserfs_label): Rewritten.
11659
116602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11663 field.
11664
cf5ba824
VS
116652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11668
17744004
VS
116692011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11672 drive failure on both raidz and raidz2.
11673
aca5aefc
VS
116742011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 Fix RAIDZ(2) for >= 5 devices.
11677
11678 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11679 asize argument. All users updated.
11680
ce8ca56e
VS
116812011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 Fix RAIDZ(2).
11684
11685 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11686 (fill_vdev_info_real): Set ashift.
11687 (read_device): Rewrite RAIDZ part based on reverse engineering.
11688
7c01e783
VS
116892011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11690
11691 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11692 don't report potentially unavialiable fields in debug output.
11693 (find_path): Fix double-free and memory leak.
11694
ce109e84
VS
116952011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 Read label on UFS1.
11698
11699 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11700 (grub_ufs_fs): Always set .label.
11701
87661123
VS
117022011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11703
11704 Use shifts in UFS.
11705
11706 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11707 (grub_ufs_data): New field log2_blksz.
11708 (grub_ufs_read_file): Use shifts.
11709 (grub_ufs_mount): Check block size and logarithm it.
11710
46bc1dc2
VS
117112011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11714 long symlinks.
11715
19ee2987
VS
117162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 Handle symlinks and long names on tar and cpio.
11719
11720 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11721 (ATTR_FILE): Likewise.
11722 (ATTR_DIR): Likewise.
11723 (ATTR_LNK): Likewise.
11724 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11725 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11726 L and K entries.
11727 (grub_cpio_mount): Zero-fill data.
11728 (handle_symlink): New function.
46bc1dc2
VS
11729 (grub_cpio_dir): Handle symlinks.
11730 (grub_cpio_open): Likewise.
11731 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11732
c83a08d8
VS
117332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 Fix iso9660 filename limitations and fix memory leaks.
11736
11737 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11738 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11739
45cdd3ea
VS
117402011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 Fix JFS file name length limitations.
11743
11744 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11745 (grub_jfs_diropen): Fix maximum filename length.
11746 (grub_jfs_getent): Fix filename length.
11747 (grub_jfs_lookup_symlink): Fix size checks.
11748
94ef05c2
VS
117492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11752 string.
11753
785ab8c7
VS
117542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11755
eb0b6b45
VS
11756 Leverage BFS implementation to read AFS.
11757
11758 * Makefile.util.def (libgrubmods): Add afs.c.
11759 * grub-core/Makefile.core.def (afs): New module
11760 * grub-core/fs/afs.c: New file.
11761 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11762
117632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11766
c4a1628f
VS
117672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 * grub-core/fs/bfs.c: Run indent.
11770
5825b379
VS
117712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 BFS implementation based on the specification.
11774
11775 * grub-core/fs/bfs.c: New file.
11776 * Makefile.util.def (libgrubmods): Add bfs.c.
11777 * grub-core/Makefile.core.def (bfs): New module.
11778
42b2a706
VS
117792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * util/grub-fstest.c (cmd_cp): Clarify error message.
11782 (cmd_cmp): Likewise.
11783
61b99bfc
YB
117842011-10-30 Yves Blusseau <blusseau@zetam.org>
11785
11786 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11787 and befs_be.
11788
faba3d16
VS
117892011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 Remove afs and befs because of copyright problem.
11792
11793 * grub-core/fs/afs.c: Removed.
11794 * grub-core/fs/afs_be.c: Removed.
11795 * grub-core/fs/befs.c: Removed.
11796 * grub-core/fs/befs_be.c: Removed.
11797 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11798 * grub-core/Makefile.core.def (afs): Removed.
11799 (afs_be): Likewise.
11800 (befs): Likewise.
11801 (befs_be): Likewise.
11802
c39224b0
VS
118032011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 Prefer rockridge over Joliet.
11806
11807 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11808 to ...
11809 (set_rockridge): ... here.
11810 (grub_iso9660_mount): Check rockridge on the primary label when
11811 discovering. Ignore Joliet if Rockridge is present.
11812
e551115a
VS
118132011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 Use shifts in nilfs2.
11816
11817 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11818 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11819 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11820 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11821 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11822 (grub_nilfs2_entries_per_block): Replaced with ...
11823 (grub_nilfs2_log_entries_per_block_log): ... this.
11824 (grub_nilfs2_blocks_per_group): Replaced with ...
11825 (grub_nilfs2_blocks_per_group_log): ... this.
11826 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11827 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11828 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11829 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11830 (grub_nilfs2_palloc_entry_offset): Replaced ...
11831 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11832 (grub_nilfs2_dat_translate): Use shifts.
11833 (grub_nilfs2_read_inode): Likewise.
11834 (GRUB_MOD_INIT): Ensure that logs are correct.
11835
564dd58c
VS
118362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 Use shifts in minix filesystem.
11839
11840 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11841 (GRUB_MINIX_ZONE2SECT): Likewise.
11842 (grub_minix_data): Replace block_size with log_block_size.
11843 (grub_minix_read_file): Use shifts.
11844 (grub_minix_mount): Check block size and take a logarithm.
11845
ed9ba06d
VS
118462011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 Use shifts in squash4.
11849
11850 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11851 (squash_mount): Check block size and take logarithm.
11852 (direct_read): Use shifts.
11853
ad03fe76
VS
118542011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 Correct befs block counting logic.
11857
11858 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11859 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11860 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11861 (grub_afs_read_inode): Use block_shift.
11862 (RANGE_SHIFT): New definition.
11863 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
11864 unexpected conditions, use shifts and appropriate types.
11865 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
11866
6563f63d
VS
118672011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * grub-core/disk/raid.c (scan_devices): Check partition.
11870 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11871
5b1ae25f
VS
118722011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11873
11874 Support BFS (befs) UUID.
11875
11876 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
11877 (grub_afs_small_data_element_header): New struct.
11878 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
11879 (grub_afs_read_attribute) [MODE_BFS]: New function.
11880 (grub_afs_iterate_dir): Allocate for complete inode.
11881 (grub_afs_mount): Likewise.
11882 (grub_afs_uuid) [MODE_BFS]: New function.
11883 (grub_afs_fs) [MODE_BFS]: Add .uuid.
11884
f8d82408
VS
118852011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
11888 (zfs_unmount): Fix memory leak.
11889
5773fb64
VS
118902011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 Support NTFS reparse points.
11893
11894 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
11895 (symlink_descriptor): New struct.
11896 (grub_ntfs_read_symlink): New function.
11897 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
11898 (grub_ntfs_open): Likewise.
11899
91c3fdde
VS
119002011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
11903
3be82e10
VS
119042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 fstest xnu_uuid subcommand.
11907
11908 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
11909 grub-core/commands/xnu_uuid.c.
11910 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
11911 (fstest): Handle xnu_uuid.
11912 (options): Document xnu_uuid.
11913 (argp_parser): Parse xnu_uuid.
11914
8e32442e
VS
119152011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
11918 -l argument. Add newline at the end if printing.
11919 (GRUB_MOD_INIT): Document -l.
11920
52a05075
VS
119212011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
11924
1869edb5
VS
119252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 ZFS multi-device and version 33 support.
11928
11929 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
11930 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
11931 (grub_zfs_data): Add multidev-ice-related fields.
11932 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
11933 (dva_get_offset): Make dva const.
11934 (zfs_fetch_nvlist): New function.
11935 (fill_vdev_info_real): Likewise.
11936 (fill_vdev_info): Likewise.
11937 (check_pool_label): Likewise.
11938 (scan_disk): Likewise.
11939 (scan_devices): Likewise.
11940 (read_device): Likewise.
11941 (read_dva): Likewise.
11942 (zio_read_gang): Use read_dva.
11943 (zio_read_data): Likewise.
11944 (zap_leaf_lookup): Add missing endian conversion.
11945 (zap_verify): Add missing endian conversion. All users updated.
11946 (fzap_lookup): Likewise.
11947 (fzap_iterate): Likewise.
11948 (dnode_get_path): Handle SA bonus.
11949 (nvlist_find_value): Make input const. All users updated.
11950 (unmount_device): New function.
11951 (zfs_unmount): Use unmount_device.
11952 (zfs_mount): Use scan_disk.
11953 (zfs_mtime): New function.
11954 (grub_zfs_open): Handle system attributes.
11955 (fill_fs_info): Likewise.
11956 (grub_zfs_dir): Likewise.
11957 (grub_zfs_fs): Add mtime.
11958 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
11959 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
11960 (SA_MTIME_OFFSET): Likewise.
11961 (SA_SYMLINK_OFFSET): Likewise.
11962 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
11963 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
11964 (fstest): Support zfsinfo.
11965 (argp_parser): Likewise.
11966
186b4028
VS
119672011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
11970 error.
11971
119722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
11973
11974 ZFS fixes.
11975
11976 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
11977 sharing the same block. Iterate over correct number of indices.
11978 (dnode_get_path): Handle symlinks correctly.
11979
c0584900
VS
119802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
11983
67e2bd71
VS
119842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 Read label on HFS+.
11987
11988 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
11989 (grub_hfsplus_btree_search): Fix types.
11990 (grub_hfsplus_label): Implement.
11991
e9cc6b7b
VS
119922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
11995
19832ddb
VS
119962011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
11999
66b40850
VS
120002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 Fix symlink handling on iso9660.
12003
12004 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
12005 All users updated.
12006 (grub_iso9660_susp_iterate): Accept zero-size iterate.
12007 (grub_iso9660_read_symlink): Moved most of code ...
12008 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
12009
db821363
VS
120102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12013 Use union to avoid breaking strict-aliasing rules.
12014
e1211949
VS
120152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 Support multi-extent iso files.
12018
12019 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
12020 Add node.
12021 (grub_fshelp_node): Revamp. All users updated.
12022 (FLAG_*): New enum.
12023 (read_node): New function.
12024 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
12025 All users updated.
12026 (grub_iso9660_mount): Don't attempt to read sua when there is none.
12027 (get_node_size): New function.
12028 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
12029 entries.
12030 Fix memory leak on . and ..
12031 (grub_iso9660_read): Use read_node.
12032 (grub_iso9660_close): Free node.
12033
d4888031
VS
120342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 Fix tar 4G limit and handle paths containing dot.
12037
12038 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
12039 (canonicalize): New function.
12040 (grub_cpio_find_file): Use canonicalize. Store offs in
12041 grub_disk_addr_t.
12042 (grub_cpio_dir): Use grub_disk_addr_t.
12043 (grub_cpio_open): Likewise.
12044
9f12e664
VS
120452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 Fix handling of uncompressed blocks on squashfs and break 4G limit.
12048
12049 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
12050 unused flags.
12051 (grub_squash_inode): Add long_file and block_size.
12052 (grub_squash_cache_inode): New struct.
12053 (grub_squash_dirent): Make types into enum.
12054 (SQUASH_TYPE_LONG_REGULAR): New type.
12055 (grub_squash_frag_desc): Add field size.
12056 (SQUASH_BLOCK_FLAGS): New enum.
12057 (grub_squash_data): Use grub_squash_cache_inode.
12058 (grub_fshelp_node): Make ino_chunk 64-bit.
12059 (read_chunk): Minor argument change. All users updated.
12060 (squash_mount): Use correct le_to_cpu.
12061 (grub_squash_open): Handle LONG_REGULAR.
12062 (direct_read): New function.
12063 (grub_squash_read_data): Handle blocks correctly.
12064
9f326fba
VS
120652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
12068
f4d9b64b
VS
120692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
12072
5bbd28b8
VS
120732011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 Fix 2G limit on ZFS.
12076
12077 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
12078 types.
12079 (uberblock_verify): Likewise.
12080 (dmu_read): Likewise.
12081 (grub_zfs_read): Likewise. Remove invalid cast.
12082
68c72069
VS
120832011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
12086 (grub_jfs_blkno): Fix incorrect shift.
12087 (grub_jfs_read_file): Use more appropriate types.
12088
6e536dc8
VS
120892011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 Support triple indirect on minix2 and minix3.
12092
12093 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
12094 Declare triple_indir_zone.
12095 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
12096 indirect.
12097
e0864e7a
VS
120982011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
12099
12100 Minix FS fixes.
12101
12102 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
12103 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
12104 Rename ctime to mtime. All users updated.
12105 (grub_minix_get_file_block): Fix types and double indirect computations.
12106
89481cab
VS
121072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12108
12109 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
12110 if no label is found.
12111 (grub_fat_iterate_dir): Fix file size type.
12112 (grub_fat_iterate_dir): Likewise.
12113
f646e143
VS
121142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
12117 save some space.
12118 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
12119 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12120
534d769e
VS
121212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
12124
e084ba18
VS
121252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * util/import_gcry.py: Accept space between # and include.
12128
3471ecdf
VS
121292011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
12132
124df5f6
VS
121332011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 Fine grainely disable warnings on lexer. Remove Wno-error on it.
12136
12137 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
12138 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
12139 yylex_strncpy.
12140 * grub-core/script/yylex.l: Add fine-grained #pragma.
12141
4defb8d5
VS
121422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
12145 New inline function.
12146 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
12147 Likewise.
12148 (memset) [GRUB_UTIL]: Likewise.
12149 (memcmp) [GRUB_UTIL]: Likewise.
12150
4e94ae65
VS
121512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
12154 inline function rather than a define.
12155
18c575e5
VS
121562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * util/grub-setup.c: Add missing include.
12159
f8bc22a8
VS
121602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * util/ieee1275/grub-ofpathname.c: Add missing include.
12163
3ce69fc9
VS
121642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
12167 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
12168 Likewise.
12169
d1e293bb
VS
121702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
12173 grub_memcmp usage.
12174
7a5c54a4
VS
121752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * util/grub-install.in: Add datarootdir as per automake manual
12178 suggestion.
12179 * util/grub-mknetdir.in: Likewise.
12180
121812011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
12182
12183 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
12184 suggestion.
12185 * util/grub.d/10_kfreebsd.in: Likewise.
12186 * util/grub.d/10_linux.in: Likewise.
12187 * util/grub.d/10_netbsd.in: Likewise.
12188 * util/grub.d/10_windows.in: Likewise.
12189 * util/grub.d/20_linux_xen.in: Likewise.
12190
766f7d08
VS
121912011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 Remove redundant grub_kernel_image_size.
12194
12195 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
12196 _edata and _start.
12197 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
12198 the small code. It moves it only by few bytes but simplifies the code.
12199 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
12200 _start.
12201 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
12202 (grub_kernel_image_size): Removed.
12203 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
12204 (grub_kernel_image_size): Removed.
12205 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
12206 compiled with Apple toolchain.
12207 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
12208 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
12209 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
12210 (grub_total_module_size): Likewise.
12211 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
12212 Removed.
12213 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
12214 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
12215 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12216 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
12217 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
12218 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
12219 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
12220 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
12221 Removed.
12222 (grub_total_module_size): Removed.
12223 * util/grub-mkimage.c (image_target_desc): Remove image_size.
12224 (image_targets): Likewise.
12225 Set .compressed_size to no field on sparc.
12226 (generate_image): Remove kernel_image_size handling.
12227
fcf1d672
SJ
122282011-10-19 Szymon Janc <szymon@janc.net.pl>
12229
12230 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
12231 NULL pointer dereference.
12232
de9c615e
VS
122332011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
12236 done with a dedicated section.
12237
12238 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
12239 Ensure the correct position of boot_path.
12240 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
12241 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
12242 other fields.
12243 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12244 * include/grub/boot.h: Removed. All references removed.
12245 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12246 Removed.
12247 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
12248
e55599dc
VS
122492011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
12252 name.
12253
36dd20ad
VS
122542011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12257
f8f72eb8
VS
122582011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12261 Don't add the bogus brackets.
12262
a374751b
VS
122632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 ExFAT support.
12266
12267 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12268 * grub-core/Makefile.core.def (exfat): New module.
12269 * grub-core/fs/exfat.c: New file.
12270 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12271 (GRUB_FAT_ATTR_*): Make into an enum.
12272 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12273 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12274 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12275 (GRUB_FAT_MAXFILE): Removed.
12276 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12277 (grub_current_fat_bpb_t): New type.
12278 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12279 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12280 (grub_fat_dir_node_t): New type.
12281 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12282 (fat_log2) [MODE_EXFAT]: Removed.
12283 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12284 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12285 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12286 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12287 (grub_fat_label) [MODE_EXFAT]: New function.
12288 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12289 reserved_first_sector to 0.
12290
544c2487
VS
122912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12292
12293 Move grub_reboot out of the kernel.
12294
12295 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12296 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12297 * grub-core/lib/efi/reboot.c: ... here.
12298 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12299 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12300 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12301 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12302 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12303 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12304 * grub-core/lib/ieee1275/reboot.c: ... here.
12305 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12306 * grub-core/lib/mips/arc/reboot.c: ... here.
12307 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12308 * grub-core/lib/mips/loongson/reboot.c: ...here.
12309 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12310 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12311 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12312 * include/grub/i386/reboot.h: New file.
12313 * include/grub/mips/loongson/ec.h: Fix includes.
12314 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12315 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12316 * grub-core/lib/i386/reboot.c: New file.
12317
a97501d2
VS
123182011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 Make grub_prefix into module to fix the arbitrary limit and save
12321 some space.
12322
12323 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12324 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12325 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12326 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12327 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12328 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12329 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12330 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12331 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12332 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12333 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12334 * include/grub/ia64/efi/kernel.h: Removed.
12335 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12336 (grub_prefix): Removed.
12337 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12338 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12339 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12340 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12341 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12342 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12343 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12344 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12345 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12346 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12347 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12348 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12349 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12350 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12351 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12352 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12353 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12354 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12355 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12356 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12357 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12358 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12359 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12360 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12361 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12362 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12363 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12364 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12365 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12366 from module.
12367 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12368 prefix_end.
12369 (image_targets): Likewise.
12370 (generate_image): Put prefix as a module.
12371
39705fad
VS
123722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 Replace grub_module_iterate with FOR_MODULES.
12375
12376 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12377 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12378 (grub_efi_modules_addr): ...this.
12379 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12380 (grub_efi_init): Set grub_modbase.
12381 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12382 (grub_modbase): New variable.
12383 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12384 (grub_modbase): New variable.
12385 (grub_machine_init): Set grub_modbase.
12386 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12387 (grub_modbase): New variable.
12388 (grub_machine_init): Set grub_modbase.
12389 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12390 (grub_modbase): New variable.
12391 (grub_machine_init): Set grub_modbase.
12392 * grub-core/kern/main.c (grub_module_iterate): Remove.
12393 (grub_modules_get_end): Use grub_modbase.
12394 (grub_load_modules): Use FOR_MODULES.
12395 (grub_load_config): Likewise.
12396 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12397 (grub_modbase): New variable.
12398 (grub_machine_init): Set grub_modbase.
12399 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12400 (grub_modbase): New variable.
12401 (grub_machine_init): Set grub_modbase.
12402 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12403 Removed.
12404 (grub_modbase): New variable.
12405 (grub_machine_init): Set grub_modbase.
12406 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12407 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12408 (grub_module_iterate): Likewise.
12409 (grub_modbase): New variable declaration.
12410 (FOR_MODULES): New macro.
12411
2afb7f6c
VS
124122011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12413
12414 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12415 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12416
366e34fa
VS
124172011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 Fix few obvious type discrepancies.
12420
12421 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12422 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12423 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12424 variable.
12425 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12426 and connected types.
12427 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12428 offset.
12429 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12430 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12431 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12432 and connected types.
12433
177b960e
VS
124342011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 Fix python 3.x incompatibilities.
12437
12438 * gentpl.py: Put brackets around print strings.
12439 * util/import_gcry.py: Open explicitly as utf-8.
12440 Use in instead of has_key.
12441
3b619ae1
VS
124422011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12445 (GRUB_XFS_INO_AGBITS): Make into inline function.
12446 (GRUB_XFS_INO_INOINAG): Likewise.
12447 (GRUB_XFS_INO_AG): Likewise.
12448 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12449 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12450 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12451 (GRUB_XFS_EXTENT_SIZE): Likewise.
12452 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12453 (GRUB_XFS_NEXT_DIRENT): Likewise.
12454 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12455 (grub_xfs_read_file): Fix offset type.
12456
8bcebcb8
RM
124572011-10-15 Robert Millan <rmh@gnu.org>
12458
12459 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12460
0017e5ef
RM
124612011-10-15 Robert Millan <rmh@gnu.org>
12462
12463 Fix build problem on FreeBSD and GNU/kFreeBSD.
12464
12465 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12466
d8919552
VS
124672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12468
12469 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12470
12471 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12472 types.
12473 (grub_hfsplus_btree_recoffset): Likewise.
12474 (grub_hfsplus_btree_recptr): Likewise.
12475 (grub_hfsplus_find_block): Likewise.
12476 (grub_hfsplus_btree_search): Likewise.
12477 (grub_hfsplus_read_block): Likewise.
12478 (grub_hfsplus_read_file): Likewise.
12479 (grub_hfsplus_mount): Likewise.
12480 (grub_hfsplus_btree_iterate_node): Likewise.
12481 (grub_hfsplus_btree_search): Likewise.
12482 (grub_hfsplus_iterate_dir): Likewise.
12483 (grub_hfsplus_read): A small code simplification.
12484
c81296b6
VS
124852011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * grub-core/kern/emu/hostdisk.c
12488 (convert_system_partition_to_system_disk): Don't assume that children
12489 of mapper nodes are mapper nodes.
12490
0eb8ffb1
VS
124912011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12494 * include/grub/misc.h (grub_isxdigit): New function.
12495 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12496 switched to grub_isxdigit.
12497 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12498 number starting with a letter.
12499
a98f4a08
RM
125002011-10-09 Robert Millan <rmh@gnu.org>
12501
12502 LVM support for FreeBSD and GNU/kFreeBSD.
12503
12504 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12505 GNU/kFreeBSD.
12506 (LVM_DEV_MAPPER_STRING): Move from here ...
12507 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12508 * util/getroot.c: Include `<grub/util/lvm.h>'.
12509 (grub_util_get_dev_abstraction): Enable
12510 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12511 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12512 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12513 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12514 support it.
12515 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12516 GNU/kFreeBSD.
12517 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12518 when LVM abstraction is required for ${GRUB_DEVICE}.
12519
050e8e90
SJ
125202011-10-06 Szymon Janc <szymon@janc.net.pl>
12521
12522 Add support for LZO compression in GRUB:
12523 - import of minilzo library,
12524 - LZO decompression for btrfs,
12525 - lzop files decompression.
12526
12527 * grub-core/io/lzopio.c: New file.
12528 * grub-core/lib/adler32.c: Likewise.
12529 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12530 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12531 * grub-core/lib/minilzo/minilzo.c: Likewise.
12532 * grub-core/lib/minilzo/minilzo.h: Likewise.
12533 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12534 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12535 grub-core/lib/minilzo/minilzo.c to common.
12536 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12537 cflags in cppflags.
12538 * grub-core/Makefile.core.def (btrfs): Likewise.
12539 * grub-core/Makefile.core.def (lzopio): New module.
12540 (adler32): Likewise.
12541 * grub-core/fs/btrfs.c: Include minilzo.h.
12542 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12543 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12544 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12545 (grub_btrfs_lzo_decompress): New function.
12546 (grub_btrfs_extent_read): Add support for LZO compression type.
12547 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12548 (GRUB_USHRT_MAX): Likewise.
12549 (GRUB_UINT_MAX): Likewise.
12550 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12551 (UINT_MAX): Likewise.
12552 (CHAR_BIT): Likewise.
12553 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12554 grub-core/lib/posix_wrap/limits.h
12555 (UCHAR_MAX): Likewise.
12556 * include/grub/file.h (grub_file_filter_id): New compression filter
12557 GRUB_FILE_FILTER_LZOPIO.
12558 * include/grub/file.h (grub_file_filter_id): Set
12559 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12560 * include/grub/types.h (grub_get_unaligned16): New function.
12561 (grub_get_unaligned32): Likewise.
12562 (grub_get_unaligned64): Likewise.
12563 * util/import_gcry.py (cryptolist): Add adler32.
12564
0eb8ffb1
VS
125652011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12568 in perspective decreases the complexity of build system and fixes
12569 compilation right now.
12570
ce79cc99 125712011-10-01 Ales Nesrsta <starous@volny.cz>
12572
12573 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12574 (fixed problem related to using UHCI with coreboot).
12575
8667a314
BC
125762011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12577
12578 * gentpl.py: Use Autogen macros so that the output template file
12579 (Makefile.tpl) size is reduced.
12580
fc5efcc0
MK
125812011-09-29 Mads Kiilerich <mads@kiilerich.com>
12582
12583 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12584 extra_dist.
12585
d1ab689d
ML
125862011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12587
12588 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12589 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12590
c05de032
ML
125912011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12592
12593 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12594 _fullpath.
12595
cca7ccd8
ML
125962011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12597
12598 Remove extra declaration of sleep for mingw32.
12599
12600 * util/misc.c (sleep) [__MINGW32__]: Removed.
12601 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12602
e0b0dc83
GS
126032011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12604
12605 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12606 type and packname.
12607 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12608 Resurrected.
12609 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12610 (grub_netbsd_btinfo_bootwedge): New struct.
12611 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12612 New function.
12613 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12614
91a1a164
TH
126152011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12616
12617 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12618 loader.
12619
2ded951e
AB
126202011-09-28 Andreas Born <futur.andy@googlemail.com>
12621
12622 Fix incorrect identifiers in bash-completion.
12623
12624 * util/bash-completion.d/grub-completion.bash.in
12625 (_grub_mkpasswd-pbkdf2): Rename to ...
12626 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12627 (_grub_script-check): Rename to ...
12628 (_grub_script_check): ... this. All users updated.
12629
69915030
VS
126302011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12633 Return 0 if disk isn't biosdisk.
12634
20fd15f9
GS
126352011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12636
12637 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12638 on NetBSD.
12639 * Makefile.util.def (grub-fstest): Likewise.
12640
1a7d7db9
GS
126412011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12642
12643 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12644 Get sector size from disk label.
12645
2221ab6c
CW
126462011-09-05 Colin Watson <cjwatson@ubuntu.com>
12647
12648 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12649 */README* as well as README*.
12650 Reported by: Axel Beckert.
12651
ca51c4a0
VS
126522011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12655 case of less than 256 MiB of RAM.
12656
ab80f326
VS
126572011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 * grub-core/commands/wildcard.c (make_regex): Handle @.
12660
4155e697
VS
126612011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12664
ab178c08
SJ
126652011-08-21 Szymon Janc <szymon@janc.net.pl>
12666
12667 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12668 AC_LANG_CONFTEST macros.
12669
7dc3c686
SJ
126702011-08-20 Szymon Janc <szymon@janc.net.pl>
12671
12672 Add grub-fstest option to uncompress data for commands.
12673
12674 * util/grub-fstest.c (uncompress): New var.
12675 (options): New option -u.
12676
fe8d4a7b
SJ
126772011-08-20 Szymon Janc <szymon@janc.net.pl>
12678
12679 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12680 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12681
a5219af1
SJ
126822011-08-20 Szymon Janc <szymon@janc.net.pl>
12683
12684 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12685 file type was not recognized correctly (not gzip or corrupted).
12686
f87abff5
VS
126872011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12690 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12691
d94497ea
VS
126922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12695 loongson.
12696 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12697 video_radeon_fuloong2e.
12698 * grub-core/video/radeon_fuloong2e.c: New file.
12699 * include/grub/video.h (grub_video_id_t): Add new ID
12700 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12701
0d1fd011
VS
127022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12705 define.
12706 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12707 that PRID matches the detected subplatform and reset the subplatform
12708 if it doesn't.
12709
84beb0ee
VS
127102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12713
1227c133
VS
127142011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Fix PCI iterating on functions >= 4.
12717
12718 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12719 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12720 Removed.
12721 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12722 (grub_pci_read): Fix bitmask.
12723 (grub_pci_read_word): Likewise.
12724 (grub_pci_read_byte): Likewise.
12725 (grub_pci_write): Likewise.
12726 (grub_pci_write_word): Likewise.
12727 (grub_pci_write_byte): Likewise.
12728
9594c689
VS
127292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12732 can still be specified in TARGET_CFLAGS)
12733
14a2562c
VS
127342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12737
12738 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12739 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12740 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12741 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12742 (FULOONG): Rename to ...
12743 (FULOONG2F): ... this. All users updated.
12744 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12745 (machtype_fuloong2f_str): ... this.
12746 (machtype_fuloong2e_str): New string.
12747 Check for machtype_fuloong2e_str.
12748 * grub-core/loader/mips/linux.c (loongson_machtypes)
12749 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12750 * grub-core/term/serial.c (loongson_defserial)
12751 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12752 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12753 loongson_defserial.
12754 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12755 Rename to ...
12756 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12757 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12758 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12759 to IMAGE_FULOONG2F_FLASH. All users updated.
12760 (image_targets): Rename images.
12761 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12762
b526cbb6
SJ
127632011-08-19 Szymon Janc <szymon@janc.net.pl>
12764
12765 Make enable of disk cache statistics code configurable.
12766
12767 * configure.ac: --enable-cache-stats added.
12768 * config.h.in (DISK_CACHE_STATS): New define.
12769 * grub-core/Makefile.core.def (cacheinfo): New command.
12770 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12771 * grub-core/commands/cacheinfo.c: New file.
12772 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12773 moved to cacheinfo.c.
12774 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12775 debug code.
12776 * include/grub/disk.h: Likewise.
12777
fb739ccd
SJ
127782011-08-19 Szymon Janc <szymon@janc.net.pl>
12779
12780 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12781 * grub-core/Makefile.am: Likewise.
12782
2bba8cfd
VS
127832011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12786 non-zero pull.
12787
43526629
VS
127882011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12791 All users updated.
12792 (grub_jfs_lookup_symlink): Use correct starting inode.
12793
5c144cc8
VS
127942011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * util/grub-setup.c (main): Add missing gcry initialisation.
12797
b1257f65
VS
127982011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12799
12800 Don't accept text modes on EFI when booting Linux.
12801
12802 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12803 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12804
828bc390
ML
128052011-08-15 Mario Limonciello <mario_limonciello@dell.com>
128062011-08-15 Colin Watson <cjwatson@ubuntu.com>
12807
12808 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12809 use of "/path/.." as in grub-install for EFI as well as handling
12810 symlinks correctly.
12811 Fixes Debian bug #637768.
12812
5f60ccac
CW
128132011-08-15 Colin Watson <cjwatson@ubuntu.com>
12814
12815 * util/grub-probe.c: Remove duplicate #include.
12816
6dc212f9
RM
128172011-08-10 Robert Millan <rmh@gnu.org>
12818
12819 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12820
12821 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12822 function.
12823 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12824 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12825
66816d85
RM
128262011-08-03 Robert Millan <rmh@gnu.org>
12827
12828 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12829 la_array as packed.
12830 Reported by: Zachary Bedell
12831
20168fca
CW
128322011-07-26 Colin Watson <cjwatson@ubuntu.com>
12833
12834 * configure.ac: The Loongson port requires grub-mkfont due to its
12835 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12836 be built.
12837
303b6246
CW
128382011-07-26 Colin Watson <cjwatson@ubuntu.com>
12839
12840 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12841 processing arguments (otherwise help2man fails when GRUB has not yet
12842 been installed).
12843
6795300e
VS
128442011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12845
41aa28ea
VS
12846 New script grub-mkstandalone.
12847
12848 * Makefile.util.def (grub-mkstandalone): New script.
12849 * docs/man/grub-mkstandalone.h2m: New file.
12850 * util/grub-mkstandalone.in: Likewise.
12851
128522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 Support ATA disks with 4K sectors.
6795300e
VS
12855
12856 * include/grub/ata.h (grub_ata): New member log_sector_size.
12857 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12858 (grub_ata_identify): Read sector size.
12859 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12860
92227597
VS
128612011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 * util/grub-install.in: Don't use uhci outside of x86.
12864
c77069f5
VS
128652011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * util/grub-mkrescue.in: Add missing quotes.
12868
128692011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
12870
12871 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
12872 dereference.
12873
583168a2
VS
128742011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
12877
6be1c01f
VS
128782011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 * include/grub/video.h: add missing EXPORT_FUND on
12881 grub_video_edid_checksum and grub_video_edid_preferred_mode.
12882
a1167439
VS
128832011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * include/grub/mips/kernel.h: Fix define conflict.
12886
bf66054f
VS
128872011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
12890 all four ways.
12891
8fc4fa45
CW
128922011-07-21 Colin Watson <cjwatson@ubuntu.com>
12893
12894 Preferred resolution detection for VBE.
12895
12896 * grub-core/video/video.c (grub_video_edid_checksum): New function.
12897 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
12898 the Flat Panel extension, in line with the X.org VESA driver.
12899 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
12900 New function.
12901 (grub_vbe_bios_get_ddc_capabilities): Likewise.
12902 (grub_vbe_bios_read_edid): Likewise.
12903 (grub_vbe_get_preferred_mode): Likewise.
12904 (grub_video_vbe_setup): When the mode is "auto", try to get the
12905 preferred mode from VBE, and use the largest mode that is no larger
12906 than the preferred mode (some BIOSes expose a preferred mode that is
12907 not in their mode list!). If this fails, fall back to 640x480 as a
12908 safe conservative choice.
12909 (grub_video_vbe_get_edid): New function.
12910 (grub_video_vbe_adapter): Add get_edid.
12911 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
12912 (struct grub_video_adapter): Add get_edid.
12913 (grub_video_edid_checksum): Add prototype.
12914 (grub_video_edid_preferred_mode): Likewise.
12915 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
12916 structure.
12917
12918 * grub-core/commands/videoinfo.c (print_edid): New function.
12919 (grub_cmd_videoinfo): Print EDID if available.
12920
12921 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
12922 is more appropriate on a wider range of platforms than 640x480.
12923 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
12924 documentation.
12925
ca5572a9
VS
129262011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
12929
e4bcf625
VS
129302011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * po/POTFILES.in: Regenerate.
12933
c4edd548
VS
129342011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
12937 incorrect memory usage.
12938
16a2bab0
VS
129392011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * util/grub-install.in: Source grub-mkconfig_lib.
12942
2e418de6
VS
129432011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 Remove getroot.c from core on emu platform.
12946
12947 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
12948 kern/emu/raid.c.
12949 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
12950 useless.
12951 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
12952 * util/getroot.c (get_win32_path): ... here.
12953 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
12954 * util/getroot.c (fini_libzfs): ... here.
12955 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
12956 * util/getroot.c (grub_get_libzfs_handle): ... here.
12957 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
12958 Moved from here...
12959 * util/getroot.c (grub_find_zpool_from_dir): ... here.
12960 * grub-core/kern/emu/misc.c
12961 (grub_make_system_path_relative_to_its_root): Moved from here...
12962 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
12963 * grub-core/kern/emu/getroot.c: Moved from here ...
12964 * util/getroot.c: ... here. All users updated.
12965 * grub-core/kern/emu/raid.c: Moved from here ...
12966 * util/raid.c: ... here. All users updated.
12967
def9832a
VS
129682011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * po/POTFILES.in: Regenerate.
12971
cd8fe79a
VS
129722011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 Fix compilation on GNU/Linux.
12975
12976 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
12977 Disable geli.
12978 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12979 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
12980 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
12981
a251b719
VS
129822011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
129832011-07-07 Michael Gorven <michael@gorven.za.net>
129842011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
12985
12986 LUKS and GELI support.
12987
12988 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
12989 grub-core/disk/luks.c, grub-core/disk/geli.c,
12990 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
12991 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
12992 grub-core/lib/arg.c.
12993 (libgrubmods.a): Remove gcrypts cflags and cppflags.
12994 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
12995 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
12996 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
12997 (grub-bin2h): Add libgcry.a.
12998 (grub-mkimage): Likewise.
12999 (grub-mkrelpath): Likewise.
13000 (grub-script-check): Likewise.
13001 (grub-editenv): Likewise.
13002 (grub-mkpasswd-pbkdf2): Likewise.
13003 (grub-pe2elf): Likewise.
13004 (grub-fstest): Likewise.
13005 (grub-mkfont): Likewise.
13006 (grub-mkdevicemap): Likewise.
13007 (grub-probe): Likewise.
13008 (grub-ofpath): Likewise.
13009 (grub-mklayout): Likewise.
13010 (example_unit_test): Likewise.
13011 (grub-menulst2cfg): Likewise.
13012 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
13013 * grub-core/Makefile.core.def (cryptodisk): New module.
13014 (luks): Likewise.
13015 (geli): Likewise.
13016 * grub-core/disk/AFSplitter.c: New file.
13017 * grub-core/disk/cryptodisk.c: Likewise.
13018 * grub-core/disk/geli.c: Likewise.
13019 * grub-core/disk/luks.c: Likewise.
13020 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
13021 grub_util_is_lvm.
13022 (grub_util_get_dm_abstraction): New function.
13023 (grub_util_follow_gpart_up): Likewise.
13024 (grub_util_get_geom_abstraction): Likewise.
13025 (grub_util_get_dev_abstraction): Use new functions.
13026 (grub_util_pull_device): Pull GELI and LUKS.
13027 (grub_util_get_grub_dev): Handle LUKS and GELI.
13028 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
13029 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
13030 (follow_geom_up): Removed.
13031 (grub_util_fd_seek): New function.
13032 (open_device): Use grub_util_fd_seek.
13033 (nread): Rename to ..
13034 (grub_util_fd_read): ... this. All users updated.
13035 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
13036 (grub_crypto_cbc_decrypt): Likewise.
13037 (grub_crypto_hmac_write): Likewise.
13038 (grub_crypto_hmac_buffer): Likewise.
13039 (grub_password_get): Extend to util.
13040 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
13041 New member modname.
13042 (gcry_md_spec) [GRUB_UTIL]: Likewise.
13043 * include/grub/cryptodisk.h: New file.
13044 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
13045 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
13046 LUKS and GELI.
13047 (grub_util_follow_gpart_up): New proto.
13048 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
13049 (grub_util_fd_read): Likewise.
13050 (grub_cryptodisk_cheat_mount): Likewise.
13051 (grub_util_cryptodisk_print_uuid): Likewise.
13052 (grub_util_get_fd_sectors): Likewise.
13053 * util/grub-fstest.c (mount_crypt): New var.
13054 (fstest): Mount crypto if requested.
13055 (options): New option -C.
13056 (argp_parser): Parse -C.
13057 (main): Init and fini gcry.
13058 * util/grub-install.in: Support cryptodisk install.
13059 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
13060 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
13061 cryptodisk.
13062 (prepare_grub_to_access_device): Likewise.
13063 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
13064 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
13065 (probe_cryptodisk_uuid): New function.
13066 (probe_abstraction): Likewise.
13067 (probe): Use new functions.
13068 * util/import_gcry.py: Create Makefile.utilgcry.def.
13069 Add modname member.
13070
9bfdcbbc
VS
130712011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 Lazy device scanning.
13074
13075 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
13076 (grub-setup): Remove util/raid.c.
13077 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
13078 * grub-core/disk/lvm.c (scan_depth): New variable.
13079 (grub_lvm_iterate): Rescan if necessary.
13080 (find_lv): New function based on grub_lvm_open.
13081 (grub_lvm_open): Use find_lv. Rescan on error.
13082 (is_node_readable): New function.
13083 (is_lv_readable): Likewise.
13084 (grub_lvm_scan_device): Skip already found disks.
13085 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
13086 Stop if searched device is found and readable.
13087 * grub-core/disk/raid.c (inscnt): New variable.
13088 (scan_depth): Likewise.
13089 (scan_devices): New function based on grub_raid_register. Abort if
13090 looked for device is found.
13091 (grub_raid_iterate): Rescan if needed.
13092 (find_array): NEw function based on -grub_raid_open.
13093 (grub_raid_open): Use find_array and rescan.
13094 (insert_array): Set became_readable_at.
13095 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
13096 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
13097 New function.
13098 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
13099 (grub_util_pull_device): New function.
13100 (grub_util_get_grub_dev): Call grub_util_pull_device.
13101 * util/raid.c: Moved to ..
13102 * grub-core/kern/emu/raid.c: ... here.
13103 (grub_util_raid_getmembers): New parameter "bootable".
13104 All users updated. Support 1.x.
13105 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
13106 All users updated.
13107 * include/grub/disk.h (grub_disk_pull_t): New enum.
13108 (grub_disk_dev): Change iterate prototype.
13109 All users updated.
13110 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
13111 New proto.
13112 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
13113 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
13114 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
13115 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
13116 All users updated.
13117 * include/grub/util/raid.h: Removed.
13118
1c358e59
VS
131192011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * po/POTFILES.in: Regenerate.
13122
abee94ed
VS
131232011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 Unify sparc init with other ieee1275.
13126
13127 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
13128 instead of kern/sparc64/ieee1275/init.c.
13129 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
13130 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
13131 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
13132 grub/machine/kernel.h.
13133 (grub_ieee1275_original_stack) [__sparc__]: New variable.
13134 (grub_claim_heap) [__sparc__]: Use sparc version.
13135 (grub_machine_init): Moved args parsing to
13136 (grub_parse_cmdline): ...this.
13137 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
13138 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
13139 New definition.
13140 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
13141
13142 Move BOOTP to separate file.
13143
13144 * grub-core/Makefile.core.def (net): Add net/bootp.c.
13145 * grub-core/net/net.c: Move all BOOTP functions to
13146 * grub-core/net/bootp.c: ... here.
13147
13148 Use frame interface on PXE.
13149
13150 * grub-core/Makefile.core.def (pxecmd): Removed.
13151 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
13152 * grub-core/commands/i386/pc/pxecmd.c: Removed.
13153 * grub-core/i386/pc/pxe.c: Moved from here ...
13154 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
13155 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
13156 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
13157
13158 EFI network support.
13159
13160 * grub-core/Makefile.core.def (efinet): New module.
13161 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
13162 here...
13163 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
13164 All users updated.
13165 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
13166 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
13167 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
13168 * grub-core/net/drivers/efi/efinet.c: New file.
13169 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
13170 (grub_efi_net_config): New extern var.
13171
13172 Various cleanups and bugfixes.
13173
13174 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
13175 error.
13176 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
13177 disk declared as partition.
13178 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
13179 leak on failure.
13180 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
13181 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
13182 (grub_debug_zalloc): Likewise.
13183 (grub_debug_realloc): Likewise.
13184 (grub_debug_memalign): Likewise.
13185 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
13186 Check that target is IPv4.
13187 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
13188 local-mac-address as fallback.
13189 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
13190 memory leak.
13191 * grub-core/net/ip.c (ipchksum): Rename to ...
13192 (grub_net_ip_chksum): ... this. All users updated.
13193 (grub_net_recv_ip_packets): Special handling for DHCP.
13194 * util/grub-mkimage.c (generate_image): Zero-out aout header.
13195
13196 Unify prefix handling
13197
13198 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
13199 (grub_machine_get_bootlocation): ... this.
13200 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
13201 (grub_machine_get_bootlocation): ... this.
13202 (grub_prefix): New variable.
13203 (prefix): Removed.
13204 (root_dev): New variable.
13205 (dir): Likewise.
13206 (main): Use new variables.
13207 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
13208 Revamped into ...
13209 (grub_machine_get_bootlocation): ... this.
13210 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
13211 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
13212 (grub_machine_get_bootlocation): ... this.
13213 (grub_machine_set_prefix): Removed.
13214 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
13215 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
13216 Revamped into ...
13217 (grub_machine_get_bootlocation): ... this.
13218 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
13219 (grub_set_prefix_and_root): ... this. All users updated.
13220 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
13221 Revamped into ...
13222 (grub_machine_get_bootlocation): ... this.
13223 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
13224 (grub_machine_get_bootlocation): New proto.
13225 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
13226
13227 Less intrusive and more reliable seek on network implementation.
13228
13229 * grub-core/kern/file.c (grub_file_net_seek): Removed.
13230 (grub_file_seek): Don't call grub_file_net_seek.
13231 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
13232 (grub_net_fs_read_real): .. this.
13233 (grub_net_seek_real): Use net->offset.
13234 (grub_net_fs_read): Seek if necessary.
13235
13236 Unify IEEE1275 netwotk config with the other platforms.
13237
13238 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
13239 New variable.
13240 (grub_machine_get_bootlocation): Support network.
13241 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
13242 Support type and device parsing.
13243 (grub_ieee1275_get_device_type): New function.
13244 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
13245 into ...
13246 (grub_ieee1275_net_config_real): ... this.
13247 (grub_ofnet_probecards): Removed.
13248 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
13249 * include/grub/ieee1275/ofnet.h: Removed.
13250 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
13251 extern var.
13252 (grub_ieee1275_get_device_type): New function.
13253
13254 Unify network device closing across platforms and make more robust.
13255
13256 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13257 grub_grubnet_fini.
13258 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13259 already.
13260 * grub-core/net/net.c (grub_net_network_level_interface_register):
13261 Update num_ifaces.
13262 (grub_net_card_unregister): Close all interfaces.
13263 (receive_packets): Don't poll if no iterfaces are registered.
13264 Open if necessary.
13265 (grub_net_fini_hw): New function.
13266 (grub_net_restore_hw): Likewise.
13267 (fini_hnd): New variable.
13268 (GRUB_MOD_INIT): Register preboot hook.
13269 (GRUB_MOD_FINI): Run and unregister preboot hook.
13270
13271 Poll network cards when idle.
13272
13273 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13274 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13275 * grub-core/net/net.c (receive_packets): Save last poll time.
13276 (grub_net_poll_cards_idle_real): New function.
13277 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13278 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13279 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13280
13281 Rename ofnet interfaces.
13282
13283 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13284 (grub_ofnet_findcards): Use ofnet_%s names.
13285
13286 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13287
13288 Cleanup socket opening.
13289
13290 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13291 (grub_net_fs_close): Likewise.
13292 (grub_net_fs_read_real): Use eof member.
13293 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13294 (+grub_net_udp_close): New inline function.
13295
13296 * include/grub/net/tftp.h: Moved to the top of ...
13297 * grub-core/net/tftp.c: ... here.
13298 * include/grub/net/ip.h: Moved mostly to the top of ...
13299 * grub-core/net/ip.c: ... here.
13300 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13301 * grub-core/net/ethernet.c: ... here.
13302
13303 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13304
13305 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13306 FS name.
13307
13308 * include/grub/net/ip.h (ipv4_ini): Removed.
13309 (ipv4_fini): Likewise.
13310
13311 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13312 (grub_net_send_ip_packets): Likewise.
13313
cf1337aa
VS
133142011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13317 grub_read_cmos prototype.
13318
93c06ff9
VS
133192011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 VGA text support in qemu-mips
13322
13323 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13324 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13325 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13326 text.
13327 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13328 * grub-core/kern/vga_init.c: ... this.
13329 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13330 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13331 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13332 Adjust.
13333 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13334 GRUB_MACHINE_PCI_IO_BASE.
13335
748ccabe
VS
133362011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13337
13338 MIPS qemu flash support.
13339
13340 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13341 magic.
13342 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13343 (grub_machine_init): Probe memory if its size isn't known.
13344 * util/grub-mkimage.c (image_targets): Add flash targets.
13345 (generate_image): Handle flash targets.
13346
d7345994
VS
133472011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 MIPS qemu at_keyboard support.
13350
13351 * gentpl.py (videoinkernel): Add qemu-mips.
13352 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13353 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13354 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13355 modules.
13356 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13357 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13358 * grub-core/term/serial.c (grub_serial_register)
13359 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13360
a07a81b3
VS
133612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 CMOS support on sparc.
13364
13365 * gentpl.py (cmos): Add powerpc and sparc.
13366 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13367 powerpc and sparc.
13368 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13369 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13370 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13371 grub_set_datetime_cmos.
13372 * grub-core/lib/ieee1275/cmos.c: New file.
13373 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13374 (find_rtc): Set no_ieee1275_rtc on error.
13375 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13376 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13377 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13378 fail. Move value to argument. All users updated
13379 (grub_cmos_write): Likewise.
13380 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13381 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13382 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13383 grub_get_datetime_cmos and grub_set_datetime_cmos.
13384
77546584
GS
133852011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13386
13387 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13388 sourcing grub-mkconfig_lib.
13389 * util/update-grub_lib.in: Likewise.
13390 * util/grub.d/00_header.in: Likewise.
13391 * util/grub.d/10_hurd.in: Likewise.
13392 * util/grub.d/10_kfreebsd.in: Likewise.
13393 * util/grub.d/10_linux.in: Likewise.
13394 * util/grub.d/10_netbsd.in: Likewise.
13395 * util/grub.d/10_windows.in: Likewise.
13396 * util/grub.d/20_linux_xen.in: Likewise.
13397 * util/grub.d/30_os-prober.in: Likewise.
13398
54894791
CW
133992011-06-28 Colin Watson <cjwatson@ubuntu.com>
13400
13401 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13402 default_bg_color rather than black.
13403 (grub_gfxterm_fullscreen): Likewise.
13404 (grub_gfxterm_background_color_cmd): Save new background color in
13405 default_bg_color.
13406
8d5d8444
VS
134072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13410
5afeb5bd
VS
134112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13414 mismerge.
13415
ba7df45e
VS
134162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 Chainloading on coreboot support.
13419
13420 * grub-core/Makefile.core.def (chain): Add coreboot.
13421 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13422
d0b526b2
VS
134232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13426 if it happens.
13427
5ff1d945
VS
134282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 Implement time command.
13431
13432 * grub-core/Makefile.core.def (time): New module.
13433 * grub-core/commands/time.c: New file.
13434 * grub-core/script/parser.y: Remove "time" keyword.
13435 * grub-core/script/yylex.l: Likewise.
13436
5ebaad7e
VS
134372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13440
bdea3798
VS
134412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13444 when handling leftovers.
13445
b28c5655
VS
134462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13447
13448 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13449 so that help2man doesn't fail.
13450
b6f945dc
VS
134512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13454 type in pointers on sparc64.
13455 (get_card_packet): Likewise.
13456
f9b75e8a
CW
134572011-06-27 Colin Watson <cjwatson@ubuntu.com>
13458
13459 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13460 with `*'.
13461 (grub_cmd_videoinfo): Fetch current video mode.
13462
1e3d9b86
VS
134632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13466 because of underlying system restrictions.
13467
efff4b1c
VS
134682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13471 necessary.
13472
9fc9ce37
VS
134732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 Coreboot video support.
13476
13477 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13478 (vbe): Likewise.
13479 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13480 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13481 here ...
13482 * grub-core/kern/i386/int.S: ... here.
13483 * grub-core/video/i386/pc/vbe.c: Updated includes.
13484 * grub-core/video/i386/pc/vga.c: Likewise.
13485 * include/grub/i386/coreboot/memory.h
13486 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13487 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13488 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13489 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13490 Disable interrupts.
13491 * include/grub/i386/pc/vga.h: Removed. All users updated.
13492
41bec7fe
VS
134932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13496 definitions for dprintf.
13497 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13498
ca80309d
VS
134992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13502 prototype.
13503 (get_card_packet): Likewise.
13504
9e322ce8
YB
135052011-06-26 Yves Blusseau <blusseau@zetam.org>
13506
13507 Display the path of the file when file is not found
13508
13509 * grub-core/fs/fat.c: Display the filename when file is not found.
13510 * grub-core/fs/fshelp.c: Likewise.
13511 * grub-core/fs/hfs.c: Likewise.
13512 * grub-core/fs/jfs.c: Likewise.
13513 * grub-core/fs/minix.c: Likewise.
13514 * grub-core/fs/ufs.c: Likewise.
13515 * grub-core/fs/btrfs.c: Likewise.
13516 * grub-core/commands/i386/pc/play.c: Likewise.
13517
cbf597af
SJ
135182011-06-26 Szymon Janc <szymon@janc.net.pl>
13519
13520 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13521 pointer checks before calling grub_free().
13522 * grub-core/commands/wildcard.c (match_devices): Likewise.
13523 * grub-core/commands/wildcard.c (match_files): Likewise.
13524 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13525 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13526 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13527 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13528 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13529 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13530 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13531 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13532 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13533
6295b32f
P
135342011-06-25 Patrick <p55@mailinator.com>
13535
13536 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13537
77c0840b
VS
135382011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13541 (grub_pxe_send): Likewise.
13542 (GRUB_MOD_INIT): Fix types.
13543
40ea05de
SJ
135442011-06-24 Szymon Janc <szymon@janc.net.pl>
13545
13546 * grub-core/io/xzio.c: Fix code style issues
13547
90162423
MRA
135482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
135492011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13550
13551 Network infrastructure.
13552 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13553
13554 * include/grub/net/arp.h: New file.
90162423
MRA
13555 * include/grub/net/device.h: Likewise.
13556 * include/grub/net/ethernet.h: Likewise.
13557 * include/grub/net/ip.h: Likewise.
13558 * include/grub/net/netbuff.h: Likewise.
13559 * include/grub/net/tftp.h: Likewise.
13560 * include/grub/net/udp.h: Likewise.
13561 * include/grub/ieee1275/ofnet.h: Likewise.
13562 * include/grub/emu/export.h: Likewise.
13563 * include/grub/net.h: Likewise.
13564 * grub-core/net/arp.c: Likewise.
13565 * grub-core/net/ethernet.c: Likewise.
13566 * grub-core/net/ip.c: Likewise.
13567 * grub-core/net/udp.c: Likewise.
13568 * grub-core/net/tftp.c: Likewise.
13569 * grub-core/net/netbuff.c: Likewise.
13570 * grub-core/net/net.c: Likewise.
13571 * grub-core/net/drivers/emu/emunet.c: Likewise.
13572 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13573 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13574 export.h.
13575 * grub-core/Makefile.core.def (net): New module.
13576 (tftp): Likewise.
13577 (ofnet): Likewise.
13578 (emunet): Likewise.
13579 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13580 network protocols.
13581 * grub-core/kern/device.c (grub_net_open) : New variable.
13582 (grub_device_open): Handle network device.
13583 (grub_device_close): Likewise.
13584 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13585 (grub_grubnet_fini): Likewise.
13586 (grub_file_seek): Seek in network device.
13587 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13588 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13589 network root.
13590 (grub_machine_fini): Call grub_grubnet_fini.
13591 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13592 network.
13593 (grub_ieee1275_get_aliasdevname): New function.
13594 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13595 Add unofficial Solaris network info.
13596 (grub_multiboot_make_mbi): Likewise.
13597 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13598 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13599 * include/grub/device.h (grub_fs): Removed.
13600 * include/grub/err.h (grub_err_t): Add network-related values.
13601 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13602 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13603 (grub_ieee1275_get_aliasdevname): New proto.
13604 * include/grub/net.h: Rewritten.
423a1849 13605
031f22a0
VS
136062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13607
13608 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13609 names.
13610
4388ca72
VS
136112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13614 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13615 it truncates the output.
13616 Reported by: Ximin Luo.
13617
98e2f506
VS
136182011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13621
2a5e94d8
VS
136222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13625 partmap before abstraction.
13626
535c1910
AK
136272011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13628
13629 * util/grub-mkconfig_lib.in: Add missing quotes.
13630
bc09e1a2
VS
136312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13634 old method if mountinfo would return /dev/root and /dev/root doesn't
13635 exist.
13636
290766fb
VS
136372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 ZFS zlib support
13640
13641 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13642 (decomp_table): Add zlib entries.
13643 (zio_read): USe 8 bits for compression function rather than 3.
13644 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13645
136462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/disk/ahci.c: Add missing license statements.
13649 * grub-core/fs/romfs.c: Likewise.
13650 * grub-core/lib/ia64/setjmp.S: Likewise.
13651 * grub-core/loader/i386/pc/freedos.c: Likewise.
13652 * grub-core/loader/ia64/efi/linux.c: Likewise.
13653 * grub-core/video/colors.c: Likewise.
13654 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13655
5ab3f48a
VS
136562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 AHCI support.
13659
13660 * grub-core/Makefile.core.def (ata_pthru): Removed.
13661 (ahci): New module.
13662 (pata): Likewise.
13663 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13664 on unload.
13665 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13666 readwrite.
13667 (grub_hdparm_do_check_powermode_cmd): Likewise.
13668 (grub_hdparm_do_smart_cmd): Likewise.
13669 (grub_hdparm_set_val_cmd): Likewise.
13670 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13671 * grub-core/disk/ahci.c: New file.
13672 * grub-core/disk/ata.c: Factor out the low-level part into ...
13673 * grub-core/disk/pata.c: ... here.
13674 * grub-core/disk/ata_pthru.c: Contents moved to ...
13675 * grub-core/disk/pata.c: ... here.
13676 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13677 (grub_scsi_iterate): Use grub_scsi_names.
13678 (grub_scsi_open): Likewise.
13679 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13680 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13681 (grub_ata_regs_t): New struct.
13682 (grub_disk_ata_pass_through_parms): Likewise.
13683 (grub_ata_device): Renamed to ...
13684 (grub_ata): ... this.
13685 (grub_ata_dev): New struct.
13686 Removed all low-level inline functions.
13687 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13688 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13689 iterate hooks and open. All users updated.
13690 * util/grub-install.in: Handle AHCI disk module.
13691
c31dc5f5
SJ
136922011-06-23 Szymon Janc <szymon@janc.net.pl>
13693
13694 Add support for DRI and RSTn markers in JPEG files.
13695
13696 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13697 (JPEG_MARKER_RST0): Likewise.
13698 (JPEG_MARKER_RST1): Likewise.
13699 (JPEG_MARKER_RST2): Likewise.
13700 (JPEG_MARKER_RST3): Likewise.
13701 (JPEG_MARKER_RST4): Likewise.
13702 (JPEG_MARKER_RST5): Likewise.
13703 (JPEG_MARKER_RST6): Likewise.
13704 (JPEG_MARKER_RST7): Likewise.
13705 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13706 (grub_jpeg_decode_dri): New function.
13707 (grub_jpeg_decode_sos): Move image data related part into
13708 grub_jpeg_decode_data function.
13709 (grub_jpeg_decode_data): New function.
13710 (grub_jpeg_reset): New function.
13711 (grub_jpeg_decode_jpeg): Handle new markers.
13712
fe12fd5b
VS
137132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * util/ieee1275/ofpath.c (check_sas): Close fd.
13716 (main): Free of_path.
13717 Reported by: David Volgyes <dvolgyes>.
13718
03147f46
VS
137192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13720
13721 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13722 Reported by: David Volgyes <dvolgyes>.
13723
cad3237f
VS
137242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13725
13726 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13727 file after stat.
13728 Reported by: David Volgyes <dvolgyes>.
13729
13548d26
VS
137302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13733
13734 Reported by: David Volgyes <dvolgyes>.
13735
e061a1b5
VS
137362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13739 Prevent memory leak.
13740
1abe47dc
VS
137412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13744 (main): Close file.
e061a1b5 13745 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13746
fbc62666
VS
137472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13750 to continue if allocation is failed.
13751
13752 Reported by: David Volgyes <dvolgyes>.
13753
e98c83e9
DV
137542011-06-23 David Volgyes <dvolgyes>
13755
13756 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13757 dereference.
13758
a199a8cd
VS
137592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 Fix spurious warning.
13762
13763 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13764 (acorn_partition_map_find): Use .bin member.
13765
e2d1dba0
VS
137662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13767
13768 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13769 /dev/root as a valid device.
13770
8a5d6919
JM
137712011-06-23 Jim Meyering <meyering@redhat.com>
13772
e2d1dba0
VS
13773 Avoid NULL deref in grub_device_open.
13774
8a5d6919
JM
13775 * grub-core/kern/device.c (grub_device_open): Don't dereference
13776 a NULL pointer upon failed grub_env_get.
13777
f7db6f4a
VS
137782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 Support non-512B sectors and agglomerate reads.
13781
13782 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13783 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13784 (disk_io_guid): Removed.
13785 (make_devices): Locate solely by BlockIO.
13786 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13787 (grub_efidisk_read): Use read_blocks.
13788 (grub_efidisk_write): Use write_blocks.
13789 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13790 log_sector_size.
13791 (get_safe_sectors): Handle non-512B sectors.
13792 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13793 sectors.
13794 (grub_biosdisk_write): Handle non-512B sectors.
13795 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13796 (grub_scsi_read): Remove special non-512B block handling (now handled
13797 one level up).
13798 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13799 and do sanity checks.
13800 (grub_disk_adjust_range): Handle non-512B sectors.
13801 (transform_sector): New function.
13802 (grub_disk_read_small): Likewise.
13803 (grub_disk_read): Rewritten.
13804 (grub_disk_write): Handle non-512B sectors.
13805 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13806 log_sector_size.
13807 (open_device): Use log_sector_size.
13808 (grub_util_biosdisk_read): Likewise.
13809 (grub_util_biosdisk_write): Likewise.
13810 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13811 non-512B sectors.
13812 (pc_partition_map_embed): Likewise.
13813 * include/grub/disk.h (grub_disk): New field log_sector_size.
13814 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13815 (GRUB_DISK_CACHE_BITS): Increased to 6.
13816 * util/grub-fstest.c (fstest): New command testload.
13817 (argp_parser): Likewise.
13818
881ac815
RM
138192011-06-16 Robert Millan <rmh@gnu.org>
13820
13821 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13822 `ata' driver on kernel of FreeBSD 9.
13823
13824 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13825 (get_ataraid_disk_name): New functions.
13826 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13827 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13828 get_ataraid_disk_name() and get_ada_disk_name().
13829
1e9aef7d
CW
138302011-06-13 Colin Watson <cjwatson@ubuntu.com>
13831
13832 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13833 input format.
13834
351c7c8a
CW
138352011-05-29 Colin Watson <cjwatson@ubuntu.com>
13836
13837 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13838 `ftp.gnu.org' for `alpha.gnu.org'.
13839
6b4e6430
CW
138402011-05-27 Colin Watson <cjwatson@ubuntu.com>
13841
13842 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13843 partitions under /dev/disk/by-id/.
13844
c64db050
CW
138452011-05-27 Colin Watson <cjwatson@ubuntu.com>
13846
13847 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13848 after ten consecutive open failures. Scanning all the way up to
13849 10000 is excessive and can cause serious performance problems in
13850 some configurations.
13851 Fixes Ubuntu bug #787461.
13852
245f4aba
VS
138532011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13856 opening new one.
13857
f767c929
VS
138582011-05-21 Colin Watson <cjwatson@ubuntu.com>
138592011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13860
13861 Don't stat devices unless we have to.
13862
13863 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
13864 dir == /dev/mapper.
13865 (grub_guess_root_device): Use already known os_dev if possible.
13866 * grub-core/kern/emu/hostdisk.c
13867 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
13868 if device is known to be a dm one.
13869
f35fa3a6
CW
138702011-05-20 Colin Watson <cjwatson@ubuntu.com>
13871
13872 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
13873 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
13874 Reported by: Pawel Tecza.
13875
9a79fcf2
VS
138762011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
13879 (lsefisystab): Likewise.
13880 (lssal): Likewise.
13881 (lsefimmap): Likewise.
13882 (hdparm): Enable on qemu-mips.
13883 (setjmp): Add ia64 nodist.
13884 (serial): Simplify tags.
13885
63e3eea9
CW
138862011-05-18 Colin Watson <cjwatson@ubuntu.com>
13887
13888 * Makefile.util.def (grub-ofpathname): Install manual page.
13889
09728256
CW
138902011-05-18 Colin Watson <cjwatson@ubuntu.com>
13891
13892 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
13893
8b63a142
CW
138942011-05-18 Colin Watson <cjwatson@ubuntu.com>
13895
13896 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
13897
e775d8ed
VS
138982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
13901 into dprintf.
13902
bf947d36
VS
139032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 Use full 64-bit division.
13906
13907 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
13908 (grub_divmod64): ... this.
13909 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
13910 version.
13911
b84f26c5
CW
139122011-05-18 Colin Watson <cjwatson@ubuntu.com>
13913
13914 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
13915 `source'.
13916
5626056f
CW
139172011-05-18 Colin Watson <cjwatson@ubuntu.com>
13918
13919 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
13920 to avoid accidents when debugging with 'sh -x'.
13921 * grub-core/gensyminfo.sh.in: Likewise.
13922 * tests/example_scripted_test.in: Likewise.
13923 * tests/grub_cmd_regexp.in: Likewise.
13924 * tests/grub_script_blanklines.in: Likewise.
13925 * tests/grub_script_dollar.in: Likewise.
13926 * tests/grub_script_expansion.in: Likewise.
13927 * tests/grub_script_final_semicolon.in: Likewise.
13928 * tests/partmap_test.in: Likewise.
13929 * tests/util/grub-shell-tester.in: Likewise.
13930 * tests/util/grub-shell.in: Likewise.
13931
e2965f4a
CW
139322011-05-18 Colin Watson <cjwatson@ubuntu.com>
13933
13934 Move gfxmenu color handling to video, so that gfxterm can use it
13935 too.
13936
13937 * grub-core/gfxmenu/named_colors.c: Move to ...
13938 * grub-core/video/colors.c: ... here. Rename
13939 grub_gui_get_named_color to grub_video_get_named_color.
13940 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
13941 * grub-core/video/colors.c (my_isxdigit): ... here.
13942 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
13943 Move to ...
13944 * grub-core/video/colors.c (parse_hex_color_component): ... here.
13945 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
13946 to ...
13947 * grub-core/video/colors.c (grub_video_parse_color): ... here.
13948
13949 * include/grub/gui.h (grub_gui_color_t): Move to ...
13950 * include/grub/video.h (grub_video_rgba_color_t): ... here.
13951 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
13952 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
13953 * include/grub/gui.h (grub_gui_map_color): Move to ...
13954 * include/grub/video.h (grub_video_map_rgba_color): ... here.
13955 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
13956 to ...
13957 * include/grub/video.h (grub_video_get_named_color): ... here.
13958 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
13959 * include/grub/video.h (grub_video_parse_color): ... here.
13960
13961 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
13962 video/colors.c.
13963 (gfxmenu): Remove gfxmenu/named_colors.c.
13964 (video) [videomodules]: Add video/colors.c.
13965
13966 Add a background_color command.
13967
13968 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
13969 function.
13970 (GRUB_MOD_INIT): Register background_color command.
13971 (GRUB_MOD_FINI): Unregister background_color command.
13972 (redraw_screen_rect): Allow blend/replace of text layer to be
13973 controlled independently from whether there is a background bitmap.
13974 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
13975 changing bitmap.
13976
1e4b4390
VS
139772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13978
26618ff0
VS
13979 Patch BPB in ntldr and chainloader --bpb.
13980
1e4b4390
VS
13981 * grub-core/fs/fat.c: Include grub/fat.h.
13982 (grub_fat_bpb): Moved to ...
13983 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
13984 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
13985 grub/ntfs.h.
13986 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
13987 Moved from here...
13988 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
13989 here.
13990 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
13991 New function.
13992 (grub_chainloader_cmd): Patch BPB if --bpb is given.
13993 (GRUB_MOD_INIT): Show --bpb.
13994 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
13995 * grub-core/normal/main.c (features): New variable.
13996 (GRUB_MOD_INIT): Set feature_* variables.
13997 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
13998 proto.
13999 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
14000
cf02731e
VS
140012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
14004 for cleanness.
14005
e3a1073f
VS
140062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 FreeDOS direct loading support.
14009
14010 * docs/grub.texi (Supported OS): Add FreeDOS.
14011 * grub-core/Makefile.core.def (freedos): New module.
14012 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
14013 variable.
14014 (grub_relocator16_boot): Handle %ebx.
14015 * grub-core/lib/i386/relocator16.S: Likewise.
14016 * grub-core/loader/i386/pc/freedos.c: New file.
14017
05caa461
VS
140182011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 Long Linux command line support.
14021
14022 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14023 (maximal_cmdline_size): New variable.
14024 (allocate_pages): Use maximal_cmdline_size.
14025 (grub_cmd_linux): Set and use maximal_cmdline_size.
14026 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
14027 (allocate_pages): Use maximal_cmdline_size.
14028 (grub_cmd_linux): Set and use maximal_cmdline_size.
14029 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
14030 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
14031 and cmdline_size.
14032
a2491e23
VS
140332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
140342011-05-18 Colin Watson <cjwatson@ubuntu.com>
14035
14036 Improve devmapper support
14037
14038 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
14039 (grub_util_is_lvm): New function.
14040 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
14041 than lvm if not dmraid.
14042 Handle mapped md nodes.
14043 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
14044 (grub_util_device_is_mapped): ... this. Make always available. All users
14045 updated.
14046 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
14047 (convert_system_partition_to_system_disk): Handle lvm, mpath and
14048 dmraid nodes.
14049 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
14050
6ad6223e
VS
140512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14052
14053 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
14054
14055 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
14056 * grub-core/modinfo.sh.in: New file.
14057 * grub-core/Makefile.core.def (modinfo.sh): New script.
14058 * util/grub-mknetdir.in: Use modinfo.sh.
14059 * util/grub-mkrescue.in: Likewise.
14060
543a8f6e
VS
140612011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14064 Fix potential usage of Elf32 instead of Elf64 when compiling on
14065 32-bit architecture. Add endianness macros while on it.
14066
4959e111
VS
140672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 Use mipsel- rather than mips- in directories involving mipsel ports to
14070 allow both endiannesses coexist.
14071
14072 * configure.ac: proparate target_cpu=mipsel rather than resetting to
14073 mips. All conditions adjusted.
14074 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
14075 variable.
14076 * util/grub-install.in: Adjust conditions to take renaming into account.
14077 * util/grub-mkimage.c (image_targets): Likewise. New target
14078 mips-qemu_mips-elf for bigendian mips.
14079
35341bbc
VS
140802011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 Avoid unnecessary copying on MIPS.
14083
14084 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
14085 early if src == dest.
14086 * util/grub-mkimage.c (generate_image): Arange for src == dest if
14087 compression is none.
14088
b772baed
VS
140892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 Reduce memory footprint on SGI by putting modules before the kernel
14092 as opposed to after.
14093
14094 * grub-core/Makefile.core.def (kernel): Increase linking address.
14095 (none_decompress): Likewise.
14096 (xz_decompress): Likewise.
14097 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
14098 address.
14099 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
14100 layout change.
14101 (grub_arch_modules_addr): New function.
14102 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
14103 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
14104 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
14105 here.
14106 * grub-core/kern/mips/startup.S (total_size): Rename to ...
14107 (grub_total_modules_size): ... this. Make global.
14108 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
14109 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
14110 New definition.
14111 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
14112 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
14113 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
14114 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
14115 * util/grub-mkimage.c (image_target_desc): New flag
14116 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
14117 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
14118 (generate_image): Handle images with modules before kernel.
14119
566a1917
VS
141202011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 Prevent potential loss of memory map by overwrite on qemu-mips.
14123
14124 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14125 Save ram size in $s4.
14126 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
14127 All users changed to grub_arch_memsize.
14128 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
14129 Loongson.
14130 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
14131 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
14132 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
14133 external variable.
14134
5d420cd9
CW
141352011-05-17 Colin Watson <cjwatson@ubuntu.com>
14136
14137 * .bzrignore: Remove grub-dumpbios.
14138
d064b830
CW
141392011-05-17 Colin Watson <cjwatson@ubuntu.com>
14140
14141 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
14142 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
14143 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
14144 existing options which append).
14145 * docs/grub.texi (Simple configuration): Document new options.
14146 Reported by: Ian Jackson. Fixes Debian bug #617538.
14147
3ca2b466
CW
141482011-05-17 Colin Watson <cjwatson@ubuntu.com>
14149
14150 * util/grub-fstest.c (cmd_cat): New function.
14151 (fstest): Handle CMD_CAT.
14152 (options): Add cat.
14153 (argp_parser): Handle cat.
14154
24c9143a
CW
141552011-05-17 Colin Watson <cjwatson@ubuntu.com>
14156
14157 * Makefile.util.def (grub-bin2h): Don't install.
14158 * docs/man/grub-bin2h.h2m: Remove.
14159
90f7ac19
VS
141602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
14163 place.
14164
8d4a5178
VS
141652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 Reenable qemu-mips port.
14168
14169 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
14170 Fix small arc bug while on it.
14171 * gentpl.py: Handle qemu_mips.
14172 * grub-core/Makefile.am: Likewise.
14173 * grub-core/Makefile.core.def: Likewise.
14174 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
14175 inappropriate includes.
14176 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
14177 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
14178 * grub-core/kern/main.c (grub_modules_get_end)
14179 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
14180 * grub-core/kern/mips/qemu-mips: Moved to ..
14181 * grub-core/kern/mips/qemu_mips: ... this.
14182 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
14183 (grub_machine_init): Call terminfo_init and serial_init.
14184 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
14185 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
14186 New variable.
14187 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
14188 parameter passing.
14189 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
14190 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
14191 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
14192 * include/grub/mips/qemu_mips/cmos.h: New file.
14193 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
14194 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
14195 Removed.
14196 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
14197 Use correct mips-style address.
14198 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
14199 (GRUB_TICKS_PER_SECOND): Removed.
14200 (grub_get_rtc): Likewise.
14201 (grub_cpu_idle): Likewise.
14202 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
14203 New definition.
14204 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
14205 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
14206 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
14207 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
14208 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
14209 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
14210 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
14211 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
14212
400b9371
VS
142132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 SGI ARCS port.
14216
14217 * Makefile.util.def (libgrubmods.a): Add dvh.c.
14218 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
14219 platforms.
14220 * configure.ac: New target mips-arc.
14221 * gentpl.py: Likewise.
14222 * grub-core/Makefile.am: Likewise.
14223 * grub-core/Makefile.core.def: Likewise.
14224 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
14225 (none_decompress): Likewise.
14226 (lsdev): New module.
14227 (datetime): Use lib/arc/datetime.c on ARC.
14228 (part_dvh): New module.
14229 * grub-core/commands/arc/lsdev.c: New file.
14230 * grub-core/disk/arc/arcdisk.c: Likewise.
14231 * grub-core/kern/mips/arc/init.c: Likewise.
14232 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
14233 aligned addresses.
14234 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
14235 support.
14236 (grub_arch_dl_relocate_symbols): Likewise.
14237 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
14238 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
14239 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
14240 platforms.
14241 * grub-core/lib/arc/datetime.c: New file.
14242 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
14243 pci.h on non-loongson.
14244 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
14245 (grub_linux_boot): Set unused registers to 0.
14246 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
14247 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
14248 * grub-core/mmap/mips/uppermem.c: ...here.
14249 * grub-core/partmap/dvh.c: New file.
14250 * grub-core/term/arc/console.c: Likewise.
14251 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
14252 (grub_terminfo_set_current): Add terminal "arc".
14253 (grub_terminfo_readkey): Support ARC sequences.
14254 * include/grub/arc/arc.h: New file.
14255 * include/grub/arc/console.h: Likewise.
14256 * include/grub/disk.h (grub_disk_dev_id): Add
14257 GRUB_DISK_DEVICE_ARCDISK_ID.
14258 * include/grub/mips/arc/kernel.h: New file.
14259 * include/grub/mips/arc/memory.h: Likewise.
14260 * include/grub/mips/arc/time.h: Likewise.
14261 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14262 * include/grub/mips/kernel.h (grub_halt): ... here.
14263 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14264 here...
14265 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14266 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14267 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14268 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14269 proto.
14270 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14271 from here ...
14272 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14273 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14274 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14275 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14276 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14277 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14278 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14279 (grub_phys_addr_t): Moved from here ...
14280 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14281 (grub_vtop): Moved from here ...
14282 * include/grub/mips/memory.h (grub_vtop): ... here.
14283 (grub_map_memory): Moved from here ...
14284 * include/grub/mips/memory.h (grub_map_memory): ... here.
14285 (grub_unmap_memory): Moved from here ...
14286 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14287 (grub_machine_mmap_iterate): Moved from here ...
14288 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14289 (grub_mmap_get_lower): Moved from here ...
14290 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14291 (grub_mmap_get_upper): Moved from here ...
14292 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14293 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14294 here ...
14295 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14296 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14297 here ...
14298 * include/grub/mips/time.h (grub_get_rtc): ... here.
14299 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14300 here ...
14301 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14302 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14303 here ...
14304 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14305 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14306 definition.
14307 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14308 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14309 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14310 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14311 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14312 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14313 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14314 (GRUB_MACHINE_LINK_ADDR): Likewise.
14315 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14316 to 6.
14317 * util/grub-install.in: Run dvhtool on ARC.
14318 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14319 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14320
c8ecc840
VS
143212011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14324 blocks.
14325
153a4b55
VS
143262011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14329 after enabling port.
14330
ff44d107
VS
143312011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 Skip incorrect USB devices.
14334
14335 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14336 configcnt == 0.
14337 * include/grub/usb.h (grub_usb_err_t): New enum value
14338 GRUB_USB_ERR_BADDEVICE.
14339
638dbe4f
VS
143402011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 Fuloong video init support.
14343
14344 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14345 well.
14346 (grub_vga_read_arx): New function.
14347 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14348 definition.
14349 (framebuffer): New members io, mmioptr and mmiobase.
14350 (read_sis_cmd): New function.
14351 (write_sis_cmd): Likewise.
14352 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14353 rather than 640x400.
14354 * grub-core/video/sis315_init.c: New file.
14355
c3fc520c
VS
143562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14359 non-loongson.
14360 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14361 to grub_dl_register_symbol.
14362
67b1e5c9
VS
143632011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 Fix compilation errors.
14366
14367 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14368 potentially unused.
14369 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14370 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14371 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14372 to loongson machines.
14373
b756f75f
VS
143742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 Several FS mtime support.
14377
14378 * grub-core/fs/affs.c (grub_affs_time): New struct.
14379 (grub_affs_file): New field mtime.
14380 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14381 type. Removed 'size'. New field 'di'. All users updated.
14382 (grub_affs_mount): Simplify checsum checking.
14383 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14384 (grub_affs_dir): Handle mtime.
14385 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14386 (grub_cpio_dir): Likewise.
14387 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14388 (grub_hfs_filerec): New field mtime.
14389 (grub_hfs_dir): Handle mtime.
14390 (grub_hfs_mtime): New function.
14391 (grub_hfs_fs): Register grub_hfs_mtime.
14392 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14393 (grub_iso9660_dir): New field mtime.
14394 (grub_fshelp_node): New field dirent.
14395 (iso9660_to_unixtime): New function.
14396 (iso9660_to_unixtime2): Likewise.
14397 (grub_iso9660_read_symlink): Use node->dirent.
14398 (grub_iso9660_iterate_dir): Likewise.
14399 (grub_iso9660_dir): Set mtime.
14400 (grub_iso9660_mtime): New function.
14401 (grub_iso9660_fs): Register grub_iso9660_mtime.
14402 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14403 (grub_jfs_inode): New fields atime, ctime and mtime.
14404 (grub_jfs_dir): Set mtime.
14405 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14406 * grub-core/fs/ntfs.c (list_file): Set mtime.
14407 (grub_ntfs_dir): Likewise.
14408 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14409 (grub_reiserfs_iterate_dir): Set mtime.
14410 (grub_reiserfs_dir): Likewise.
14411 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14412 (grub_fshelp_node): Likewise.
14413 (grub_sfs_iterate_dir): Set mtime.
14414 (grub_sfs_dir): Likewise.
14415 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14416 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14417 (grub_xfs_inode): New fields atime, mtime, ctime.
14418 (grub_xfs_dir): Set mtime.
14419 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14420 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14421 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14422
14423 Support UDF symlinks.
14424
14425 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14426 (grub_ufs_read_symlink): New function. All users updated.
14427
14428 Check amiga partmap checksum.
14429
14430 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14431 (grub_amiga_partition): Likewise.
14432 (amiga_partition_map_checksum): New function.
14433 (amiga_partition_map_iterate): Check checksum.
14434
5470225d
VS
144352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 ROMFS support.
14438
14439 * Makefile.util.def (libgrubmods.a): Add romfs.
14440 * grub-core/Makefile.core.def (romfs): New module.
14441 * grub-core/fs/romfs.c: New file.
14442
d4680a35
VS
144432011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 Squashfs v4 support.
14446
14447 * Makefile.util.def (libgrubmods.a): Add squash4.
14448 * grub-core/Makefile.core.def (squash4): New module.
14449 * grub-core/fs/squash4.c: New file.
14450 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14451 disk_input_start, disk_input.
14452 (get_byte): Handle disk_input.
14453 (grub_zlib_disk_read): New function.
14454 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14455
bcb18e74
FZ
144562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
144572011-05-15 Feiran Zheng <famcool@gmail.com>
14458
14459 * Makefile.util.def (libgrubmods.a): Add minix3.
14460 * grub-core/Makefile.core.def (minix3): New module.
14461 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14462 (GRUB_MINIX_BSIZE): Removed.
14463 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14464 (grub_minix_ino_t): New type.
14465 (grub_minix_le_to_cpu_ino): New macro.
14466 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14467 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14468 (grub_minix_data): New field block_size.
14469 (grub_minix_read_file): Handle 64-bit correctly.
14470 * grub-core/fs/minix3.c: New file.
14471
32297d5f
TG
144722011-05-15 Tristan Gingold <gingold@free.fr>
144732011-05-15 Robert Millan <rmh.grub@aybabtu.com>
144742011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 IA64 support.
14477
14478 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14479 * configure.ac: Add ia64-efi target.
14480 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14481 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14482 * gentpl.py: Add ia64_efi platform.
14483 Rename x86_efi to efi and Add ia64-efi. All users updated.
14484 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14485 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14486 Remove kern/generic/rtc_get_time_ms.c on EFI.
14487 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14488 kern/ia64/dl_helper.c on ia64-efi.
14489 Add kern/emu/cache.c on emu.
14490 (linux): Use on loader/ia64/efi/linux.c on ia64.
14491 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14492 whether symbol is a function.
14493 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14494 (grub_symbol): New field 'isfunc'.
14495 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14496 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14497 (grub_dl_load_segments): Place all sections into the same region.
14498 [__ia64__]: Create trampolines and got.
14499 [GRUB_MACHINE_EMU]: Call mprotect.
14500 (grub_dl_resolve_symbols): Resolve symbol type as well.
14501 [__ia64__]: Create function descriptors.
14502 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14503 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14504 (grub_get_rtc): New function.
14505 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14506 * grub-core/kern/emu/cache.S: Renamed to ...
14507 * grub-core/kern/emu/cache_s.S: ... this.
14508 [__ia64__]: Add a nop.
14509 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14510 [__ia64__]: New function.
14511 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14512 * grub-core/kern/ia64/dl.c: New file.
14513 * grub-core/kern/ia64/dl_helper.c: Likewise.
14514 * grub-core/kern/ia64/efi/init.c: New file.
14515 * grub-core/kern/ia64/efi/startup.S: Likewise.
14516 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14517 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14518 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14519 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14520 * grub-core/loader/ia64/efi/linux.c: New file.
14521 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14522 (GRUB_MOD_DEP): Likewise.
14523 (grub_dl) [__ia64__]: New fields got and tramp.
14524 (grub_dl): New field 'base'.
14525 (grub_dl_register_symbol): New argument isfunc. All users updated.
14526 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14527 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14528 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14529 (grub_ia64_dl_get_tramp_got_size): New proto.
14530 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14531 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14532 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14533 * include/grub/efi/api.h: Skip call wrappers on ia64.
14534 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14535 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14536 * include/grub/elf.h (ELF_ST_INFO): New definition.
14537 * include/grub/ia64/efi/kernel.h: New file.
14538 * include/grub/ia64/efi/memory.h: Likewise.
14539 * include/grub/ia64/efi/time.h: Likewise.
14540 * include/grub/ia64/kernel.h: Likewise.
14541 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14542 * include/grub/ia64/time.h: New file.
14543 * include/grub/ia64/types.h: Likewise.
14544 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14545 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14546 New protos.
14547 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14548 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14549 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14550 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14551 All users updated.
14552 (EFI64_HEADER_SIZE): New definition. All users updated.
14553 (image_targets): Add ia64-efi.
14554 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14555 jumpers_addr. All users updated.
14556 Create function descriptors.
14557 (count_funcs): New function.
14558 (unaligned_uint32): New struct.
14559 (MASK20): New definition.
14560 (MASK19): Likewise.
14561 (MASKF21): Likewise.
14562 (add_value_to_slot_20b): New function.
14563 (add_value_to_slot_21_real): Likewise.
14564 (add_value_to_slot_21): Likewise.
14565 (ia64_kernel_trampoline): New struct.
14566 (nopm): New variable.
14567 (jump): Likewise.
14568 (make_trampoline): New function.
14569 (relocate_addresses): Handle ia64.
14570 (make_reloc_section): Likewise.
14571 (load_image): Likewise.
14572
983b414d
VS
145732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14576 warning. Move variables before code while on it.
14577
5d063cdc
VS
145782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 Fuloong support.
14581
14582 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14583 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14584 * grub-core/boot/mips/loongson/fuloong.S: New file.
14585 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14586 Explicitly init CS5536.
14587 [FULOONG]: Don't use serial until CS5536 is available.
14588 Set GPIO based on dumps.
14589 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14590 [FULOONG]: Handle GPIO and memory controller differences.
14591 Parse machine type in $a2.
14592 * grub-core/boot/mips/startup_raw.S: Determine and save the
14593 architecture.
14594 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14595 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14596 init on architecture type.
14597 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14598 SIS315E. Don't init at_keyboard on fuloong.
14599 (grub_halt): Support Fuloong.
14600 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14601 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14602 (loongson_machtypes): New array.
14603 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14604 type.
14605 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14606 config. All users updated. Handle CS5536 serial.
14607 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14608 default port on machine type. Register serial as inactive.
14609 * grub-core/video/sis315pro.c: New file.
14610 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14611 definition.
14612 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14613 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14614 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14615 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14616 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14617 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14618 to ...
14619 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14620 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14621 definition.
14622 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14623 (grub_arch_machine): New extern var.
14624 * include/grub/mips/loongson/serial.h
14625 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14626 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14627 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14628 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14629 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14630 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14631 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14632 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14633 * include/grub/term.h (grub_term_register_input_inactive): New inline
14634 function.
14635 (grub_term_register_output_inactive): Likewise.
14636 * include/grub/video.h (grub_video_driver_id): New value
14637 GRUB_VIDEO_DRIVER_SIS315PRO.
14638 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14639 New field "names". All users updated.
14640 New field value IMAGE_FULOONG_FLASH.
14641 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14642
6ada82d1
JU
146432011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14644
14645 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14646 and add some clarification.
14647
90c571a4
VS
146482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14651 platforms if kernel is compressed.
14652
de04eecf
VS
146532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14654
14655 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14656 unused modules since currently referrence counter isn't reliable and
14657 there isn't much memory to recover there anyway.
14658
57688121
VS
146592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14662 rather than resetting it to allow modules to reference themselves
14663 in init.
14664
3d2c7e35
VS
146652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14668 counter on dependencies since grub_dl_unref already handles this.
14669
b25db218
VS
146702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14673 on error if not already done.
14674
25a45338
VS
146752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 Fix few potential memory misusage.
14678
14679 * grub-core/font/font.c (load_font_index): Don't free char_index to
14680 avoid double free.
b25db218
VS
14681 (grub_font_load): Zero-fill font at alloc for safety.
14682 Close file on error.
14683 (free_font): Free bmp_idx.
25a45338 14684
0cac83df
VS
146852011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * docs/grub.texi (Installation): Fix several outdated claims.
14688
2217a143
VS
146892011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 Handle module_license on windows.
14692
14693 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14694 sections shifted.
14695 (insert_string): Make argument const char * instead of char *.
14696 (write_section_data): Handle long section names.
14697 Handle module_license.
14698
d4de6b01
VS
146992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14702 handle class-free menuentries.
14703 (grub_normal_add_menu_entry): Add a check to be sure.
14704
4c2a3b43
VS
147052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14708 PgUp and PgDown.
14709
85c6210f
VS
147102011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 * configure.ac: Bump version to 1.99.
14713
36084912
VS
147142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 Give ATA device a bit more time on first try in order to allow disks
14717 to spin up.
14718
14719 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14720 if dev->present is 1. Reset dev->present on failure.
14721 (grub_ata_device_initialize): Set dev->present to 1.
14722 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14723 (grub_ata_device): New member 'present'.
14724
bda0e219
VS
147252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 * util/grub-mkimage.c (generate_image): Update hash.
14728
19e1c41b
VS
147292011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14730
14731 Flush caches on DMA memory.
14732
14733 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14734 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14735 (grub_dma_free): Likewise.
14736 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14737
91bbcc0c
VS
147382011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14741 to avoid asm treating ld and sd as macros.
14742
60ddfad3
VS
147432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14746 decompressor.
14747
a298aa04
VS
147482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14749
14750 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14751 grub_decompress_core since later would fail if grub_decompress_core
14752 is too far.
14753
9b44feca
VS
147542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14757 R_MIPS_JALR since it's used by newer compiler.
14758
56dbe7b4
VS
147592011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14762
52856af2
VS
147632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14766 file_path to 0 for surety.
14767 (grub_chainloader_boot): Set exit_data to NULL.
14768 Unset the loader once done.
14769 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14770
9c9bfc6d
VS
147712011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14774 unknown key into a dprintf.
14775
dd94a3df
VS
147762011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14779 on first non-existant partition.
14780
fa68d99c
VS
147812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14784 openning fails.
14785 Reported by: Mark Korenberg.
14786
157effb7
VS
147872011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14790 overflow.
14791
ea75312f
VS
147922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14793
14794 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14795 before closing to ensure that it will be readable by grub-setup.
14796
072b5d31
VS
147972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14800 (devpath_1): Use MAKE_PIWG_PATH.
14801 (devpath_2): Likewise.
14802 (devpath_3): Likewise.
14803 (devpath_4): Likewise.
14804 (devpath_5): Likewise.
14805 (devpath_6): Likewise.
14806
14807 The appleldr.mod was checked that to be binary identical to previous
14808 version.
14809
7fae0051
Z
148102011-05-05 Zach <mikezackles>
14811
14812 Support 2010 Macbooks.
14813
14814 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14815 (devs): Add devpath_6.
14816
7c515bee
VS
148172011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14820 /dev/random. /dev/urandom is good enough for our purposes (salting).
14821
ed660bd8
VS
148222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14823
14824 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14825
ee5614b7
VS
148262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14829 hexadecimal.
14830
664889a6
VS
148312011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14834 and not 0 on failure.
14835
bd405bbc
CW
148362011-05-03 Colin Watson <cjwatson@ubuntu.com>
14837
14838 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14839 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14840 disk; otherwise grub_fs_probe will not fall back to the next
14841 filesystem.
14842 (grub_pxefs_open): Likewise, for consistency.
14843 Reported and tested by: Ezekiel Grave.
14844
4ebff753
CW
148452011-05-03 Colin Watson <cjwatson@ubuntu.com>
14846
14847 * tests/partmap_test.in: Don't hardcode path to parted.
14848 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14849
8f942553
CW
148502011-05-01 Colin Watson <cjwatson@ubuntu.com>
14851
14852 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14853 of `ls' to find out which devices are available.
14854
3c62402d
VS
148552011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14858 than source address for efi mmap buffer.
14859
723f63f2
VS
148602011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
14863 wrong action on non-detecting the magic.
14864
68797f92
VS
148652011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
14868 already supplied by another part of the module (fixes compilation on
14869 FreeBSD).
14870
6be8715d
VS
148712011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
14874 match the one used by mdadm.
14875
e91dba5b
CW
148762011-04-21 Colin Watson <cjwatson@ubuntu.com>
14877
14878 * po/README: Add instructions for creating po/LINGUAS.
14879
c85140b3
CW
148802011-04-21 Colin Watson <cjwatson@ubuntu.com>
14881
14882 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
14883 #551428.
14884
14885 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
14886 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
14887 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
14888 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14889 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
14890 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
14891 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
14892 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
14893 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
14894 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
14895 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
14896 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
14897 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
14898 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
14899 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
14900 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
14901 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
14902 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
14903 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
14904 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
14905 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
14906 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
14907
92051871
CW
149082011-04-21 Colin Watson <cjwatson@ubuntu.com>
14909
14910 * grub-core/kern/emu/getroot.c
14911 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
14912 test that was incorrectly reintroduced in r3214.
14913 Reported by: Ian Dall. Fixes Savannah bug #33133.
14914
b13f79a4
CW
149152011-04-21 Colin Watson <cjwatson@ubuntu.com>
14916
14917 Fix stack pointer handling in 16-bit relocator.
14918
14919 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
14920 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
14921 Fixes Ubuntu bug #683904.
14922
9b710a88
VS
149232011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 * configure.ac: Bump version to 1.99~rc2.
14926
d97e7b59
VS
149272011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14928
14929 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
14930 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
14931 * grub-core/lib/x86_64/setjmp.S: Likewise.
14932 * grub-core/lib/mips/setjmp.S: Likewise.
14933 * grub-core/lib/powerpc/setjmp.S: Likewise.
14934 * grub-core/lib/sparc64/setjmp.S: Likewise.
14935
0624551c
VS
149362011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
14939 * grub-core/lib/efi/datetime.c: Likewise.
14940
e8f28d4c
VS
149412011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
14944 New function.
14945 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
14946 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
14947 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
14948
bba79a15
VS
149492011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
14952 bitmap.
14953 (grub_gfxterm_term_init): Likewise.
14954
abc474ef
VS
149552011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14956
14957 Take into account the decorations the computing menu entry width.
14958
14959 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
14960 (grub_gfxmenu_create_box): Register get_border_width.
14961 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
14962 if available.
14963 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
14964 get_border_width.
14965
e74b3947
EP
149662011-04-18 Endres Puschner <code@e7p.de>
14967
14968 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
14969 Don't skip first class.
14970
34faa595
VS
149712011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
14974 chunks.
14975 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
14976
93a777e3
VS
149772011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 Complete 64-bit division support.
14980
14981 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
14982 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
14983 * include/grub/misc.h (grub_divmod64): Rename to ...
14984 (grub_divmod64_full): ... this.
14985 (grub_divmod64): New inline function.
14986
a5102d94
VS
149872011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * util/grub-mkimage.c (generate_image): Add forgotten comma.
14990
f3fb7b36
VS
149912011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
14994 performing the necessary test.
14995
9ac718b0
VS
149962011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
14999 (kfreebsd.elf): Likewise.
15000 (pc-chainloader.elf): Likewise.
15001 (ntldr.elf): Likewise.
15002
50d2cc5a
VS
150032011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 Identify RAID by its UUID rather than (guessed) name.
15006
15007 * grub-core/disk/raid.c (ascii2hex): New function.
15008 (grub_raid_open): Accept mduuid/%s specification.
15009 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
15010 (get_mdadm_uuid): ... this.
15011 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
15012
e03f7bea
VS
150132011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
15016 to negative size.
15017
e74c3112
CW
150182011-04-13 Colin Watson <cjwatson@ubuntu.com>
15019
15020 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
15021 btrfs subvolume.
15022 * util/grub.d/20_linux_xen.in: Likewise.
15023
78fa584f
CW
150242011-04-13 Colin Watson <cjwatson@ubuntu.com>
15025
15026 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
15027 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
15028
15029 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15030 Build a list of relevant visible mounts using the mnt_id and
15031 parent_mnt_id fields, and then scan that list at the end.
15032
9d5f8162
CW
150332011-04-12 Colin Watson <cjwatson@ubuntu.com>
15034
15035 * docs/grub.texi (normal): New section.
15036 (normal_exit): New section.
15037 (Embedded configuration): Add reference to normal.
15038 (GRUB only offers a rescue shell): Likewise.
15039 * docs/grub-dev.texi (Error Handling): Fix typo.
15040
09a9d66f
CW
150412011-04-12 Colin Watson <cjwatson@ubuntu.com>
15042
15043 * NEWS: Drop obsolete entry about probe-only btrfs support.
15044
0c676933
CW
150452011-04-12 Colin Watson <cjwatson@ubuntu.com>
15046
15047 * util/import_gcry.py: Fix typo.
15048
ec9f5e0d
VS
150492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * NEWS: Add btrfs support.
15052
fe6b2cba
VS
150532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
150542011-04-11 Colin Watson <cjwatson@ubuntu.com>
15055
15056 BtrFS support. Written by me (Vladimir) with important bugfixes and
15057 even more important testing by Colin.
15058
15059 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
15060 * grub-core/Makefile.core.def (btrfs): Add crc.c.
15061 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
15062 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
15063 mem_input_off and mem_input. All users updated to accept in-RAM input.
15064 (gzio_seek): New function.
15065 (test_zlib_header): Likewise.
15066 (grub_gzio_read): Likewise.
15067 (grub_zlib_decompress): Likewise.
15068 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
15069 Accept partial and non-virtual mounts.
15070 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
15071 avoid receiving /dev/dm-X as device.
15072 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
15073 Handle bind and partial mounts.
15074 * grub-core/lib/crc.c: New file.
15075 * include/grub/deflate.h: Likewise.
15076 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
15077 proto.
15078 * include/grub/lib/crc.h: New file.
15079
e745cf0c
VS
150802011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 Implement automatic module license checking according to new GNU
15083 guidelines.
15084
15085 * grub-core/kern/dl.c (grub_dl_check_license): New function.
15086 (grub_dl_load_core): Use grub_dl_check_license.
15087 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
15088 (GRUB_MOD_LICENSE): Likewise.
15089 (GRUB_MOD_DUAL_LICENSE): Likewise.
15090 All modules updated.
15091
2a9bc016
CW
150922011-04-11 Colin Watson <cjwatson@ubuntu.com>
15093
15094 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
15095 reserved_first_sector to 1. btrfs reserves plenty of space for boot
15096 loaders.
15097 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
15098
8a3bc88e
VS
150992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
15102
af869a4a
VS
151032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 * util/grub-fstest.c (read_file): Report GRUB error if file opening
15106 failed.
15107
9ee8d94f
VS
151082011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
15109
15110 * grub-core/kern/file.c (grub_file_open): Don't take into account the
15111 parenthesis in the middle of the filename.
15112
b01abe3e
VS
151132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
15116 rather than trying to put initrd way too high.
15117 Reported by: Ryan Lortie <desrt@desrt.ca>
15118
335bda1e
VS
151192011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
15122 improperly removed string.
15123
5ca1a64d
VS
151242011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
15127 is_disk.
15128 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
15129 (open_device) Likewise.
15130 (grub_util_biosdisk_close): Likewise.
d8ce9995 15131 Reported by: Mark Korenberg.
5ca1a64d 15132
cbac5b1e
AK
151332011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
15134
15135 * util/grub-mkconfig_lib.in: Add missing quotes.
15136
088cdb65
CW
151372011-04-10 Colin Watson <cjwatson@ubuntu.com>
15138
15139 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
15140 is NULL.
15141
8b8a81fa
VS
151422011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 Dynamically count the number of lines for the lower banner.
15145
15146 * grub-core/normal/menu_entry.c (per_term_screen): New member
15147 num_entries.
15148 (print_down): Use num_entries.
15149 (update_screen): Likewise.
15150 (grub_menu_entry_run): Set num_entries.
15151 * grub-core/normal/menu_text.c (menu_viewer_data): New member
15152 num_entries.
15153 (grub_print_message_indented): Move real part to ...
15154 (grub_print_message_indented_real): ... here. Additional argument
15155 dry_run.
15156 (draw_border): Additional argument num_entries.
15157 (print_message): Additional argument dry_run.
15158 (print_entries): Receive menu viewer data.
15159 (grub_menu_init_page): New argment num_entries.
15160 (menu_text_set_chosen_entry): Use num_entries.
15161 (grub_menu_try_text): Likewise.
15162 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
15163 All users updated.
15164 (grub_ucs4_count_lines): New function.
15165 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
15166 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
15167 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
15168 (grub_term_border_height): Likewise.
15169 (grub_term_num_entries): Likewise.
15170
277f955b
VS
151712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
15174 Remove now unused string.
15175
536ce85a
CW
151762011-04-09 Colin Watson <cjwatson@ubuntu.com>
15177
15178 * docs/grub-dev.texi (Finding your way around): Update for 1.99
15179 build system.
15180 (Getting started): GRUB is developed in Bazaar now, not Subversion.
15181
15182 (Comment): Fix typo.
15183 (Getting started): General copy-editing.
15184 (Typical Development Experience): Likewise.
15185 (Error Handling): Likewise.
15186 (Video API): Likewise.
15187
2cf09e32
CW
151882011-04-09 Colin Watson <cjwatson@ubuntu.com>
15189
15190 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
15191 throughout.
15192
1ec652f4
VS
151932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * util/grub-mkimage.c (main): Handle special naming of yeeloong
15196 directory.
15197
2c583728
CW
151982011-04-08 Colin Watson <cjwatson@ubuntu.com>
15199
15200 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
15201 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
15202 "development".
15203
d7a565e9
VS
152042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15205
15206 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
15207 grub_strcpy since the lines aren't necessarily 0-terminated.
15208
7c2e4909
VS
152092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
15212 root on legacy.
15213
34c09785
VS
152142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 * grub-core/commands/probe.c (options): Argument to set isn't optional.
15217 (GRUB_MOD_INIT): DEVICE isn't optional.
15218
6a6f8058
VS
152192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
15222 word on new line if it's too long anyway. Fixes a hang.
15223
2e335e90
VS
152242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15225
15226 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
15227 const.
15228 * util/grub-setup.c (main): Reuse md device name if available.
15229 * util/raid.c (grub_util_raid_getmembers): Receive device name and
15230 not GRUB name as argument.
15231 Based on patch by: Florian Wagner <fwagner>.
15232
10a7a867
VS
152332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15236 Place mbi on low memory for better compatibility.
15237
7a3d6cd9
VS
152382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
15241
18dd6b47
VS
152422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
152432011-04-08 Colin Watson <cjwatson@ubuntu.com>
15244
15245 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 15246 * conf/Makefile.common: Likewise.
18dd6b47 15247
3c0e3f14
VS
152482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15249
f7148863
VS
15250 * grub-core/normal/menu.c: Add missing include.
15251
152522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15253
15254 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 15255
6d1fa41f
MZ
152562011-04-08 Martin Zuther <mzuther@mzuther.de>
15257
15258 * util/grub-mkconfig.in: Ignore emacsen backup.
15259
478182a8
VS
152602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15263 on open.
15264 (grub_util_biosdisk_close): Likewise.
15265
72a89a54
VS
152662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15269 const attribute and use grub_isdigit.
15270
b5ebecfa
A
152712011-04-06 Andrey <dev_null@ukr.net>
15272
15273 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15274 gcc warning.
15275
7755f66e
VS
152762011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15279 useful grub_dprintf's.
15280
461121ff
VS
152812011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15284
2a961775
VS
152852011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15288
adf594cc
VS
152892011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 Output errors if theme loading failed.
15292
15293 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15294 grub_gfxterm_fullscreen on error paths to ...
15295 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15296 theme loading error.
15297
665900a3
VS
152982011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15301 space for older compilers.
15302 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15303
a562b479
VS
153042011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15307 and report them as not RAID members since they are useless for GRUB.
15308 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15309
850e9373
VS
153102011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 Increase LVM implementation robustness in order not to crash on
15313 configurations like pvmove. Previously code assumed that in some places
15314 only lvs or only pvs are used whereas it seems that they are used
15315 interchangeably.
15316
15317 * grub-core/disk/lvm.c (read_node): New function.
15318 (read_lv): Use read_node.
15319 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15320 Match volumes only at the end when all lvs are found. Take both
15321 pvs (first) and lvs (second) into account.
15322 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15323 mirror_* into node_*. All users updated.
15324 (grub_lvm_stripe): Merge this ...
15325 (grub_lvm_mirror): ... and this ...
15326 (grub_lvm_node): ... into this. All users updated.
15327
6f332153
VS
153282011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15331 of function to allow further scanning for LVMs.
15332
829ea451
VS
153332011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15336 on failed seek as it breaks open fd reusage.
15337
09ceb9a5
VS
153382011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * util/grub-install.in: Add a recommendation to use --recheck before
15341 reporting bugs.
15342
67e11623
VS
153432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15346 are obtained.
15347
caee5efd
VS
153482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 GRUB developper manual based on existing Internals section and
15351 contributions by the various authors with active copyright assignment.
15352
15353 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15354 * docs/font_char_metrics.png: New file.
15355 * docs/font_char_metrics.txt: Likewise.
15356 * docs/grub-dev.texi: Likewise.
15357 * docs/grub.texi (Internals): Move from here ...
15358 * docs/grub-dev.texi: ... here.
15359
2cccc747
CW
153602011-04-01 Colin Watson <cjwatson@ubuntu.com>
15361
15362 Store the loopback device as data on loopback grub_disk structures,
15363 rather than the file it points to. This fixes use of freed memory
15364 if an existing loopback device is replaced.
15365
15366 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15367 disk->data, not dev->file.
15368 (grub_loopback_read): Adjust file assignment to match.
15369 Fixes Ubuntu bug #742967.
15370
186ae367
CW
153712011-04-01 Colin Watson <cjwatson@ubuntu.com>
15372
15373 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15374 when replacing an existing device.
15375
cfed2ad0
VS
153762011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15379 memory corruptions.
15380
15381 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15382 unsigned.
15383 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15384 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15385 (grub_jfs_read_inode): Likewise.
15386 (grub_jfs_opendir): Likewise. Remove now useless casts.
15387 (grub_jfs_getent): Likewise.
15388 Make ino a grub_uint32_t rather than int.
15389 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15390 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15391 division and module with bit operations.
15392 (grub_jfs_find_file): Make ino a grub_uint32_t.
15393 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15394
05d2ed32
CW
153952011-04-01 Colin Watson <cjwatson@ubuntu.com>
15396
15397 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15398 warning. (This was in fact always initialised before use, but GCC
15399 wasn't smart enough to prove that.)
15400 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15401
91dc6073
VS
154022011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15405 stack alignment.
15406 (efi_wrap_1): Likewise.
15407 (efi_wrap_2): Likewise.
15408 (efi_wrap_3): Likewise.
15409 (efi_wrap_4): Likewise.
15410 (efi_wrap_5): Likewise.
15411 (efi_wrap_6): Likewise.
15412 (efi_wrap_10): Likewise.
15413 Based on information by: Red Hat/Peter Jones.
15414
a8afc1d1
CW
154152011-03-31 Colin Watson <cjwatson@ubuntu.com>
15416
15417 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15418 set-but-not-used variable.
15419
a826cc7d
CW
154202011-03-31 Colin Watson <cjwatson@ubuntu.com>
15421
15422 * docs/grub.texi (Simple configuration): Be more explicit about
15423 GRUB_DEFAULT, and add an example.
15424 Reported by: Leslie Rhorer.
15425
875b67ba
CW
154262011-03-30 Colin Watson <cjwatson@ubuntu.com>
15427
15428 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15429 shell".
15430
fd7cd914
AS
154312011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15432
15433 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15434 * util/grub.d/20_linux_xen.in: Likewise.
15435
090b1b6a
VS
154362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * util/grub.d/10_linux.in: Try alternative config filenames where
15439 we parse config file.
15440 * util/grub.d/20_linux_xen.in: Likewise.
15441
baad885c
AS
154422011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15443
15444 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15445 * util/grub.d/20_linux_xen.in: Likewise.
15446
241e41f5
VS
154472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * grub-core/disk/raid.c (insert_array): Add few potentially
15450 useful grub_util_info.
15451 (grub_raid_register): Likewise.
15452
56445fb2
VS
154532011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15456 Preserve partition number in mdadm code path.
15457
c871b1c6
VS
154582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15461 few potentially useful grub_util_info.
15462
5e631b4f
CW
154632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15466
2d5d0333
CW
154672011-03-30 Colin Watson <cjwatson@ubuntu.com>
15468
15469 * docs/grub.texi (default): Use @example rather than nested
15470 itemized lists to avoid breaking gendocs.
15471
3d7ed04e
CW
154722011-03-30 Colin Watson <cjwatson@ubuntu.com>
15473
15474 * docs/grub.texi (Future): Update.
15475
abf04200 154762011-03-30 Colin Watson <cjwatson@ubuntu.com>
15477
15478 * docs/grub.texi (Environment): New chapter.
15479 (Changes from GRUB Legacy): Link to "Environment block" section for
15480 details of limitations.
15481 (Simple configuration): Likewise. Link to documentation of gfxmode
15482 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15483 respectively.
15484 (Shell-like scripting): Note that normal variables are stored in the
15485 environment.
15486 (gettext): Link to documentation of lang and locale_dir.
15487 (list_env): New section.
15488 (load_env): New section.
15489 (save_env): New section.
15490
15491 (Reporting bugs): Fix typo.
15492
e1ad0edd
VS
154932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15496 the example.
15497
5d803174
VS
154982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * grub-core/term/at_keyboard.c (set_scancodes)
15501 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15502
2a2da1d0
CW
155032011-03-30 Colin Watson <cjwatson@ubuntu.com>
15504
15505 * docs/grub.texi (Menu-specific commands): Remove some semantics
15506 that were true in GRUB Legacy but not in GRUB 2.
15507 (submenu): New section.
15508 (false): New section.
15509 (read): New section.
15510 (true): New section.
15511
a7527639
CW
155122011-03-30 Colin Watson <cjwatson@ubuntu.com>
15513
15514 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15515
155162011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15517
15518 * docs/grub.texi (Simple configuration): Explain some of the
15519 current limitations of grub-mkconfig.
8a748df2 15520 Reported by: Leslie Rhorer.
e30af029 15521
fc858482
VS
155222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 Old macs search for boot.efi rather than for bootia32.efi.
15525
15526 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15527 * util/grub-mkrescue.in: Likewise.
15528 Suggested by: Peter Jones.
15529
e1eb511d
VS
155302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15533
70e75364
VS
155342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15537 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15538 (grub_lvm_mirror): New struct.
15539 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15540 (grub_lvm_iterate): Iterate only visible volumes.
15541 (grub_lvm_read): Factor out to ..
15542 (read_lv): ... this. Support mirrors.
15543 (grub_lvm_read): New wrapper function.
15544 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15545 stripped or mirrored.
15546
fc18f6a3
VS
155472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15548
15549 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15550
5c650f4c
CW
155512011-03-29 Colin Watson <cjwatson@ubuntu.com>
15552
15553 * docs/grub.texi (loopback): New section.
15554
61d7156b
CW
155552011-03-29 Colin Watson <cjwatson@ubuntu.com>
15556
15557 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15558 removed -p option.
15559
994b8264
CW
155602011-03-29 Colin Watson <cjwatson@ubuntu.com>
15561
15562 * docs/grub.texi (BIOS installation): New section, partly based on
15563 previous text in other sections.
15564 (Installing GRUB using grub-install): Replace BIOS discussion with a
15565 cross-reference.
15566 (Images): Likewise.
15567
9e4d19e0
VS
155682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15571 [HAVE_DIOCGDINFO]: Add safety checks.
15572
a307c0b2
VS
155732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15576 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15577
b4db4f39
CW
155782011-03-29 Colin Watson <cjwatson@ubuntu.com>
15579
15580 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15581 real_sb->size is zero (e.g. RAID-0), get the disk size from
15582 real_sb->data_size instead.
15583 Fixes Ubuntu bug #743136.
15584
35e5f84c
VS
155852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15588 printf clauses for printing size and start.
15589
d2e29d81
VS
155902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15593 Reported and tested by: Timothy Nikkel.
15594
ed5587af
VS
155952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15598 (dirty_region_add_real): ... this.
15599 (dirty_region_add): Don't discard margin refresh when performing
15600 scheduled repaint.
15601
a1dc717c
VS
156022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 * grub-core/lib/relocator.c (allocate_regstart)
15605 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15606 terminals are capabple of malloc-free operation.
15607 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15608 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15609
9f3677d3
VS
156102011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15611
15612 * util/grub-setup.c: Copy the partition table zone if floppy support
15613 is disabled, even if no partition table is found.
15614
15615 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15616 during POST if an invalid partition table is contained in the PBR
15617 of the active partition when GRUB is installed to a partition.
15618
24148725
CW
156192011-03-28 Colin Watson <cjwatson@debian.org>
15620
15621 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15622 comment.
15623
f329eda7
CW
156242011-03-28 Colin Watson <cjwatson@debian.org>
15625
15626 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15627 to be specific about what kind of RAID device we're scanning for.
15628
c482ad98
SG
156292011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15630
15631 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15632 return freed string.
15633
5ee04984
VS
156342011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15637
f4727da9
VS
156382011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 Use libgeom on FreeBSD to detect partitions.
15641
15642 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15643 (grub-mkrelpath): Likewise.
15644 (grub-script-check): Likewise.
15645 (grub-editenv): Likewise.
15646 (grub-mkpasswd-pbkdf2): Likewise.
15647 (grub-fstest): Likewise.
15648 (grub-mkfont): Likewise.
15649 (grub-mkdevicemap): Likewise.
15650 (grub-probe): Likewise.
15651 (grub-setup): Likewise.
15652 (grub-ofpathname): Likewise.
15653 (grub-mklayout): Likewise.
15654 (example_unit_test): Likewise.
15655 (grub-menulst2cfg): Likewise.
15656 * grub-core/Makefile.core.def (grub-emu): Likewise.
15657 (grub-emu-lite): Likewise.
15658 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15659 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15660 define HAVE_DIOCGDINFO.
15661 (follow_geom_up) [FreeBSD]: New function.
15662 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15663 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15664 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15665 unconditionally of HAVE_DIOCGDINFO.
15666
82fe6c75
VS
156672011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 Fix FreeBSD compilation problem.
15670
15671 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15672 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15673
4c6c9431
CW
156742011-03-24 Colin Watson <cjwatson@ubuntu.com>
15675
15676 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15677 Switch back to page zero before loading a kernel, since some kernel
15678 drivers expect that.
15679 Thanks to: Felix Kuehling.
15680
c7064d94
VS
156812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15684 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15685 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15686
3f71cded
VS
156872011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15690 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15691
ef6de21a
VS
156922011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15695 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15696 malloc is disabled.
15697
8bc66a2c
VS
156982011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15701 for modules headers when counting the needed allocation size.
15702
5657722c
VS
157032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15706 if no ASCII character is found to prevent crash.
15707
41a85f55
AK
157082011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15709
15710 * grub-core/video/bitmap.c (match_extension): Ignore case.
15711
59e1e5f1
VS
157122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15715
bd4d051a
VS
157162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * grub-core/script/parser.y: Declare "time" as valid argument.
15719
bae7fcc1
PJ
157202011-03-23 Peter Jones <pjones@redhat.com>
15721
15722 Fix incorrect assert failure reporting.
15723
15724 * grub-core/tests/example_functional_test.c (example_test): Add
15725 a failure comment.
15726 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15727 (failure_start): ...this. Check that malloc succeeded.
15728 Don't call xvasprintf. Return failure struct.
15729 (failure_append_vtext): New function.
15730 (failure_append_text): Likewise.
15731 (add_failure): Likewise.
15732 (grub_test_assert_helper): Likewise.
15733 * include/grub/test.h (grub_test_assert_helper): New declaration.
15734 (grub_test_assert): Macro rewritten.
15735
537dc9be
VS
157362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15739
fa3e01bf
VS
157402011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15743
b1d28404
VS
157442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15747 into GRUB-style one.
15748
2e3e2e09
VS
157492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15752 error and not grub_errno.
15753 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15754
ed57e557
VS
157552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15758 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15759
d1611f01
VS
157602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15761
15762 * grub-core/efiemu/i386/pc/cfgtables.c
15763 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15764 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15765 (grub_xnu_unlock): Likewise.
15766 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15767
7d4e39d6
VS
157682011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15771 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15772 * grub-core/commands/hashsum.c (aliases): Likewise.
15773 * grub-core/commands/setpci.c (pci_registers): Likewise.
15774 * grub-core/disk/usbms.c (attach_hook): Likewise.
15775 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15776 (zio_checksum_table): Likewise.
15777 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15778 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15779 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15780 * grub-core/lib/relocator.c (leftovers): Likewise.
15781 (extra_blocks): Likewise.
15782 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15783 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15784 (modules_last): Likewise.
15785 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15786 (devices): Likewise.
15787 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15788 (modules_last): Likewise.
15789 * grub-core/normal/auth.c (users): Likewise.
15790 * grub-core/normal/context.c (initial_menu): Likewise.
15791 (current_menu): Likewise.
15792 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15793 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15794 (grub_serial_terminfo_input_template): Likewise.
15795 (grub_serial_terminfo_output_template): Likewise.
15796 (grub_serial_terminfo_input): Likewise.
15797 (grub_serial_terminfo_output): Likewise.
15798 (registered): Likewise.
15799 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15800
40fc4659
VS
158012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15804 grub_video_mode_type_t.
15805 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15806 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15807 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15808
2da48d28
VS
158092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * util/grub-install.in: Correct the x86-64 name as x86_64.
15812
9b43bf39
CW
158132011-03-11 Colin Watson <cjwatson@ubuntu.com>
15814
15815 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15816 initial chunk read from the kernel always includes GRUB's multiboot
15817 header, which is now outside the first sector.
15818
be1a7ce0
CW
158192011-03-09 Colin Watson <cjwatson@ubuntu.com>
15820
15821 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15822 cached mmap_size, so that this works correctly when called multiple
15823 times.
15824 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15825
83a3c48d
CW
158262011-03-09 Colin Watson <cjwatson@ubuntu.com>
15827
15828 * docs/grub.texi (Simple configuration): Tidy up formatting.
15829
57d75699
SJ
158302011-03-07 Szymon Janc <szymon@janc.net.pl>
15831
15832 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15833 Set-but-not-used variable removed.
15834
028501a0
VS
158352011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 Workaround yet another IEEE1275 bug.
15838
15839 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15840 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15841 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15842 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15843 is set.
15844 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15845 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15846
d998657d
VS
158472011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15848
15849 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15850 error.
15851
fee7cdd4
CW
158522011-02-11 Colin Watson <cjwatson@ubuntu.com>
15853
15854 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15855 empty, since in that case we can only generate either nothing or a
15856 syntactically invalid configuration file.
15857 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15858
97286eb5
CW
158592011-02-09 Colin Watson <cjwatson@ubuntu.com>
15860
15861 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
15862 (Making a GRUB bootable CD-ROM): Likewise.
15863 (Invoking grub-mkrescue): New section.
15864 Reported by: Yann Dirson. Fixes Debian bug #612585.
15865
22b28eb3
CW
158662011-02-09 Colin Watson <cjwatson@ubuntu.com>
15867
15868 * util/grub-install.in: Remove unnecessary brackets from tr
15869 arguments.
15870 * util/grub.d/10_hurd.in: Likewise.
15871 * util/grub.d/10_kfreebsd.in: Likewise.
15872 * util/grub.d/10_linux.in: Likewise.
15873 * util/grub.d/20_linux_xen.in: Likewise.
15874 Reported by: Jamie Heilman. Fixes Debian bug #612564.
15875
7e735e43
CW
158762011-02-08 Colin Watson <cjwatson@ubuntu.com>
15877
15878 * include/grub/file.h (not_easly_seekable): Rename to ...
15879 (not_easily_seekable): ... this. Update all users.
15880
800f1881
CW
158812011-01-28 Colin Watson <cjwatson@ubuntu.com>
15882
15883 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
15884 grub-mkrescue.
15885
3281d3d6
VS
158862011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 * util/grub-mkimage.c (generate_image): Refuse to create the images
15889 bigger than the actual flash (512K) in Loongson machines. 512K is also
15890 the biggest chip supported by them.
15891
3533413c
VS
158922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
15895
73ae4f4f
VS
158962011-01-22 Anthony DeRobertis <anthony@derobert.net>
15897
15898 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
15899 super_offset field.
15900
37f4f608
VS
159012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * util/grub-install.in: Ignore install device on platforms
15904 where it doesn't make sense. Always use UUIDs except on pc, efi and
15905 sparc64.
15906 Reported by: Daniel Kahn Gillmor.
15907
03a4ccb5
VS
159082011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15909
15910 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
15911
ffc8f4d8
VS
159122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15913
15914 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
15915 (iterate_real): Don't rely on partition being non-NULL.
15916
80f23be7
VS
159172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
15920 supported platforms. Put a compile time assert for this rather than
15921 generate a warning with 32-bit shift.
15922
5d4f4dd5
VS
159232011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
15926 logical expression more readable.
15927
e489601a
VS
159282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
15931 even if some elements have a name.
15932 Reported by: Alexander GQ Gerasiov.
15933
96e0a6ea
CW
159342011-01-22 Colin Watson <cjwatson@ubuntu.com>
15935
15936 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
15937 path unreadable if `grub-probe -t abstraction' fails, for example if
15938 memberlist fails on an LVM volume group.
15939 Reported by: Darius Jahandarie.
15940
81431e2b
CW
159412011-01-22 Colin Watson <cjwatson@ubuntu.com>
15942
15943 * docs/grub.texi (Simple configuration): Document
15944 GRUB_PRELOAD_MODULES.
15945
5e79d66a
CW
159462011-01-17 Colin Watson <cjwatson@ubuntu.com>
15947
15948 * .bzrignore: Remove nonexistent grub-pbkdf2.
15949
646ada34
VS
159502011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * configure.ac: Bump version to 1.99~rc1.
15953
04360337
VS
159542011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
15957 for safety.
15958
46c9db88
VS
159592011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15960
15961 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
15962 module.
15963
159642011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
15965
15966 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
15967
4fbf1852
VS
159682011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
15971 diskdevid.
15972
f1632d4d
VS
159732011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 Fix compilation on cygwin.
15976
15977 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
15978 -R .drectve on cygwin.
15979 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
15980 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
15981 (COND_CYGWIN): New condition.
15982 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
15983 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
15984 not @TARGET_OBJ2ELF@.
15985 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
15986 type to determine whether aux is to be used.
15987
0b5e127b
VS
159882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
15991 realpath'ed device string.
15992 Handle floppy (somewhat).
15993 Issue error in unknown case rather than garbage.
15994 Reported by: Axel Beckert.
15995
173b71e9
VS
159962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 * util/grub.d/00_header.in (load_video): Handle the case when no video
15999 drivers available.
16000 Thanks to: Axel Beckert.
16001
f8f479db
VS
160022011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
16005 variable. Fixes problem on big endian platforms.
16006
8fc0a245
VS
160072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
16010 It doesn't work well there.
16011
b8494fbe
VS
160122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
16015 warning.
16016 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
16017 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
16018 counter.
16019
b44a558c
VS
160202011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 Use alias->path rather than buggy "canon".
16023
16024 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
16025 (ofdisk_hash_add): New argument curcan. All users updated.
16026
51fa856c
CW
160272011-01-11 Colin Watson <cjwatson@ubuntu.com>
16028
16029 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
16030
9da068a5
VS
160312011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
16034 loadmask before doing any calculations. Use correct type for offset.
16035 (grub_linux_load64): Likewise.
16036
86205c94
CW
160372011-01-11 Colin Watson <cjwatson@ubuntu.com>
16038
16039 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
16040 with NULL.
16041 (console_grub_equivalences_unshift): Likewise.
16042 Reported by: Daniel Dehennin.
16043
4531a206
VS
160442011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
16047 (set_env_limn_ro): Likewise.
16048 (GRUB_MOD_INIT): Likewise.
16049 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
16050 ARRAY_SIZE while on it.
16051 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
16052 * grub-core/normal/context.c (grub_env_export): Move from here ...
16053 * grub-core/kern/env.c (grub_env_export): ... here.
16054 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
16055 prefix.
16056 * grub-core/kern/main.c (grub_main): Export root and prefix.
16057 * include/grub/env.h (grub_env_export): Export.
16058 Reported by: Seth Goldberg.
16059
45146057
VS
160602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16063 Take into account space used by ELF sections and multiboot palette.
16064 Reported by: Grégoire Sutre.
16065
f093110b
VS
160662011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
16067
16068 * BUGS: New file.
16069
3395fe52
VS
160702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 Pass more appropriate video id to Linux.
16073
16074 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
16075 grub_video_get_driver_id and variable gfxpayloadforcelfb to
16076 fill have_vga.
16077 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
16078 shift params->lfb_size.
16079 * include/grub/i386/linux.h: Make an enume out of have_vga values.
16080
c2fa6cbb
VS
160812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 * util/grub-menulst2cfg.c: Add missing include of misc.h.
16084
b3ff6ff0
VS
160852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16086
16087 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
16088 separator and pass bootpath/devid even if only one of them is available.
16089 Reported by: Seth Goldberg.
16090
ae67942e
VS
160912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16092
16093 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
16094 implementations bug on them.
16095
16096 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
16097 memory.
16098 (filter_memory_map): Likewise.
16099
d570097a
VS
161002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16101
16102 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
16103 Reported by: nebuchadnezzar.
16104
a508e776
VS
161052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
16108 Reported by: nebuchadnezzar.
16109
dcb883b1
VS
161102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16111
16112 Submenu default support.
16113
16114 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
16115 auto_boot. All users updated.
16116 Declared static.
16117 Handle chosen and default with submenus.
16118 (grub_menu_execute_with_fallback): Declared static.
16119 Don't notify failure if autobooted. Upper level does it.
16120 (menuentry_eq): New function.
16121 (get_entry_number): Use menuentry_eq.
16122 (show_menu): New parameter "autobooted". All users updated.
16123 (grub_show_menu): Likewise.
16124 * include/grub/normal.h (grub_show_menu): Likewise.
16125 * include/grub/menu.h (grub_menu_execute_entry): Removed.
16126 (grub_menu_execute_with_fallback): Likewise.
16127
6fef99b4
VS
161282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16129
16130 * util/grub-mklayout.c (usage): Update help text.
16131
47a77af5
VS
161322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
16135
ce6bb3ee
VS
161362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * util/grub-menulst2cfg.c (main): Trim the line.
16139
db87be2a
VS
161402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
16143 (grub_machine_init): Don't check amount of low memory as reportedly
16144 INT 12h can be broken and if low memory is too low we wouldn't have
16145 gotten into grub_machine_init anyway.
16146
c49849cc
VS
161472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
16150 (grub_machine_mmap_iterate): Take low memory into account
16151
b1969b30
VS
161522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
16155 badfs.
16156 Reported by: TiCPU.
16157
cf0eaf13
VS
161582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
16161 members errors.
16162
1f060f39
GS
161632011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16164
16165 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
16166 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16167
a21e5672
GS
161682011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
16169
16170 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
16171 openbsd and netbsd types being in part_bsd module.
16172
c88172fa
VS
161732011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
16176 (_FILE_OFFSET_BITS): Likewise.
16177 Reported by: Seth Goldberg.
16178
53798c4b
GS
161792011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16180
16181 * configure.ac: Check for libdevmapper header.
16182
e7121b69
VS
161832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16184
16185 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
16186 avoid aliasing.
16187 (fzap_lookup): Likewise.
16188 (dnode_get): Likewise.
16189 (make_mdn): Likewise.
16190 (zfs_mount): Likewise.
16191 (fzap_iterate): Use temporary pointer to avoid aliasing.
16192 (grub_zfs_read): Likewise.
16193 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
16194 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
16195 pointers to avoid aliasing.
16196 (grub_cmd_xnu_kernel64): Likewise.
16197 (grub_xnu_load_driver): Likewise.
16198
fc836af9
VS
161992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16200
16201 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
16202 aliasing warning.
16203 (grub_cmd_terminal_output): Likewise.
16204 Reported and tested by: Grégoire Sutre.
16205
f9f37648
VS
162062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16207
16208 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
16209 warning.
16210 Reported and tested by: Grégoire Sutre.
16211
ec1dfd63
VS
162122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16213
16214 * configure.ac: Do CPU substitution even if it's specified explicitly.
16215 Reported and tested by: Alain Greppin.
16216
9462775a
VS
162172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
16220 Reported and tested by: Alain Greppin.
16221
0fd48e35
VS
162222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 Satisfy some bison versions need for inttypes.h.
16225
16226 * grub-core/lib/posix_wrap/inttypes.h: New file.
16227 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
16228 (int16_t): Likewise.
16229 (int32_t): Likewise.
16230 (int64_t): Likewise.
16231 Reported and tested by: Alain Greppin.
16232
43f1bc83
VS
162332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
16236 Silence spurious warning.
16237 Reported and tested by: Alain Greppin.
16238
64d1f041
SJ
162392011-01-07 Szymon Janc <szymon@janc.net.pl>
16240
16241 * docs/grub.texi (Support automatic decompression): Update with xz
16242 decompression support.
16243
25953e10
SJ
162442011-01-07 Szymon Janc <szymon@janc.net.pl>
16245
16246 Improve loaders' kernel command line handling.
16247
16248 * grub-core/lib/cmdline.c: New file.
16249 * include/grub/lib/cmdline.h: Likewise.
16250 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
16251 grub_create_loader_cmdline to create kernel command line.
16252 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16253 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
16254 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
16255 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16256 (linux): Add lib/cmdline.c on common.
16257
e72d259f
VS
162582011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16259
16260 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16261 inopos might be unaligned.
16262
c0cf26da
VS
162632011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16266 endian transformations.
16267 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16268 Based on report by: Doug Nazar.
16269
0ca09e6c
DN
162702011-01-07 Doug Nazar <nazard.michi@gmail.com>
16271
16272 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16273 array->members[i].start_sector.
16274 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16275
014b6806
VS
162762011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16279 Reported and tested by: Grégoire Sutre.
16280
415502c2
CW
162812011-01-06 Colin Watson <cjwatson@ubuntu.com>
16282
16283 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16284 avoid causing test failures by clearing the screen.
16285
71b6a2b7
CW
162862011-01-06 Colin Watson <cjwatson@ubuntu.com>
16287
16288 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16289 Fix prefix check to handle the case where dir ends with a slash
16290 (most significantly, "/" itself).
16291 Reported by: Michael Vogt.
16292
b3f8d28a
VS
162932011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 Run terminfo_cls on initing terminfo output to clear the screen and
16296 move the cursor to (0,0).
16297
16298 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16299 Call grub_terminfo_output_init.
16300 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16301 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16302 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16303
4c3e4f37
VS
163042011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16307 only when needed.
16308
488f71f1
VS
163092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16312 CTRL.
16313
18a38098
VS
163142011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 The E820 type 5 is BADRAM, not EXEC_CODE.
16317
16318 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16319 (GRUB_E820_BADRAM): New define.
16320 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16321 into reserved. Propagate BADRAM.
16322 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16323 (GRUB_E820_BADRAM): New define.
16324
9eae2084
VS
163252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16326
16327 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16328 Ignore the memory post-4G.
16329 (grub_relocator_firmware_alloc_region): Additional debug statement.
16330
ebc71d28
VS
163312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16334 names.
16335 Reported by: David Pravec.
16336
446fa400
VS
163372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16340 BIOSes.
16341
a0159f37
VS
163422011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16345 Prevent overflow.
16346 (grub_reed_solomon_recover): Likewise.
16347
e5146ca1
VS
163482011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16349
16350 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16351
163522011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16353
16354 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16355 variable.
16356
5b1bdf12
CW
163572011-01-04 Colin Watson <cjwatson@ubuntu.com>
16358
16359 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16360 descriptions of extract_legacy_entries_source and
16361 extract_legacy_entries_configfile.
16362 Reported by: Seung Soo, Ha.
16363
99d925aa
CW
163642011-01-03 Colin Watson <cjwatson@ubuntu.com>
16365
16366 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16367 on devices that do not implement function 0.
16368
4af0504b
DV
163692011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16370
16371 * grub-core/fs/hfsplus.c: Make parent unsigned.
16372 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16373 overflows.
16374 (grub_hfsplus_cmp_extkey): Likewise
16375
469ee10a
VS
163762011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 * util/grub-install.in: Correctly use bootloader_id and not
16379 GRUB_DISTRIBUTOR on efibootmgr line.
16380
323a8e9c
VS
163812011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16384
1b394975
IC
163852010-12-31 Ian Campbell <ijc@hellion.org.uk>
16386
16387 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16388 Xen and reorder menu item wording to make it clearer that this entry
16389 will launch Xen. Print separate messages when loading Xen and
16390 Linux.
16391
275bff5f
VS
163922010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16395 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16396 loop in case of incorrect amiga partmap.
16397
307806cb
VS
163982010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16401 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16402 Reported by:EHeM.
16403
b12b923e
VS
164042010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16405
16406 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16407 spurious warning.
16408 Reported by: crocket
16409
14b48a19
VS
164102010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16413 Preload EFIemu.
16414 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16415
693db2df
VS
164162010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16419 is loaded
16420 (grub_cmd_xnu_kextdir): Likewise.
16421 (grub_cmd_xnu_splash): Likewise.
16422
c7638645
VS
164232010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 Avoid using Reed-Solomon with 0 redundancy.
16426
16427 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16428 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16429 or 0 redundancy.
16430 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16431 (grub_reed_solomon_recover): Likewise.
16432
25dd4780
VS
164332010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16434
16435 Don't use disk subsystem in freebsd_boot.
16436
16437 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16438 (freebsd_biosdev): Likewise.
16439 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16440 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16441
0b2db943
VS
164422010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 Handling of files of unknown size is currently limited. They can't be
16445 used e.g. for initrd or modules. Moreover gzip handling of not
16446 easily seekable files is buggy. Disable unknown file size for now. May
16447 be inefficient but works.
16448
16449 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16450 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16451
5c408d0f
MP
164522010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16453
16454 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16455 floppy probe.
16456
190a011a
JD
164572010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16458
16459 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16460
022d01b8
SL
164612010-12-25 Shea Levy <shlevy>
16462
16463 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16464
c4855fdc
VS
164652010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16468 Windows Server 2008.
16469 Reported by: Devin Giddings.
16470
0354b867
VS
164712010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16474 writing an error message because of async power management.
16475 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16476 (grub_reboot): Likewise.
16477
ab66c69f
JU
164782010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16479
16480 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16481 keep unit tests from failing when they shouldn't.
16482
1426ef35
CW
164832010-12-21 Colin Watson <cjwatson@ubuntu.com>
16484
16485 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16486 previous patch increased the size of the RS code by 20 bytes (at
16487 least with gcc-4.4), so increase this by 20 bytes to match.
16488 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16489
20641b6b
CW
164902010-12-21 Colin Watson <cjwatson@ubuntu.com>
16491
16492 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16493 scratch area. Make sure to initialise chosen in standalone mode as
16494 well as non-standalone.
16495 Reported by: Robert Hooker and Andy Whitcroft.
16496 Tested by: Andy Whitcroft.
16497
d060ad60
CW
164982010-12-21 Colin Watson <cjwatson@ubuntu.com>
16499
16500 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16501 constructing a new unescaped string and passing it to grub_xputs in
16502 one go, rather than passing characters to grub_printf one at a time.
16503
b889cfad
CW
165042010-12-21 Colin Watson <cjwatson@ubuntu.com>
16505
16506 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16507 initialising utf16.
16508
4e01b6c8
CW
165092010-12-21 Colin Watson <cjwatson@ubuntu.com>
16510
16511 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16512 comment. Add an extra layer of quotation, requiring the output of
16513 this function to be used in a printf format string.
16514 (gettext_printf): New function.
16515 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16516 Extract translatable strings from here-documents and use a temporary
16517 variable instead, so that xgettext can find them.
16518 * util/grub.d/10_kfreebsd.in: Likewise.
16519 * util/grub.d/10_linux.in: Likewise.
16520 * util/grub.d/20_linux_xen.in: Likewise.
16521
16522 * po/grub.d.sed: New file.
16523 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16524 arguments. Set c-format flags on all strings extracted from
16525 util/grub.d/ (xgettext refuses to include these itself for strings
16526 it extracted from a shell file, but these really are c-format).
16527
5318fe98
VS
165282010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16529
16530 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16531 Avoid next pointing to nowhere.
16532
6c85b743
VS
165332010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16536 rather than assuming than rootblock is exactly in the middle.
16537 (grub_affs_label): Likewise.
16538
a2a08a35
VS
165392010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16542 reserved_first_sector to 0.
16543 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16544 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16545 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16546
7059d1ec
VS
165472010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16548
16549 Fix handling of UTF-16 UDF labels.
16550
16551 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16552 (read_string): .. here.
16553 (grub_udf_label): Use read_string.
16554
30aff4cb
BC
165552010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16556
16557 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16558 editor under argument scope.
16559 Reported by: Jordan Uggla
16560
5cf86f4b
VS
165612010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16564
32570200
CW
165652010-12-18 Colin Watson <cjwatson@ubuntu.com>
16566
16567 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16568 line, and other keys scroll an entire page (previous handling was
16569 for \r and \n to scroll a page and other keys to scroll two lines).
16570
e1dffcf2
VS
165712010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16574 Set ptrdest to correct get_physical_target_address rather than
16575 incorrect get_virtual_current_address.
16576
b04298cf 165772010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16578
16579 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16580 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16581
5367ecd3
CW
165822010-12-10 Colin Watson <cjwatson@ubuntu.com>
16583
16584 * .bzrignore: Ignore grub-core/rs_decoder.S.
16585
1fb430f8
CW
165862010-12-10 Colin Watson <cjwatson@ubuntu.com>
16587
16588 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16589 .mo/.mo.gz opening sequence to ...
16590 (grub_mofile_open_lang): ... here.
16591 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16592 * util/grub.d/00_header.in (grub_lang): Include country part of
16593 locale.
16594 Reported by: Mario Limonciello.
16595
a94a6671
RM
165962010-12-09 Robert Millan <rmh@gnu.org>
16597
16598 * NEWS: Document addition of ZFS support.
16599
24b7938b
CW
166002010-12-04 Colin Watson <cjwatson@ubuntu.com>
16601
16602 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16603 rather than `/ 2', as the latter requires -Wa,--divide which would
16604 require bumping our minimum binutils version.
16605
bddc3ef6
BC
166062010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16607
16608 * util/grub-script-check.c (main): Print script line number on
16609 error.
16610
bf78d5b2
RM
166112010-12-01 Robert Millan <rmh@gnu.org>
16612
16613 * grub-core/fs/zfs/zfs.c: New file.
16614 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16615 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16616 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16617 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16618
16619 * include/grub/zfs/dmu.h: Likewise.
16620 * include/grub/zfs/dmu_objset.h: Likewise.
16621 * include/grub/zfs/dnode.h: Likewise.
16622 * include/grub/zfs/dsl_dataset.h: Likewise.
16623 * include/grub/zfs/dsl_dir.h: Likewise.
16624 * include/grub/zfs/sa_impl.h: Likewise.
16625 * include/grub/zfs/spa.h: Likewise.
16626 * include/grub/zfs/uberblock_impl.h: Likewise.
16627 * include/grub/zfs/vdev_impl.h: Likewise.
16628 * include/grub/zfs/zap_impl.h: Likewise.
16629 * include/grub/zfs/zap_leaf.h: Likewise.
16630 * include/grub/zfs/zfs.h: Likewise.
16631 * include/grub/zfs/zfs_acl.h: Likewise.
16632 * include/grub/zfs/zfs_znode.h: Likewise.
16633 * include/grub/zfs/zil.h: Likewise.
16634 * include/grub/zfs/zio.h: Likewise.
16635 * include/grub/zfs/zio_checksum.h: Likewise.
16636
16637 * Makefile.util.def: Build ZFS into libgrubmods.
16638 * grub-core/Makefile.core.def: Build zfs.mod.
16639
3f0f3831
SJ
166402010-11-30 Szymon Janc <szymon@janc.net.pl>
16641
16642 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16643 variable.
16644 * grub-core/commands/wildcard.c (match_files): Likewise.
16645
3a4253b2
RM
166462010-11-30 Robert Millan <rmh@gnu.org>
16647
16648 * grub-core/loader/i386/bsd.c
16649 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16650 whether kernel is loaded using grub_loader_is_loaded(), rather
16651 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16652 certain error conditions.
16653
8c317b27
RM
166542010-11-30 Robert Millan <rmh@gnu.org>
16655
c5c9cd3e
RM
16656 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16657 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16658
49d3ab46
VS
166592010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 Avoid using tricks for initialising endian variables.
16662
16663 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16664 Make const.
16665 (GRUB_MOD_INIT): Don't byte-swap.
16666 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16667 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16668 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16669 (grub_swap_bytes32_compile_time): Likewise.
16670 (grub_cpu_to_le32_compile_time): Likewise.
16671 (grub_cpu_to_le16_compile_time): Likewise.
16672
f420a804
VS
166732010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * util/grub-setup.c (setup): Stop recommending --force. People who
16676 understand the dangers of blocklists are able to find this option
16677 anyway and the ones who don't shouldn't use it anyway.
16678
4e7db17b
RM
166792010-11-26 Robert Millan <rmh@gnu.org>
16680
16681 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16682 Update all users.
16683
9be57a0d
CW
166842010-11-26 Colin Watson <cjwatson@ubuntu.com>
16685
16686 Fix LVM-on-RAID probing.
16687
16688 * util/grub-probe.c (probe): Remember which disk was detected as
16689 RAID (perhaps an LVM physical volume). Use that disk's raidname
16690 rather than that of the top-level disk.
16691
2c7859b3 166922010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16693
d7647bb6
BC
16694 Fix cmdline argument quotes for setparams command of menuentry
16695 definitions.
7e623b0d
BC
16696
16697 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16698 quotes for arguments.
f866fe80 16699 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16700 grub_strchrsub function instead.
f866fe80 16701
7955bea0 16702 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16703
74f72a64
CW
167042010-11-24 Colin Watson <cjwatson@ubuntu.com>
16705
16706 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16707 effort by skipping "." and ".." entries up-front.
16708 Suggested by: Michael Lazarev.
16709
5a407278
CW
167102010-11-24 Colin Watson <cjwatson@ubuntu.com>
16711
16712 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16713 ldflags to ldadd, to fix link line ordering.
16714 (none_decompress): Likewise.
16715
3030d8ec
CW
167162010-11-24 Colin Watson <cjwatson@ubuntu.com>
16717
16718 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16719 platforms.
16720 (grub-emu-lite): Remove kern/emu/cache.S.
16721
b7fbac12
CW
167222010-11-23 Colin Watson <cjwatson@ubuntu.com>
16723
16724 * util/deviceiter.c (compare_devices): If the by-id link for a
16725 device couldn't be resolved, fall back to sorting by the by-id link
16726 rather than segfaulting.
16727 Reported and tested by: Daniel Mierswa.
16728
5225f328
CW
167292010-11-23 Colin Watson <cjwatson@ubuntu.com>
16730
16731 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16732 ldflags, to fix link line ordering.
16733
038b3ce8
CW
167342010-11-23 Colin Watson <cjwatson@ubuntu.com>
16735
16736 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16737 linkers are picky about this.
16738
bf16e98e
CW
167392010-11-23 Colin Watson <cjwatson@ubuntu.com>
16740
16741 * grub-core/Makefile.am (command.lst): Adjust sed expression
16742 ordering so that extended and priority commands aren't treated as
16743 ordinary commands.
16744
7242bab6
CW
167452010-11-23 Colin Watson <cjwatson@ubuntu.com>
16746
16747 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16748 Remove byte-swapping function calls, which are not valid in
16749 structure initialisers.
16750 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16751 non-const.
16752 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16753 grub_gpt_partition_type_bios_boot.
16754
14e8b279
CW
167552010-11-22 Colin Watson <cjwatson@ubuntu.com>
16756
16757 Fix test program build on GNU/kFreeBSD.
16758
16759 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16760 $(LIBNVPAIR)' library dependencies.
16761
e6f63338 167622010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16763
16764 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16765
cf8ffc38
CW
167662010-11-22 Colin Watson <cjwatson@ubuntu.com>
16767
16768 * util/grub-install.in: Remove excessive quoting that broke
16769 installations to RAID devices.
16770
7f8b0fd7
VS
167712010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16774 bootloader version instead of 0.
16775
dfd240b1
VS
167762010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16777
16778 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16779 warning.
16780
7b61e609
VS
167812010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16784 retrieve the metadat sector if size isn't known.
16785 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16786
9dfe92d0
RM
167872010-11-18 Robert Millan <rmh@gnu.org>
16788
16789 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16790 with grub_memcmp().
16791
41cc919e
VS
167922010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16795 arrow.
16796 Reported by: Jordan Uggla.
16797
1afcc914
VS
167982010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16799
16800 Make better UTF compliant.
16801
16802 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16803 sequences as incorrect.
16804 (grub_is_valid_utf8): Likewise.
16805 (grub_utf8_to_ucs4): Likewise.
16806 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16807 (grub_ucs4_to_utf8_alloc): Likewise.
16808 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16809
f1808884
VS
168102010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16811
16812 Make legacy_source behave like source.
16813
16814 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16815 grub_show_menu.
16816 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16817
24ec575b
CW
168182010-11-16 Colin Watson <cjwatson@debian.org>
16819
16820 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16821 (-Wunused implies -Wunused-parameter, but not vice versa).
16822
72b7c7aa
CW
168232010-11-16 Colin Watson <cjwatson@ubuntu.com>
16824
16825 * configure.ac: Make error messages less confusing by testing for
16826 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16827 accepted, but produces a diagnostic if something else is wrong).
16828
e98937aa
VS
168292010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16832 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16833 (now unused).
16834 (grub_keyboard_controller_init)
16835 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16836 read the initial state since controller isn't inited yet.
16837
f6bbabc3
VS
168382010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16841 allocate_regbeg may need to create new chunk header.
16842
22e7dbb2
VS
168432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 Fix quoting in legacy parser.
16846
16847 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16848 single quotes.
16849 (grub_legacy_parse): Likewise.
16850 Reported by: Jordan Uggla.
16851 Tested by: Jordan Uggla.
16852
03f80960
VS
168532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16854
16855 Don't add -lgcc on i386 and x86_64.
16856
16857 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16858 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16859 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16860
779dc15b
VS
168612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 * configure.ac: Add -Wno-trampolines when supported.
16864
d20a3b37
MV
168652010-11-14 Modestas Vainius <modax@debian.org>
16866
16867 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
16868 fakeraid.
16869
e5360933
GC
168702010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16871
16872 Add generic logical block size support for UDF.
16873
16874 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
16875 (GRUB_UDF_BLKSZ): Removed.
16876 (struct grub_udf_data): New field "lbshift" to hold the logical block
16877 size of the file system in log2 format. All users updated.
16878 (sblocklist): Change type to unsigned.
16879 (grub_udf_mount): Change type of "sblklist" to unsigned.
16880 Move AVDP search before VRS recognition, because the latter requires
16881 knowledge of the logical block size, which is detected during the
16882 former.
16883 Detect and validate logical block size during AVDP search, adding
16884 support for block sizes 512, 1024 and 4096.
16885 Make VRS recognition independent of block size.
16886
cb0229c5
GC
168872010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16888
16889 Properly handle deleted files on UDF.
16890
16891 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
16892 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
16893 set.
16894
406858a8
GC
168952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16896
16897 Support reading files larger than 2 GiB.
16898
16899 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
16900 "offset" to grub_off_t.
16901 (grub_udf_read_file): Likewise for parameter "pos".
16902
130da6a7
VS
169032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
16906 unavailable.
16907 (Simple configuration): Refer to Changes from GRUB Legacy about
16908 save_env availability.
16909
65e93f6b
VS
169102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16911
16912 * util/grub-install.in: Ignore empty partition table detection
16913 instead of trying to include part_ module.
16914
1fd08bf1
VS
169152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
16918 LVM on RAID support.
16919
de1a024f
VS
169202010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16921
16922 Properly define WORDS_BIGENDIAN in wrapped environments.
16923
16924 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
16925 definition.
16926 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
16927
16928 Reported by: Manoel Rebelo Abranches.
16929 Tested by: Manoel Rebelo Abranches.
16930
bc5dd0b9
VS
169312010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16932
16933 * util/grub-mkconfig.in: Fix quoting.
16934
58c184be
VS
169352010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 Support big ext2 files.
16938
16939 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
16940 (grub_ext2_read_block): Support triple indirect blocks.
16941 (grub_ext2_read_file): Use 64-bit types and read size_high.
16942 (grub_ext2_open): Read size_high.
16943 Reported by: Ximin Luo.
16944 Tested by: Manoel Rebelo Abranches.
16945
5f0c02b3
VS
169462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * util/grub-install.in: Handle filenames containing spaces.
16949 Reported by: Jordan Uggla.
16950 Tested by: Jordan Uggla.
16951
4417aae6
VS
169522010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * util/grub-mkconfig.in (grub_script_check): New variable.
16955 Use grub_script_check instead of grub-script-check.
16956 Reported by: Barry Jackson.
16957
7625a68e
VS
169582010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 * docs/grub.texi (menu): Correct the order.
16961 Reported by: D. Hugh Redelmeier.
16962
10001ac5
VS
169632010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
16966 jump.
16967
9c4cf53b
MRA
169682010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16969
10001ac5
VS
16970 * include/grub/elfload.h (grub_elf32_size): New parameter.
16971 All users updated.
9c4cf53b
MRA
16972 Return maximum segments alignment.
16973 (grub_elf64_size): Likewise.
16974 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
16975 Return maximum segments alignment.
16976 (grub_elf64_size): Likewise.
16977 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
16978 (grub_linux_claimmap_iterate): New function. Uses the
16979 "available" property in the "memory" node for memory allocation
16980 for kernel in the PowerPC loader.
9c4cf53b
MRA
16981 (grub_linux_load32): Correctly find linux entry point offset.
16982 (grub_linux_load64): Likewise.
16983
d2bf06bf
RM
169842010-11-07 Robert Millan <rmh@gnu.org>
16985
16986 On mips-yeeloong, build with -march=loongson2f when this flag is
16987 available (GCC >= 4.4).
16988 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
16989 `-march=mips3'.
16990 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
16991 or otherwise add -march=mips3.
16992
898c99a2
BC
169932010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
16994
87220a68
BC
16995 Suppress shell expansion on echo '*' and echo "*" like cases.
16996 Reported by: Jordan Uggla.
898c99a2
BC
16997
16998 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16999 string arguments before shell expansion.
17000 * tests/grub_cmd_echo.in: New testcases.
17001
4f9b406a
RM
170022010-11-07 Robert Millan <rmh@gnu.org>
17003
17004 * conf/mips-qemu-mips.rmk: Remove stale file from previous
17005 transition.
17006
80c6d25e
VS
170072010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 * grub-core/kern/emu/hostdisk.c
17010 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
17011
4a1a0153
VS
170122010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
17015 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
17016 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
17017
34706ddc
VS
170182010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17019
17020 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
17021
6972dea9
VS
170222010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 * util/grub-install.in: Replace useless recomendation to pass
17025 --modules with a recomendation to report a bug.
17026
9c693bd6
VS
170272010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 Properly register serial terminfo.
17030 Reported by: Jordan Uggla
17031
17032 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
17033 const.
17034 (grub_serial_terminfo_output_template): Likewise.
17035 (grub_cmd_serial): Register "serial" with terminfo.
17036 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
17037 grub_serial_terminfo_output.
17038
6c9e4c0c
RM
170392010-11-05 Robert Millan <rmh@gnu.org>
17040
17041 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
17042 needed).
17043
b9b3839f
RM
170442010-11-05 Robert Millan <rmh@gnu.org>
17045
17046 On Yeeloong, pass machine type information to Linux.
17047
17048 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
17049 (LOONGSON_MACHTYPE): New macro, set to
17050 "machtype=lemote-yeeloong-2f-8.9inches".
17051 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
17052 additional argument to Linux.
17053
1a3aaff4
RM
170542010-11-04 Robert Millan <rmh@gnu.org>
17055
17056 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
17057 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
17058 (its SATA disks are detected as slaveless IDE master drives on
17059 kFreeBSD).
17060 Reported by Carsten Aulbert.
17061
a75f4f62
CW
170622010-11-02 Colin Watson <cjwatson@ubuntu.com>
17063
17064 * util/bin2h.c (main): Fix spelling error in generated output.
17065
33b4b0c6
GS
170662010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
17067
17068 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
17069
2b36fbf4
VS
170702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
17073 vga= option is supplied.
17074
74aaf558
VS
170752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17076
17077 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
17078 * util/grub.d/10_kfreebsd.in: Likewise.
17079 * util/grub.d/10_linux.in: Likewise.
17080 * util/grub.d/20_linux_xen.in: Likewise.
17081
6428dec3
VS
170822010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
17085 argument as an argument to no-argument option.
17086
f8729d98
VS
170872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17088
17089 * util/grub.d/10_linux.in: Add missing load_video with explicit
17090 GRUB_GFXPAYLOAD_LINUX.
17091
89d68fa6
VS
170922010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
17095
3a1197cd
VS
170962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
17099 elements with invlid index.
17100 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17101 * grub-core/disk/raid.c (insert_array): Automatically reallocate
17102 members.
17103 * include/grub/raid.h (grub_raid_member): New struct.
17104 (grub_raid_array): Transform devices and start_sector into usage of
17105 grub_raid_member. All users updated
17106 (allocated_devs): New member.
17107
71574288
VS
171082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
17109
17110 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
17111 is modified
17112
8d40ec65
BC
171132010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
17114
17115 NetBSD build fix for getline function conflict from gnulib.
17116
17117 * Makefile.util.def (libgrubkern.a): New library for grub kernel
17118 components that depend on gnulib headers.
17119 (libgrubmods.a): Renamed from earlier libgrub.a.
17120 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
17121
95b9257e
VS
171222010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17123
17124 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
17125 install rather than creating a broken install.
17126
26c53dc6
VS
171272010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17128
17129 * util/grub-setup.c (argp): Remove misleading example of installing to
17130 a partition.
17131
4171b3c5
VS
171322010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * util/grub-setup.c (setup): Clarify the error message.
17135
18568d18
VS
171362010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
17139
4f6a2e21
VS
171402010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17141
17142 * grub-core/kern/emu/misc.c
17143 (grub_make_system_path_relative_to_its_root)
17144 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
17145
171462010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
17147
17148 * grub-core/kern/emu/misc.c
17149 (grub_make_system_path_relative_to_its_root): Revert r2882.
17150
e138c458
VS
171512010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
17154 useless field head. All users updated.
17155 (free_subchunk): Correct handling of IN_REGION subchunk.
17156
0cbcdf0e
CW
171572010-10-22 Colin Watson <cjwatson@ubuntu.com>
17158
17159 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
17160 (Supported kernels): Likewise.
17161
b65ea155
GS
171622010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17163
17164 Make mktemp invocations portable.
17165
17166 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
17167 exit if mktemp fails.
17168 * tests/grub_script_blockarg.in: Likewise.
17169 * tests/partmap_test.in: Likewise.
17170 * tests/util/grub-shell-tester.in: Likewise.
17171 * tests/util/grub-shell.in: Likewise.
17172 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
17173 * Makefile.am: Likewise, and chain shell commands with `&&'
17174 instead of ';'.
17175 * util/grub-mkrescue.in: Use the same explicit template as above, and
17176 exit if mktemp fails.
17177
05f43cdd
BC
171782010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
17179
17180 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
17181 Linux kernel, reported by Dennis Schridde.
17182
800e6a9b
SJ
171832010-10-17 Szymon Janc <szymon@janc.net.pl>
17184
17185 * grub-core/normal/auth.c (grub_auth_check_authentication):
17186 Set-but-not-used variable removed.
17187
d82df574
VS
171882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 * docs/grub.texi (GNU/Linux): Document APM unavailability with
17191 32-bit linux protocol.
17192
7bced458
VS
171932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
17196 cursor shape for sanity.
17197
5b027690
VS
171982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * docs/grub.texi (Installation): Document buggy BIOS install.
17201
ba5f65cf
VS
172022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * docs/grub.texi (Installation): Indent.
17205
fdf2ec9c
VS
172062010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * util/grub-setup.c (setup): New parameter allow_floppy.
17209 (arguments): New member allow_floppy.
17210 (argp_parser): Handle --allow-floppy.
17211 (main): Pass allow_floppy.
17212 * util/grub-install.in: New option --allow-floppy passed though to
17213 grub-setup.
17214
861dfd4c
VS
172152010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * util/grub-install.in: Handle partitionless disks.
17218
f77a8c24
VS
172192010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
17220
17221 * util/grub-setup.c (setup): Don't clean blocklists before readability
17222 verfification.
17223
27d9ee32
VS
172242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17225
17226 * docs/grub.texi (Installation): Document embedding zone. Remove
17227 obsolete grub-install example.
17228
6bdda8f8
SJ
172292010-10-16 Szymon Janc <szymon@janc.net.pl>
17230
17231 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
17232 Set-but-not-used variable ifdef'ed.
17233 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
17234 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
17235 variable removed.
17236 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
17237 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
17238 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17239 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
17240 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
17241 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17242 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
17243 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
17244 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
17245 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
17246 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
17247 Likewise.
17248
e19b016b
VS
172492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
17252 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
17253 enum value.
17254
6c8d3002
VS
172552010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17258 synonym to _S5_. Needed for some DSDTs.
17259
c32b51c9
VS
172602010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 Userspace ACPI parser debugging.
17263
17264 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17265 headers and add relevant defines. Don't include standard headers.
17266 (main) [GRUB_DSDT_TEST]: New function.
17267 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17268 Don't declare functions.
17269
fbfbeb39
VS
172702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 Remove dead grub_efi_mm_fini.
17273
17274 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17275 (ALLOCATED_PAGES_SIZE): Likewise.
17276 (MAX_ALLOCATED_PAGES): Likewise.
17277 (allocated_pages): Likewise.
17278 (grub_efi_allocate_pages): Don't record allocated pages.
17279 (grub_efi_free_pages): Likewise.
17280 (grub_efi_mm_init): Likewise.
17281 (grub_efi_mm_fini): Removed.
17282
65f7ed7c
VS
172832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17286 (grub_efi_mm_init): Take into account the memory map size increase.
17287
24977b44
VS
172882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17289
17290 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17291 (serial_hw_put): Wait based on real time rather than port reads. Don't
17292 roken ports.
17293 * include/grub/serial.h (grub_serial_port): New field broken.
17294
1eb01cd2
RM
172952010-10-16 Robert Millan <rmh@gnu.org>
17296
17297 * grub-core/kern/emu/misc.c
17298 (grub_make_system_path_relative_to_its_root): Fix premature return
17299 when processing non-root ZFS filesystems.
5f8b440b 17300 Reported by Sergio Talens-Oliag.
1eb01cd2 17301
2d5fed60
RM
173022010-10-15 Robert Millan <rmh@gnu.org>
17303
17304 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17305 guarantee compressed ones are processed first.
17306
d0f4c1ea
VS
173072010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17310 grub_efiemu_autocore.
17311
d87c681f
VS
173122010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17313
17314 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17315 rather than 0x1b.
17316 (grub_console_getkey): Use correct jae opcode rather than ja.
17317
219b3564
RM
173182010-10-12 Robert Millan <rmh@gnu.org>
17319
17320 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17321 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17322 variable. All references updated.
17323
17324 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17325
20c6bb7e
VS
173262010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 Correctly distinguish mdraid flavours.
17329
17330 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17331 (insert_array): New argument raid.
17332 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17333 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17334 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17335
74baff84
VS
173362010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17339 handling of special keys.
17340
3ef068df 173412010-10-02 Aleš Nesrsta <starous@volny.cz>
17342
c7980ad9
VS
17343 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17344 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17345
a9455194 173462010-10-02 Aleš Nesrsta <starous@volny.cz>
17347
c7980ad9
VS
17348 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17349 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17350 users updated.
a9455194 17351 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17352 Use right endpoint when querying descriptor.
a9455194 17353
441cfe65
VS
173542010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 Clear out 0x80 color bit on EFI.
17357 Tested by: decoder
17358 Reported by: decoder and meta tech.
17359
17360 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17361 (grub_console_setcolorstate): Clear out 0x80 bit.
17362 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17363 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17364 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17365
bf26bcc4
VS
173662010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17369 Set to "auto".
17370
6e3c515d
VS
173712010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17374 mo_file after freeing.
17375
e6d983ba
VS
173762010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17379
74ccb5b5
VS
173802010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17383 flags.
17384
17821956
VS
173852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17386
17387 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17388 usage.
17389
ee74fa48
VS
173902010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17393
17394 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17395 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17396 and terminfo.h when needed.
17397 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17398 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17399 (terminfo): Enable only on terminfokernel.
17400 (extcmd): Likewise.
17401 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17402 * include/grub/lib/arg.h: Likewise.
17403 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17404 incorrect usage of ->.
17405
aa438e68
VS
174062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17409 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17410
57994012
VS
174112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17412
17413 Fix coreboot compilation.
17414
17415 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17416 Take VBE info into account even if only text is supported.
17417 (fill_vbe_info): Take into account the case when only VGA text
17418 is supported.
17419 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17420 on coreboot, multiboot and qemu.
17421
2a406611
VS
174222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17423
17424 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17425 debug messages.
17426 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17427
d33613fc
VS
174282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17431 parameters.
17432
44a1b432
VS
174332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17436 if they were BSD-style.
17437
edde54e6
VS
174382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17439
17440 * grub-core/boot/i386/pc/lnxboot.S: Replace
17441 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17442 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17443
b65830fa
VS
174442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17445
17446 Write embedding zone using Reed-Solomon.
17447
17448 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17449 * grub-core/Makefile.am (rs_decoder.S): New target.
17450 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17451 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17452 (multiboot): Move to RS part.
17453 (post_reed_solomon): New label.
17454 (grub_boot_drive): Move to non-RS part since it's modified in memory
17455 on boot.
17456 Include rs_decoder.S.
17457 * grub-core/lib/reed_solomon.c: New file.
17458 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17459 New definition.
17460 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17461 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17462 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17463 * include/grub/partition.h (grub_partition_map): Change prototype of
17464 embed to allow returning additional sectors.
17465 * include/grub/reed_solomon.h: New file.
17466 * util/grub-setup.c (setup): Handle Reed-Solomon.
17467
0b4b227f
CW
174682010-09-28 Colin Watson <cjwatson@ubuntu.com>
17469
17470 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17471 i386 and x86-64 definedness tests.
17472
f772623b
YB
174732010-09-27 Yves Blusseau <blusseau@zetam.org>
17474
17475 Fix generation of kernel_syms.lst
17476
17477 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17478 ASM_PREFIX
17479
8e57a6ca
RM
174802010-09-26 Robert Millan <rmh@gnu.org>
17481
17482 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17483
17484 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17485 the pool is an array of devices, iterate through it and return the
17486 first device that passes a stat() test (instead of blindly returning
17487 the first one).
17488
f9130836
RM
174892010-09-26 Robert Millan <rmh@gnu.org>
17490
17491 Build fixes for GNU/kFreeBSD.
17492
17493 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17494 to programs that require ZFS conversion.
17495 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17496 kernels that don't have FLOPPY_MAJOR.
17497
96510faf
BC
174982010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17499
17500 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17501
449333eb
BC
175022010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17503
17504 Fix grub-emu build.
17505
17506 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17507 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17508 mdraid09 and mdraid1x.
17509
e1fd1939
CW
175102010-09-24 Colin Watson <cjwatson@ubuntu.com>
17511
17512 Re-enable grub-extras.
17513
17514 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17515 avoid confusing Automake. Run autogen only twice, once for the top
17516 level and once for grub-core. Add Makefile.util.def and
17517 Makefile.core.def from extra modules to the appropriate autogen
17518 invocations. If Makefile.common exists in an extra module, include
17519 it in both Makefile.util.am and grub-core/Makefile.core.am;
17520 similarly, include any Makefile.util.common file in Makefile.util.am
17521 and any Makefile.core.common file in grub-core/Makefile.core.am.
17522 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17523 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17524 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17525 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17526
17527 * gentpl.py (gvar_add): Turn GVARS into a set.
17528 (global_variable_initializers): Sort global variables on output.
17529 (vars_init): New function.
17530 (first_time): Likewise.
17531 (library): Ensure that non-global variable initialisations are
17532 emitted before the first time we emit code for a library block.
17533 Append to variables rather than setting them. Only emit
17534 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17535 each conditional path.
17536 (program): installdir() emits an Autogen macro, so must be passed to
17537 var_add rather than gvar_add.
17538 (data): Likewise.
17539 (script): Likewise.
17540 (rules): New function, centralising handling for different target
17541 types. Set up Guile association lists for first_time and vars_init,
17542 and send most output to a diversion so that variable initialisations
17543 can be emitted first.
17544 (module_rules): Use new rules function.
17545 (kernel_rules): Likewise.
17546 (image_rules): Likewise.
17547 (library_rules): Likewise.
17548 (program_rules): Likewise.
17549 (script_rules): Likewise.
17550 (data_rules): Likewise.
17551
17552 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17553
17554 * .bzrignore: Add contrib and grub-core/contrib. Remove
17555 grub-core/Makefile.gcry.am.
17556
1d12cf29
YB
175572010-09-24 Yves Blusseau <blusseau@zetam.org>
17558
17559 * grub-core/lib/LzFind.c: Add missing include.
17560 * grub-core/lib/LzmaEnc.c: Likewise.
17561 * grub-core/script/lexer.c: Likewise.
17562 * grub-core/script/yylex.l: Likewise.
17563 * util/grub-macho2img.c: Likewise.
17564 * util/grub-menulst2cfg.c: Likewise.
17565 * util/grub-mklayout.c: Likewise.
17566 * util/grub-mkpasswd-pbkdf2.c
17567 * util/grub-mkrelpath.c: Likewise.
17568 * util/resolve.c: Likewise.
17569
dd363028
BC
175702010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17571
17572 * Makefile.util.def (example_unit_test): Add
17573 grub-core/gnulib/libgnu.a.
17574
f5a109e2
GS
175752010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17576
17577 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17578
6d0fa83c
VS
175792010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 Support xz compression on yeeloong.
17582
17583 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17584 * configure.ac: Check for LZMA.
17585 * grub-core/Makefile.core.def (xz_decompress): New target.
17586 (none_decompress): Likewise.
17587 * grub-core/boot/decompressor/minilib.c: New file.
17588 * grub-core/boot/decompressor/none.c: Likewise.
17589 * grub-core/boot/decompressor/xz.c: Likewise.
17590 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17591 * grub-core/kern/mips/cache_flush.S: Likewise.
17592 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17593 * grub-core/kern/mips/startup.S: Move first stage to ...
17594 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17595 nomacro.
17596 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17597 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17598 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17599 Allocate statically.
17600 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17601 Allocate statically or use scratch. Don't check CRC32.
17602 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17603 Allocate statically. Don't check CRC32.
17604 * include/grub/decompressor.h: New file.
17605 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17606 Removed.
17607 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17608 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17609 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17610 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17611 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17612 * util/grub-mkimage.c (grub_compression_t): New type.
17613 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17614 (image_target_desc): New field default_compression.
17615 (image_targets): Adjust yeeloong targets.
17616 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17617 (compress_kernel): New parameter comp.
17618 (generate_image): Likewise. Handle new compression case.
17619 (options): New option --compression
17620 (help): Likewise.
17621 (main): Handle new option.
17622
1b655af6
GS
176232010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17624
17625 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17626
8f03f0b5
CW
176272010-09-22 Colin Watson <cjwatson@ubuntu.com>
17628
17629 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17630 typo in __i386__ conditional.
17631
7835dfd3
VS
176322010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17635 include.
17636
e255597e
VS
176372010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17638
6d0fa83c 17639 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17640
17641 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17642 new tags as supported.
17643 (acpiv2_size): New function.
17644 (grub_multiboot_get_mbi_size): Take new tags into account.
17645 (grub_multiboot_make_mbi): Add new tags.
17646 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17647
6cc14051 176482010-09-21 Aleš Nesrsta <starous@volny.cz>
17649
17650 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17651 Added missing configuration of USB device.
17652
df7769d8
CW
176532010-09-21 Colin Watson <cjwatson@ubuntu.com>
17654
17655 * grub-core/normal/menu_entry.c (run): Make sure we always return
17656 a value.
17657
b031012d
CW
176582010-09-21 Colin Watson <cjwatson@ubuntu.com>
17659
17660 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17661 NumberOfPages is UINT64 according to the UEFI specification, not
17662 UINTN. Fix printf format.
17663
174de8f3
CW
176642010-09-21 Colin Watson <cjwatson@ubuntu.com>
17665
17666 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17667 `err' to grub_usb_err_t.
17668 Reported and tested by: KESHAV P.R.
17669
d7dbe923
CW
176702010-09-21 Colin Watson <cjwatson@ubuntu.com>
17671
17672 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17673 tpart non-const, so that we can assign to it. (Since this is a
17674 typedef, the constness refers to the pointer rather than what it
17675 points to.)
17676
8d5e2af3
CW
176772010-09-21 Colin Watson <cjwatson@ubuntu.com>
17678
17679 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17680 $(top_srcdir)/grub-core/gnulib as well as
17681 $(top_builddir)/grub-core/gnulib.
17682 Reported by: KESHAV P.R.
17683
5c527783
CW
176842010-09-21 Colin Watson <cjwatson@ubuntu.com>
17685
17686 * util/grub-install.in: Fix the bootloader ID option to be
17687 consistently --bootloader-id, not --bootloader_id.
17688 Reported by: KESHAV P.R.
17689
d309a16e
CW
176902010-09-21 Colin Watson <cjwatson@ubuntu.com>
17691
17692 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17693 check hash checksum." consistently translatable.
17694
b830cd16
YB
176952010-09-21 Yves Blusseau <blusseau@zetam.org>
17696
17697 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17698 $(top_builddir).
17699
c4fe27a8
CW
177002010-09-21 Colin Watson <cjwatson@ubuntu.com>
17701
17702 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17703 (GRUB_MOD_INIT): Register sha1sum command.
17704 (GRUB_MOD_FINI): Unregister sha1sum command.
17705
a4c1d277
YB
177062010-09-21 Yves Blusseau <blusseau@zetam.org>
17707
17708 Keep boot and grub directory names in sync with utils scripts
17709
17710 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17711 * config.h.in: Add previous macros.
17712 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17713 * util/grub-install.in: Use $bootdir and $grubdir variables.
17714
4eff79d2
CW
177152010-09-21 Colin Watson <cjwatson@ubuntu.com>
17716
17717 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17718 convert partition names to disk names if the new `convert' parameter
17719 is set.
17720 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17721 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17722 disk in its own right. This can happen with Xen disk images.
17723
934d7e44
YB
177242010-09-21 Yves Blusseau <blusseau@zetam.org>
17725
17726 * util/grub-editenv.c: Update strings to avoid warnings when generating
17727 grub.pot file.
17728 * util/grub-setup.c: Likewise.
934d7e44 17729
df3367cc
VS
177302010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 * configure.ac: Change version to 1.99~beta0.
17733
77a94e98
VS
177342010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17737 Add BADRAM.
17738 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17739 Likewise.
17740 * include/multiboot.h: Resynced with specification.
17741 * include/multiboot2.h: Likewise.
17742
269004c1
CW
177432010-09-21 Colin Watson <cjwatson@ubuntu.com>
17744
17745 Fix po directory handling.
17746
17747 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17748 * grub-core/gnulib/Makefile.am: Import gettext module.
17749 * m4/gnulib-cache.m4: Likewise.
17750 * m4/gnulib-comp.m4: Likewise.
17751 * m4/gettext.m4: New file, from gnulib.
17752 * m4/glibc2.m4: Likewise.
17753 * m4/iconv.m4: Likewise.
17754 * m4/intdiv0.m4: Likewise.
17755 * m4/intl.m4: Likewise.
17756 * m4/intldir.m4: Likewise.
17757 * m4/intlmacosx.m4: Likewise.
17758 * m4/intmax.m4: Likewise.
17759 * m4/inttypes-pri.m4: Likewise.
17760 * m4/lcmessage.m4: Likewise.
17761 * m4/lib-ld.m4: Likewise.
17762 * m4/lib-link.m4: Likewise.
17763 * m4/lib-prefix.m4: Likewise.
17764 * m4/lock.m4: Likewise.
17765 * m4/nls.m4: Likewise.
17766 * m4/po.m4: Likewise.
17767 * m4/printf-posix.m4: Likewise.
17768 * m4/progtest.m4: Likewise.
17769 * m4/threadlib.m4: Likewise.
17770 * m4/uintmax_t.m4: Likewise.
17771 * m4/visibility.m4: Likewise.
17772 * po/Makefile.am: Remove.
17773 * po/Makefile.in.in: New file, from gettext.
17774 ($(DOMAIN).pot-update): Support POTFILES-shell.
17775 * po/Makevars: New file.
17776 * po/POTFILES-shell: Rename to ...
17777 * po/POTFILES-shell.in: ... this. Update.
17778 * po/POTFILES: Rename to ...
17779 * po/POTFILES.in: ... this. Update.
17780 * po/Rules-quot: New file, from gettext.
17781 * po/boldquot.sed: Likewise.
17782 * po/en@boldquot.header: Likewise.
17783 * po/en@quot.header: Likewise.
17784 * po/insert-header.sin: Likewise.
17785 * po/quot.sed: Likewise.
17786 * po/remove-potcdate.sin: Likewise.
17787
3e0fa5d0
VS
177882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17789
17790 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17791
ade9bd66
VS
177922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 * util/grub.d/20_linux_xen.in: Use submenus.
17795
fc55cc4c
VS
177962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17797
17798 Support submenus.
17799
17800 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17801 parameter submenu. All users updated.
17802 * grub-core/normal/main.c (free_menu): Rename to ...
17803 (grub_normal_free_menu): ... this. Made global.
17804 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17805 if requested.
17806 * grub-core/normal/menu_entry.c (screen): New field submenu.
17807 (make_screen): Set submenu.
17808 (run): Open new context if requested.
17809 * include/grub/menu.h (grub_menu_entry): New field submenu.
17810 * include/grub/normal.h (grub_normal_free_menu): New proto.
17811
600cedf7
VS
178122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 Menu entries extractor.
17815
17816 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17817 variants.
17818 (GRUB_MOD_INIT): Register new variants.
17819 (GRUB_MOD_FINI): Unregister new variants.
17820 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17821 into grub_cmd_legacy_source.
17822 (grub_cmd_legacy_source): Implement extractor variants.
17823 (GRUB_MOD_INIT): Register new variants.
17824 (GRUB_MOD_FINI): Unregister new variants.
17825 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17826 as an extractor.
17827 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17828 search as an extractor.
17829 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17830 test as an extractor.
17831 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17832 as an extractor.
17833 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17834 (grub_env_new_context): New function.
17835 (grub_env_context_open): Likewise.
17836 (grub_env_extractor_open): Likewise.
17837 (grub_env_extractor_close): Likewise.
17838 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17839 grub_extractor_level.
17840 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17841 * include/grub/env.h (grub_env_extractor_open): New proto.
17842 (grub_env_extractor_close): Likewise.
17843 * include/grub/normal.h (grub_extractor_level): New external variable.
17844
7bda3a87
VS
178452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17846
17847 Make cutmem accept a region specification.
17848 Suggested by: Samuel Thibault
17849
17850 * grub-core/mmap/mmap.c (parsemem): New function.
17851 (grub_cmd_cutmem): Handle new arguments.
17852
2ea57f88
VS
178532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17854
17855 New command cutmem.
17856
17857 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17858 (GRUB_MOD_INIT): Register new command.
17859 (GRUB_MOD_FINI): Unregister new command.
17860
74342e31
VS
178612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17862
17863 Support some annoying BSD and Minix subpartitions.
17864
17865 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
17866 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
17867 Properly handle concatenation.
17868 * grub-core/kern/device.c (grub_device_iterate): Likewise.
17869 * grub-core/normal/completion.c (iterate_partition): Likewise.
17870 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
17871 contain partition. All users updated.
17872 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
17873 struct.
17874 (grub_openbsdlabel_partition_map): Likewise.
17875 (bsdlabel_partition_map_iterate): Rename to ..
17876 (iterate_real): ... this. New arguments sector, freebsd and pmap.
17877 (bsdlabel_partition_map_iterate): New function.
17878 (netopenbsdlabel_partition_map_iterate): Likewise.
17879 (netbsdlabel_partition_map_iterate): Likewise.
17880 (openbsdlabel_partition_map_iterate): Likewise.
17881 (GRUB_MOD_INIT): Register new partmaps.
17882 (GRUB_MOD_FINI): Unregister new partmaps.
17883 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
17884 (grub_partition_msdos_iterate): ... this. All users updated.
17885 Don't support embedding other than in a minix partition.
17886 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
17887 proto.
17888 * include/grub/partition.h (grub_partition): New field msdostype.
17889 * util/grub-install.in: Handle openbsd and netbsd types being in
17890 part_bsd module.
17891
1e8d555b
VS
178922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17893
17894 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
17895
17896 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
17897 * grub-core/Makefile.core.def (mdraid): Renamed to ...
17898 (mdraid09): ... this.
17899 (mdraid1x): New module.
17900 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
17901 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
17902
899d8af4
VS
179032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17904
17905 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
17906 vsprintf.
17907
40901acd
CW
179082010-09-20 Colin Watson <cjwatson@ubuntu.com>
17909
17910 * grub-core/commands/efi/lsefimmap.c: Correct header.
17911 * NEWS: Update.
17912
dfe3b247
CW
179132010-09-20 Colin Watson <cjwatson@ubuntu.com>
17914
17915 * util/grub-editenv.c (argp_parser): Don't pass translated strings
17916 as printf format strings; the translations might contain '%' which
17917 could cause a crash.
17918 (main): Likewise.
17919 * util/grub-fstest.c (argp_parser): Likewise.
17920 * util/grub-setup.c (argp_parser): Likewise.
17921 (main): Likewise.
17922
3286a4b4
VS
179232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17924
17925 Use argp in grub-fstest.
17926
17927 * util/grub-fstest.c: Don't include getopt.h.
17928 Include argp.h.
17929 (root): New variable.
17930 (args_count): Likewise.
17931 (nparm): Likewise.
17932 (num_disks): Likewise.
17933 (images): Likewise.
17934 (cmd): Likewise.
17935 (debug_str): Likewise.
17936 (args): Likewise.
17937 (options): Transformed to argp.
17938 (usage): Removed.
17939 (main): Split argument parsing into ...
17940 (argp_parser): ... this. Changed to argp format.
17941 (argp): New variable.
17942 (main): Use argp_parse.
17943
3dccbe4b
TG
179442010-09-20 Tristan Gingold <gingold@free.fr>
179452010-09-20 Robert Millan <rmh.grub@aybabtu.com>
179462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 * grub-core/commands/efi/lsefimmap.c: New file.
17949 * grub-core/Makefile.core.def (lsefimmap): New module.
17950 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
17951
38c259a7
VS
179522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17953
17954 Pause the execution (10s max) if any errors are displayed so the user
17955 has a chance to see them.
17956
17957 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
17958 (grub_print_error): Increment grub_err_printed_errors.
17959 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
17960 execution if any errors were displayed.
17961 (show_menu): Remove old code for pause.
17962 * grub-core/normal/menu_entry.c (run): Likewise.
17963 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
17964 users updated.
17965 (grub_normal_get_char_counter): Likewise.
17966 * include/grub/err.h (grub_err_printed_errors): New external variable.
17967 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
17968
f218b09c
VS
179692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 Support multiboot VBE info.
17972
17973 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17974 Take VBE info into account.
17975 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
17976 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17977 Call fill_vbe_info when appropriate.
17978 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
17979 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
17980 as supported.
17981 (grub_multiboot_get_mbi_size): Take new tags into account.
17982 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
17983 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17984 Call fill_vbe_tag when appropriate.
17985 (grub_multiboot_make_mbi): Properly align tags.
17986 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
17987 function.
17988 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
17989 proto.
17990 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
17991
a9cc5438
VS
179922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17993
17994 Suport manual terminal geometry specification.
17995
17996 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
17997 Save state in grub_ofconsole_terminfo_output.
17998 (grub_ofconsole_term): Use grub_terminfo_getwh.
17999 (grub_ofconsole_getwh): Removed.
18000 * grub-core/term/serial.c (grub_serial_getwh): Removed.
18001 (grub_serial_term): Use grub_terminfo_getwh.
18002 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
18003 (options): New struct.
18004 (OPTION_*): New enum.
18005 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
18006 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
18007 width and height.
18008 (grub_terminfo_getwh): New proto.
18009 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
18010
1a8fed20
VS
180112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18012
18013 Handle legacy "terminal" command.
18014
18015 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
18016 and FLAG_TERMINAL.
18017 (legacy_commands): Add terminal and title.
18018 (grub_legacy_parse): Handle terminal. Simplify title handling.
18019
41e9c57d
VS
180202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18021
18022 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
18023 parameters overflow.
18024
61c874c5
CW
180252010-09-20 Colin Watson <cjwatson@ubuntu.com>
18026
18027 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
18028 widthspec.h.
18029
18030 * docs/grub.texi (Shell-like scripting): Document `!'.
18031 (Network): Simplify using new i386-pc-pxe format. Mention
18032 grub-mknetdir.
18033
18034 * NEWS: Update.
18035
943682b4
CW
180362010-09-20 Colin Watson <cjwatson@ubuntu.com>
18037
18038 * Makefile.am (SUBDIRS): Restore "."; it's important to force
18039 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
18040 when needed.
18041
6d3d698d
CW
180422010-09-20 Colin Watson <cjwatson@ubuntu.com>
18043
18044 * grub-core/commands/efi/lsefisystab.c: Correct header.
18045 * grub-core/commands/efi/lssal.c: Likewise.
18046 * grub-core/commands/testload.c: Likewise.
18047
c982589f
CW
180482010-09-20 Colin Watson <cjwatson@ubuntu.com>
18049
18050 * util/grub-mkrescue.in: Add explicit root argument to --set to
18051 prevent the UUID being interpreted as an argument to --set (matches
18052 previous change to prepare_grub_to_access_device).
18053
a63c31b6
CW
180542010-09-20 Colin Watson <cjwatson@ubuntu.com>
18055
18056 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
18057 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
18058 the verbosity of later #ifs.
18059 (find_partition_start): Define this function on FreeBSD too.
18060 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
18061 function.
18062 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
18063 on FreeBSD.
18064
6439b8ee
YB
180652010-09-20 Yves Blusseau <blusseau@zetam.org>
18066
18067 * util/grub-editenv.c: Use argp instead of getopt.
18068
c5930ec8
YB
180692010-09-20 Yves Blusseau <blusseau@zetam.org>
18070
18071 * util/grub-setup.c: Use argp instead of getopt.
18072
15c69261
YB
180732010-09-20 Yves Blusseau <blusseau@zetam.org>
18074
18075 Use gnulib-tool to create gnulib source files.
18076
18077 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
18078 grub-core/gnulib directories
18079 * .bzignore: Add **/.deps and autogenerated gnulib files
18080 * configure.ac: Assign auxiliary directory to build-aux, add invocation
18081 of gnulib macros, add grub-core/gnulib/Makefile
18082 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
18083 include m4 directory to aclocal.
18084 * Makefile.util.def: Remove direct compilation of gnulib source files
18085 and use the new grub-core/gnulib/libgnu.a.
18086 * build-aux/config.rpath: move config.rpath from top directory to
18087 build-aux
18088 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
18089 in gnulib headers
18090 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
18091 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
18092 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
18093 header.
18094 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
18095 string.
18096
e511c9f5
YB
180972010-09-20 Yves Blusseau <blusseau@zetam.org>
18098
18099 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
18100 grub-core/genmod.sh and grub-core/gensyminfo.sh
18101
c2dede05
BC
181022010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
18103
18104 Add a test for echo command options.
18105
18106 * tests/grub_cmd_echo.in: New test.
18107 * Makefile.util.def: Rules for new test.
18108
c55f5018
SJ
181092010-09-20 Szymon Janc <szymon@janc.net.pl>
18110
18111 Remove crc.mod and move crc command to hashsum.mod.
18112 Remove lib/crc.c - users updated to use gcrypt implementation.
18113
18114 * grub-core/commands/crc.c: Removed.
18115 * grub-core/Makefile.core.def (crc): Module removed.
18116 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
18117 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
18118 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
18119 * grub-core/lib/crc.c: Removed.
18120 * include/grub/lib/crc.h: Removed.
18121 * Makefile.util.def (crc): Remove lib/crc.c
18122 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
18123 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
18124 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
18125 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
18126 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
18127 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
18128
e0337366
VS
181292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
18132
742f9232
VS
181332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 Split config.h for util and core.
18136
18137 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
18138 (ADDR32): Likewise.
18139 (DATA32): Likewise.
18140 (BSS_START_SYMBOL): Likewise.
18141 (END_SYMBOL): Likewise.
18142 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
18143 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
18144 * config.h.in: New file.
18145 * configure.ac: Use config-util.h as config define file.
18146 Rename MACHINE into GRUB_MACHINE. All users updated.
18147 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
18148 updated.
18149 (NESTED_FUNC_ATTR): Likewise.
18150 Substitue new variables.
18151 (COND_HAVE_ASM_USCORE): New conditional.
18152 * grub-core/Makefile.am (ASM_PREFIX): New variable.
18153 (kernel_syms.lst): Use ASM_PREFIX.
18154 * grub-core/kern/emu/console.c: Include config-util.h.
18155 * grub-core/kern/emu/misc.c: Likewise.
18156 * grub-core/kern/emu/mm.c: Likewise.
18157 * include/grub/emu/misc.h: Likewise.
18158 * include/grub/libgcc.h: Likewise.
18159
39feb0e8
VS
181602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
18163 constants usage.
18164 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
18165 Fix GRUB_TERM_KEY_* constants usage.
18166 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
18167
9af6dac3
VS
181682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
18171 print pointer.
18172 * grub-core/bus/usb/uhci.c: Remove empty define.
18173 (grub_uhci_check_transfer): Add missing cast.
18174 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
18175 print pointer.
18176 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
18177 PRIuGRUB_SIZE.
18178 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
18179
d6d94820
VS
181802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 * grub-core/Makefile.core.def (legacycfg): Add
18183 lib/i386/pc/vesa_modes_table.c on emu.
18184
3572f2b6
BC
181852010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18186
18187 Reduce number of temporary files generated by build system.
18188
18189 * grub-core/gencmdlist.sh: Removed.
18190 * grub-core/genfslist.sh: Removed.
18191 * grub-core/genhandlerlist.sh: Removed.
18192 * grub-core/genmodsrc.sh: Removed.
18193 * grub-core/genpartmaplist.sh: Removed.
18194 * grub-core/genparttoollist.sh: Removed.
18195 * grub-core/gentermiinallist.sh: Removed.
18196 * grub-core/genvideolist.sh: Removed.
18197
18198 * grub-core/genmod.sh.in: New file.
18199 * grub-core/gensyminfo.sh.in: New file.
18200
18201 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
18202 * conf/Makefile.extra-dist: Update with new files.
18203 * gentpl.py: Remove rules related to unnecessary temporary files.
18204 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
18205 and und-* files.
18206 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
18207 genmod.sh scripts.
18208 * grub-core/bus/usb/uhci.c: Remove empty #define.
18209 * grub-core/genmoddep.awk: Updated with new syminfo format.
18210 * util/bash-completion.d/Makefile.am: Add config.log to
18211 CLEANFILES.
18212
c836b030
YB
182132010-09-19 Yves Blusseau <blusseau@zetam.org>
18214
18215 * Makefile.util.def: Add forgotten $(LIBINTL) library.
18216
2f4e8053
BC
182172010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
18218
18219 * util/grub-mkconfig.in: Check the config script for syntax errors
18220 before saving.
18221
75831c34
CW
182222010-09-19 Colin Watson <cjwatson@ubuntu.com>
182232010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * Makefile.util.def (grub-install): Use util/grub-install.in on all
18226 platforms.
18227 * util/grub-install.in: Add EFI and IEEE1275 support.
18228 * util/i386/efi/grub-install.in: Removed.
18229 * util/ieee1275/grub-install.in: Likewise.
18230
eaf41b25
VS
182312010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
18234 (grub_cmd_cmosclean): Likewise.
18235 (GRUB_MOD_INIT): Register command cmosclean.
18236 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
18237 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
18238
1a9130dd
CPE
182392010-09-18 Carles Pina i Estany <carles@pina.cat>
182402010-09-18 Aleš Nesrsta <starous@volny.cz>
182412010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 Add keyboard layouts support.
18244
18245 * Makefile.util.def (grub-mklayout): New file.
18246 (grub-kbdcomp): New script.
18247 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
18248 Add keyboard_layouts.h.
18249 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
18250 commands/boot.c on yeeloong.
18251 (keylayouts): New module.
18252 * grub-core/bus/usb/ohci.c
18253 * grub-core/bus/usb/uhci.c
18254 * grub-core/bus/usb/usbhub.c (rescan): New variable.
18255 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18256 (attach_root_port): Likewise.
18257 (poll_nonroot_hub): Likewise.
18258 (grub_usb_poll_devices): Likewise.
18259 (detach_device): Close transfer.
18260 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18261 function.
18262 (grub_usb_bulk_setup_readwrite): Likewise.
18263 (grub_usb_bulk_finish_readwrite): Likewise.
18264 * grub-core/commands/keylayouts.c: New file.
18265 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18266 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18267 aliases.
18268 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18269 support scancode 2.
18270 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18271 * include/grub/keyboard_layouts.h: New file.
18272 * util/grub-mklayout.c: New file.
18273 * util/grub-kbdcomp.in: Likewise.
18274
a1d84a5e
VS
182752010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 Unify memory types.
18278
18279 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18280 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18281 types.
18282 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18283 (grub_upper_mem): Likewise.
18284 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18285 * include/grub/memory.h (grub_memory_type_t): New enum.
18286 All users updated.
18287
9696382e
VS
182882010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 * grub-core/Makefile.core.def (lsapm): New module.
18291 * grub-core/commands/i386/pc/lsapm.c: New file.
18292 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18293 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18294 Likewise.
18295 * include/grub/i386/pc/apm.h: New file.
18296 * include/multiboot.h (multiboot_apm_info): New struct.
18297
182982010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 GRUB-legacy configuration file support.
18301
18302 * Makefile.util.def (grub-menulst2cfg): New util.
18303 * docs/man/grub-menulst2cfg.h2m: New file.
18304 * grub-core/Makefile.core.def (legacycfg): New module.
18305 * grub-core/commands/legacycfg.c: New file.
18306 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18307 (grub_normal_add_menu_entry): ... this.
18308 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18309 (grub_normal_set_password): ...this.
18310 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18311 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18312 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18313 * grub-core/lib/legacy_parse.c: New file.
18314 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18315 * include/grub/i386/pc/vesa_modes_table.h: New file.
18316 * include/grub/legacy_parse.h: Likewise.
18317 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18318 * util/grub-menulst2cfg.c: New file.
18319
bf8d1338
CW
183202010-09-17 Colin Watson <cjwatson@ubuntu.com>
18321
18322 * grub-core/kern/emu/hostdisk.c
18323 (convert_system_partition_to_system_disk): Initialise node.
18324
9c0bad2e
CW
183252010-09-17 Colin Watson <cjwatson@ubuntu.com>
18326
18327 * grub-core/kern/emu/hostdisk.c
18328 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18329 leak.
18330 Reported and based on patch by: Modestas Vainius.
18331
a939d135
CW
183322010-09-17 Colin Watson <cjwatson@ubuntu.com>
18333
18334 Fix DM-RAID probing with recent versions of device-mapper udev
18335 rules.
18336
18337 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18338 canonicalise device paths under /dev/mapper/.
18339 (convert_system_partition_to_system_disk): Compare the
18340 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18341 path, since device nodes under /dev/mapper/ are often symlinks.
18342
0f7ee3c9
YB
183432010-09-17 Yves Blusseau <blusseau@zetam.org>
18344
18345 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18346
10854d0d
YB
183472010-09-16 Yves Blusseau <blusseau@zetam.org>
18348
18349 * configure.ac: Avoid some annoying error messages if freetype-config
18350 program is not found.
18351
108538d8
CW
183522010-09-16 Colin Watson <cjwatson@ubuntu.com>
18353
18354 Support RAID on virtio devices, and others.
18355
18356 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18357 Rename to ...
18358 [__MINGW32__] (grub_find_device): ... this.
18359 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18360 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18361 reasonable default if dir is NULL.
18362 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18363 ...
18364 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18365 (grub_guess_root_device): Update callers.
18366 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18367
18368 * util/raid.c (grub_util_getdiskname): Remove.
18369 (grub_util_raid_getmembers): Use grub_find_device rather than
18370 grub_util_getdiskname.
18371
e5bfc130
CW
183722010-09-16 Colin Watson <cjwatson@ubuntu.com>
18373
18374 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18375 needing to be compiled with serial support.
18376 (ls): Indicate that multiple files are accepted.
18377 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18378 indicate that multiple files are accepted.
18379
be458ae2
CW
183802010-09-16 Colin Watson <cjwatson@ubuntu.com>
18381
18382 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18383 libgrub_a_init.c, and util/bash-completion.d/grub.
18384
cb731b5e
VS
183852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * util/grub-setup.c (setup): Fix incorrect container semantics.
18388
35139e8a
VS
183892010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18392 misusage.
18393 Reported by: J. Nick Terry
18394
e50fca4a
VS
183952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 Move embedding routines to partmap sources files.
18398
18399 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18400 [GRUB_UTIL]: New variable.
18401 (gpt_partition_map_iterate): Set part.parent.
18402 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18403 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18404 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18405 New function.
18406 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18407 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18408 (grub_partition_map) [GRUB_UTIL]: New field embed.
18409 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18410 (setup): Use ->embed.
18411
f00478b7
VS
184122010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18413
18414 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18415 function.
18416 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18417 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18418
2b94e3ff
YB
184192010-09-15 Yves Blusseau <blusseau@zetam.org>
18420
18421 Add function to get completions from usage.
18422
18423 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18424 completions from usage. Use LC_ALL=C to get options properly.
18425
2e04a006
VS
184262010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18427
18428 * grub-core/gnulib/basename-lgpl.c: Imported.
18429 * grub-core/gnulib/basename.c: Likewise.
18430 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18431 * grub-core/gnulib/dirname.c: Likewise.
18432 * grub-core/gnulib/dirname.h: Likewise.
18433 * grub-core/gnulib/stripslash.c: Likewise.
18434
5dcdf93a
VS
184352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * grub-core/gnulib/error.c: Resynced.
18438 * grub-core/gnulib/getopt.c: Likewise.
18439 * grub-core/gnulib/getopt_int.h: Likewise.
18440 * grub-core/gnulib/regex.h: Likewise.
18441 * grub-core/gnulib/regex_internal.c: Likewise.
18442 * grub-core/gnulib/regex_internal.h: Likewise.
18443
014f47b7
SJ
184442010-09-15 Szymon Janc <szymon@janc.net.pl>
18445
18446 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18447 CRC calculations and validity checks.
18448 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18449 calculations.
18450
dd521a4a
SJ
184512010-09-15 Szymon Janc <szymon@janc.net.pl>
18452
18453 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18454
79c4eeb9
VS
184552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 Fix incorrect echo options handling.
18458 Reported by: Yves Blusseau.
18459
18460 * include/grub/command.h (grub_command_flags_t): New flags
18461 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18462 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18463 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18464
ed80f7d5
VS
184652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18468 users updated.
18469 (GRUB_COMMAND_FLAG_MENU): Likewise.
18470 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18471 (GRUB_COMMAND_FLAG_TITLE): Removed.
18472 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18473 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18474 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18475 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18476 (grub_command_flags_t): New enum. All users updated.
18477
5fe7620a
SG
184782010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18479
18480 Fix solaris compilation.
18481
18482 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18483 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18484 (grub-emu-list): Likewise.
18485
545b752f
VS
184862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 Remove deprecated root command.
18489
18490 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18491 updated.
18492
6c1a338c
VS
184932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 * util/i386/pc/grub-setup.c: Merge this ...
18496 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18497 * util/grub-setup.c: ... into this.
18498 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18499 New struct.
18500
185012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18504 possible.
18505
d2ea4551
VS
185062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18509 allocate p.
18510
3c3b5040
VS
185112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18512
18513 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18514 explicit root argument to set to prevent UUID to be interpreted as
18515 argument to set.
18516
b71c3fae
VS
185172010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18518
18519 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18520
275433e6
VS
185212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18522
18523 Don't export grub_gate_a20.
18524
18525 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18526 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18527 to ...
18528 (grub_gate_a20): ... this. All users updated.
18529 * include/grub/i386/pc/init.h: Removed. All users updated.
18530
a5dbb1f1
VS
185312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 Create euro.pf2 which supports most European languages.
18534
18535 * Makefile.am (grubdata_DATA): Add euro.pf2.
18536 (euro.pf2): New target.
18537 (CLEANFILES): Add euro.pf2.
18538
62a747cb
VS
185392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18540
18541 * configure.ac: Disable emu-usb by default to prevent inadvertent
18542 device takeover.
18543
608e43b1
VS
185442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18545
18546 Disable usbserial on grub-emu since our libusb code isn't good enough
18547 yet.
18548
18549 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18550 (usbserial_pl2303): Likewise.
18551 (usbserial_ftdi): Likewise.
18552
94564f81
VS
185532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * include/grub/disk.h (grub_disk): Remove has_partitions.
18556 All users updated.
18557 * disk/loopback.c (grub_loopback): Remove has_partitions.
18558 All users updated.
18559 (options): Remove partitions. All users updated.
18560 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18561 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18562 actual partition table is found.
18563
3352800b
VS
185642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18565
18566 Remove readability checks (too many false negatives).
18567
18568 * util/grub-install.in: Remove readability checks.
18569 * util/grub-mkconfig.in: Likewise.
18570 * util/grub.d/10_hurd.in: Likewise.
18571 * util/grub.d/10_kfreebsd.in: Likewise.
18572 * util/grub.d/10_linux.in: Likewise.
18573 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18574 way.
18575
2419f17a
VS
185762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18577
18578 Enable acpi shutdown on all ACPI platforms.
18579
18580 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18581 on coreboo, multiboot and EFI.
18582 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18583 (grub_acpi_halt): Likewise.
18584 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18585 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18586 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18587 * grub-core/lib/i386/halt.c (grub_halt)
18588 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18589
0575c7c3
VS
185902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18591
18592 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18593 context.
18594
54ac3cd1
VS
185952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18598 * grub-core/video/efi_uga.c: Likewise.
18599
b2a30ac5
VS
186002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18601
18602 Filter devaliases and never open same device twice.
18603
18604 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18605 (last_ihandle): Likewise.
18606 (ofdisk_hash_ent): New member shortest.
18607 (ofdisk_hash_add): Add canonical path too.
18608 (scan): New function.
18609 (grub_ofdisk_iterate): Iterate over hashed entries.
18610 (compute_dev_path): Don't add :0.
18611 (grub_ofdisk_open): Don't really open the disk.
18612 (grub_ofdisk_close): Avoid closing unrelated disk.
18613 (grub_ofdisk_read): Implement reopen logic.
18614 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18615 New function.
18616 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18617 New proto.
18618
fb53b340
VS
186192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18620
18621 Fix sparc64.
18622
18623 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18624 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18625 right address. Add sparc64_ieee1275_ldflags.
18626 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18627 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18628 to grub_host_to_target_addr
18629 (load_image): Likewise.
18630
f452b040
VS
186312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 * grub-core/normal/completion.c (complete_file): Handle device
18634 containing slash.
18635 Fix based on patch by Doug Nazar.
18636
9b5b2541
VS
186372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 grub-mknetdir script.
18640
18641 * Makefile.util.def (grub-mknetdir): New module.
18642 * tests/util/grub-shell.in: Support boot=net
18643 * util/grub-mknetdir.in: New file.
18644
9d2be652
VS
186452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 videoinfo on non-vbe.
18648
18649 * grub-core/Makefile.core.def (vbeinfo): Removed.
18650 (vbetest): Removed.
18651 (videoinfo): New module.
18652 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18653 * grub-core/commands/i386/pc/vbetest.c: Removed.
18654 * grub-core/commands/videoinfo.c: New file.
18655 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18656 specification.
18657 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18658 as vbetest.
18659 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18660 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18661 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18662 mode_number. New parameter mode. All users updated.
18663 (grub_video_gop_iterate): New function.
18664 (grub_video_efi_gop): New member iterate.
18665 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18666 (grub_vbe_set_video_mode): Remove setting useless fields.
18667 (vbe2videoinfo): New function.
18668 (grub_video_vbe_iterate): Likewise.
18669 (grub_video_vbe_setup): Use vbe2videoinfo.
18670 (grub_video_vbe_print_adapter_specific_info): New function.
18671 (grub_video_vbe_adapter): New fields iterate and
18672 print_adapter_specific_info.
18673 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18674 All users updated.
18675 (grub_video_mode_info): New field mode_number.
18676 (grub_video_adapter): New fields iterate and
18677 print_adapter_specific_info.
18678
179503f5
TG
186792010-09-13 Tristan Gingold <gingold@free.fr>
186802010-09-13 Robert Millan <rmh.grub@aybabtu.com>
186812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 * grub-core/commands/efi/lsefisystab.c: New file.
18684 * grub-core/commands/efi/lssal.c: Likewise.
18685 * grub-core/Makefile.core.def (lsacpi): New module.
18686 (lsefisystab): Likewise.
18687 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18688 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18689 (grub_efi_sal_system_table): New struct.
18690 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18691 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18692 (grub_efi_sal_system_table_platform_features): Likewise.
18693 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18694 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18695 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18696 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18697
cf9827de
VS
186982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Support explicit user claim that a device is BIOS-visible.
18701
18702 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18703 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18704 * grub-core/kern/emu/hostdisk.c
18705 (convert_system_partition_to_system_disk): Support mdX.
18706 (find_system_device): New parameter add. All users updated.
18707 (grub_util_biosdisk_is_present): New function.
18708 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18709 proto.
18710
53f0eb1f
VS
187112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 Search hints support.
18714
18715 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18716 All users updated.
18717
b23ffd70
YB
187182010-09-13 Yves Blusseau <blusseau@zetam.org>
18719
18720 Bash completion script for util commands
18721
18722 * Makefile.am: Add util/bash-completion.d directory
18723 * configure.ac: Likewise.
18724 * util/bash-completion.d/Makefile.am: New file.
18725 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18726
d547dc28
VS
187272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18728
18729 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18730 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18731 Reported by: Yves Blusseau.
18732
2fc8ccb9
VS
187332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18734
18735 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18736 partition size and offset.
18737
d8a84076
VS
187382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18741
84fb3b3d
VS
187422010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18745
768ec2e2
VS
187462010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18747
18748 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18749 (grub_xvasprintf): Likewise.
18750
4870900f
VS
187512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18752
18753 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18754
faca6bec
VS
187552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18756
18757 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18758 args ending with NULL.
18759
187602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18761
18762 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18763 pointer.
18764
3c70f225
SJ
187652010-09-11 Szymon Janc <szymon@janc.net.pl>
18766
18767 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18768
4df7996d
VS
187692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18770
18771 Shutdown using ACPI.
18772
18773 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18774 * grub-core/commands/acpihalt.c: New file.
18775 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18776 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18777 (grub_acpi_halt): New proto.
18778 (GRUB_ACPI_SLP_EN): New const.
18779 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18780 (GRUB_ACPI_OPCODE_*): New enum.
18781 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18782
126b4c32
TG
187832010-09-11 Tristan Gingold <gingold@free.fr>
187842010-09-11 Robert Millan <rmh.grub@aybabtu.com>
187852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * commands/lsacpi.c: New file.
18788 * grub-core/Makefile.core.def (lsacpi): New module.
18789 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18790 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18791 (grub_acpi_madt_entry_header): New struct.
18792 (grub_acpi_madt): Likewise.
18793 (grub_acpi_madt_entry_interrupt_override): Likewise.
18794 (grub_acpi_madt_entry_sapic): Likewise.
18795 (grub_acpi_madt_entry_lsapic): Likewise.
18796 (grub_acpi_madt_entry_platform_int_source): Likewise.
18797 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18798 (PRIuGRUB_UINT32_T): Likewise.
18799 (PRIxGRUB_UINT64_T): Likewise.
18800
1aa4fe88
VS
188012010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18802
18803 Implement loading palette on ieee1275_fb.
18804
18805 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18806 (have_setcolors): Likewise.
18807 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18808 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18809 (grub_video_ieee1275_set_palette): Implement.
18810
25761e13
VS
188112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
188122010-09-11 Colin Watson <cjwatson@ubuntu.com>
18813
18814 * util/grub-install.in (grub_partition): New variable.
18815 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18816 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18817 Fixes a bug reported by Yves Blusseau.
18818
050abaea
VS
188192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 Fix emu on mipsel.
18822
18823 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18824 =grub_cpu_flush_cache on all mips and not only yeeloong.
18825 * configure.ac (COND_mips): New conditional.
18826 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18827 platforms.
18828 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18829 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18830 [GRUB_LINKER_HAVE_INIT]: New function.
18831 (grub_emu_post_init): Likewise.
18832 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18833 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18834 * include/grub/cache.h (_mips): Include mips/cache.h.
18835 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18836 LVM and RAID prototypes.
18837 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18838 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18839 function.
18840
5ed7d816
CW
188412010-09-10 Colin Watson <cjwatson@ubuntu.com>
18842
18843 * util/grub-install.in: Don't try to verify core.img until after
18844 running grub-mkimage to create it.
18845
90367e04
RM
188462010-09-10 Robert Millan <rmh@gnu.org>
18847
18848 * util/grub.d/10_hurd.in: Add misc readability checks.
18849 * util/grub.d/10_kfreebsd.in: Likewise.
18850 * util/grub.d/10_linux.in: Likewise.
18851
c452fa66
CW
188522010-09-10 Colin Watson <cjwatson@ubuntu.com>
18853
18854 * util/grub-install.in: ${imgext} won't be defined here until the
18855 install branch is merged. For the meantime, only verify core.img on
18856 i386-pc and sparc64-ieee1275 platforms.
18857
c38fe9f4
RM
188582010-09-10 Robert Millan <rmh@gnu.org>
18859
18860 Solaris support in grub_find_zpool_from_dir(). Thanks
18861 Seth Goldberg for referring to getextmntent() facility.
18862
18863 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
18864 `sys/mkdev.h'.
18865 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
18866 `<sys/mnttab.h>'.
18867 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
18868 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
18869 method for finding zpool name.
18870
905f7773
CW
188712010-09-10 Colin Watson <cjwatson@ubuntu.com>
18872
18873 grub-fstest needs the host and hostfs modules while other utilities
18874 actively require those modules to be absent, so grub-fstest needs
18875 its own initialisation and finalisation code.
18876
18877 * Makefile.am (grub_fstest.pp): New target.
18878 (grub_fstest_init.lst): Likewise.
18879 (grub_fstest_init.c): Likewise.
18880 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
18881
fb90b546
RM
188822010-09-10 Robert Millan <rmh@gnu.org>
18883
18884 * configure.ac: Check for `struct statfs.f_fstypename' and
18885 `struct statfs.f_mntfromname'.
18886
18887 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
18888 kFreeBSD-specific code.
18889
66d4bea5
RM
188902010-09-10 Robert Millan <rmh@gnu.org>
18891
18892 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
18893 on ZFS. Now non-main filesystems are supported as / too.
18894
b6a690ee
CW
188952010-09-09 Colin Watson <cjwatson@ubuntu.com>
18896
18897 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
18898 and grub-core/disk/host.c to ...
18899 (grub-fstest): ... here. Having the host disk implementation
18900 present confuses grub-probe and other utility programs.
18901
18902 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
18903 when writing to a file, not when writing to stdout.
18904
8901b00c 189052010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
18906
18907 * tests/partmap_test.in: New test for partitions.
18908 * Makefile.util.def: Rules for new test.
18909
7bf45fdd
RM
189102010-09-09 Robert Millan <rmh@gnu.org>
18911
18912 * util/grub-probe.c (probe): Fix a pair of unhandled error
18913 conditions.
18914
4dfbc574
RM
189152010-09-09 Robert Millan <rmh@gnu.org>
18916
18917 Basic Btrfs support (detection and UUID).
18918
18919 * grub-core/fs/btrfs.c: New file.
18920 * Makefile.util.def (library): Register btrfs.c.
18921 * grub-core/Makefile.core.def: Likewise.
18922
6b8e78ae
RM
189232010-09-08 Robert Millan <rmh@gnu.org>
18924
18925 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
18926 with (optional) parameters to specify device and relative path.
18927 * util/grub-install.in: Use is_path_readable_by_grub() to
18928 verify readability of a few critical files.
18929 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
18930 verify readability of grub.cfg.new.
18931
27f21a8b
VS
189322010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18933
18934 Split minix.mod into minix.mod and minix2.mod.
18935
18936 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
18937 * grub-core/Makefile.core.def (minix2): New module.
18938 * grub-core/fs/minix.c: Use definitions instead of runtime version
18939 checking.
18940 * grub-core/fs/minix2.c: New file.
18941
c0e53ea5
YB
189422010-09-08 Yves Blusseau <blusseau@zetam.org>
18943
18944 Add new --boot-directory option to replace --root-directory
18945
18946 * util/grub-install.in: Add new --boot-directory option
18947 * util/grub-reboot.in: Likewise.
18948 * util/grub-set-default.in: Likewise.
18949
b9fe6ea2
YB
189502010-09-08 Yves Blusseau <blusseau@zetam.org>
18951
18952 * util/grub-mkconfig.in: Use new variable.
18953
d87aedff
YB
189542010-09-08 Yves Blusseau <blusseau@zetam.org>
18955
18956 * configure.ac: Define some useful variables.
18957
e55e8495
VS
189582010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18961 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
18962 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
18963 Use terminfo and don't use cursor-on/cursor-off unless it's known
18964 to work.
18965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
18966 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
18967
6fa6d675
CW
189682010-09-08 Colin Watson <cjwatson@ubuntu.com>
18969
18970 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
18971 starts with "(,", fill the drive containing the loaded image in
18972 between those two characters, but expect that a full partition
18973 specification including partition map names will follow.
18974
92f2aef0
RM
189752010-09-08 Robert Millan <rmh@gnu.org>
18976
18977 * configure.ac: Remove `--enable-grub-fstest' option.
18978 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
18979
18980 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
18981 `grub-fstest' instead of `grub-probe' for readability verification.
18982 * util/grub-probe.c (probe): Remove readability verification kludge.
18983
99fd620d
RM
189842010-09-08 Robert Millan <rmh@gnu.org>
18985
18986 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
18987 initializing `GRUB_FS'.
18988
058e30ac 189892010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
18990
18991 Not command (!) support to GRUB script.
18992
18993 * tests/grub_script_not.in: New test.
18994 * Makefile.util.def: Rules for new test.
18995
18996 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18997 ! command as a special case.
18998 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
18999
b61d05ed 190002010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19001
058e30ac 19002 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
19003 grub_free.
b61d05ed 19004
4d69c786 190052010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19006
19007 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
19008
aa3119c4 190092010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
19010
19011 * docs/grub.texi (Shell-like scripting): Documentation for break,
19012 continue, shift and return commands.
19013
db0f7e3d
VS
190142010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 Rename CD-ROM to cd on BIOS.
19017
19018 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
19019 "cd".
19020 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
19021
88b87c93
VS
190222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19023
19024 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
19025 * util/grub-probe.c (main): Likewise.
19026 * util/i386/pc/grub-setup.c (main): Likewise.
19027 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19028 Reported and debugged by: alexxy
19029
294f324d
VS
190302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19031
19032 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
19033 diagnostic info.
19034
d7ee3441
JS
190352010-09-05 Jo Shields <directhex@apebox.org>
19036
19037 * util/grub.d/30_os-prober.in: Add missing classes.
19038
d7e06c1f
VS
190392010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19040
19041 * docs/grub.texi (Theme file format): Document new position format.
19042
fc157e53
VS
190432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19044
19045 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
19046 a table. Use @code instead of @verbatim.
19047
506e9a1c
CB
190482010-09-05 Colin D Bennett <colin@gibibit.com>
19049
19050 Gfxmenu documentation.
19051
19052 * docs/grub.texi (Theme file format): New chapter.
19053
f0aff67c
SJ
190542010-09-05 Szymon Janc <szymon@janc.net.pl>
19055
19056 * grub-core/Makefile.core.def (xzio): New module.
19057 * grub-core/io/xzio.c: New file.
19058 * grub-core/lib/xzembed/xz.h: New file (from xembed).
19059 * grub-core/lib/xzembed/xz_config.h: Likewise.
19060 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
19061 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
19062 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
19063 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
19064 * grub-core/lib/xzembed/xz_private.h: Likewise.
19065 * grub-core/lib/xzembed/xz_stream.h: Likewise.
19066 * include/grub/file.h (grub_file_filter_id): New compression filter
19067 GRUB_FILE_FILTER_XZIO.
19068
82a85062
VS
190692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19070
19071 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
19072 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
19073 size.
19074
3579415d
VS
190752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19076
19077 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
19078 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
19079
5124ae6d
VS
190802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19081
19082 Uncompressed checksum support.
19083
19084 * grub-core/commands/hashsum.c (options): Add option --uncompress.
19085 (check_list): New parameter uncompress.
19086 (grub_cmd_hashsum): Handle --uncompress.
19087
9aadb3d1
VS
190882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19089
19090 Reintroduce testload.
19091
19092 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
19093 from here ...
19094 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
19095 (GRUB_MOD_INIT): New function.
19096 (GRUB_MOD_FINI): Likewise.
19097 * grub-core/Makefile.core.def (testload): New module.
19098
a17792c3
SJ
190992010-09-05 Szymon Janc <szymon@janc.net.pl>
19100
19101 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
19102 (uint8_t): New type.
19103 (uint16_t): Likewise.
19104 (uint32_t): Likewise.
19105 (uint64_t): Likewise.
19106
b81e40a3
SJ
191072010-09-05 Szymon Janc <szymon@janc.net.pl>
19108
19109 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
19110
fc2ef117
VS
191112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
19112
19113 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
19114 Made static.
19115 (grub_gzfile_open): Removed. All users updated.
19116 (GRUB_MOD_INIT): New function.
19117 (GRUB_MOD_FINI): Likewise.
19118 * grub-core/kern/file.c (grub_file_filters_all): New variable.
19119 (grub_file_filters_enabled): Likewise.
19120 (grub_file_open): Handle filters.
19121 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
19122 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
19123 * include/grub/file.h (grub_file_filter_id_t): New type.
19124 (grub_file_filter_t): Likewise.
19125 (grub_file_filters_all): New extern variable.
19126 (grub_file_filters_enabled): Likewise.
19127 (grub_file_filter_register): New inline function.
19128 (grub_file_filter_unregister): Likewise.
19129 (grub_file_filter_disable): Likewise.
19130 (grub_file_filter_disable_compression): Likewise.
19131 * include/grub/gzio.h: Removed.
19132
35ee15e0
BC
191332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19134
19135 Filename expansion support for wildcards in GRUB script.
19136
19137 * tests/grub_script_expansion.in: New test.
19138 * Makefile.util.def: Rule for new test.
19139
19140 * grub-core/commands/wildcard.c: New file, implements filename
19141 expansion support for GRUB script.
19142 * grub-core/Makefile.core.def: Rule update for regexp.mod.
19143 * grub-core/script/argv.c: Cosmetic changes.
19144 * grub-core/script/execute.c (grub_script_arglist_to_argv):
19145 Refactored to perform wildcard expansion on arguments.
19146 * include/grub/script_sh.h (grub_script_wildcard_translator): New
19147 struct.
19148
19149 * tests/util/grub-shell.in: Fix quoting for read input.
19150
5f0c4aca
BC
191512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19152
19153 Support for updating environment variables with matched substrings
19154 of regexp.
19155
19156 * tests/grub_cmd_regexp.in: New test.
19157 * Makefile.util.def: Rule for new test.
19158
19159 * grub-core/commands/regexp.c: New option -s to update environment
19160 variables with regexp matches.
19161
3759a35f
SJ
191622010-09-04 Szymon Janc <szymon@janc.net.pl>
19163
19164 * include/grub/file.h (grub_file): New member not_easly_seekable.
19165 (grub_file_seekable): New inline function.
19166 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
19167 easily seekable.
19168 (grub_gzio_open): Set not_easly_seekable.
19169 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
19170 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
19171
ed8c6dec
BC
191722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19173
19174 Support for options to appear multiple times on cmdline.
19175
19176 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
19177 * grub-core/commands/extcmd.c: Support for repeatable option.
19178 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
19179 repeatable option support.
19180
19181 Refactor menuentry into a regular command.
19182
19183 * grub-core/commands/menuentry.c: New file, menuentry command
19184 implementation.
19185 * grub-core/Makefile.core.def: Rule update for normal.mod.
19186 * grub-core/normal/main.c: Moved menuentry creation to
19187 grub-core/commands/menuentry.c.
19188 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
19189 (grub_menu_execute_entry_real): Removed.
19190 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
19191 function.
19192 (grub_script_execute_menuentry): Removed.
19193 * grub-core/script/parser.y (menuentry): Removed.
19194 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
19195 * grub-core/script/yylex.l (menuentry): Removed.
19196 * include/grub/menu.h (grub_menu_init): New prototype.
19197 (grub_menu_fini): New prototype.
19198 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
19199 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
19200 (grub_script_execute_sourcecode): New prototype.
19201
dacd0cf0
BC
192022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19203
19204 "return" command for GRUB script functions.
19205
19206 * tests/grub_script_return.in: New test.
19207 * Makefile.util.def: Rules for new test.
19208
19209 * grub-core/script/execute.c (grub_script_return): New function.
19210 * grub-core/script/main.c: Register/unregister return commaond.
19211 * include/grub/script_sh.h (grub_script_return): New prototype.
19212
52e72f9d
BC
192132010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19214
19215 "setparams" command to update positional parameters.
19216
19217 * tests/grub_script_setparams.in: New test.
19218 * Makefile.util.def: Rules for new test.
19219
19220 * grub-core/script/argv.c (grub_script_argv_make): New function.
19221 * grub-core/script/execute.c (replace_scope): New function.
19222 (grub_script_setparams): New function.
19223 * grub-core/script/lexer.c: Remove unused variables.
19224 * grub-core/script/main.c: Register/unregister setparams command.
19225 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
19226 (grub_script_setparams): New prototype.
19227
25b60c91
BC
192282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19229
19230 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
19231 grub_free order.
19232
37e7bf68
BC
192332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19234
19235 Support for passing block of commands as an argument to extcmds.
19236
19237 * Makefile.util.def: Rules for new test.
19238 * tests/grub_script_blockarg.in: New test.
19239 * grub-core/tests/test_blockarg.c: New file, block argument
19240 command used in the test.
19241
19242 * include/grub/extcmd.h (grub_extcmd_context): New struct.
19243 (grub_register_extcmd_prio): New function prototype.
19244 (grub_extcmd_dispatcher): New function prototype.
19245 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
19246 type.
19247 * include/grub/script_sh.h (struct grub_script): New members
19248 `children', `next_siblings' and `refcnt' for block arguments and
19249 reference counting.
19250 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
19251 (grub_script_arg): New member `script' for block argument.
19252 (grub_script_argv): New member `script' for block argument.
19253 (grub_parser_param): New member `scripts' for block argument.
19254 (grub_script_mem_free): New extern function prototype.
19255 (grub_script_ref): New function prototype.
19256 (grub_script_unref): New function prototype.
19257
19258 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19259 extcmd form to support block arguments.
19260 * grub-core/script/argv.c: Block arguments support.
19261 * grub-core/script/execute.c: Likewise.
19262 * grub-core/script/lexer.c: Likewise.
19263 * grub-core/script/main.c: Likewise.
19264 * grub-core/script/script.c: Likewise.
19265 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19266 non-terminals.
19267
19268 * grub-core/commands/acpi.c: Update extcmd implementations with
19269 grub_extcmd_context_t.
19270 * grub-core/commands/cat.c: Likewise.
19271 * grub-core/commands/echo.c: Likewise.
19272 * grub-core/commands/extcmd.c: Likewise.
19273 * grub-core/commands/hashsum.c: Likewise.
19274 * grub-core/commands/hdparm.c: Likewise.
19275 * grub-core/commands/help.c: Likewise.
19276 * grub-core/commands/hexdump.c: Likewise.
19277 * grub-core/commands/i386/cpuid.c: Likewise.
19278 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19279 * grub-core/commands/i386/pc/halt.c: Likewise.
19280 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19281 * grub-core/commands/iorw.c: Likewise.
19282 * grub-core/commands/keystatus.c: Likewise.
19283 * grub-core/commands/loadenv.c: Likewise.
19284 * grub-core/commands/ls.c: Likewise.
19285 * grub-core/commands/lspci.c: Likewise.
19286 * grub-core/commands/memrw.c: Likewise.
19287 * grub-core/commands/probe.c: Likewise.
19288 * grub-core/commands/search_wrap.c: Likewise.
19289 * grub-core/commands/setpci.c: Likewise.
19290 * grub-core/commands/sleep.c: Likewise.
19291 * grub-core/disk/loopback.c: Likewise.
19292 * grub-core/hello/hello.c: Likewise.
19293 * grub-core/loader/i386/bsd.c: Likewise.
19294 * grub-core/loader/xnu.c: Likewise.
19295 * grub-core/term/gfxterm.c: Likewise.
19296 * grub-core/term/serial.c: Likewise.
19297 * grub-core/tests/lib/functional_test.c: Likewise.
19298
888d1500
BC
192992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19300
19301 Multi-line quoted strings support.
19302
19303 * grub-core/script/lexer.c (append_newline): Removed.
19304 (grub_script_lexer_yywrap): Refactored.
19305 (grub_script_lexer_init): Refactored.
19306 * grub-core/script/yylex.l (yywrap): New function.
19307 (grub_lexer_resplit): New function.
19308 (grub_lexer_unput): New function.
19309 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19310 and resplit.
19311 * tests/grub_script_echo1.in: Added few more testcases.
19312
dda060dd
VS
193132010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * grub-core/kern/misc.c: Don't add abort alias in utils.
19316 Reported by: echoline.
19317
6556eba9
BC
193182010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19319
19320 Add missing files into "make dist" tarball for other platforms.
19321
19322 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19323 * conf/Makefile.common (dist_noinst_DATA): New variable.
19324 * conf/Makefile.extra-dist: Added missing make dist files.
19325 * grub-core/Makefile.core.def: Likewise.
19326
c8e7bf5f
VS
193272010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 Compress grub_prefix.
19330
19331 * grub-core/boot/i386/pc/lnxboot.S: Use
19332 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19333 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19334 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19335 GRUB_MACHINE_PREFIX_END. All users updated.
19336 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19337 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19338 + 0x40.
19339 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19340 * util/grub-mkimage.c (image_target_desc): Change data_end to
19341 prefix_end. All users updated.
19342
a7c00cdb
VS
193432010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19346 value.
19347 (grub_openbsd_boot): Likewise.
19348 (grub_netbsd_boot): Likewise.
19349 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19350 (grub_xnu_boot): Likewise.
19351
9f915872
VS
193522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 * configure.ac: Clean LIBS variable after tests.
19355
efa1bee7
CW
193562010-09-02 Colin Watson <cjwatson@ubuntu.com>
19357
19358 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19359
61d720e5
VS
193602010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19363 echo if libdevmapper will be used.
19364
ef8e0ec8
IT
193652010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19366
19367 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19368 constant for the same file.
19369
03e261d8
VS
193702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19373
c2a4eba6
CW
193742010-09-02 Colin Watson <cjwatson@ubuntu.com>
19375
19376 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19377 grub-core/*.pp.
19378
9056cbf3
CW
193792010-09-02 Colin Watson <cjwatson@ubuntu.com>
19380
19381 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19382 required by the boot protocol.
19383
19384 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19385 ebp and edi members.
19386 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19387 state.ebp and state.edi.
19388 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19389 %ebp and %edi according to grub_relocator32_ebp and
19390 grub_relocator32_edi respectively.
19391 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19392 and state.edi.
19393
529cc99a
VS
193942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 Add i386-pc-pxe image target.
19397
19398 * util/grub-mkimage.c (image_target_desc): New enum value
19399 IMAGE_I386_PC_PXE.
19400 (image_targets): New target i386-pc-pxe.
19401 (generate_image): Handle i386-pc-pxe image.
19402
9a093920
VS
194032010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 Fix grub_pxe_scan.
19406
19407 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19408 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19409 All users updated.
19410 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19411 (grub_pxe_pxenv): Correct type.
19412
f9cefc4e
CW
194132010-09-01 Colin Watson <cjwatson@ubuntu.com>
19414
19415 * NEWS: Document most of the important changes since 1.98.
19416
4066f57f
CW
194172010-09-01 Colin Watson <cjwatson@ubuntu.com>
19418
19419 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19420 generated manual page) a little.
19421
da2891f9
CW
194222010-09-01 Colin Watson <cjwatson@ubuntu.com>
19423
19424 * docs/grub.texi: Add myself as an author.
19425
ad717fae
VS
194262010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * Makefile.util.def (libgrub.a): Add missing sunpc.
19429 Reported by: Seth Goldberg.
19430
eefe8abd
VS
194312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19432
19433 Interrupt wrapping and code simplifications.
19434
9494ef9a
VS
19435 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19436 x86_noieee1275 which are functionaly equivalent in this case.
19437 (grub-install): Make source on each platform explicit. Enable on
19438 all noemu.
19439 * gentpl.py (x86_efi_pc): Removed group.
19440 (x86_noefi): Likewise.
19441 (i386_noefi): Likewise.
19442 (x86_noieee1275): Likewise.
19443 (i386_noieee1275): Likewise.
19444 (i386_noefi_noieee1275): Likewise.
19445 (i386_pc_qemu_coreboot): Likewise.
19446 (i386_coreboot_multiboot): Likewise.
19447 (i386_pc_coreboot_multiboot_qemu): Likewise.
19448 (x86_noefi_mips): Likewise.
19449 (noieee1275): Likewise.
19450 (ieee1275_mips): Likewise.
19451 (noemu_noieee1275): Likewise.
19452 (cmos): New group.
19453 (usb): Likewise.
19454 (videoinkernel): Likewise.
19455 (videomodules): Likewise.
eefe8abd 19456 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19457 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19458 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19459 include/grub/loader.h, include/grub/msdos_partition.h,
19460 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19461 include/grub/machine/console.h, include/grub/machine/vga.h,
19462 include/grub/machine/vbe.h, include/grub/machine/init.h,
19463 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19464 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19465 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19466 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19467 * grub-core/Makefile.core.def (kernel): Explicit the source for
19468 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19469 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19470 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19471 Use videoinkernel tag.
19472 (usb): Enable on all usb.
19473 (usbserial_common): Likewise.
19474 (usbserial_pl2303): Likewise.
19475 (usbserial_ftdi): Likewise.
19476 (uhci): Enable on all x86.
19477 (ohci): Enable on all pci.
19478 (cmostest): Enable on all CMOS.
19479 (acpi): Include commands/acpi.c on all platforms.
19480 (halt): Add relevant lib/*/halt.c.
19481 (hdparm): Enable on all pci.
19482 (lspci): Likewise.
19483 (usbtest): Enable on all usb.
19484 (ata): Enable on all pci.
19485 (ata_pthru): Likewise.
19486 (usbms): Enable on all usb.
19487 (usb_keyboard): Likewise.
19488 (font): Use tag videomodules.
19489 (bufio): Likewise.
19490 (datetime): Use tag cmos. Enable on all noemu.
19491 (mmap): Use tags common and x86.
19492 (gfxterm): Use tag videomodules.
19493 (bitmap): Likewise.
19494 (bitmap_scale): Likewise.
19495 (video_fb): Likewise.
19496 (video): Likewise.
19497 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19498 adjust padding accordingly. All users updated.
19499 (grub_ohci_transaction): Fix bad format specification.
19500 (GRUB_MOD_INIT): Add asserts for struct size.
19501 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19502 (grub_alloc_td): Likewise.
19503 (grub_free_queue): Likewise.
19504 (grub_uhci_transfer): Likewise.
19505 (grub_uhci_transaction): Fix bad format specification.
19506 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19507 (grub_usb_bulk_readwrite): Likewise.
19508 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19509 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19510 Made static.
19511 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19512 Made static.
19513 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19514 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19515 Transformed into C.
19516 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19517 Moved from here ...
19518 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19519 ... here. Transformed into C. Made static.
19520 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19521 Moved from here ...
19522 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19523 ... here. Transformed into C. Made static.
19524 * grub-core/kern/i386/pc/startup.S
19525 (grub_biosdisk_check_int13_extensions): Moved from here ...
19526 * grub-core/disk/i386/pc/biosdisk.c
19527 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19528 Made static.
19529 * grub-core/kern/i386/pc/startup.S
19530 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19531 * grub-core/disk/i386/pc/biosdisk.c
19532 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19533 Transformed into C. Made static.
19534 * grub-core/kern/i386/pc/startup.S
19535 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19536 * grub-core/disk/i386/pc/biosdisk.c
19537 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19538 Transformed into C. Made static.
19539 * grub-core/kern/i386/pc/startup.S
19540 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19541 * grub-core/disk/i386/pc/biosdisk.c
19542 (grub_biosdisk_get_diskinfo_standard): ... here.
19543 Transformed into C. Made static.
19544 * grub-core/kern/i386/pc/startup.S
19545 (grub_biosdisk_get_num_floppies): Moved from here ...
19546 * grub-core/disk/i386/pc/biosdisk.c
19547 (grub_biosdisk_get_num_floppies): ... here.
19548 Transformed into C. Made static.
19549 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19550 New function.
19551 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19552 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19553 Transformed into C. Made static.
19554 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19555 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19556 Transformed into C. Made static.
19557 * grub-core/kern/i386/ieee1275/init.c: Removed.
19558 * grub-core/kern/i386/misc.S: Likewise.
19559 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19560 Splitted from here ...
19561 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19562 Transformed into C. Made static. All users updated.
19563 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19564 Transformed into C. Made static. All users updated.
19565 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19566 Moved from here...
19567 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19568 Transformed into C. Made static. All users updated.
19569 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19570 Moved from here...
19571 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19572 Transformed into C. Made static. All users updated.
19573 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19574 Removed (replaced by C version).
19575 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19576 Moved from here...
19577 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19578 Transformed into C. Made static.
19579 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19580 Moved from here...
19581 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19582 ... here. Transformed into C.
19583 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19584 Moved from here...
19585 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19586 ... here. Transformed into C.
19587 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19588 Moved from here...
19589 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19590 ... here. Transformed into C. Made static.
19591 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19592 Moved from here...
19593 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19594 ... here. Transformed into C.
21ed554b
VS
19595 * grub-core/kern/i386/pc/startup.S
19596 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19597 * grub-core/video/i386/pc/vbe.c
19598 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19599 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19600 Moved from here...
19601 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19602 ... here. Transformed into C.
19603 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19604 Moved from here...
19605 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19606 ... here. Transformed into C.
19607 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19608 Moved from here...
19609 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19610 ... here. Transformed into C.
19611 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19612 Moved from here...
19613 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19614 ... here. Transformed into C.
19615 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19616 Moved from here...
19617 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19618 ... here. Transformed into C. Made static.
19619 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19620 Moved from here...
19621 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19622 ... here. Transformed into C. Made static.
19623 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19624 Moved from here...
19625 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19626 ... here. Transformed into C. Made static.
19627 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19628 pxe_rm_entry as third argument.
19629 (grub_bios_interrupt): New function.
19630 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19631 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19632 of calling grub_stop.
19633 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19634 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19635 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19636 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19637 * grub-core/lib/i386/halt.c: Moved from here ...
19638 * grub-core/lib/i386/halt.c: ... here.
19639 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19640 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19641 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19642 grub_stop_floppy.
19643 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19644 * include/grub/i386/coreboot/init.h: Removed.
19645 * include/grub/i386/multiboot/init.h: Likewise.
19646 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19647 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19648 * include/grub/i386/pc/int.h: New file.
19649 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19650 (grub_pxe_scan): Removed.
19651 (grub_pxe_call): Update prototype.
19652 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19653 prototypes.
19654 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19655 * include/grub/i386/qemu/init.h: Removed.
19656 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19657 noreturn.
19658 (grub_halt): Likewise.
19659 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19660 (grub_reboot): Likewise.
19661 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19662 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19663 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19664
215dd471
RM
196652010-08-30 Robert Millan <rmh@gnu.org>
19666
19667 * NEWS: Document addition of ZFS support in `grub-install' and
19668 `grub-mkconfig'.
19669
ebd65b82
BC
196702010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19671
19672 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19673 dprintf output.
19674
11721d19
VS
196752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 Remove leftover embedding of font objects.
19678
19679 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19680 * util/grub-install.in (font): Removed.
19681 * util/grub-mkimage.c (generate_image): Remove font support. All users
19682 updated.
19683
37837d4e
VS
196842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19685
19686 Remove leftover embedding of font objects.
19687
19688 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19689 * util/grub-install.in (font): Removed.
19690 * util/grub-mkimage.c (generate_image): Remove font support. All users
19691 updated.
19692
b4c1aae0
VS
196932010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19696 Reported by: Ian Turner
b4c1aae0 19697
8920a08d
VS
196982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19701 timeout to avoid indefinite boot stalling.
19702
f21db033
VS
197032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19704
19705 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19706 (grub_env_write_color_highlight): Likewise.
19707
9a9de209
VS
197082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19709
19710 * grub-core/normal/term.c (print_more): Return to normal and not
19711 to standard state after printing "---MORE---".
19712
3dca01d7
VS
197132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19714
19715 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19716 Mask out the bit 0x80 since it has other meaning that specifiing color.
19717
0b986c40
VS
197182010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 New relocator. Allows for more kernel support and more straightforward
19721 loader writing.
19722
19723 * Makefile.am (BOOTTARGET): New variable.
19724 (QEMU32): Likewise.
19725 (linux.init.x86_64): New target.
19726 (linux.init.i386): Likewise.
19727 (multiboot.elf): Likewise.
19728 (kfreebsd.elf): Likewise.
19729 (kfreebsd.aout): Likewise.
19730 (pc-chainloader.elf): Likewise.
19731 (pc-chainloader.bin): Likewise.
19732 (ntldr.elf): Likewise.
19733 (ntldr.bin): Likewise.
19734 (multiboot2.elf): Likewise.
19735 (kfreebsd.init.x86_64): Likewise.
19736 (kfreebsd.init.i386): Likewise.
19737 (knetbsd.init.i386): Likewise.
19738 (kopenbsd.init.i386): Likewise.
19739 (knetbsd.init.x86_64): Likewise.
19740 (kopenbsd.init.x86_64): Likewise.
19741 (linux-initramfs.i386): Likewise.
19742 (linux-initramfs.x86_64): Likewise.
19743 (kfreebsd-mfsroot.i386.img): Likewise.
19744 (knetbsd.image.i386): Likewise.
19745 (kopenbsd.image.i386): Likewise.
19746 (kopenbsd.image.x86_64): Likewise.
19747 (knetbsd.miniroot-image.i386.img): Likewise.
19748 (kfreebsd-mfsroot.x86_64.img): Likewise.
19749 (knetbsd.image.x86_64): Likewise.
19750 (knetbsd.miniroot-image.x86_64.img): Likewise.
19751 (kfreebsd-mfsroot.i386.gz): Likewise.
19752 (bootcheck-kfreebsd-i386): Likewise.
19753 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19754 (bootcheck-kfreebsd-x86_64): Likewise.
19755 (knetbsd.miniroot-image.i386.gz): Likewise.
19756 (bootcheck-knetbsd-i386): Likewise.
19757 (bootcheck-kopenbsd-i386): Likewise.
19758 (bootcheck-kopenbsd-x86_64): Likewise.
19759 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19760 (bootcheck-knetbsd-x86_64): Likewise.
19761 (bootcheck-linux-i386): Likewise.
19762 (bootcheck-linux-x86_64): Likewise.
19763 (bootcheck-linux16-i386): Likewise.
19764 (bootcheck-linux16-x86_64): Likewise.
19765 (bootcheck-multiboot): Likewise.
19766 (bootcheck-multiboot2): Likewise.
19767 (bootcheck-kfreebsd-aout): Likewise.
19768 (bootcheck-pc-chainloader): Likewise.
19769 (bootcheck-ntldr): Likewise.
19770 (CLEANFILES): Add new targets.
19771 (BOOTCHECKS): New variable.
19772 (.PHONY): Add bootchecks.
19773 (SUCCESSFUL_BOOT_STRING): New variable.
19774 (BOOTCHECK_TIMEOUT): Likewise.
19775 (bootcheck): New target
19776 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19777 * configure.ac: Correct efiemu excuse.
19778 * docs/grub.texi (Supported kernels): New chapter.
19779 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19780 include/grub/mm_private.h. Simplify inclusion of
19781 include/grub/boot.h, include/grub/loader.h
19782 and include/grub/msdos_partition.h
19783 (KERNEL_HEADER_FILES) [i386_coreboot]:
19784 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19785 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19786 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19787 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19788 include/grub/machine/loader.h.
19789 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19790 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19791 extra_dist.
19792 (pci.mod): Enable on i386-multiboot.
19793 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19794 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19795 i386-qemu.
19796 (relocator.mod): Rewritten.
19797 (aout.mod): Enable on all x86.
19798 (bsd.mod): Likewise.
19799 (ntldr.mod): New module.
19800 (linux.mod): Use loader/i386/linux.c on all x86.
19801 (xnu.mod): Enable on all x86.
19802 (vga_text.mod): disable on EFI and QEMU.
19803 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19804 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19805 * grub-core/efiemu/loadcore.c: Likewise.
19806 * grub-core/efiemu/main.c: Likewise.
19807 (grub_efiemu_exit_boot_services): Removed.
19808 (grub_efiemu_finish_boot_services): Likewise.
19809 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19810 function.
19811 * grub-core/efiemu/i386/nocfgtables.c: New file.
19812 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19813 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19814 (grub_efi_finish_boot_services): Moved from here ...
19815 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19816 Fille finish memory map and related data.
19817 (finish_mmap_buf): New variable.
19818 (grub_efi_uintn_t finish_mmap_size): Likewise.
19819 (grub_efi_uintn_t finish_key): Likewise.
19820 (grub_efi_uintn_t finish_desc_size): Likewise.
19821 (grub_efi_uint32_t finish_desc_version): Likewise.
19822 (grub_efi_is_finished): Likewise.
19823 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19824 finished.
19825 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19826 (grub_elf64_phdr_iterate): Likewise.
19827 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19828 (grub_os_area_size): Likewise.
19829 (grub_machine_init): Don't reserve os area.
19830 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19831 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19832 * grub-core/kern/i386/loader.S: Removed.
19833 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19834 (grub_os_area_size): Likewise.
19835 (grub_machine_init): Don't reserve os area.
19836 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19837 Don't call grub_dl_unload_all.
19838 Don't include loader.S.
19839 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19840 Declare the memory after _end as available.
19841 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19842 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19843 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19844 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19845 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19846 * include/grub/mm_private.h (grub_mm_header): ... here.
19847 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19848 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19849 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19850 (grub_mm_region): ..here. Removed addr. Added pre_size.
19851 All users updated.
19852 * grub-core/kern/mm.c (base): Renamed to ...
19853 (grub_mm_base): ... this. Made global.
19854 (grub_real_malloc): Alloc from end of region.
19855 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19856 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19857 * grub-core/kern/powerpc/cache_flush.S: ... here.
19858 * grub-core/lib/efi/relocator.c: New file.
19859 * grub-core/lib/i386/relocator.c: Rewritten.
19860 * grub-core/lib/i386/relocator16.S: New file.
19861 * grub-core/lib/i386/relocator32.S: Likewise.
19862 * grub-core/lib/i386/relocator64.S: Likewise.
19863 * grub-core/lib/i386/relocator_asm.S: Rewritten.
19864 * grub-core/lib/i386/relocator_common.S: New file.
19865 * grub-core/lib/ieee1275/relocator.c: Likewise.
19866 * grub-core/lib/mips/relocator.c: Rewritten.
19867 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
19868 stylistic adjustments.
19869 * grub-core/lib/powerpc/relocator.c: New file.
19870 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
19871 * grub-core/lib/relocator.c: Rewritten.
19872 * grub-core/lib/x86_64/relocator_asm.S: New file.
19873 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
19874 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
19875 (bsd_tag): New struct.
19876 (tags): New variable.
19877 (tags_last): Likewise.
19878 (netbsd_module): New struct.
19879 (netbsd_mods): New variable.
19880 (netbsd_mods_last): Likewise.
19881 (openbsd_opts): New parameter "serial".
19882 (OPENBSD_SERIAL_ARG): New definition.
19883 (netbsd_opts): New parameter "serial".
19884 (NETBSD_SERIAL_ARG): New definition.
19885 (grub_freebsd_add_meta): Reorganised into ...
19886 (grub_bsd_add_meta): ...this. All users updated.
19887 (grub_freebsd_add_mmap): Reorganised into ...
19888 (generate_e820_mmap): ...this...
19889 (grub_bsd_add_mmap): ...and this. All users updated.
19890 (grub_freebsd_list_modules): Use tags.
19891 (grub_netbsd_add_meta_module): New function.
19892 (grub_netbsd_list_modules): Likewise.
19893 (grub_freebsd_boot): Use relocator and finish EFI.
19894 (grub_openbsd_boot): Likewise.
19895 (grub_netbsd_setup_video): New function.
19896 (grub_netbsd_add_modules): Likewise.
19897 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
19898 and finish EFI.
19899 (grub_bsd_unload): Unload tags.
19900 (grub_bsd_load_aout): Use relocator.
19901 (grub_bsd_elf32_size_hook): New function.
19902 (grub_bsd_elf32_hook): Use relocator.
19903 (grub_bsd_elf64_size_hook): New function.
19904 (grub_bsd_elf64_hook): Use relocator.
19905 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
19906 (grub_bsd_load): Zero-out openbsd_ramdisk.
19907 (grub_bsd_load): Use relocator.
19908 (grub_cmd_openbsd): Support serial.
19909 (grub_cmd_netbsd): Support modules.
19910 (grub_cmd_freebsd_module): Use relocator.
19911 (grub_netbsd_module_load): New function.
19912 (grub_cmd_netbsd_module): Likewise.
19913 (grub_cmd_openbsd_ramdisk): Likewise.
19914 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
19915 kopenbsd_ramdisk.
19916 (GRUB_MOD_FINI): Unregister new commands.
19917 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
19918 (grub_freebsd_load_elfmodule_obj): Use relocator.
19919 (grub_freebsd_load_elfmodule): Likewise.
19920 (grub_freebsd_load_elf_meta): Likewise.
19921 (grub_netbsd_load_elf_meta): New function.
19922 (grub_openbsd_find_ramdisk): Likewise.
19923 * grub-core/loader/i386/bsd_helper.S: Removed.
19924 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
19925 * grub-core/loader/i386/bsd_trampoline.S: Removed.
19926 * grub-core/loader/i386/efi/linux.c: Likewise.
19927 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
19928 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
19929 (DEFAULT_VIDEO_MODE): Likewise.
19930 (real_mode_target): New variable.
19931 (prot_mode_target): Likewise.
19932 (initrd_mem_target): Likewise.
19933 (relocator): Likewise.
19934 (efi_mmap_buf): Likewise.
19935 (efi_mmap_size): Likewise.
19936 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
19937 (free_pages): Use relocator.
19938 (allocate_pages): Account for efi_mmap and use relocator. Return error.
19939 (grub_linux_setup_video): Return error.
19940 (grub_linux_trampoline_start): Removed.
19941 (grub_linux_trampoline_end): Likewise.
19942 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
19943 andd video parameters depending on firmware.
19944 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
19945 [GRUB_MACHINE_EFI]: Pass EFI parameters.
19946 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
19947 (grub_cmd_initrd): Use relocator.
19948 * grub-core/loader/i386/linux_trampoline.S: Removed.
19949 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
19950 (elf_sec_entsize): Likewise.
19951 (elf_sec_shstrndx): Likewise.
19952 (elf_sections): Likewise.
19953 (grub_multiboot_load): Use relocator.
19954 (grub_multiboot_get_mbi_size): Account for sections.
19955 (grub_multiboot_make_mbi): Use relocator and support sections.
19956 (grub_multiboot_add_elfsyms): New function.
19957 (grub_multiboot_free_mbi): Free sections.
19958 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
19959 (grub_linux_real_target): Likewise.
19960 (grub_linux_real_chunk): Likewise.
19961 (grub_linux16_prot_size): Likewise.
19962 (grub_linux16_boot): Use relocator.
19963 (grub_linux_unload): Unload relocator.
19964 (grub_cmd_linux): Use relocator.
19965 (grub_cmd_initrd): Likewise.
19966 * grub-core/loader/i386/pc/ntldr.c: New file.
19967 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
19968 Don't try to guess CPU frequency.
19969 (grub_xnu_set_video): Stretch bitmap.
19970 (grub_xnu_boot): Use relocator.
19971 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
19972 (grub_linux_unload): Free relocator.
19973 (grub_linux_load32): Use relocator.
19974 (grub_linux_load64): Likewise.
19975 (grub_cmd_initrd): Likewise.
19976 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
19977 (grub_multiboot_unload): Unload relocator.
19978 (grub_cmd_multiboot): Use relocator.
19979 (grub_cmd_module): Likewise.
19980 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
19981 Use relocator and support sections.
19982 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
19983 (elf_sec_entsize): Likewise.
19984 (elf_sec_shstrndx): Likewise.
19985 (elf_sections): Likewise.
19986 (grub_multiboot_load): Use relocator.
19987 (grub_multiboot_get_mbi_size): Account for sections.
19988 (grub_multiboot_make_mbi): Use relocator and support sections.
19989 (grub_multiboot_add_elfsyms): New function.
19990 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
19991 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
19992 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
19993 Prototype changed. All users updated.
19994 (grub_xnu_align_heap): Simplified.
19995 (grub_xnu_writetree_toheap): Likewise.
19996 (grub_xnu_unload): Unload relocator.
19997 (grub_cmd_xnu_kernel): Use relocator.
19998 (grub_cmd_xnu_kernel64): Likewise.
19999 (grub_xnu_register_memory): Simplified.
20000 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
20001 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
20002 EFI is finished.
20003 (grub_console_checkkey): Likewise.
20004 (grub_console_getkey): Likewise.
20005 (grub_console_getwh): Likewise.
20006 (grub_console_getxy): Likewise.
20007 (grub_console_gotoxy): Likewise.
20008 (grub_console_cls): Likewise.
20009 (grub_console_setcolorstate): Likewise.
20010 (grub_console_setcursor): Likewise.
20011 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
20012 * grub-core/tests/boot/kbsd.init-i386.S: New file.
20013 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
20014 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
20015 * grub-core/tests/boot/kernel-8086.S: Likewise.
20016 * grub-core/tests/boot/kernel-i386.S: Likewise.
20017 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
20018 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
20019 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
20020 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
20021 * grub-core/tests/boot/knetbsd.cfg: Likewise.
20022 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
20023 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
20024 * grub-core/tests/boot/linux.cfg: Likewise.
20025 * grub-core/tests/boot/linux.init-i386.S: Likewise.
20026 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
20027 * grub-core/tests/boot/linux16.cfg: Likewise.
20028 * grub-core/tests/boot/multiboot.cfg: Likewise.
20029 * grub-core/tests/boot/multiboot2.cfg: Likewise.
20030 * grub-core/tests/boot/ntldr.cfg: Likewise.
20031 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
20032 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
20033 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
20034 New definition.
20035 * include/grub/dl.h (grub_dl_unload_all): Removed.
20036 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
20037 (grub_efi_finish_boot_services): Change prototype.
20038 (grub_efi_is_finished): New variable.
20039 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
20040 Changed prototype.
20041 (grub_efiemu_finish_boot_services): Removed.
20042 (grub_machine_efiemu_init_tables): New prototype.
20043 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
20044 (grub_elf64_phdr_iterate): Likewise.
20045 * include/grub/i386/bsd.h: Include relocator.h.
20046 (freebsd_tag_header): New struct.
20047 (grub_openbsd_bios_mmap): Removed.
20048 (grub_unix_real_boot): Removed.
20049 (grub_freebsd_load_elfmodule32): Changed prototype.
20050 (grub_freebsd_load_elfmodule_obj64): Likewise.
20051 (grub_freebsd_load_elf_meta32): Likewise.
20052 (grub_freebsd_load_elf_meta64): Likewise.
20053 (grub_freebsd_add_meta): Removed.
20054 (grub_netbsd_load_elf_meta32): New prototype.
20055 (grub_netbsd_load_elf_meta64): Likewise.
20056 (grub_bsd_add_meta): Likewise.
20057 (grub_openbsd_ramdisk_descriptor): New struct.
20058 (grub_openbsd_find_ramdisk32): New prototype.
20059 (grub_openbsd_find_ramdisk64): Likewise.
20060 * include/grub/i386/coreboot/loader.h: Removed.
20061 * include/grub/i386/efi/loader.h: Likewise.
20062 * include/grub/i386/ieee1275/loader.h: Likewise.
20063 * include/grub/i386/linux.h (linux_kernel_header): Change void *
20064 to grub_uint32_t.
20065 * include/grub/i386/loader.h: Removed.
20066 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
20067 value.
20068 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
20069 (grub_phys_addr_t): New type.
20070 (grub_vtop): New inline function.
20071 (grub_map_memory): Likewise.
20072 (grub_unmap_memory): Likewise.
20073 * include/grub/i386/multiboot/loader.h: Removed.
20074 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
20075 (NETBSD_BTINFO_CONSOLE): New definition.
20076 (NETBSD_BTINFO_SYMTAB): Likewise.
20077 (NETBSD_BTINFO_MODULES): Likewise.
20078 (NETBSD_BTINFO_FRAMEBUF): Likewise.
20079 (grub_netbsd_bootinfo): New struct.
20080 (grub_netbsd_btinfo_common): Use explicit bitsize.
20081 (grub_netbsd_btinfo_mmap_entry): Removed.
20082 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
20083 (grub_netbsd_btinfo_bootdisk): New struct.
20084 (grub_netbsd_btinfo_symtab): Likewise.
20085 (grub_netbsd_btinfo_serial): Likewise.
20086 (grub_netbsd_btinfo_modules): Likewise.
20087 (grub_netbsd_btinfo_framebuf): Likewise.
20088 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
20089 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
20090 Likewise.
20091 (grub_openbsd_bootargs): Use explicit bitsize.
20092 (grub_openbsd_bootarg_console): New struct.
20093 (GRUB_OPENBSD_COM_MAJOR): New definition.
20094 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
20095 * include/grub/i386/pc/efiemu.h: Removed.
20096 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
20097 * include/grub/i386/qemu/loader.h: Removed.
20098 * include/grub/i386/relocator.h: Rewritten.
20099 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
20100 * include/grub/mips/memory.h: New file.
20101 * include/grub/mips/multiboot.h: Rewritten.
20102 * include/grub/mips/relocator.h: Rewritten.
20103 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
20104 (grub_vtop): New function.
20105 (grub_map_memory): Likewise.
20106 (grub_unmap_memory): Likewise.
20107 * include/grub/misc.h (ALIGN_DOWN): New definition.
20108 * include/grub/mm.h (grub_mm_check_real): New proto.
20109 (GRUB_MM_CHECK): New definition.
20110 * include/grub/mm_private.h: New file.
20111 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
20112 (grub_multiboot_get_mbi_size): Removed.
20113 (grub_multiboot_make_mbi): Change prottype.
20114 (grub_multiboot_set_accepts_video): New proto.
20115 (grub_multiboot_add_elfsyms): Likewise.
20116 (grub_multiboot_payload_eip): New variable.
20117 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
20118 New prototype.
20119 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
20120 New definition.
20121 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
20122 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
20123 * include/grub/powerpc/ieee1275/loader.h: Removed.
20124 * include/grub/powerpc/memory.h: New file.
20125 * include/grub/powerpc/relocator.h: Likewise.
20126 * include/grub/relocator.h: Likewise.
20127 * include/grub/relocator_private.h: Likewise.
20128 * include/grub/sparc64/ieee1275/loader.h: Removed.
20129 * include/grub/x86_64/memory.h: New file.
20130 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
20131 (grub_xnu_heap_malloc): Likewise.
20132 (grub_xnu_heap_real_start): Removed.
20133 (grub_xnu_heap_start): Likewise.
20134 (grub_xnu_relocator): New variable.
20135 (grub_xnu_heap_target_start): Likewise.
20136 * tests/util/grub-shell.in: Support non-pc.
20137 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 20138
5303b85d
VS
201392010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20140
20141 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
20142 on malloc error.
20143 (grub_bidi_logical_to_visual): Check that malloc succeded.
20144 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
20145 puts.
20146 (grub_xputs_normal): Likewise.
20147
d768d159
VS
201482010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
20151 extra_dist.
20152
201532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * grub-core/efiemu/runtime/efiemu.sh: Removed.
20156
5bf84df4
VS
201572010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20158
20159 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
20160
3626810e
VS
201612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20162
20163 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
20164 dprintf.
20165
a7363f53
BC
201662010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
20167
20168 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
20169
902f75f6
VS
201702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 * grub-core/normal/term.c (print_more): Fix a memory leak.
20173 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
20174 (grub_xputs_normal): Likewise.
20175
3c707967
VS
201762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20177
20178 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
20179 the begining of the string
20180
2053cc07
VS
201812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 * grub-core/script/script.c (grub_script_parse): Free parsed on
20184 failure.
20185
46422ebf
VS
201862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20187
20188 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
20189 on failure.
20190
9e0fa3f6
VS
201912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
20194 return.
20195
3393cf16
VS
201962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20197
20198 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
20199 (scroll_up): Fix a memory leak.
20200
b17540cb
VS
202012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20202
20203 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
20204 errors.
20205
67140446
VS
202062010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
20207
20208 Handle USB pendrives exposed as floppies.
20209
20210 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
20211 floppy.
20212 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20213 Check for partitions on all devices.
20214
e35e46fc
VS
202152010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
20218 (readkey): Likewise.
20219
d24c6190
BC
202202010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
20221
20222 Multiple variable names support to "export" command.
20223
20224 * normal/context.c (grub_cmd_export): "export" command supports
20225 multiple variable names.
20226
04ddcc6a
ST
202272010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
20228
20229 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
20230 --target=drive output to Mach device name.
20231
0c8b61d8
BC
202322010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20233
20234 New Automake based build system for GRUB.
20235
20236 * ABOUT-NLS: New file.
20237 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
20238 in Makefile.util.def file.
20239 * Makefile.util.def: New file. Autogen build definitions file for
20240 GRUB host utils.
20241 * conf/Makefile.common: New file. Common variables for GRUB host
20242 utils and target modules.
20243 * conf/Makefile.extra-dist: New file. Extra files for make dist.
20244 * docs/Makefile.am: New file. Automake file for docs.
20245 * gentpl.py: New file. Python script to generate Autogen
20246 template.
20247 * grub-core/Makefile.am: New file. GRUB target modules' rules
20248 that doesn't fit in Makefile.core.def file.
20249 * grub-core/Makefile.core.def: New file. Autogen build
20250 definitions file for GRUB target modules.
20251 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
20252 specific setjmp.S file.
20253 * po/Makefile.am: New file.
20254
20255 * .bzrignore: New ignores.
20256 * INSTALL: New requirements, without Ruby.
20257 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20258 * autogen.sh: Updated to invoke autogen as necessary.
20259 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20260 and defines for Automake conditionals.
20261 * geninit.sh: Refactoring.
20262
20263 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20264 necessary.
20265 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20266 New prototype.
20267
20268 * include/grub/test.h: Fix functional test modules' naming.
20269 * grub-core/tests/example_functional_test.c: Fix test module name.
20270
20271 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20272 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20273 * util/grub-editenv.c: Likewise.
20274 * util/grub-fstest.c: Likewise.
20275 * util/grub-mkdevicemap.c: Likewise.
20276 * util/grub-mkfont.c: Likewise.
20277 * util/grub-mkimage.c: Likewise.
20278 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20279 * util/grub-probe.c: Likewise.
20280 * util/grub-script-check.c: Likewise.
20281 * util/i386/pc/grub-setup.c: Likewise.
20282 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20283
20284 * tests/util/grub-shell.in: Fix override directory path.
20285 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20286 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20287
20288 * util/lvm.c: Update #includes.
20289 * util/raid.c: Likewise.
20290 * util/resolve.c: Likewise.
20291 * grub-core/bus/emu/pci.c: Likewise.
20292 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20293 * grub-core/lib/posix_wrap/string.h: Likewise.
20294 * grub-core/kern/emu/main.c: Likewise.
20295
20296 * grub-core/gensymlist.sh: New file. Script for generating kernel
20297 symbols file.
20298 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20299
20300 * grub-core/gentrigtables.c: Fix unused variable warnings.
20301
20302 * Makefile.in: Removed.
20303 * conf/any-emu.rmk: Removed.
20304 * conf/common.rmk: Removed.
20305 * conf/i386-coreboot.rmk: Removed.
20306 * conf/i386-efi.rmk: Removed.
20307 * conf/i386-ieee1275.rmk: Removed.
20308 * conf/i386-multiboot.rmk: Removed.
20309 * conf/i386-pc.rmk: Removed.
20310 * conf/i386-qemu.rmk: Removed.
20311 * conf/i386.rmk: Removed.
20312 * conf/mips-yeeloong.rmk: Removed.
20313 * conf/mips.rmk: Removed.
20314 * conf/powerpc-ieee1275.rmk: Removed.
20315 * conf/sparc64-ieee1275.rmk: Removed.
20316 * conf/tests.rmk: Removed.
20317 * conf/x86-efi.rmk: Removed.
20318 * conf/x86_64-efi.rmk: Removed.
20319 * gendistlist.sh: Removed.
20320 * geninitheader.sh: Removed.
20321 * genkernsyms.sh.in: Removed.
20322 * genmk.rb: Removed.
20323 * gensymlist.sh.in: Removed.
20324 * mkinstalldirs: Removed.
20325 * boot: Moved ...
20326 * grub-core/boot: ... to here.
20327 * bus: Moved ...
20328 * grub-core/bus: ... to here.
20329 * commands: Moved ...
20330 * grub-core/commands: ... to here.
20331 * disk: Moved ...
20332 * grub-core/disk: ... to here.
20333 * efiemu: Moved ...
20334 * grub-core/efiemu: ... to here.
20335 * font: Moved ...
20336 * grub-core/font: ... to here.
20337 * fs: Moved ...
20338 * grub-core/fs: ... to here.
20339 * gencmdlist.sh: Moved ...
20340 * grub-core/gencmdlist.sh: ... to here.
20341 * genemuinit.sh: Moved ...
20342 * grub-core/genemuinit.sh: ... to here.
20343 * genemuinitheader.sh: Moved ...
20344 * grub-core/genemuinitheader.sh: ... to here.
20345 * genfslist.sh: Moved ...
20346 * grub-core/genfslist.sh: ... to here.
20347 * genhandlerlist.sh: Moved ...
20348 * grub-core/genhandlerlist.sh: ... to here.
20349 * genmoddep.awk: Moved ...
20350 * grub-core/genmoddep.awk: ... to here.
20351 * genmodsrc.sh: Moved ...
20352 * grub-core/genmodsrc.sh: ... to here.
20353 * genpartmaplist.sh: Moved ...
20354 * grub-core/genpartmaplist.sh: ... to here.
20355 * genparttoollist.sh: Moved ...
20356 * grub-core/genparttoollist.sh: ... to here.
20357 * genterminallist.sh: Moved ...
20358 * grub-core/genterminallist.sh: ... to here.
20359 * gentrigtables.c: Moved ...
20360 * grub-core/gentrigtables.c: ... to here.
20361 * genvideolist.sh: Moved ...
20362 * grub-core/genvideolist.sh: ... to here.
20363 * gettext: Moved ...
20364 * grub-core/gettext: ... to here.
20365 * gfxmenu: Moved ...
20366 * grub-core/gfxmenu: ... to here.
20367 * gnulib: Moved ...
20368 * grub-core/gnulib: ... to here.
20369 * hello: Moved ...
20370 * grub-core/hello: ... to here.
20371 * hook: Moved ...
20372 * grub-core/hook: ... to here.
20373 * io: Moved ...
20374 * grub-core/io: ... to here.
20375 * kern: Moved ...
20376 * grub-core/kern: ... to here.
20377 * lib: Moved ...
20378 * grub-core/lib: ... to here.
20379 * loader: Moved ...
20380 * grub-core/loader: ... to here.
20381 * mmap: Moved ...
20382 * grub-core/mmap: ... to here.
20383 * normal: Moved ...
20384 * grub-core/normal: ... to here.
20385 * partmap: Moved ...
20386 * grub-core/partmap: ... to here.
20387 * parttool: Moved ...
20388 * grub-core/parttool: ... to here.
20389 * script: Moved ...
20390 * grub-core/script: ... to here.
20391 * term: Moved ...
20392 * grub-core/term: ... to here
20393 * tests/example_functional_test.c: Moved ...
20394 * grub-core/tests/example_functional_test.c: ... to here.
20395 * tests/lib/functional_test.c: Moved ...
20396 * grub-core/tests/lib/functional_test.c: ... to here.
20397 * tests/lib/test.c: Moved ...
20398 * grub-core/tests/lib/test.c: ... to here.
20399 * video: Moved ...
20400 * grub-core/video: ... to here.
20401
645586e6
BC
204022010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20403
20404 Replace --enable-grub-emu-modules with grub-emu-lite.
20405
20406 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20407 cache.S.
20408
20409 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20410 * kern/emu/full.c: New file. For grub-emu specific initialization.
20411 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20412 * kern/emu/main.c: Call initialization function grub_emu_init.
20413
20414 * Makefile.in: Include grub-emu-lite in install.
20415 * commands/parttool.c: Use grub_no_autoload to differentiate
20416 between grub-emu and grub-emu-lite.
20417 * include/grub/misc.h: New variable grub_no_autoload.
20418
20419 * conf/any-emu.rmk: New rules for grub-emu-lite.
20420 * configure.ac: Remove --enable-grub-emu-modules.
20421 * genmk.rb: Cleanup unnecessary rules.
20422 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20423
20424 * normal/main.c: Don't load list files on grub-emu-lite.
20425 * util/misc.c (grub_arch_sync_caches): Removed.
20426
f86a4030
CW
204272010-08-23 Colin Watson <cjwatson@ubuntu.com>
20428
20429 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20430 grub-mkimage rather than grub-mkelfimage.
20431 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20432
06776944
VS
204332010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20436 a key after CapsLock or NumLock. It's just a qemu bug.
20437
df262419
VS
204382010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20441 needed by libusb wrapper.
20442
b40ea81b
ST
204432010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20444
20445 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20446
dee50575
VS
204472010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20448
20449 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20450 --nounzip is passed.
20451
fb1d7b79
VS
204522010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 USB hotunplugging and USB serial support.
20455
20456 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20457 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20458 (grub_uhci_transfer): Respect timeout and set *actual.
20459 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20460 non-standard length.
20461 (grub_usb_device_attach): Autoload modules.
20462 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20463 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20464 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20465 users updated.
20466 (grub_usb_add_hub): Fill nports and children.
20467 (attach_root_port): Receive hub instead of controller.
20468 All users updated. Fill hub->devices.
20469 (grub_usb_root_hub): Allocate hub->devices.
20470 (detach_device): New function.
20471 (poll_nonroot_hub): Fill children and detach devices.
20472 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20473 actual arguments. All users updated.
20474 (grub_usb_bulk_read_extended): New function.
20475 * bus/usb/serial/common.c: New file.
20476 * bus/usb/serial/ftdi.c: Likewise.
20477 * bus/usb/serial/pl2303.c: Likewise.
20478 * commands/terminal.c (handle_command): Support wildcard.
20479 * commands/usbtest.c: Output "Unknown" instead of empty string.
20480 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20481 (usbserial_common_mod_SOURCES): New variable.
20482 (usbserial_common_mod_CFLAGS): Likewise.
20483 (usbserial_common_mod_LDFLAGS): Likewise.
20484 (pkglib_MODULES): Add usbserial_pl2303.mod.
20485 (usbserial_pl2303_mod_SOURCES): New variable.
20486 (usbserial_pl2303_mod_CFLAGS): Likewise.
20487 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20488 (pkglib_MODULES): Add usbserial_ftdi.mod.
20489 (usbserial_ftdi_mod_SOURCES): New variable.
20490 (usbserial_ftdi_mod_CFLAGS): Likewise.
20491 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20492 (pkglib_MODULES): Add serial.mod.
20493 (serial_mod_SOURCES): New variable.
20494 (serial_mod_CFLAGS): Likewise.
20495 (serial_mod_LDFLAGS): Likewise.
20496 * conf/i386-pc.rmk: Likewise.
20497 * conf/mips-yeeloong.rmk: Likewise.
20498 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20499 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20500 * disk/usbms.c (first_available_slot): New variable.
20501 (grub_usbms_attach): Don't reuse free slots due to potential cache
20502 problems.
20503 * include/grub/serial.h: Moved to ..
20504 * include/grub/ns8250.h: ...this.
20505 * include/grub/serial.h: New file.
20506 * include/grub/term.h (grub_term_poll_usb): New variable.
20507 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20508 readkey. All users updated.
20509 (grub_terminfo_output_state): Pass term to put.
20510 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20511 (grub_usb_controller_dev): Add timeout and actual arguments to
20512 transfer. All users updated.
20513 (grub_usb_interface): New field detach_data.
20514 (grub_usb_device): New fields children and nports.
20515 (grub_usb_ep_type_t): New type.
20516 (grub_usb_get_ep_type): New function.
20517 (grub_usb_bulk_read_extended): Likewise.
20518 * include/grub/usbdesc.h (grub_usb_desc): New type.
20519 * include/grub/usbserial.h: New file.
20520 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20521 * kern/term.c (grub_term_poll_usb): New variable.
20522 (grub_getkey): Call grub_term_poll_usb if set.
20523 (grub_checkkey): Likewise.
20524 (grub_getkeystatus): Likewise.
20525 * term/serial.c: Moved controller-specific parts to ...
20526 * term/ns8250.c: ... here.
20527 * term/serial.c: Mostly rewritten.
20528 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20529 according to spec.
20530
21a313de
RM
205312010-08-20 Robert Millan <rmh@gnu.org>
20532
20533 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20534 a separate module and maybe other interesting combinations.
20535
20536 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20537 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20538 (kfreebsd_entry): Add generic filesystem module load routine.
20539 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20540
63c734a6
CW
205412010-08-20 Colin Watson <cjwatson@ubuntu.com>
20542
20543 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20544 "numcenter" (I misunderstood the purpose of this entry).
20545 * docs/grub.texi (sendkey): Likewise.
20546
c4d16542
CW
205472010-08-20 Colin Watson <cjwatson@ubuntu.com>
20548
20549 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20550 status flag options; simply omitting the option is equivalent and
20551 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20552 (keysym_table): Rename "num5numlock" to "numlock".
20553 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20554 can uniformly say that only the last of multiple `sendkey'
20555 invocations has any effect.
20556 * docs/grub.texi (sendkey): New section.
20557
93541d66
CW
205582010-08-19 Colin Watson <cjwatson@ubuntu.com>
20559
20560 * commands/i386/pc/sendkey.c (options): Fix three typos.
20561
b4ece5e1
VS
205622010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20563
20564 Implement sendkey support.
20565
20566 * commands/i386/pc/sendkey.c: New file.
20567 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20568 (sendkey_mod_SOURCES): New variable.
20569 (sendkey_mod_CFLAGS): Likewise.
20570 (sendkey_mod_LDFLAGS): Likewise.
20571
51f1f5af
CW
205722010-08-18 Colin Watson <cjwatson@ubuntu.com>
20573
20574 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20575 fix warnings from Autoconf.
20576
9da94e05
CW
205772010-08-18 Colin Watson <cjwatson@ubuntu.com>
20578
20579 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20580 to avoid false positives with some assemblers that output things
20581 like "someprefix_func" as part of their output.
20582
729a0f2e
RM
205832010-08-15 Robert Millan <rmh@gnu.org>
20584
20585 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20586 errors.
20587 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20588 grub_get_libzfs_handle() errors.
20589
f3710e08
RM
205902010-08-14 Robert Millan <rmh@gnu.org>
20591
20592 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20593 filesystem is not ZFS.
20594
7a3c13de
BC
205952010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20596
20597 Fix for misspelled color names defaulting to black/black (bug
20598 reported by Doug Nazar)
20599
20600 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20601 status to prototype.
20602 * normal/color.c (grub_parse_color_name_pair): Return failure
20603 status.
20604 (grub_env_write_color_normal): Ignore bad color names.
20605 (grub_env_write_color_highlight): Likewise.
20606 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20607
ab8ba50d
BC
206082010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20609
20610 "shift" command support to GRUB script.
20611
20612 * include/grub/script_sh.h (grub_script_shift): New prototype.
20613 * script/execute.c (grub_script_shift): New function.
20614 * script/main.c (grub_script_init): Register shift command.
20615 (grub_script_fini): Unregister shift command.
20616 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20617
20618 * tests/grub_script_shift.in: New testcase.
20619 * conf/tests.rmk: Rules for new testcase.
20620
4d61999e
BC
206212010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20622
20623 "continue" command support to GRUB script.
20624
20625 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20626 (grub_script_break): Continue support.
20627 * script/main.c (grub_script_init): Register continue command.
20628 (grub_script_fini): Unregister continue command.
20629
20630 * tests/grub_script_continue.in: New testcase.
20631 * conf/tests.rmk: Rules for new testcase.
20632
4df51e00
BC
206332010-08-12 BVK Chaitanya <bvk@dbook>
20634
20635 "break" command support to GRUB script.
20636
20637 * conf/common.rmk: Rule updates to grub-script-check.
20638 * include/grub/misc.h (grub_min): New function.
20639 * include/grub/script_sh.h (grub_script_init): New prototype.
20640 (grub_script_fini): New prototype.
20641 (grub_script_break): New prototype.
20642 * script/main.c (grub_script_init): New function.
20643 (grub_script_fini): New function.
20644 * script/execute.c (grub_script_break): New function.
20645 * normal/main.c: Calls to grub_script_{init,fini}.
20646 * util/grub-script-check.c (grub_script_break): New function.
20647
20648 * tests/grub_script_break.in: New testcase.
20649 * conf/tests.rmk: Rules for new test case.
20650
f12c8420
BC
206512010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20652
20653 Function parameters support to GRUB script.
20654
20655 * script/yylex.l (VARIABLE): Regular expression update.
20656 * script/function.c (grub_script_function_call): Moved ...
20657 * script/execute.c (grub_script_function_call): ... to here.
20658 (grub_script_execute_arglist_to_argv): Removed.
20659 (grub_script_arglist_to_argv): New function.
20660 * script/argv.c: New file.
20661 (grub_script_argv_free): New function.
20662 (grub_script_argv_next): Likewise.
20663 (grub_script_argv_append): Likewise.
20664 (grub_script_argv_split_append): Likewise.
20665 * include/grub/script_sh.h (grub_script_argv): New struct.
20666 (grub_script_argv_free): New function.
20667 (grub_script_argv_next): Likewise.
20668 (grub_script_argv_append): Likewise.
20669 (grub_script_argv_split_append): Likewise.
20670
20671 * conf/common.rmk (normal.mod): New source script/argv.c.
20672
20673 * tests/grub_script_echo1.in: More tests.
20674 * tests/grub_script_vars1.in: Likewise.
20675 * tests/grub_script_functions.in: New test case.
20676 * conf/tests.rmk: Rules for new testcase.
20677
8022b748
BC
206782010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20679
20680 Remove grub_script_cmdblock struct.
20681
20682 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20683 * script/parser.y: Likewise.
20684 * script/execute.c: Rename cmdblock suffix to cmdlist.
20685 * script/script.c: Likewise.
20686 * util/grub-script-check.c: Likewise.
20687
79a6ba61
YB
206882010-08-11 Yves Blusseau <blusseau@zetam.org>
20689
20690 * .bzrignore: add grub-macho2img
20691
d04b9414
VS
206922010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20693
20694 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20695
f947ab49
VS
206962010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20697
20698 Remove the dump of sm712 initialisation sequence.
20699
20700 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20701 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20702 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20703 (GRUB_VGA_CR_*): Added many registers.
20704 (GRUB_VGA_SR_*): Likewise.
20705 (GRUB_VGA_GR_*): Likewise.
20706 (grub_vga_write_arx): New function.
20707 (grub_video_hw_config): New struct.
20708 (grub_vga_set_geometry): New function.
20709 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20710 GRUB_PCI_CLASS_SUBCLASS_VGA.
20711 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20712 * video/sm712.c (grub_sm712_write_reg): New function
20713 (grub_sm712_read_reg): Likewise.
20714 (grub_sm712_sr_write): Likewise.
20715 (grub_sm712_gr_write): Likewise.
20716 (grub_sm712_cr_write): Likewise.
20717 (grub_sm712_write_arx): Likewise.
20718 (grub_sm712_cr_shadow_write): Likewise.
20719 (grub_sm712_write_dda_lookup): Likewise.
20720 (grub_video_sm712_setup): Initialise the video rather then
20721 blindly replay the dump.
20722 (main) [TEST]: Add a routine to be able to compile as standalone for
20723 tests.
20724 * video/sm712_init.c (sm712_init): Removed.
20725 (sm712_sr_seq1): New array.
20726 (sm712_sr_seq2): Likewise.
20727
f0206638
VS
207282010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20729
20730 * include/grub/vga.h: Add missing grub/pci.h include.
20731
2764da3b
YB
207322010-08-10 Yves Blusseau <blusseau@zetam.org>
20733
20734 * util/grub-macho2img.c (main): fix typo
20735
cf0c775e
VS
207362010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20739 (grub_vga_gr_read): Likewise.
20740 (grub_vga_cr_write): Likewise.
20741 (grub_vga_cr_read): Likewise.
20742 (grub_vga_sr_write): Likewise.
20743 (grub_vga_sr_read): Likewise.
20744 (grub_vga_palette_read): Likewise.
20745 (grub_vga_palette_write): Likewise.
20746 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20747 (grub_sm712_sr_read): New function.
20748 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20749 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20750
07f360e9
RM
207512010-08-09 Robert Millan <rmh@gnu.org>
20752
20753 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20754 out unused variables on non-ZFS build.
20755
346c2072
RM
207562010-08-08 Robert Millan <rmh@gnu.org>
20757
20758 Fix path generation for sub-filesystems in ZFS.
20759
20760 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20761 missing slash.
20762
71175420
RM
207632010-08-08 Robert Millan <rmh@gnu.org>
20764
20765 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20766
0d8286f3
RM
207672010-08-08 Robert Millan <rmh@gnu.org>
20768
20769 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20770 exist, issue a proper error message (rely on `ls' for translated
20771 strings).
20772
55dd2924
RM
207732010-08-08 Robert Millan <rmh@gnu.org>
20774
20775 Fix grub-probe invocation.
20776
20777 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20778
d3dd9e80
RM
207792010-08-04 Robert Millan <rmh@gnu.org>
20780
20781 * configure.ac: Remove checks for getfsstat() and getmntany().
20782 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20783 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20784 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20785 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20786 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20787 function.
20788 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20789 via find_mount_point_from_dir() and getfsstat() / getmntany().
20790
0de22aa9
RM
207912010-08-04 Robert Millan <rmh@gnu.org>
20792
20793 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20794 (grub_find_zpool_from_mount_point): Merge into ...
20795 (grub_find_zpool_from_dir): ... this.
20796 * kern/emu/misc.c: Likewise.
20797
20798 * kern/emu/misc.c
20799 (grub_make_system_path_relative_to_its_root): Replace
20800 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20801 with grub_find_zpool_from_dir().
20802 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20803
62858144
RM
208042010-08-04 Robert Millan <rmh@gnu.org>
20805
20806 Support OpenSolaris in ZFS device resolution.
20807
20808 * configure.ac: Check for getmntany().
20809 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20810 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20811 support.
20812
9dd6fd50
RM
208132010-08-03 Robert Millan <rmh@gnu.org>
20814
20815 Fix grub-emu build.
20816
20817 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20818 * include/grub/emu/misc.h: ... here.
20819
20820 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20821 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20822
20823 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20824 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20825 (grub_get_libzfs_handle): Move to ...
20826 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20827 (grub_get_libzfs_handle): ... here.
20828
c9f7ff97
BC
208292010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20830
20831 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20832 as command name case.
20833
a870a783
CW
208342010-08-02 Colin Watson <cjwatson@ubuntu.com>
20835
20836 * disk/raid.c (insert_array): Select unique numbers for named arrays
20837 as well, for use as keys in the disk cache.
20838
c7db243b
RM
208392010-08-01 Robert Millan <rmh@gnu.org>
20840
20841 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20842 kFreeBSD device name, except on ZFS where the filesystem label is
20843 used.
20844 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20845 `/boot/zfs/zpool.cache'.
20846 Set mountfrom kernel variable using ${kfreebsd_device}.
20847
f7abdefb
RM
208482010-08-01 Robert Millan <rmh@gnu.org>
20849
20850 Make it even harder to use uninitialized `libzfs_handle' (and
20851 make the interface a bit simpler).
20852
20853 * include/grub/util/misc.h (grub_util_init_libzfs)
20854 (libzfs_handle): Remove.
20855 (grub_get_libzfs_handle): New prototype.
20856
20857 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20858 attribute.
20859 (grub_util_init_libzfs): Remove.
20860 (grub_get_libzfs_handle): New function.
20861
20862 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
20863 grub_get_libzfs_handle() to obtain a libzfs handle instead of
20864 accessing `libzfs_handle' directly.
20865
c882acc0
RM
208662010-08-01 Robert Millan <rmh@gnu.org>
20867
20868 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20869 (grub_find_zpool_from_mount_point): New function prototypes.
20870
20871 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20872 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20873
20874 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20875 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20876 `static' attribute.
20877
20878 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20879 finding zpool from mount point into ...
20880 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20881
20882 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20883 requested path is part of a ZFS pool, use
20884 grub_find_zpool_from_mount_point() to detect its filesystem name,
20885 and generate a path with `/fsname@path' syntax.
20886
8bfe31d8
CW
208872010-08-01 Colin Watson <cjwatson@ubuntu.com>
20888
20889 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
20890 (void) rather than () so that this is a proper prototype.
20891
553df63d
VS
208922010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20893
20894 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
20895
8687cf07
VS
208962010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20897
20898 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
20899 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
20900
ea9be8ea
CW
209012010-08-01 Colin Watson <cjwatson@ubuntu.com>
20902
20903 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
20904
6eea041a
CW
209052010-08-01 Colin Watson <cjwatson@ubuntu.com>
20906
20907 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
20908
2cfb45df
CW
209092010-08-01 Colin Watson <cjwatson@ubuntu.com>
20910
20911 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
20912 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
20913 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
20914 disable gfxpayload.
20915 (Shell-like scripting): Add real content.
20916 (Serial terminal): Suggest `terminal_input serial; terminal_output
20917 serial' rather than putting the two commands on separate lines,
20918 since console input will be inoperative after the first command.
20919 (menuentry): Document --class, --users, and --hotkey options.
20920 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
20921 Vladimir Serbinenko).
20922
7decd202
VS
209232010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
209242010-08-01 Colin Watson <cjwatson@ubuntu.com>
20925
20926 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
20927
c882acc0
RM
209282010-08-01 Robert Millan <rmh@gnu.org>
20929
20930 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20931 (grub_find_zpool_from_mount_point): New function prototypes.
20932
20933 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20934 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20935
20936 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20937 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20938 `static' attribute.
20939
20940 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20941 finding zpool from mount point into ...
20942 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20943
20944 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20945 requested path is part of a ZFS pool, use
20946 grub_find_zpool_from_mount_point() to detect its filesystem name,
20947 and generate a path with `/fsname@path' syntax.
20948
deb0caa3
RM
209492010-08-01 Robert Millan <rmh@gnu.org>
20950
20951 Prevent accidental use of uninitialized libzfs_handle.
20952
20953 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
20954 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
20955 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
20956
ce04ef47
CW
209572010-08-01 Colin Watson <cjwatson@ubuntu.com>
20958
20959 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
20960 util/grub.d/10_linux.in). Fixes Debian bug #591093.
20961
ebf53056
RM
209622010-08-01 Robert Millan <rmh@gnu.org>
20963
20964 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 20965
3710bb6b
RM
209662010-07-31 Robert Millan <rmh@gnu.org>
20967
20968 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
20969
8072efeb
RM
209702010-07-31 Robert Millan <rmh@gnu.org>
20971
20972 * kern/emu/misc.c: Add missing license header.
20973
3169f4c7
RM
209742010-07-31 Robert Millan <rmh@gnu.org>
20975
20976 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
20977
20978 * include/grub/util/libnvpair.h: Include `<config.h>'.
20979 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
20980 declaring libnvpair prototypes ourselves.
20981 * include/grub/util/libzfs.h: Include `<config.h>'.
20982 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
20983 declaring libzfs prototypes ourselves.
20984
20985 (libzfs_handle): Moved to ...
20986 * include/grub/util/misc.h (libzfs_handle): ... here.
20987 Include `<grub/util/libzfs.h>'.
20988
c9a00aee
RM
209892010-07-30 Robert Millan <rmh@gnu.org>
20990
20991 * include/grub/emu/misc.h: Add missing license header.
20992
a184f9c8
RM
209932010-07-30 Robert Millan <rmh@gnu.org>
20994
20995 Enable `grub-probe -t device' resolution on ZFS.
20996
20997 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
20998 * include/grub/util/libnvpair.h: New file.
20999 * include/grub/util/libzfs.h: New file.
21000
21001 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
21002 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
21003 `<grub/util/libnvpair.h>'.
21004 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
21005
21006 (find_mount_point_from_dir): New static function.
21007 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
21008 function.
21009 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
21010 find_root_device_from_libzfs() before ressorting to find_root_device().
21011
21012 * include/grub/util/misc.h (grub_util_init_libzfs): New function
21013 prototype.
21014 * util/misc.c: Include `<grub/util/libzfs.h>'.
21015 (grub_util_init_libzfs): New function.
21016 [HAVE_LIBZFS] (libzfs_handle): New global variable.
21017 [HAVE_LIBZFS] (fini_libzfs): New static function.
21018 (grub_util_init_libzfs): New function.
21019 * util/grub-probe.c (main): Call grub_util_init_libzfs().
21020
f7790cdd
RM
210212010-07-30 Robert Millan <rmh@gnu.org>
21022
21023 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
21024 (xmalloc, xrealloc, xstrdup, xasprintf): Add
21025 `warn_unused_result' attribute.
21026 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
21027 (grub_xasprintf, grub_xvasprintf): Likewise.
21028 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
21029
0806b63c
RM
210302010-07-29 Robert Millan <rmh@gnu.org>
21031
21032 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
21033 (probe): Handle `PRINT_FS_LABEL'.
21034 (main): Handle `-t fs_label'.
21035
9f841f5c
RM
210362010-07-29 Robert Millan <rmh@gnu.org>
21037
21038 * configure.ac: Remove grub-mkisofs checks.
21039
46371121
VS
210402010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21041
21042 * util/ieee1275/grub-install.in: Don't use empty grub_device.
21043 Reported by: Lennart Sorensen.
21044
210452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21046
21047 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
21048 prior to terminal_input/terminal_output separation. It's been over 1.5
21049 years and those versions weren't widely deployed.
21050
a9600892
CW
210512010-07-22 Colin Watson <cjwatson@ubuntu.com>
21052
21053 * disk/raid.c (insert_array): Don't count named arrays when looking
21054 for unused array numbers.
697e053c 21055 Reported and tested by: Michael Guntsche.
a9600892 21056
c03507df
CW
210572010-07-20 Colin Watson <cjwatson@ubuntu.com>
21058
21059 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
21060 implementation of this so that grub-emu links again, with a note
21061 that this should support hotplugging in the future.
21062
b26f1c11
CW
210632010-07-20 Colin Watson <cjwatson@ubuntu.com>
21064
21065 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21066
efc9d7f1
CW
210672010-07-20 Colin Watson <cjwatson@ubuntu.com>
21068
21069 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
21070 handle on failure.
21071 (grub_loopback_close): Remove empty function.
21072 (grub_loopback_dev): Remove close method.
21073
dd8ff5c9
CW
210742010-07-20 Colin Watson <cjwatson@ubuntu.com>
21075
21076 Disable EFI cursor when the EFI console becomes inactive.
21077
21078 * term/efi/console.c (grub_efi_console_init): New function.
21079 (grub_efi_console_fini): New function.
21080 (grub_console_term_output): Register init and fini methods.
21081
5e3bec67
VS
210822010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21083
21084 * tests/util/grub-shell-tester.in: Remove bashism and declare as
21085 sh script.
21086
afaec079
VS
210872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21088
21089 * disk/loopback.c (grub_loopback): Replace filename with file.
21090 (delete_loopback): Handle new semantics.
21091 (grub_cmd_loopback): Likewise.
21092 (grub_loopback_iterate): Likewise.
21093 (grub_loopback_close): Likewise.
21094
a6a11f3c
VS
210952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21096
21097 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
21098 with -p "".
21099 Reported by: Tito Keitel.
21100
64a638b0
VS
211012010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21102
21103 * docs/grub.texi (Naming convention): Document new naming convention.
21104
ab8ba957
VS
211052010-07-20 Vadim Solomin <vadic052@gmail.com>
211062010-07-20 Colin Watson <cjwatson@ubuntu.com>
21107
21108 Generate device.map in something closer to the old ordering.
21109
21110 * util/deviceiter.c (struct device): New declaration.
21111 (compare_file_names): Rename to ...
21112 (compare_devices): ... this. Sort by kernel name in preference to
21113 the stable by-id name, but keep the latter as a fallback comparison.
21114 Update header comment.
21115 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
21116 of `struct device' rather than of plain file names.
21117
a29d6a4b
TF
211182010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
21119
21120 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
21121 on i386.
21122
39d824e8
VS
211232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21124
21125 * commands/acpi.c (setup_common_tables): Use sizeof instead of
21126 hardcoding size.
21127 (setv1table): Likewise.
21128
f058276b
FZ
211292010-07-20 Colin Watson <cjwatson@ubuntu.com>
21130
21131 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
21132 removing the homehost if present.
21133 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
21134 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
21135 removing the homehost if present.
21136 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
21137 if possible.
21138 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
21139
21140 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
21141 parameter. Set its pointer target to 0.
21142 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
21143 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
21144 `data_offset' value from the superblock for 1.x metadata.
21145 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
21146 data on the device.
21147 (insert_array): Record the start sector of data on the device.
21148 (grub_raid_register): Pass start_sector parameters to
21149 grub_raid_list->detect and insert_array.
21150 * include/grub/raid.h (struct grub_raid_array): Add start_sector
21151 member.
21152 (struct grub_raid): Add start_sector parameter to `detect'.
21153
21154 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
21155 __attribute__ ((packed)), leaving a comment.
21156 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
21157 (grub_mdraid_detect_09): ... here and ...
21158 (grub_mdraid_detect_1x): ... here.
21159
211602010-07-20 Peter Henn <peter.henn@web.de>
21161
21162 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
21163 chunk size and disk size, which are already given as sector counts
21164 as distinct from the 0.90 units. Fetch the correct device number
21165 from the role table instead of using the table index.
21166
211672010-07-20 Felix Zielcke <fzielcke@z-51.de>
21168
21169 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
21170 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
21171 (WriteMostly1): New macro.
21172 Set array->name to NULL for metadata format 0.90. Add support for
21173 metadata 1.x. Fix some comments.
21174 * disk/raid.c (): Add support for name based RAID arrays. Fix a
21175 few comments.
21176 * util/getroot.c (grub_util_get_grub_dev): Add support for
21177 /dev/md/name style devices.
21178
4b761da9
CW
211792010-07-20 Colin Watson <cjwatson@ubuntu.com>
21180
21181 * .bzrignore: Ignore 20_linux_xen.
21182
5771289a
CW
211832010-07-17 Colin Watson <cjwatson@ubuntu.com>
21184
21185 * util/import_unicode.py: Remove unnecessary imports.
21186
5dab68df
AN
211872010-07-17 Aleš Nesrsta <starous@volny.cz>
21188
21189 Hotplugging and USB hub support.
21190
21191 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
21192 (grub_ohci): Likewise.
21193 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
21194 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
21195 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
21196 (GRUB_OHCI_CTRL_EDS): Likewise.
21197 (GRUB_OHCI_BULK_EDS): Likewise.
21198 (GRUB_OHCI_TDS): Likewise.
21199 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
21200 (grub_ohci_ed_phys2virt): New function.
21201 (grub_ohci_virt_to_phys): Likewise.
21202 (grub_ohci_td_phys2virt): Likewise.
21203 (grub_ohci_td_virt2phys): Likewise.
21204 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
21205 attachment.
21206 (grub_ohci_find_ed): New function.
21207 (grub_ohci_alloc_td): Likewise.
21208 (grub_ohci_free_td): Likewise.
21209 (grub_ohci_free_tds): Likewise.
21210 (grub_ohci_transfer): Use previously allocated memory.
21211 (grub_ohci_portstatus): Reset status changed bit.
21212 (grub_ohci_detect_dev): Supply status changed.
21213 (grub_ohci_fini_hw): Free memory.
21214 (grub_ohci_restore_hw): Reallocate memory.
21215 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
21216 Reset status change.
21217 (grub_uhci_detect_dev): Supply status_change.
21218 * bus/usb/usb.c (attach_hooks): New var.
21219 (grub_usb_device_attach): New function.
21220 (grub_usb_register_attach_hook_class): Likewise.
21221 (grub_usb_unregister_attach_hook_class): Likewise.
21222 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
21223 (grub_usb_add_hub): Reset connection changed bit.
21224 (attach_root_port): New function.
21225 (grub_usb_root_hub): Likewise.
21226 (poll_nonroot_hub): Likewise.
21227 (grub_usb_poll_devices): Likewise.
21228 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
21229 * disk/usbms.c (grub_usbms_open): Use device hooks.
21230 (grub_usbms_iterate) :Poll devices.
21231 (grub_usbms_finddevs): Split into ...
21232 (grub_usbms_attach): ... this ...
21233 (grub_usbms_attach): ... and this.
21234 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
21235 in detect_dev.
21236 (grub_usb_interface): New fields attached and detach_hook.
21237 (grub_usb_attach_hook_class): New type.
21238 (grub_usb_attach_desc): New struct.
21239 (grub_usb_register_attach_hook_class): New function.
21240 (grub_usb_unregister_attach_hook_class): Likewise.
21241 (grub_usb_poll_devices): Likewise.
21242 (grub_usb_device_attach): Likewise.
21243 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
21244 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
21245
3222efaf
VS
212462010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21247
21248 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
21249 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
21250 delta determination style. Works with most NetBSD partitions too.
21251
139b714a
VS
212522010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21253
21254 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
21255 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21256
986aad56
VS
212572010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21258
21259 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21260
99be513c
AB
212612010-07-14 Anton Blanchard <anton@samba.org>
21262
21263 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21264 ET_DYN files.
21265
18075f62
GS
212662010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21267
21268 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21269
8d9a5b15
GS
212702010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21271
21272 * kern/partition.c (grub_partition_check_containment): New function to
21273 check that a partition is physically contained in a parent. Since
21274 offsets are relative (and non-negative), this reduces to checking that
21275 the partition ends before its parent.
21276 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21277 (grub_partition_iterate): Likewise.
21278 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21279 comments.
21280 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21281 partitions that start before their parent, and add debug printfs.
21282
19563c25
CW
212832010-07-13 Colin Watson <cjwatson@ubuntu.com>
21284
21285 * Makefile.in (.SUFFIX): Spell correctly, as ...
21286 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21287 bare module name without `.mod', e.g. `test') tried to invoke a
21288 Modula-2 compiler.
21289
1a1f1e67
CW
212902010-07-13 Colin Watson <cjwatson@ubuntu.com>
21291
21292 * README: Point to the Info manual.
21293
811b0dca
JS
212942010-07-13 Jiro SEKIBA <jir@unicus.jp>
21295
21296 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21297 2nd superblock position from partition size.
21298
e4f4eafc
CW
212992010-07-10 Colin Watson <cjwatson@ubuntu.com>
21300
21301 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21302 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21303 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21304 outputs.
21305
4274c30f
VS
213062010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 Restructure SCSI .id handling.
21309 Reported and tested by: Aleš Nesrsta.
21310
21311 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21312 (grub_atapi_dev): Changed .name to "ata". New field .id.
21313 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21314 (grub_usbms_dev): New field .id.
21315 * disk/scsi.c (grub_scsi_iterate): Generate name.
21316 (grub_scsi_open): Parse name.
21317 * include/grub/scsi.h (grub_make_scsi_id): New function.
21318 (grub_scsi_dev): Change iterate and open to number instead of naming
21319 busses. All users updated.
21320 (grub_scsi): Remove name. Add .bus.
21321
5bc24388
VS
213222010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21323
21324 * commands/help.c (grub_cmd_help): Fix a typo.
21325
249975ba
VS
213262010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21327
21328 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21329 Reported and tested by: Colin Watson.
21330
3eaac1a1
VS
213312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21332
21333 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21334 in this context.
21335
becce1b1
VS
213362010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21337
21338 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21339
f7bf0918
CW
213402010-07-07 Colin Watson <cjwatson@ubuntu.com>
21341
21342 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21343 indentation.
21344
0b0f9620
CW
213452010-07-06 Colin Watson <cjwatson@ubuntu.com>
21346
21347 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21348 and disk/raid6_recover.c.
21349 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21350 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21351
1e545469
CW
213522010-07-06 Colin Watson <cjwatson@ubuntu.com>
21353
21354 * term/gfxterm.c (repaint_schedulded): Rename to ...
21355 (repaint_scheduled): ... this. Update all callers.
21356 (repaint_was_schedulded): Rename to ...
21357 (repaint_was_scheduled): ... this. Update all callers.
21358
5357687a
CW
213592010-07-06 Colin Watson <cjwatson@ubuntu.com>
21360
21361 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21362 which we expect to be handled by upper layers.
21363
29d7e783
BC
213642010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21365
21366 * bus/usb/usbhub.c: #include time.h header.
21367
37582066
CW
213682010-07-06 Colin Watson <cjwatson@ubuntu.com>
21369
21370 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21371 entry_name also for entries without stat blocks (e.g. ".."); fixes
21372 corruption of the first entry in a directory.
21373
c8c06953
CW
213742010-07-06 Colin Watson <cjwatson@ubuntu.com>
21375
21376 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21377 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21378 doesn't work otherwise.
21379
e75056f1
CW
213802010-07-05 Colin Watson <cjwatson@ubuntu.com>
21381
21382 * docs/grub.texi (Features): Update list of supported file systems.
21383 (GNU/Linux): Update for GRUB 2.
21384 (Serial terminal): Remove mention of --disable-serial, which was a
21385 GRUB Legacy configure option. Update instructions to use
21386 `terminal_input' and `terminal_output' rather than `terminal'.
21387 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21388 configuration' and `Installing GRUB using grub-install'.
21389 (Menu entry editor): Update for GRUB 2.
21390 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21391 Document new -a, -u, and -v options.
21392 (initrd): New section.
21393 (initrd16): New section.
21394 (linux): New section.
21395 (linux16): New section.
21396 (search): The `var' argument to `--set' is optional.
21397 (GRUB only offers a rescue shell): Go into a little more detail on
21398 drive ordering.
21399
5cf69151
CW
214002010-07-05 Colin Watson <cjwatson@ubuntu.com>
21401
21402 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21403
e3f90044
CW
214042010-07-05 Colin Watson <cjwatson@ubuntu.com>
21405
21406 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21407 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21408
38d8f4f3
CW
214092010-07-05 Colin Watson <cjwatson@ubuntu.com>
21410
21411 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21412 install_prefix, in line with install_dos_part and install_bsd_part.
21413 Add new prefix variable, which is copied to install_prefix after
21414 comparing core.img in memory with the one read from disk in the
21415 no-embedding case, and use that rather than overwriting
21416 install_prefix immediately when installing to a partition.
21417 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21418 Bicakci.
21419
57ebd41e
GS
214202010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21421
21422 * configure.ac: Avoid == in test command, it's not portable.
21423 * util/grub.d/30_os-prober.in: Likewise.
21424
cb7f64b2
CW
214252010-07-04 Colin Watson <cjwatson@ubuntu.com>
21426
21427 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21428
6b654bb0
GS
214292010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21430
21431 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21432 multiple (top-level) partmaps.
21433
72a2026d
VS
214342010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21437 Reported by: Tino Keitel.
72a2026d 21438
df3eb88f
VS
214392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21440
21441 Bidi and diacritics support.
21442
21443 * Makefile.in (widthspec.bin): New target.
21444 (widthspec.h): Likewise.
21445 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21446 * autogen.sh: Generate unidata.c.
21447 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21448 * commands/ls.c (grub_ls_list_devices): Likewise.
21449 (grub_ls_list_files): Likewise.
21450 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21451 (grub_mini_cmd_lsmod): Likewise.
21452 * commands/read.c: Likewise.
21453 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21454 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21455 * lib/arg.c (grub_arg_show_help): Likewise.
21456 * lib/crypto.c (grub_password_get): Likewise.
21457 * normal/auth.c (grub_username_get): Likewise.
21458 * normal/misc.c (grub_normal_print_device_info): Likewise.
21459 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21460 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21461 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21462 (normal/charset.c_DEPENDENCIES): New variable.
21463 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21464 (pkglib_MODULES): Remove charset.mod.
21465 (charset_mod_SOURCES): Removed.
21466 (charset_mod_CFLAGS): Likewise.
21467 (charset_mod_LDFLAGS): Likewise.
21468 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21469 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21470 and term/tparm.c.
21471 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21472 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21473 (kernel_img_HEADERS): Add terminfo.h.
21474 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21475 Fill ->font. Reverse ascii bitmaps.
21476 (grub_font_get_xheight): New function.
21477 * font/font.c (grub_font_get_string_width): Moved from here ...
21478 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21479 * font/font.c (grub_font_draw_string): Moved from here ...
21480 * gfxmenu/font.c (grub_font_draw_string): ... here.
21481 * font/font.c (grub_font_dup_glyph): New function.
21482 (grub_font_blit_glyph): Likewise.
21483 (grub_font_blit_glyph_mirror): Likewise.
21484 (blit_comb): Likewise.
21485 (grub_font_construct_dry_run): Likewise.
21486 (grub_font_get_constructed_device_width): Likewise.
21487 (grub_font_construct_glyph): Likewise.
21488 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21489 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21490 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21491 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21492 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21493 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21494 (grub_font_get_xheight): New proto.
21495 (grub_font_get_constructed_device_width): Likewise.
21496 (grub_font_construct_glyph): Likewise.
21497 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21498 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21499 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21500 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21501 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21502 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21503 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21504 (grub_console_getcharwidth): Likewise.
21505 * include/grub/misc.h (grub_xputs): New proto.
21506 (grub_puts): Inlined.
21507 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21508 (grub_normal_get_line_counter): Removed.
21509 (grub_install_newline_hook): Likewise.
21510 (grub_normal_get_char_counter): New proto.
21511 (grub_normal_reset_more): Likewise.
21512 (grub_xputs_normal): Likewise.
21513 * include/grub/powerpc/ieee1275/console.h: Removed.
21514 * include/grub/sparc64/ieee1275/console.h: Likewise.
21515 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21516 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21517 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21518 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21519 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21520 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21521 (grub_term_input): Pass reference to self. All users updated.
21522 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21523 Pass reference to self. New fields normal_color, highlight_color and
21524 data. All users updated.
21525 (grub_putchar): Removed.
21526 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21527 (grub_unicode_estimate_width): New function.
21528 (grub_term_getcharwidth): Add defaults.
21529 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21530 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21531 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21532 (grub_cls): Remove EXPORT_FUNC.
21533 (grub_setcolorstate): Inline.
21534 (grub_newline_hook): Removed.
21535 * include/grub/terminfo.h: Rewritten. All users updated.
21536 * include/grub/unicode.h: New file.
21537 * include/grub/video.h (grub_video_signed_rect): New type.
21538 * kern/emu/console.c (grub_console_highlight_color): Removed.
21539 (grub_console_normal_color): Likewise.
21540 (grub_console_standard_color): Made static.
21541 (grub_ncurses_putchar): Remove mapping.
21542 (grub_ncurses_getcharwidth): Removed.
21543 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21544 (grub_ncurses_setcolor): Removed.
21545 (grub_ncurses_getcolor): Likewise.
21546 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21547 (grub_console_putchar): ... this.
21548 (grub_console_putchar): Handle argument difference.
21549 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21550 console_init_early and console_init_lately.
21551 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21552 * kern/misc.c (grub_puts): Removed.
21553 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21554 (grub_vsnprintf_real): Remove str = NULL support.
21555 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21556 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21557 * kern/term.c (grub_putcode): Renamed to ...
21558 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21559 (grub_putchar): Removed.
21560 (grub_xputs_dumb): New function.
21561 (grub_xputs): New variable.
21562 * lib/charset.c: Move from here ...
21563 * normal/charset.c: ... to here.
21564 (grub_ucs4_to_utf8): New function.
21565 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21566 (join_types): New variable.
21567 (unpack_join): New function.
21568 (bidi_types): New variable.
21569 (unpack_bidi): New function.
21570 (get_bidi_type): Likewise.
21571 (get_join_type): Likewise.
21572 (is_mirrored): Likewise.
21573 (grub_unicode_get_comb_type): Likewise.
21574 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21575 (is_type_after): Likewise.
21576 (grub_unicode_aglomerate_comb): Likewise.
21577 (bidi_line_wrap): Likewise.
21578 (grub_bidi_line_logical_to_visual): Likewise.
21579 (grub_bidi_logical_to_visual): Likewise.
21580 (grub_unicode_mirror_code): Likewise.
21581 (grub_unicode_shape_code): Likewise.
21582 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21583 Don't use grub_putchar.
21584 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21585 (grub_normal_reader_init): Likewise.
21586 (grub_xputs_saved): New variable.
21587 (GRUB_MOD_INIT): Set grub_xputs.
21588 (GRUB_MOD_FINI): Restore grub_xputs.
21589 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21590 (menu_init): Avoid printing gfxmenu error.
21591 (show_menu): Use grub_normal_get_char_counter.
21592 * normal/menu_entry.c (update_screen): Fix out-of-array.
21593 (complete): Avoid NULL dereferencing.
21594 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21595 * normal/menu_text.c (print_spaces): Removed.
21596 (grub_print_ucs4): Likewise.
21597 (grub_print_message_indented): Use grub_print_ucs4.
21598 (print_message): Use grub_putcode.
21599 (print_entry): Hanlde diacritics.
21600 * normal/term.c (term_state): New type.
21601 (grub_more_lines): Removed.
21602 (term_states): New variable.
21603 (grub_normal_line_counter): Renamed to ..
21604 (grub_normal_char_counter): ...this. All users updated.
21605 (grub_normal_get_line_counter): Renamed to ...
21606 (grub_normal_get_char_counter): ... this.
21607 (grub_normal_reset_more): New function.
21608 (process_newline): Removed.
21609 (print_more): New function.
21610 (grub_install_newline_hook): Removed.
21611 (map_code): New function.
21612 (grub_puts_terminal): Use grub_print_ucs4.
21613 (putglyph): New function.
21614 (putcode_real): Likewise.
21615 (grub_putcode): Use putcode_real.
21616 (get_maxwidth): New function.
21617 (get_startwidth): Likewise.
21618 (print_ucs4_terminal): Likewise.
21619 (find_term_state): Likewise.
21620 (put_glyphs_terminal): Likewise.
21621 (print_backlog): Likewise.
21622 (print_ucs4_real): Likewise.
21623 (grub_print_ucs4): Likewise.
21624 (grub_xputs_normal): Likewise.
21625 * term/efi/console.c (grub_console_putchar): Output diacritics.
21626 (grub_console_getcharwidth): Removed.
21627 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21628 * term/gfxterm.c (clear_char): Free chars.
21629 (scroll_up): Avoid leaking memory.
21630 (grub_gfxterm_putchar): Support diacritics.
21631 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21632 * term/i386/pc/console.c (grub_console_term_output): Declare as
21633 GRUB_TERM_CODE_TYPE_VGA.
21634 * term/i386/pc/vga.c (grub_vga_term): Declare as
21635 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21636 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21637 GRUB_TERM_CODE_TYPE_VGA.
21638 * term/i386/vga_common.c (map_char): Removed.
21639 (grub_console_putchar): Likewise.
21640 (grub_console_getcharwidth): Likewise.
21641 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21642 (colors): Reordered to match terminfo.
21643 (grub_ofconsole_normal_color): Removed.
21644 (grub_ofconsole_writeesc): Likewise.
21645 (grub_ofconsole_highlight_color): Likewise.
21646 (grub_ofconsole_getcharwidth): Likewise.
21647 (grub_ofconsole_setcolorstate): Likewise.
21648 (grub_ofconsole_setcolor): Likewise.
21649 (grub_ofconsole_getcolor): Likewise.
21650 (grub_ofconsole_readkey): Renamed to ...
21651 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21652 key.
21653 (grub_ofconsole_checkkey): Removed.
21654 (grub_ofconsole_getkey): Likewise.
21655 (grub_ofconsole_getxy): Likewise.
21656 (grub_ofconsole_gotoxy): Likewise.
21657 (grub_ofconsole_cls): Likewise.
21658 (grub_ofconsole_refresh): Likewise.
21659 (grub_ofconsole_terminfo_input): New struct.
21660 (grub_ofconsole_terminfo_output): Likewise.
21661 (grub_ofconsole_term_input): Use terminfo.
21662 (grub_ofconsole_term_output): Likewise.
21663 (grub_console_init): Split into ...
21664 (grub_console_init_early): ...this and ...
21665 (grub_console_init_lately): ...this. Use terminfo.
21666 (grub_ofconsole_putchar): Renamed to ...
21667 (put): ... this. Remove mapping.
21668 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21669 * term/serial.c: Simplify using terminfo.
21670 (xpos): Removed.
21671 (ypos): Likewise.
21672 (keep_track): Likewise.
21673 (registered): Likewise.
21674 (input_buf): Likewise.
21675 (npending): Likewise.
21676 (serial_translate_key_sequence): Likewise.
21677 (fill_input_buf): Likewise.
21678 (grub_serial_checkkey): Likewise.
21679 (grub_serial_getkey): Likewise.
21680 (grub_serial_getxy): Likewise.
21681 (grub_serial_gotoxy): Likewise.
21682 (grub_serial_putchar): Likewise.
21683 (grub_serial_cls): Likewise.
21684 (grub_serial_setcolorstate): Likewise.
21685 (grub_serial_setcursor): Likewise.
21686 (serial_hw_init): Use serial_hw_fetch.
21687 (grub_serial_terminfo_input): New variable.
21688 (grub_serial_terminfo_output): Likewise.
21689 (grub_serial_term_input): Use terminfo.
21690 (grub_serial_term_output): Likewise.
21691 * term/terminfo.c (putstr): Use put.
21692 (grub_terminfo_all_free): New function
21693 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21694 (grub_terminfo_output_register): New function.
21695 (grub_terminfo_output_unregister): Likewise.
21696 (grub_terminfo_getxy): Likewise.
21697 (grub_terminfo_readkey): Likewise.
21698 (grub_terminfo_checkkey): Likewise.
21699 (grub_terminfo_getkey): Likewise.
21700 (grub_terminfo_input_init): Likewise.
21701 (print_terminfo): Likewise.
21702 (grub_cmd_terminfo): Handle encoding.
21703 (grub_terminfo_gotoxy): Track position.
21704 (grub_terminfo_cls): Likewise.
21705 (grub_terminfo_putchar): Likewise.
21706 (grub_terminfo_setcolorstate): Handle colors
21707 (grub_terminfo_cursor_on): This ...
21708 (grub_terminfo_cursor_off): ... and this merged into ...
21709 (grub_terminfo_setcursor): ... this.
21710 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21711 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21712 * unicode/BidiMirroring.txt: Likewise.
21713 * unicode/UnicodeData.txt: Likewise.
21714 * unicode/COPYING: Likewise.
21715 * util/grub-editenv.c (grub_putchar): Removed.
21716 (grub_xputs_real): New function.
21717 (grub_xputs): New variable.
21718 * util/grub-fstest.c (grub_putchar): Removed.
21719 (grub_xputs_real): New function.
21720 (grub_xputs): New variable.
21721 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21722 (grub_xputs_real): New function.
21723 (grub_xputs): New variable.
21724 * util/grub-probe.c (grub_putchar): Removed.
21725 (grub_xputs_real): New function.
21726 (grub_xputs): New variable.
21727 * util/grub-script-check.c (grub_putchar): Removed.
21728 (grub_xputs_real): New function.
21729 (grub_xputs): New variable.
21730 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21731 (grub_xputs_real): New function.
21732 (grub_xputs): New variable.
21733 * util/import_unicode.py: New file.
21734 * util/grub-mkfont.c (ft_errmsgs): New array.
21735 (grub_glyph_info): Make bitmap a pointer.
21736 (file_formats): New type WIDTH_SPEC.
21737 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21738 (options): Add width-spec.
21739 (help): Likewise.
21740 (add_char): Renamed to ...
21741 (add_glyph): ... this.
21742 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21743 (glyph_replace): New type.
21744 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21745 (add_char): New function.
21746 (add_subst): Likewise.
21747 (process_cursive): Likewise.
21748 (add_font): Handle GSUB.
21749 (write_font_width_spec): New function.
21750 (main): Sort glyphs.
21751 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21752 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21753 * kern/term.c (grub_cls): Moved from here...
21754 * normal/term.c (grub_cls): ... here.
21755
50f0bcda
CW
217562010-07-02 Colin Watson <cjwatson@ubuntu.com>
21757
21758 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21759 suitable for using within the format argument of printf when
21760 converting grub_size_t.
21761 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21762 "x" to convert grub_size_t arguments.
21763
40372103
VS
217642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21765
21766 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21767 too long captions.
21768 (list_get_minimal_size): Take selection box into account.
21769
942a10c7
VS
217702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21771
21772 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21773 NULL font.
21774
2bdb2892
CW
217752010-07-02 Colin Watson <cjwatson@ubuntu.com>
21776
21777 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21778 devices when iterating over /dev/disk/by-id; they will be handled
21779 later if appropriate, which they aren't always (e.g. LVM).
21780
e03ed6c1
CW
217812010-07-02 Colin Watson <cjwatson@ubuntu.com>
21782
21783 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21784 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21785 fails.
21786 (grub_halt): Likewise.
21787 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21788 reset-all fails.
21789 (grub_halt): Don't return, even if all of shut-down, power-off, and
21790 poweroff fail.
21791
47695765
CW
217922010-07-02 Colin Watson <cjwatson@ubuntu.com>
21793
21794 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21795 arguments, not three.
21796
507736c8
CW
217972010-07-02 Colin Watson <cjwatson@ubuntu.com>
21798
21799 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21800 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21801 LVM-on-RAID is handled correctly.
21802
e3c8cd37
CW
218032010-07-02 Colin Watson <cjwatson@ubuntu.com>
21804
21805 * docs/grub.texi (Changes from GRUB Legacy): New section.
21806 (Future): Fix typo.
21807
8d4a2fec
CW
218082010-07-02 Colin Watson <cjwatson@ubuntu.com>
21809
21810 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21811 grub.d/README accidentally ends up executable for one reason or
21812 another. Ignore it.
21813
1c4827be
VS
218142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21815
21816 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21817 (gpt_partition_map_iterate): Support non-512B sectors.
21818
d9a0c941
VS
218192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21822 Tested by: Seth Goldberg.
21823
48f27e87
VS
218242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21827 Properly align mbi.
21828 Reported by: Seth Goldberg.
21829
b0c4f956
VS
218302010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21831
21832 * util/grub-mkrescue.in: Avoid module duplication.
21833
105a2e8c
SF
218342010-07-01 Sean Finney <seanius@seanius.net>
21835
21836 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21837
5944958c
SF
218382010-07-01 Sean Finney <seanius@seanius.net>
21839
21840 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21841
218422010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21843
21844 * disk/lvm.c (grub_lvm_checkvalue): New function.
21845 (grub_lvm_check_flag): Likewise.
21846
b79889ba
RM
218472010-07-01 Robert Millan <rmh@gnu.org>
21848
21849 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21850 Support 'p' as partition separator on kernel of FreeBSD (used
21851 with GPT labels).
21852 (grub_util_biosdisk_get_grub_dev): Likewise.
21853
ec1d04f1
VS
218542010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 Yeeloong firmware port.
21857
21858 * boot/mips/yeeloong/fwstart.S: New file.
21859 * bus/cs5536.c (gpiodump): New const.
21860 (set_io_space): New function.
21861 (set_iod): Likewise.
21862 (set_p2d): Likewise.
21863 (grub_cs5536_init_geode): Likewise.
21864 * commands/mips/yeeloong/lsspd.c: New file.
21865 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
21866 (serial_mod_SOURCES): New variable.
21867 (serial_mod_CFLAGS): Likewise.
21868 (serial_mod_LDFLAGS): Likewise.
21869 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
21870 term/terminfo.c and term/tparm.c.
21871 (pkglib_IMAGES): Add fwstart.img.
21872 (fwstart_img_SOURCES): New variable.
21873 (fwstart_img_CFLAGS): Likewise.
21874 (fwstart_img_ASFLAGS): Likewise.
21875 (fwstart_img_LDFLAGS): Likewise.
21876 (fwstart_img_FORMAT): Likewise.
21877 (pkglib_MODULES): Add lsspd.mod.
21878 (lsspd_mod_SOURCES): New variable.
21879 (lsspd_mod_CFLAGS): Likewise.
21880 (lsspd_mod_LDFLAGS): Likewise.
21881 (pkglib_MODULES): Add halt.mod.
21882 (halt_mod_SOURCES): New variable.
21883 (halt_mod_CFLAGS): Likewise.
21884 (halt_mod_LDFLAGS): Likewise.
21885 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
21886 (serial_mod_SOURCES): Removed.
21887 (serial_mod_CFLAGS): Likewise.
21888 (serial_mod_LDFLAGS): Likewise.
21889 * disk/ata.c (check_device): New function.
21890 (grub_ata_device_initialize): Use check_device.
21891 (grub_ata_iterate): Recheck devices.
21892 (grub_ata_open): Likewise.
21893 (grub_atapi_iterate): Likewise.
21894 (grub_atapi_open): Likewise.
21895 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
21896 (GRUB_ATA_CH1_PORT1): Likewise.
21897 (GRUB_ATA_CH0_PORT2): Likewise.
21898 (GRUB_ATA_CH1_PORT2): Likewise.
21899 * include/grub/mips/loongson.h: New file.
21900 * include/grub/mips/yeeloong/ec.h: Likewise.
21901 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
21902 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
21903 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
21904 * include/grub/misc.h (grub_halt): Declare as noreturn.
21905 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
21906 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
21907 (UART_ENABLE_FIFO_TRIGGER1): New definition.
21908 (UART_ENABLE_DTRRTS): Likewise.
21909 (UART_ENABLE_MODEM): Removed.
21910 (UART_ENABLE_OUT2): New const.
21911 * include/grub/term.h (grub_term_register_input_active): New function.
21912 (grub_term_register_output_active): Likewise.
21913 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
21914 argument.
21915 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
21916 (init_pci): New function.
21917 (grub_machine_init): Execute platform init when firmware. Init serial.
21918 (grub_halt): Implement.
21919 (grub_exit): Likewise.
21920 (grub_reboot): Likewise.
21921 * term/serial.c (serial_hw_init): Update macros.
21922 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
21923 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
21924 (image_targets): New target mipsel-yeeloong-flash.
21925 (generate_image): Support IMAGE_YEELOONG_FLASH.
21926 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
21927 (grub_video_sm712_setup): Init card.
21928 (grub_video_sm712_set_palette): Removed.
21929 * video/sm712_init.c: New file.
21930
ff4a70d2
CW
219312010-06-30 Colin Watson <cjwatson@ubuntu.com>
21932
21933 * Makefile.in (install-local): Temporarily prepend $(builddir) to
21934 PATH when running help2man and then run it on the unadorned
21935 executable names, rather than passing $(builddir)/* paths to
21936 help2man. This avoids the build directory ending up in generated
21937 manual pages.
21938
1246efeb
CW
219392010-06-29 Colin Watson <cjwatson@ubuntu.com>
21940
21941 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
21942 to avoid accidents when debugging with 'sh -x'.
21943 * util/grub-mkrescue.in: Likewise.
21944 * util/grub.d/00_header.in: Likewise.
21945 * util/grub.d/10_hurd.in: Likewise.
21946 * util/grub.d/10_kfreebsd.in: Likewise.
21947 * util/grub.d/10_linux.in: Likewise.
21948 * util/grub.d/10_netbsd.in: Likewise.
21949 * util/grub.d/10_windows.in: Likewise.
21950 * util/grub.d/20_linux_xen.in: Likewise.
21951 * util/grub.d/30_os-prober.in: Likewise.
21952 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21953
1ba9b889
CW
219542010-06-29 Colin Watson <cjwatson@ubuntu.com>
21955
21956 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
21957 last character in the buffer.
21958 Reported by: Vladimir Serbinenko.
21959
dccaf99d
RM
219602010-06-29 Robert Millan <rmh@gnu.org>
21961
21962 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
21963 (Command-line and menu entry commands): Document `badram' command.
21964
d500ed12
RM
219652010-06-28 Robert Millan <rmh@gnu.org>
21966
21967 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
21968 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
21969 command using ${GRUB_BADRAM} as parameter.
21970
20bc84a6
CW
219712010-06-28 Colin Watson <cjwatson@ubuntu.com>
21972
21973 * docs/grub.texi (Device map): New section.
21974 (Themes): New section (stub).
21975 * Makefile.in (docs/grub.info): The info documentation now builds
21976 without errors. Make sure it stays that way.
21977
4045dee1
VS
219782010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21979
21980 Use normal parser for menu entries.
21981 Reported by: Thomas Frauendorfer
21982
21983 * include/grub/parser.h (grub_parser_execute): Don't export.
21984 * normal/menu.c (grub_menu_execute_entry_real): New function.
21985 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
21986
bca58c7b
CW
219872010-06-28 Colin Watson <cjwatson@ubuntu.com>
21988
21989 * docs/grub.texi (Embedded configuration): New section (replacing
21990 old "Preset Menu" stub).
21991 (Images): New section.
21992 (configfile): Note that any menu entries defined in `file' are shown
21993 immediately.
21994
dec53e63
JT
219952010-06-28 Josh Triplett <josh@joshtriplett.org>
21996
21997 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21998
c06e40f7
CW
219992010-06-28 Colin Watson <cjwatson@ubuntu.com>
22000
22001 * util/grub-install.in: Add --debug-image= option.
22002
cb88052b
CW
220032010-06-28 Colin Watson <cjwatson@ubuntu.com>
22004
22005 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
22006 possible on Linux.
22007
22008 * util/deviceiter.c (check_device): Rename to ...
22009 (check_device_readable_unique): ... this. Update all callers.
22010 Maintain and check a list of which devices (by canonicalized name)
22011 have already been seen.
22012 (clear_seen_devices): New function.
22013 (compare_file_names) [__linux__]: New function.
22014 (grub_util_iterate_devices): Clear the list of seen devices on exit
22015 and (just in case) on entry.
22016 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
22017 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
22018 seen-devices list, superseded by general code in check_device.
22019
bbe34652
CW
220202010-06-28 Colin Watson <cjwatson@ubuntu.com>
22021
22022 * commands/cat.c (options): New variable.
22023 (grub_cmd_cat): Parse options. If the --dos option is given, print
22024 DOS-style "\r\n" line endings as simple newlines (Debian bug
22025 #586358).
22026 (GRUB_MOD_INIT): Use extcmd.
22027 (GRUB_MOD_FINI): Likewise.
22028 * docs/grub.texi (cat): Document --dos.
22029
412e09f3
VS
220302010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
22031
22032 XEN with Linux grub-mkconfig support.
22033
22034 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
22035 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
22036 GRUB_CMDLINE_XEN_DEFAULT.
22037 * util/grub.d/20_linux_xen.in: New file.
22038
53f3ef38 220392010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
22040
22041 Initialise VGA video on qemu ourselves.
22042
22043 * boot/i386/qemu/boot.S: Don't call 0xc000.
22044 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
22045 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
22046 (kernel_img_HEADERS): Add pci.h.
22047 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
22048 * configure.ac: Force unifont on qemu and yeeloong.
22049 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
22050 (grub_vga_palette_write): Use correct register.
22051 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
22052 Call grub_qemu_init_cirrus.
22053 * kern/i386/qemu/init.c: New file.
22054 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
22055
22056 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
22057
c75be4fb
PR
220582010-06-26 Pavel Roskin <proski@gnu.org>
22059
22060 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
22061 13.
22062
d8034603
CW
220632010-06-26 Colin Watson <cjwatson@ubuntu.com>
22064
22065 * docs/grub.texi (Simple configuration): Explain that
22066 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
22067 set to `true' to disable their respective recovery entries, not
22068 merely set.
22069
3fa06487
CW
220702010-06-26 Colin Watson <cjwatson@ubuntu.com>
22071
22072 Make the `source' command slightly faster.
22073
22074 * normal/main.c (grub_normal_execute): Don't re-read list files when
22075 nested.
22076
e9b29642
CW
220772010-06-23 Colin Watson <cjwatson@ubuntu.com>
22078
22079 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
22080 field position and mask size to red fields from mode_info, not
22081 green.
22082 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
22083 Remove redundant tag->common.framebuffer_type assignment.
22084 Reported by: Seth Goldberg.
22085
e726542f
CW
220862010-06-23 Colin Watson <cjwatson@ubuntu.com>
22087
22088 Sync up other versions of the Linux loader with Robert Millan's
22089 change of 2010-01-09, "Make loader output a bit more user-friendly".
22090
22091 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
22092 grub_dprintf().
22093 (grub_cmd_linux): Likewise.
22094 (grub_cmd_initrd): Likewise.
22095 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
22096 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22097
d6e98a17
CW
220982010-06-21 Colin Watson <cjwatson@ubuntu.com>
22099
22100 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
22101 larger than MEMORY_MAP_SIZE.
22102
14d3f08e
BC
221032010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
22104
22105 Fix parallel build.
22106
22107 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
22108 dependency.
22109 * script/parser.y: #include grub_script.tab.h header.
22110
4f9613a3
VS
221112010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 Support >3GiB and <16MiB RAM in i386-qemu.
22114
22115 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
22116 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
22117 (grub_lower_mem): Removed.
22118 (grub_upper_mem): Likewise.
22119 (mem_size): Made static.
22120 (above_4g): New variable.
22121 (grub_machine_mmap_init): Detect small mem_size and above_4g.
22122 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
22123 support.
22124
05e51879
VS
221252010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 Cirrus 5446 and Bochs video cards support.
22128
22129 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
22130 video_bochs.mod
22131 (video_cirrus_mod_SOURCES): New variable.
22132 (video_cirrus_mod_CFLAGS): Likewise.
22133 (video_cirrus_mod_LDFLAGS): Likewise.
22134 (video_bochs_mod_SOURCES): Likewise.
22135 (video_bochs_mod_CFLAGS): Likewise.
22136 (video_bochs_mod_LDFLAGS): Likewise.
22137 * include/grub/vga.h: New file.
22138 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
22139 (grub_video_fb_set_page_t): New type.
22140 (grub_video_fb_setup): New prototype.
22141 (grub_video_fb_swap_buffers): Likewise.
22142 (grub_video_fb_get_info_and_fini): Likewise.
22143 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
22144 (CRTC_DATA_PORT): Likewise.
22145 (CRTC_CURSOR): Likewise.
22146 (CRTC_CURSOR_ADDR_HIGH): Likewise.
22147 (CRTC_CURSOR_ADDR_LOW): Likewise.
22148 (CRTC_CURSOR_DISABLE): Likewise.
22149 (update_cursor): Use grub_vga_cr_write.
22150 (grub_vga_text_setcursor): Likewise.
22151 * video/bochs.c: New file.
22152 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
22153 (palette): Likewise.
22154 (palette_size): Likewise.
22155 (framebuffer): New variable.
22156 (grub_video_fb_init): Use 'framebuffer'.
22157 (grub_video_fb_fini): Likewise.
22158 (grub_video_fb_get_info): Likewise.
22159 (grub_video_fb_get_palette): Likewise.
22160 (grub_video_fb_set_palette): Likewise.
22161 (grub_video_fb_set_viewport): Likewise.
22162 (grub_video_fb_get_viewport): Likewise.
22163 (grub_video_fb_map_color): Likewise.
22164 (grub_video_fb_map_rgb): Likewise.
22165 (grub_video_fb_map_rgba): Likewise.
22166 (grub_video_fb_unmap_color): Likewise.
22167 (grub_video_fb_unmap_color_int): Likewise.
22168 (grub_video_fb_fill_rect): Likewise.
22169 (grub_video_fb_blit_bitmap): Likewise.
22170 (grub_video_fb_blit_render_target): Likewise.
22171 (grub_video_fb_scroll): Likewise.
22172 (grub_video_fb_create_render_target): Likewise.
22173 (grub_video_fb_doublebuf_blit_init): Likewise.
22174 (grub_video_fb_set_active_render_target): Handle doublebuffering.
22175 (doublebuf_pageflipping_update_screen): New function.
22176 (doublebuf_pageflipping_init): Likewise.
22177 (grub_video_fb_setup): Likewise.
22178 (grub_video_fb_swap_buffers): Likewise.
22179 (grub_video_fb_get_info_and_fini): Likewise.
22180 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
22181 All users updated.
22182 (doublebuf_pageflipping_commit): Restructured into ...
22183 (doublebuf_pageflipping_set_page): ... this.
22184 (doublebuf_pageflipping_update_screen): Removed.
22185 (doublebuf_pageflipping_init): Likewise.
22186 (double_buffering_init): Likewise.
22187 (grub_video_vbe_setup): Use grub_video_fb_setup.
22188 (grub_video_vbe_swap_buffers): Removed.
22189 (grub_video_vbe_set_active_render_target): Likewise.
22190 (grub_video_vbe_get_active_render_target): Likewise.
22191 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
22192 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
22193 grub_video_fb_set_active_render_target and
22194 grub_video_fb_get_active_render_target.
22195 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
22196 (SEQUENCER_DATA_PORT): Likewise.
22197 (MAP_MASK_REGISTER): Likewise.
22198 (CRTC_ADDR_PORT): Likewise.
22199 (CRTC_DATA_PORT): Likewise.
22200 (START_ADDR_HIGH_REGISTER): Likewise.
22201 (START_ADDR_LOW_REGISTER): Likewise.
22202 (GRAPHICS_ADDR_PORT): Likewise.
22203 (GRAPHICS_DATA_PORT): Likewise.
22204 (READ_MAP_REGISTER): Likewise.
22205 (INPUT_STATUS1_REGISTER): Likewise.
22206 (INPUT_STATUS1_VERTR_BIT): Likewise.
22207 (get_map_mask): Use grub_vga_sr_read.
22208 (set_map_mask): Use grub_vga_sr_write.
22209 (set_read_map): Use grub_vga_gr_write.
22210 (set_start_address): Use grub_vga_cr_write.
22211 * video/sm712.c (framebuffer): Remove leftover fields.
22212
4321c64a
CW
222132010-06-20 Colin Watson <cjwatson@ubuntu.com>
22214
22215 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
22216 setting GRUB_VIDEO_BACKEND. Make it available as a user override
22217 instead. Replace the gfxterm backend check with a check that
22218 ${GRUB_PREFIX}/video.lst is non-empty.
22219 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
22220 again.
22221 (load_video): New generated function. Call it before loading
22222 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
22223 * util/grub.d/10_linux.in (linux_entry): Call load_video.
22224 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
22225 * docs/grub.texi (Simple configuration): Document
22226 GRUB_VIDEO_BACKEND.
22227
222282010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 Use video functions in linux and xnu loaders.
22231
22232 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
22233 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22234 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
22235 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
22236 loader/i386/pc/linux.c.
22237 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
22238 (find_line_len): Removed.
22239 (find_framebuf): Likewise.
22240 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
22241 * loader/i386/efi/xnu.c: Removed.
22242 * loader/i386/pc/xnu.c: Moved from here...
22243 * loader/i386/xnu.c: ...here.
22244
22245 Enable priorities in video drivers.
22246
22247 * include/grub/video.h (grub_video_adapter_prio_t): New type.
22248 (grub_video_adapter): New field prio.
22249 (grub_video_register): Respect prio when inserting.
22250 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
22251 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
22252 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
22253 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
22254 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
22255 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22256 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22257
22258 Fix SDL driver ID.
22259
22260 * include/grub/video.h (grub_video_driver_id_t): New value
22261 GRUB_VIDEO_DRIVER_SDL.
22262 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22263
7d24e434
CW
222642010-06-17 Colin Watson <cjwatson@ubuntu.com>
22265
22266 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22267 argument to printf.
22268 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22269
c88a83f6
CW
222702010-06-17 Colin Watson <cjwatson@ubuntu.com>
22271
22272 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22273 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22274
094dfb69
CW
222752010-06-17 Colin Watson <cjwatson@ubuntu.com>
22276
22277 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22278 directly, and recommend grub-install instead.
22279 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22280
2164da6b
CW
222812010-06-17 Colin Watson <cjwatson@ubuntu.com>
22282
22283 Fix i386-pc prefix handling with nested partitions (Debian bug
22284 #585068). Note that the case where the core image is booted using
22285 multiboot and relocated from its original location still requires
22286 more work.
22287
22288 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22289 with "(,", fill the boot drive in between those two characters, but
22290 expect that a full partition specification including partition map
22291 names will follow.
22292 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22293 specified, write a prefix without the drive name but including a
22294 full partition specification.
22295
044e2e60
CW
222962010-06-16 Colin Watson <cjwatson@ubuntu.com>
22297
22298 * util/grub-mkconfig.in: Ignore non-option arguments, for
22299 compatibility with older versions (before 2010-06-12) which did the
22300 same. In particular, this makes it easier to ship an update-grub
22301 wrapper which is compatible with that used with GRUB Legacy (Debian
22302 bug #586056).
22303
5591324f
GS
223042010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22305
22306 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22307 for manual page generation.
22308
662e24d5
GS
223092010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22310
22311 * po/POTFILES: Remove leftover commands/handler.c.
22312
8d70754e
CW
223132010-06-14 Colin Watson <cjwatson@ubuntu.com>
22314
22315 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22316 left this script non-functional.
22317
41160e2e
CW
223182010-06-14 Colin Watson <cjwatson@ubuntu.com>
22319
22320 * docs/man/grub-emu.h2m: New file.
22321
b5309cc1
CW
223222010-06-13 Colin Watson <cjwatson@ubuntu.com>
22323
22324 * docs/grub.texi (Commands): Document reduced command set in rescue
22325 mode.
22326 (cpuid): New section.
22327
fcb2d090
GS
223282010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22329
22330 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22331 new partition naming style.
22332 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22333
96e5c556
BC
223342010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22335
22336 Add "-o grub.iso" like cmdline options support.
22337
22338 * util/grub-install.in: Improve cmdline option parsing.
22339 * util/grub-mkconfig.in: Likewise.
22340 * util/grub-mkrescue.in: Likewise.
22341 * util/grub-reboot.in: Likewise.
22342 * util/grub-set-default.in: Likewise.
22343 * util/i386/efi/grub-install.in: Likewise.
22344 * util/ieee1275/grub-install.in: Likewise.
22345 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22346
c16be99b
CW
223472010-06-12 Colin Watson <cjwatson@ubuntu.com>
22348
22349 * .bzrignore: Ignore 41_custom.
22350
ce08a9fb
TS
223512010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22352
22353 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22354
7beac90c
CW
223552010-06-12 Colin Watson <cjwatson@ubuntu.com>
22356
22357 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22358 prototype declarations.
22359
22360 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22361 generating fs, partmap, and video lists.
22362 * include/grub/fs.h (grub_fs_register): Omit prototype if
22363 GRUB_LST_GENERATOR is defined.
22364 * include/grub/partition.h (grub_partition_map_register): Likewise.
22365 * include/grub/video.h (grub_video_register): Likewise.
22366
1c8f0f8d
JM
223672010-06-12 Javier Martín <lordhabbit@gmail.com>
22368
22369 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22370
a6085973
TS
223712010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22372
22373 * util/grub-mkrescue.in: Support --xorriso argument.
22374
25c56d29
VS
223752010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22378 Suggested by: Thomas Schmitt.
22379
e03e4b24
VS
223802010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22383 Suggested by: Thomas Schmitt.
22384
57711df6
VS
223852010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22386
22387 custom.cfg support.
22388
22389 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22390 * util/grub.d/41_custom.in: New file.
22391
ee62c427
CW
223922010-06-12 Colin Watson <cjwatson@ubuntu.com>
22393
22394 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22395 been merged back into normal.
22396
283af07a
CW
223972010-06-11 Colin Watson <cjwatson@ubuntu.com>
22398
22399 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22400 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22401
56a0d956
CW
224022010-06-11 Colin Watson <cjwatson@ubuntu.com>
22403
22404 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22405 when generating manual pages.
22406 * docs/man/grub-bin2h.h2m: New file.
22407 * docs/man/grub-editenv.h2m: New file.
22408 * docs/man/grub-fstest.h2m: New file.
22409 * docs/man/grub-install.h2m: New file.
22410 * docs/man/grub-macho2img.h2m: New file.
22411 * docs/man/grub-mkconfig.h2m: New file.
22412 * docs/man/grub-mkdevicemap.h2m: New file.
22413 * docs/man/grub-mkfont.h2m: New file.
22414 * docs/man/grub-mkimage.h2m: New file.
22415 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22416 * docs/man/grub-mkrelpath.h2m: New file.
22417 * docs/man/grub-mkrescue.h2m: New file.
22418 * docs/man/grub-ofpathname.h2m: New file.
22419 * docs/man/grub-pe2elf.h2m: New file.
22420 * docs/man/grub-probe.h2m: New file.
22421 * docs/man/grub-reboot.h2m: New file.
22422 * docs/man/grub-script-check.h2m: New file.
22423 * docs/man/grub-set-default.h2m: New file.
22424 * docs/man/grub-setup.h2m: New file.
22425
3a37e322
VS
224262010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 Use FOR_* macros instead of *_iterate whenever possible.
22429
22430 * commands/handler.c: Removed.
22431 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22432 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22433 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22434 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22435 (grub_probe_SOURCES): Remove kern/parser.c.
22436 (util/grub-script-check.c_DEPENDENCIES): Removed.
22437 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22438 and grub_script_check_init.c.
22439 (grub_script_check_init.lst): Removed.
22440 (grub_script_check_init.h): Likewise.
22441 (grub_script_check_init.c): Likewise.
22442 (pkglib_MODULES): Remove handler.mod and sh.mod.
22443 (handler_mod_SOURCES): Removed.
22444 (handler_mod_CFLAGS): Likewise.
22445 (handler_mod_LDFLAGS): Likewise.
22446 (normal_mod_SOURCES): Remove normal/handler.c.
22447 Add script/main.c, script/script.c, script/execute.c,
22448 script/function.c, script/lexer.c, grub_script.tab.c
22449 and grub_script.yy.c.
22450 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22451 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22452 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22453 (grub_setup_SOURCES): Remove kern/parser.c.
22454 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22455 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22456 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22457 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22458 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22459 (grub_setup_SOURCES): Remove kern/parser.c.
22460 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22461 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22462 * include/grub/command.h (grub_command_iterate): Removed.
22463 (FOR_COMMANDS): New macro.
22464 * include/grub/dl.h (grub_dl): New member next.
22465 (grub_dl_iterate): Removed.
22466 (grub_dl_head): New variable declaration.
22467 (FOR_DL_MODULES): New macro.
22468 * include/grub/fs.h: Include list.h.
22469 (grub_fs): Make next first element.
22470 (grub_fs_list): New variable declaration.
22471 (grub_fs_register): Make inline.
22472 (grub_fs_unregister): Likewise.
22473 (grub_fs_iterate): Removed.
22474 (FOR_FILESYSTEMS): New macro.
22475 * include/grub/handler.h: Removed.
22476 * include/grub/list.h (grub_list_hook_t): Removed.
22477 (grub_list_test_t): Likewise.
22478 (grub_list_pop): Likewise.
22479 (grub_list_iterate): Likewise.
22480 (grub_list_insert): Likewise.
22481 (FOR_LIST_ELEMENTS): New macro.
22482 * include/grub/parser.h (grub_parser_class): Removed.
22483 (grub_parser_register): Likewise.
22484 (grub_parser_unregister): Likewise.
22485 (grub_parser_get_current): Likewise.
22486 (grub_parser_set_current): Likewise.
22487 (grub_register_rescue_parser): Likewise.
22488 (grub_rescue_parse_line): New function.
22489 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22490 * include/grub/script_sh.h (grub_script_function_list): New variable
22491 declaration.
22492 (FOR_SCRIPT_FUNCTIONS): New macro.
22493 (grub_script_function_iterate): Removed.
22494 (grub_normal_parse_line): New prototype.
22495 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22496 (FOR_DISABLED_TERM_INPUTS): Likewise.
22497 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22498 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22499 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22500 element.
22501 (grub_video_register): Inline.
22502 (grub_video_unregister): Likewise.
22503 (grub_video_adapter_list): New variable declaration.
22504 (grub_video_iterate): Removed.
22505 (FOR_VIDEO_ADAPTERS): New macro.
22506 * kern/dl.c (grub_dl_list): Removed. All users updated.
22507 (grub_dl_iterate): Removed.
22508 * kern/fs.c (grub_fs_list): Make global.
22509 (grub_fs_register): Removed.
22510 (grub_fs_unregister): Likewise.
22511 (grub_fs_iterate): Likewise.
22512 * kern/handler.c: Removed.
22513 * kern/list.c (grub_list_pop): Removed.
22514 (grub_list_iterate): Likewise.
22515 (grub_list_insert): Likewise.
22516 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22517 (grub_prio_list_insert): Don't use grub_list_insert.
22518 * kern/main.c (grub_register_rescue_parser): Don't call
22519 grub_register_rescue_parser.
22520 * kern/parser.c (grub_parser_class): Removed.
22521 (grub_parser_execute): Use grub_rescue_parse_line.
22522 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22523 (grub_rescue_parser): Removed.
22524 (grub_register_rescue_parser): Likewise.
22525 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22526 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22527 (grub_auth_check_authentication): Likewise.
22528 * normal/completion.c (iterate_command): Removed.
22529 (grub_normal_do_completion): Use FOR_COMMANDS.
22530 * normal/handler.c: Removed.
22531 * normal/main.c (read_config_file): Remove parser changing.
22532 (grub_normal_execute): Don't call read_handler_list.
22533 (grub_normal_read_line_real): Statically allocate prompt.
22534 (grub_cmdline_run): Use grub_normal_parse_line.
22535 (GRUB_MOD_FINI): Don't call free_handler_list.
22536 * normal/menu_entry.c (run): Likewise.
22537 * script/function.c (grub_script_function_list): Make global.
22538 (grub_script_function_iterate): Removed.
22539 * script/main.c (grub_normal_parse_line): Make global.
22540 (grub_sh_parser): Removed.
22541 (GRUB_MOD_INIT): Likewise.
22542 (GRUB_MOD_FINI): Likewise.
22543 * tests/lib/functional_test.c (grub_functional_test): Use
22544 FOR_LIST_ELEMENTS.
22545 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22546 (grub_test_run): Use FOR_LIST_ELEMENTS.
22547 * tests/lib/unit_test.c (main): Likewise.
22548 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22549 grub_list_pop.
22550 * util/grub-fstest.c (grub_term_input_class): Removed.
22551 (grub_term_output_class): Likewise.
22552 * util/grub-probe.c: Likewise.
22553 * util/i386/pc/grub-setup.c: Likewise.
22554 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22555 * util/grub-script-check.c (main): Don't call grub_init_all and
22556 grub_fini_all.
22557 * video/video.c (grub_video_adapter_list): Make global.
22558 (grub_video_register): Removed.
22559 (grub_video_unregister): Likewise.
22560 (grub_video_iterate): Likewise.
22561
6289c3a7
VS
225622010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22563
22564 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22565 reported by Henrique Ferreiro.
22566
91460247
RM
225672010-06-09 Robert Millan <rmh@gnu.org>
22568
22569 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22570 ones, when both are available.
22571
0ea7c4f9
GS
225722010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22573
22574 Make --version uniform and avoid hard-coded program name.
22575
22576 * util/grub-mkimage.c (main): Use `program_name' instead of
22577 hard-coded string.
22578 * util/i386/pc/grub-setup.c (main): Likewise.
22579 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22580 * util/grub-install.in: Save the basename of $0 in $self, and use the
22581 latter in informational messages. Use the same format for --version
22582 as the binary programs.
22583 * util/grub-mkconfig.in: Likewise.
22584 * util/grub-mkrescue.in: Likewise.
22585 * util/grub-reboot.in: Likewise.
22586 * util/grub-set-default.in: Likewise.
22587 * util/i386/efi/grub-install.in: Likewise.
22588 * util/ieee1275/grub-install.in: Likewise.
22589 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22590
e8a6f3b6
GS
225912010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22592
22593 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22594 embedding area. Use <= instead of == when checking for non-emptiness.
22595
f4d095d7
GS
225962010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22597
22598 * configure.ac: Add `.' to the directories searched for unifont.
22599
50e532ca
CW
226002010-06-08 Colin Watson <cjwatson@ubuntu.com>
22601
22602 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22603 grub_script.yy.h.
22604
d39f3dec
CW
226052010-06-08 Colin Watson <cjwatson@ubuntu.com>
22606
22607 * docs/grub.texi (History): Expand to cover GRUB 2.
22608 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22609 commands, not `terminal'.
22610 (serial): Likewise.
22611 (terminal_input): New section.
22612 (terminal_output): New section.
22613 (uppermem): New section (stub).
22614 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22615
6ef0ddb4
CW
226162010-06-08 Colin Watson <cjwatson@ubuntu.com>
22617
22618 * docs/grub.texi (Security): Menu entries are unrestricted by
22619 default, not restricted to superusers as I had previously thought.
22620 Reword to account for this.
22621
e0f4c438
CW
226222010-06-07 Colin Watson <cjwatson@ubuntu.com>
22623
22624 * kern/emu/misc.c (device_mapper_null_log): New function.
22625 (grub_device_mapper_supported): New function.
22626 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22627 prototype.
22628 * kern/emu/hostdisk.c (find_partition_start): Check whether
22629 device-mapper is supported before trying to use it.
22630 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22631
da908200
CW
226322010-06-07 Colin Watson <cjwatson@ubuntu.com>
22633
22634 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22635 (File name syntax): Likewise.
22636 (help): --all is no longer supported in GRUB 2. Be more precise
22637 about pattern matching.
22638
fb55c3ac
CW
226392010-06-07 Colin Watson <cjwatson@ubuntu.com>
22640
22641 * normal/completion.c (grub_normal_do_completion): When completing
22642 arguments to "set" and the current word contains an equals sign,
22643 skip to after the equals sign before starting completion.
22644
258c2573
CW
226452010-06-07 Colin Watson <cjwatson@ubuntu.com>
22646
22647 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22648
ee75515e
CW
226492010-06-07 Colin Watson <cjwatson@ubuntu.com>
22650
22651 * docs/grub.texi (Network): New section.
22652 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22653 `(nd)' as in GRUB Legacy.
22654 (pxe_unload): New section.
22655
a6a700aa
CW
226562010-06-07 Colin Watson <cjwatson@ubuntu.com>
22657
22658 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22659 in the rescue shell, so recommend using `set' instead. Thanks,
22660 Jordan Uggla.
22661
4003dd38
CW
226622010-06-07 Colin Watson <cjwatson@ubuntu.com>
22663
22664 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22665 (password): New section.
22666 (password_pbkdf2): New section.
22667 (search): New section.
22668 (Security): New section.
22669 (Troubleshooting): New section, currently very incomplete.
22670 (Invoking grub-mkpasswd-pbkdf2): New section.
22671 (Internals): New section, currently very incomplete.
22672
e1cbcc40
CW
226732010-06-07 Colin Watson <cjwatson@ubuntu.com>
22674
22675 * util/grub.d/00_header.in: Add some more quoting (of
22676 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22677 work again.
22678 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22679
db8fa1ad
CW
226802010-06-07 Colin Watson <cjwatson@ubuntu.com>
22681
22682 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22683 to `count', fixing variable shadowing that broke the -c option.
22684
226852010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22686
22687 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22688 in case they contain spaces.
22689
f28a9212
CW
226902010-06-04 Colin Watson <cjwatson@ubuntu.com>
22691
22692 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22693 "part_" to partmap module names, in line with grub-install.
22694 Reported by: Jindřich Makovička (Debian bug #584426).
22695
9cdfe32f
CW
226962010-06-04 Colin Watson <cjwatson@ubuntu.com>
22697
22698 * util/grub-mkimage.c: Make target-related error messages slightly
22699 more helpful; -O talks about "format". Explicitly point to the use
22700 of -O if no target is specified.
22701 Reported by: Didier Raboud (Debian bug #584415).
22702
795b593a
CW
227032010-06-03 Colin Watson <cjwatson@ubuntu.com>
22704
22705 * INSTALL: Document several build requirements for optional features
22706 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22707
9d9b5833
GS
227082010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22709
22710 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22711 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22712 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22713
0819fec8
CW
227142010-06-02 Colin Watson <cjwatson@ubuntu.com>
22715
22716 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22717 Thanks to Jordan Uggla for spotting this.
22718
49396b4f
VS
227192010-06-02 Aleš Nesrsta <starous@volny.cz>
22720
22721 Finally make USB usable.
22722
22723 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22724 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22725 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22726 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22727 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22728 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22729 (GRUB_OHCI_FSMPS): Likewise.
22730 (GRUB_OHCI_PERIODIC_START): Likewise.
22731 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22732 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22733 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22734 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22735 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22736 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22737 (grub_ohci_transaction): Likewise.
22738 (grub_ohci_transfer): Improve condition detection algorithms.
22739 Handle toggle property. Program the transactions correctly.
22740 Improve error handling. Various important fixups.
22741 (grub_ohci_portstatus): Put register writes in right order.
22742 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22743 (grub_uhci_transfer): Don't show "failed" message on success.
22744 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22745 array.
22746 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22747 determine its size.
22748 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22749 before initialization is completed. Use IN direction for empty
22750 transfers. Use last_trans and compute toggle.
22751 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22752 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22753 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22754 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22755 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22756 (grub_usb_device): Increase toggle to 256.
22757 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22758 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22759 GRUB_USBMS_SUBCLASS_SFF8070.
22760 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22761 (grub_scsi_inquiry): New member page and alloc_length.
22762 (grub_scsi_request_sense): New structure.
22763 (grub_scsi_request_sense_data): Likewise.
22764 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22765 control.
22766 * disk/scsi.c (grub_scsi_request_sense): New function.
22767 (grub_scsi_test_unit_ready): Likewise.
22768 (grub_scsi_inquiry): Fill new fields.
22769 (grub_scsi_read_capacity): Likewise.
22770 (grub_scsi_read10): Add request sense at the end.
22771 (grub_scsi_read12): Likewise.
22772 (grub_scsi_write10): Likewise.
22773 (grub_scsi_write12): Likewise.
22774 (grub_scsi_open): Add Test Unit Ready.
22775 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22776 Support additional subclasses. Con't clear halt yet. Activate the
22777 proper config. Calculate LUNs correctly.
22778 (grub_usbms_transfer): Various important fixups.
22779
227802010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22781
22782 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22783 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22784 (grub_ohci_fini_hw): New function.
22785 (grub_ohci_restore_hw): Likewise.
22786 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22787 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22788 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22789
227902010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22791
22792 Dedicated DMA allocations.
22793
22794 * bus/pci.c (grub_memalign_dma32): New function
22795 (grub_dma_free): Likewise.
22796 (grub_dma_get_virt): Likewise.
22797 (grub_dma_get_phys): Likewise.
22798 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22799 (grub_ohci_pci_iter): Use dma32_alloc.
22800 (grub_ohci_transfer): Likewise.
22801 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22802 (grub_usb_bulk_readwrite): Likewise.
22803 * include/grub/pci.h: Add declarations.
22804
228052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22806
22807 CS5536 support.
22808
22809 * bus/cs5536.c: New file.
22810 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22811 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22812 (cs5536_mod_SOURCES): New variable.
22813 (cs5536_mod_CFLAGS): Likewise.
22814 (cs5536_mod_LDFLAGS): Likewise.
22815 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22816 machine/pci.h.
22817 (kernel_img_SOURCES): Add bus/cs5536.c.
22818 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22819 usb_keyboard.mod.
22820 (usb_mod_SOURCES): New variable.
22821 (usb_mod_CFLAGS): New variable.
22822 (usb_mod_LDFLAGS): New variable.
22823 (usbtest_mod_SOURCES): New variable.
22824 (usbtest_mod_CFLAGS): New variable.
22825 (usbtest_mod_LDFLAGS): New variable.
22826 (ohci_mod_SOURCES): New variable.
22827 (ohci_mod_CFLAGS): New variable.
22828 (ohci_mod_LDFLAGS): New variable.
22829 (usbms_mod_SOURCES): New variable.
22830 (usbms_mod_CFLAGS): New variable.
22831 (usbms_mod_LDFLAGS): New variable.
22832 (usb_keyboard_mod_SOURCES): New variable.
22833 (usb_keyboard_mod_CFLAGS): New variable.
22834 (usb_keyboard_mod_LDFLAGS): New variable.
22835 * include/grub/smbus.h: New file.
22836 * include/grub/cs5536.h: New file.
22837
0b35b2a9
CW
228382010-06-02 Colin Watson <cjwatson@ubuntu.com>
22839
22840 * util/grub.d/00_header.in: Add safety check to make sure that
22841 ${locale_dir} exists before trying to probe it.
22842
ca0afd5b
CW
228432010-06-02 Colin Watson <cjwatson@ubuntu.com>
22844
22845 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22846 per the GNU Coding Standards; this is now too obscure to be worth
22847 documenting.
22848 (QNX): Likewise.
22849 (chainloader): Remove cross-reference to `SCO UnixWare'.
22850
1c41aa78
CW
228512010-06-02 Colin Watson <cjwatson@ubuntu.com>
22852
22853 * docs/grub.texi (Chain-loading): New section.
22854 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22855 adjusted for GRUB 2.
22856 (SCO UnixWare): Likewise.
22857 (QNX): Likewise.
22858 (chainloader): Add reference to `Block list syntax'.
22859 (drivemap): New section.
22860 (parttool): New section.
22861
bb8ea0f5
CW
228622010-06-02 Colin Watson <cjwatson@ubuntu.com>
22863
22864 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
22865 the grub shell'.
22866 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
22867 (Installing GRUB using grub-install): Remove reference to the grub
22868 shell; mention `grub-mkimage' and `grub-setup' instead.
22869 (Invoking grub-install): Likewise.
22870 (Interface): Add reference to `Menu entry editor'.
22871 (serial): Remove `--device' option.
22872
288dd6ed
CW
228732010-06-02 Colin Watson <cjwatson@ubuntu.com>
22874
22875 * docs/grub.texi (Configuration): New section, documenting
22876 configuration file generation using grub-mkconfig. I've left a slot
22877 for documenting the full shell scripting format but have not yet
22878 started on writing that up.
22879 (Invoking grub-mkconfig): New section.
22880
34c9f0e9
CW
228812010-06-02 Colin Watson <cjwatson@ubuntu.com>
22882
22883 * docs/grub.texi (direntry): Remove grub-terminfo reference.
22884 (GNU GRUB manual): Likewise.
22885 (General commands): Update description of `terminfo' for GRUB 2.
22886
9121567e
CW
228872010-06-02 Colin Watson <cjwatson@ubuntu.com>
22888
22889 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
22890 (GRUB_MOD_INIT): Fix capitalisation.
22891 * docs/grub.texi (Command-line and menu entry commands): Document
22892 gettext and gptsync commands.
22893
ab631611
CW
228942010-06-02 Colin Watson <cjwatson@ubuntu.com>
22895
22896 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
22897 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
22898
bde4a9ac
CW
228992010-06-01 Colin Watson <cjwatson@ubuntu.com>
22900
22901 Add btrfs probing support, currently only in the single-device case.
22902
22903 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
22904 function.
22905 (grub_guess_root_device): Call find_root_device_from_mountinfo
22906 before looking in /dev.
22907
b1d17e10
VS
229082010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22909
22910 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
22911 GRUB_DISK_SIZE_UNKNOWN.
22912 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
22913
dfbfe004
JS
229142010-05-31 Jiro SEKIBA <jir@unicus.jp>
22915
22916 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
22917 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
22918 corrupted or not synced properly.
22919
c2ffc8e9
VS
229202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
22923 Reported by: Seth Goldberg.
22924
56293166
VS
229252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
22928 addition of dest.
22929 Reported by: Seth Goldberg.
22930
7620e7de
VS
229312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
22934 Reported by: Seth Goldberg.
22935
c837af3f
VS
229362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22937
22938 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
22939 64-bit address as signed on MIPS.
22940
c7c75cf4
CW
229412010-05-28 Colin Watson <cjwatson@ubuntu.com>
22942
22943 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
22944 to the empty string.
22945
fa4b8490
BC
229462010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
22947
22948 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
22949
22950 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
22951 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
22952 * kern/misc.c (__enable_execute_stack): Disable on
22953 GRUB_MACHINE_EMU.
22954
a33075b9
CW
229552010-05-28 Colin Watson <cjwatson@ubuntu.com>
22956
22957 Make grub-probe work with symbolic links under /dev/mapper as well
22958 as with real block devices. The Linux world seems to be (at best)
22959 in transition here, and GRUB shouldn't get caught in the middle.
22960
22961 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
22962 /dev/mapper.
22963
d8708134
CW
229642010-05-27 Colin Watson <cjwatson@ubuntu.com>
22965
22966 * util/grub-script-check.c (main): Ensure defined behaviour on empty
22967 input files (in which case exit zero).
22968
db2102a0
CW
229692010-05-27 Colin Watson <cjwatson@ubuntu.com>
22970
22971 * kern/emu/misc.c (canonicalize_file_name): realpath can still
22972 return NULL for various reasons even if it has a maximum-length
22973 buffer: for example, there might be a symlink loop, or the path
22974 might exceed PATH_MAX. If this happens, return NULL.
22975
5fdba519
RM
229762010-05-27 Robert Millan <rmh@gnu.org>
22977
22978 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
22979 partmap module to handle cross-partmap setups.
22980 Reported by Orestes Mas. Gràcies!
22981
d1d368e4
CW
229822010-05-27 Colin Watson <cjwatson@ubuntu.com>
22983
22984 * util/grub-mkrescue.in: Initialise override_dir rather than
22985 assuming that it's unset or empty in the environment.
22986
95ac3c73
GS
229872010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
22988
22989 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
22990 variable index into p_index to suppress a warning with -Wshadow.
22991
7d8c0213
BC
229922010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
22993
22994 * INSTALL: Added flex >= 2.5.35 requirement.
22995
db4d5813
VS
229962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22997
22998 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
22999
f24f4300
VS
230002010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 cmostest support.
23003
23004 * commands/i386/cmostest.c: New file.
23005 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
23006 (cmostest_mod_SOURCES): New variable.
23007 (cmostest_mod_CFLAGS): Likewise.
23008 (cmostest_mod_LDFLAGS): Likewise.
23009 * conf/i386-pc.rmk: Likewise.
23010 * docs/grub.texi (Vendor power-on keys): New section.
23011 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
23012 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
23013 and GRUB_BUTTON_CMOS_ADDRESS.
23014 * util/grub.d/00_header.in: Handle powering-on by separate button.
23015
ad603f61
VS
230162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23017
23018 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
23019 Removed drawing_scrollbar argument. All users updated
23020 Fixes #29792.
23021 Reported by Jo Shields
23022
3ecb080a
VS
230232010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23024
23025 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
23026 buffer since gfxterm handles double repaint.
23027
5f2316c1
VS
230282010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
23029
23030 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
23031 * term/gfxterm.c (real_scroll): Likewise.
23032
9a25f885
VS
230332010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
23036 before calling BIOS.
23037
39fbb79a
VS
230382010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23039
23040 * include/grub/i18n.h: Always enable grub_gettext.
23041
228cfa97
VS
230422010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
23043
23044 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
23045 partition naming style.
23046
21717c8f
CW
230472010-05-21 Colin Watson <cjwatson@ubuntu.com>
23048
23049 * util/grub-mkconfig.in: Fix handling of -o so that it works when
23050 not the first option.
23051
c0f48e65
CW
230522010-05-20 Colin Watson <cjwatson@ubuntu.com>
23053
23054 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
23055
96779aec
CW
230562010-05-20 Colin Watson <cjwatson@ubuntu.com>
23057
23058 * util/misc.c: Move inclusion of <limits.h> to ...
23059 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
23060
fa9d256e
GS
230612010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
23062
23063 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
23064 Fix merge error in NetBSD code.
23065 (find_partition_start) [__NetBSD__]: Likewise.
23066
123b7a85
BC
230672010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
23068
23069 Fix grub-mkrescue usage unit testing.
23070
23071 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
23072
74276c0d
CF
230732010-05-18 Christian Franke <franke@computer.org>
23074
23075 * util/grub.d/10_windows.in: Use path names instead of
23076 drive letters to prevent warning from Cygwin 1.7.
23077 Add drivemap command to menuentry if needed.
23078
c4f7b523
ST
230792010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
23080
23081 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
23082 gnumach and gnumach.gz.
23083
95b97950
VS
230842010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23085
23086 * include/grub/i18n.h (gettext): Inline instead of using #define.
23087 (grub_gettext): Likewise.
23088 (_): Likewise.
23089
01b8d2d7
VS
230902010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23091
23092 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
23093 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
23094 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
23095 (main): Add a slash after pkglibdirroot.
23096
654e1d1e
VS
230972010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23098
23099 * util/grub-install.in: Add missing "in" keyword.
23100
26966aeb
VS
231012010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23102
23103 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
23104 Reported by: Seth Goldberg.
23105
75006747
VS
231062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
23107
23108 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
23109
74cbf5bd
CW
231102010-05-18 Colin Watson <cjwatson@ubuntu.com>
23111
23112 * configure.ac: Check for Linux device-mapper support.
23113
23114 * util/hostdisk.c (device_is_mapped): New function.
23115 (find_partition_start): New function, partly broken out from
23116 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
23117 device-mapper support added.
23118 (linux_find_partition): Use find_partition_start.
23119 (convert_system_partition_to_system_disk): Add `st' argument.
23120 Support Linux /dev/mapper/* devices if device-mapper support is
23121 available; only DM-RAID devices are understood at present.
23122 (find_system_device): Add `st' argument. Pass it to
23123 convert_system_partition_to_system_disk.
23124 (grub_util_biosdisk_get_grub_dev): Pass stat result to
23125 find_system_device and convert_system_partition_to_system_disk. Use
23126 find_partition_start.
23127
23128 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
23129 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
23130 * util/deviceiter.c [__linux__]: Define MINOR.
23131 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
23132 * util/mkdevicemap.c (grub_putchar): New function.
23133 (grub_getkey): New function.
23134 (grub_refresh): New function.
23135 (main): Set debug=all if -v -v is used.
23136
355b51e9
CW
231372010-05-18 Colin Watson <cjwatson@ubuntu.com>
23138
23139 Fix build with non-GNU libcs.
23140
23141 * util/misc.c (canonicalize_file_name): Move to ...
23142 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
23143 grub_make_system_path_relative_to_its_root.
23144
7fb5c25f
CW
231452010-05-18 Colin Watson <cjwatson@ubuntu.com>
23146
23147 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
23148 we handle finding grub-mkimage. Default to finding grub-mkimage in
23149 ${bindir} with program_transform_name applied, and provide a
23150 --grub-mkimage option to override this.
23151
1d3293d6
VS
231522010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23153
23154 Remove grub-mkisofs.
23155
23156 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
23157 (grub_mkisofs_SOURCES): Removed.
23158 (grub_mkisofs_CFLAGS): Removed.
23159 * util/mkisofs/defaults.h: Removed.
23160 * util/mkisofs/eltorito.c: Likewise.
23161 * util/mkisofs/exclude.h: Likewise.
23162 * util/mkisofs/hash.c: Likewise.
23163 * util/mkisofs/include/: Likewise.
23164 * util/mkisofs/include/fctldefs.h: Likewise.
23165 * util/mkisofs/include/mconfig.h: Likewise.
23166 * util/mkisofs/include/prototyp.h: Likewise.
23167 * util/mkisofs/include/statdefs.h: Likewise.
23168 * util/mkisofs/iso9660.h: Likewise.
23169 * util/mkisofs/joliet.c: Likewise.
23170 * util/mkisofs/match.c: Likewise.
23171 * util/mkisofs/match.h: Likewise.
23172 * util/mkisofs/mkisofs.c: Likewise.
23173 * util/mkisofs/mkisofs.h: Likewise.
23174 * util/mkisofs/msdos_partition.h: Likewise.
23175 * util/mkisofs/multi.c: Likewise.
23176 * util/mkisofs/name.c: Likewise.
23177 * util/mkisofs/rock.c: Likewise.
23178 * util/mkisofs/tree.c: Likewise.
23179 * util/mkisofs/write.c: Likewise.
23180
5dde9afe
VS
231812010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23182
23183 Unify grub-mkimage accross platforms.
23184
23185 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
23186 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
23187 (grub_mkelfimage_SOURCES): Removed.
23188 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
23189 (util/grub-mkimage.c_DEPENDENCIES): .. this.
23190 (bin_UTILITIES): Add grub-mkimage.
23191 (grub_mkimage_SOURCES): New variable.
23192 (kernel_img_HEADERS): Remove machine/kernel.h.
23193 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
23194 (pkglib_PROGRAMS): Add kernel.img.
23195 (kernel_img_HEADERS): Add machine/kernel.h.
23196 (kernel_img_FORMAT): Removed.
23197 (bin_UTILITIES): Remove grub-mkimage.
23198 (grub_mkimage_SOURCES): Removed.
23199 (grub_mkimage_CFLAGS): Likewise.
23200 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23201 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
23202 (pkglib_PROGRAMS): Add kernel.img.
23203 (bin_UTILITIES): Remove grub-mkimage.
23204 (grub_mkimage_SOURCES): Removed.
23205 (grub_mkimage_CFLAGS): Likewise.
23206 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23207 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
23208 (pkglib_PROGRAMS): Add kernel.img.
23209 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
23210 (pkglib_PROGRAMS): Add kernel.img.
23211 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
23212 (grub_mkimage_SOURCES): Removed.
23213 (grub_mkimage_CFLAGS): Likewise.
23214 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23215 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
23216 (pkglib_PROGRAMS): Add kernel.img.
23217 (bin_UTILITIES): Remove grub-mkimage.
23218 (grub_mkimage_SOURCES): Removed.
23219 (grub_mkimage_CFLAGS): Likewise.
23220 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23221 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
23222 (grub_mkimage_SOURCES): Removed.
23223 (grub_mkimage_CFLAGS): Likewise.
23224 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
23225 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
23226 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
23227 (grub_pe32_optional_header): ... this.
23228 (grub_pe64_optional_header): ... and this. All users updated.
23229 (GRUB_PE32_PE32_MAGIC): Split into ..
23230 (GRUB_PE32_PE32_MAGIC): .. this.
23231 (GRUB_PE32_PE64_MAGIC): .. and this.
23232 (GRUB_PE32_SIGNATURE_SIZE): New definition.
23233 * include/grub/elf.h (PT_GNU_STACK): New definition.
23234 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
23235 * include/grub/i386/efi/kernel.h: Likewise.
23236 * include/grub/i386/kernel.h: Likewise.
23237 * include/grub/i386/pc/kernel.h: Likewise.
23238 * include/grub/i386/qemu/boot.h: Likewise.
23239 * include/grub/mips/kernel.h: Likewise.
23240 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23241 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23242 * include/grub/powerpc/kernel.h: Likewise.
23243 * include/grub/sparc64/ieee1275/boot.h: Likewise.
23244 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23245 * include/grub/sparc64/kernel.h: Likewise.
23246 * include/grub/x86_64/efi/kernel.h: Likewise.
23247 * include/grub/x86_64/kernel.h: Likewise.
23248 * include/grub/offsets.h: New file.
23249 * include/grub/kernel.h (grub_module_info): Split into ...
23250 (grub_module_info32): ... this.
23251 (grub_module_info64): ... and this.
23252 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
23253 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
23254 (grub_boot_blocklist): Moved from here ...
23255 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23256 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23257 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23258 * include/grub/types.h (grub_target_to_host16): Removed.
23259 (grub_target_to_host32): Likewise.
23260 (grub_target_to_host64): Likewise.
23261 (grub_host_to_target16): Likewise.
23262 (grub_host_to_target32): Likewise.
23263 (grub_host_to_target64): Likewise.
23264 (grub_host_to_target_addr): Likewise.
23265
23266 Support grub-mkrescue for efi, coreboot and qemu.
23267
23268 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23269 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23270 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23271 * util/grub-mkrawimage.c: Moved from here ...
23272 * util/grub-mkimage.c: ... here. All users updated.
23273 (ALIGN_ADDR): Use image_target.
23274 (TARGET_NO_FIELD): New const.
23275 (image_target_desc): New type.
23276 (image_targets): New array.
23277 (grub_target_to_host64): Use image_target.
23278 (grub_target_to_host32): Likewise.
23279 (grub_target_to_host16): Likewise.
23280 (grub_host_to_target64): Likewise.
23281 (grub_host_to_target32): Likewise.
23282 (grub_host_to_target16): Likewise.
23283 (grub_host_to_target_addr): Likewise.
23284 (generate_image): Handle multiimage.
23285 (main): Require -O parameter. All users updated.
23286 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23287 util/efi/grub-mkimage.c
23288 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23289 New option --rom-directory.
23290 Use xorriso.
23291 * util/i386/efi/grub-mkimage.c: Removed.
23292 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23293 (grub_target_to_host32): Likewise.
23294 (grub_target_to_host64): Likewise.
23295 (grub_host_to_target16): Likewise.
23296 (grub_host_to_target32): Likewise.
23297 (grub_host_to_target64): Likewise.
23298 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23299 (grub_target_to_host32): Likewise.
23300 (grub_target_to_host64): Likewise.
23301 (grub_host_to_target16): Likewise.
23302 (grub_host_to_target32): Likewise.
23303 (grub_host_to_target64): Likewise.
23304
f4fc97d0
BC
233052010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23306
23307 Source tree is reorganized for emu build.
23308
23309 * include/grub/util/console.h: Move from here...
23310 * include/grub/emu/console.h: ...to here.
23311 * include/grub/util/getroot.h: Move from here...
23312 * include/grub/emu/getroot.h: ...to here.
23313 * include/grub/util/hostdisk.h: Move from here...
23314 * include/grub/emu/hostdisk.h: ...to here.
23315 * util/console.c: Move from here...
23316 * kern/emu/console.c: ...to here.
23317 * util/getroot.c: Move from here...
23318 * kern/emu/getroot.c: ...to here.
23319 * util/grub-emu.c: Move from here...
23320 * kern/emu/main.c: ...to here.
23321 * util/hostdisk.c: Move from here...
23322 * kern/emu/hostdisk.c: ...to here.
23323 * util/hostfs.c: Move from here...
23324 * kern/emu/hostfs.c: ...to here.
23325 * util/mm.c: Move from here...
23326 * kern/emu/mm.c: ...to here.
23327 * util/pci.c: Move from here...
23328 * bus/emu/pci.c: ...to here.
23329 * util/sdl.c: Move from here...
23330 * video/emu/sdl.c: ...to here.
23331 * util/time.c: Move from here...
23332 * kern/emu/time.c: ...to here.
23333 * util/usb.c: Move from here...
23334 * bus/usb/emu/usb.c: ...to here.
23335
23336 * include/grub/emu/misc.h: New header for grub-emu functions.
23337 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23338
23339 * conf/any-emu.rmk: Rule updates for above renames.
23340 * conf/common.rmk: Likewise.
23341 * conf/i386-pc.rmk: Likewise.
23342 * conf/i386-qemu.rmk: Likewise.
23343 * conf/mips.rmk: Likewise.
23344 * conf/sparc64-ieee1275.rmk: Likewise.
23345 * conf/x86-efi.rmk: Likewise.
23346
23347 * disk/lvm.h: #include updates for above renames.
23348 * util/grub-mkrelpath.c: Likewise.
23349 * util/grub-probe.c: Likewise.
23350 * util/i386/pc/grub-setup.c: Likewise.
23351 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23352 * kern/emu/console.c: Likewise.
23353 * kern/emu/getroot.c: Likewise.
23354 * kern/emu/hostdisk.c: Likewise.
23355 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23356
23357 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23358 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23359 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23360 * util/misc.c: Remove grub-emu functions.
23361
cced9145
VS
233622010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23363
23364 Fix gfxmenu crash.
23365 Reported by: Thorsten Grützmacher.
23366
23367 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23368 timeout hook.
23369 (circprog_set_property): Register and unregister timeout hook.
23370 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23371 (label_destroy): Free template. and unregister hook.
23372 (label_set_state): New function.
23373 (label_set_property): Handle templates and hooks.
23374 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23375 timeout hook.
23376 (progress_bar_set_property): Register and unregister timeout hook.
23377 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23378 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23379 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23380 (update_timeout_visit): Removed.
23381 (update_timeouts): New function.
23382 (redraw_timeouts): Likewise.
23383 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23384 (grub_gfxmenu_clear_timeout): Likewise.
23385 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23386 (grub_gfxmenu_timeout_notify): Likewise.
23387 (grub_gfxmenu_timeout_notifications): New external variable.
23388 (grub_gfxmenu_timeout_register): New function.
23389 (grub_gfxmenu_timeout_unregister): Likewise.
23390
c6e5caab
VS
233912010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23392
23393 Transform (broken) vga terminal into (working) vga video driver.
23394
23395 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23396 video/i386/pc/vga.c.
23397 * include/grub/video.h (grub_video_driver_id):
23398 Add GRUB_VIDEO_DRIVER_VGA.
23399 * term/i386/pc/vga.c: Renamed to ...
23400 * video/i386/pc/vga.c: ...this
23401 (DEBUG_VGA): Removed.
23402 (CHAR_WIDTH): Likewise.
23403 (CHAR_HEIGHT): Likewise.
23404 (TEXT_WIDTH): Likewise.
23405 (TEXT_HEIGHT): Likewise.
23406 (DEFAULT_FG_COLOR): Likewise.
23407 (DEFAULT_BG_COLOR): Likewise.
23408 (colored_char): Likewise.
23409 (xpos): Likewise.
23410 (ypos): Likewise.
23411 (cursor_state): Likewise.
23412 (fg_color): Likewise.
23413 (bg_color): Likewise.
23414 (text_buf): Likewise.
23415 (page): Likewise.
23416 (font): Likewise.
23417 (framebuffer): New variable.
23418 (set_read_map): Disabled.
23419 (setup): New variable.
23420 (is_target): Likewise.
23421 (grub_vga_mod_init): Likewise.
23422 (grub_vga_mod_fini): Likewise.
23423 (check_vga_mem): Likewise.
23424 (write_char): Likewise.
23425 (write_cursor): Likewise.
23426 (scroll_up): Likewise.
23427 (grub_vga_putchar): Likewise.
23428 (grub_vga_getcharwidth): Likewise.
23429 (grub_vga_getwh): Likewise.
23430 (grub_vga_getxy): Likewise.
23431 (grub_vga_gotoxy): Likewise.
23432 (grub_vga_cls): Likewise.
23433 (grub_vga_setcolorstate): Likewise.
23434 (grub_vga_setcursor): Likewise.
23435 (grub_video_vga_init): New function.
23436 (grub_video_vga_setup): Likewise.
23437 (grub_video_vga_fini): Likewise.
23438 (update_target): Likewise.
23439 (grub_video_vga_blit_bitmap): Likewise.
23440 (grub_video_vga_blit_render_target): Likewise.
23441 (grub_video_vga_set_active_render_target): Likewise.
23442 (grub_video_vga_get_active_render_target): Likewise.
23443 (grub_video_vga_swap_buffers): Likewise.
23444 (grub_video_vga_set_palette): Likewise.
23445 (grub_video_vga_get_info_and_fini): Likewise.
23446 (grub_vga_term): Removed.
23447 (grub_video_vga_adapter): New variable.
23448 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23449 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23450
2bf61a98
VS
234512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * video/readers/jpeg.c: Indented.
23454
09ddcd11
VS
234552010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23456
23457 Various jpeg cleanups.
23458
23459 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23460 (grub_jpeg_decode_quan_table): Use sizeof.
23461 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23462
e5507505
PH
234632010-05-05 Peter Hurley <No e-mail available> (tiny change)
23464
23465 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23466 tables. Ignore non-last ac bit.
23467 (grub_jpeg_decode_quan_table): Likewise.
23468
7e720a9b
VS
234692010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23470
23471 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23472 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23473 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23474 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23475 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23476 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23477
a7fc080b
VS
234782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23479
23480 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23481 error.
23482
2bf6012d
VS
234832010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23486
265d68cd
VS
234872010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23490 condition.
23491
234922010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23493
23494 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23495 part.
23496
265d68cd 234972010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23498
23499 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23500 pointers.
23501
265d68cd 235022010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23503
23504 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23505
d1b61374
CF
235062010-05-01 Christian Franke <franke@computer.org>
23507
23508 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23509 Remove broken Cygwin path conversion.
23510 * util/misc.c: [__CYGWIN__] Add include and define.
23511 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23512 for Cygwin 1.7.
23513 (make_system_path_relative_to_its_root): Simplify loop, replace early
23514 return by break.
23515 [__CYGWIN__] Add conversion to win32 path.
23516 Include "/" case in trailing slash removal.
23517
3558c6e9
VS
235182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23519
23520 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23521 Reported by: Seth Goldberg
23522
f5f3ff93
VS
235232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23524
23525 * commands/help.c (grub_cmd_help): Fix a typo.
23526 Reported by: Seth Goldberg
23527
d8b5cd40
VS
235282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23531 name and add N_.
23532 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23533 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23534 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23535 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23536 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23537 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23538 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23539 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23540 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23541 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23542 * normal/context.c (GRUB_MOD_INIT): Likewise.
23543 * normal/main.c (GRUB_MOD_INIT): Likewise.
23544 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23545 * term/serial.c (GRUB_MOD_INIT): Likewise.
23546 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23547
88c14915
VS
235482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23549
23550 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23551 extra == 0.
23552
165134bc
VS
235532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23554
23555 * commands/iorw.c: New file.
23556 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23557 (iorw_mod_SOURCES): New variable.
23558 (iorw_mod_CFLAGS): Likewise.
23559 (iorw_mod_LDFLAGS): Likewise.
23560
c5ac9b32
VS
235612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23562
23563 Hotkey support
23564
23565 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23566 * normal/main.c (hotkey_aliases): New variable.
23567 (grub_normal_add_menu_entry): Parse "--hotkey".
23568 * normal/menu_text.c (run_menu): Handle hotkeys.
23569
ce60689c
VS
235702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23571
23572 * kern/i386/coreboot/init.c (grub_machine_init): Call
23573 grub_machine_mmap_init on qemu.
23574
0359d006
VS
235752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23576
23577 * boot/i386/qemu/boot.S: Add a missing .code16.
23578
7819a456
VS
235792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23580
23581 Use LBIO on coreboot.
23582
23583 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23584 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23585 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23586 New declaration.
23587 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23588 grub_machine_mmap_init on coreboot.
23589 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23590 GRUB_LINUXBIOS_MEMBER_LINK.
23591 (grub_machine_mmap_iterate): Fix declaration.
23592 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23593
7210dca9
VS
235942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23595
23596 Split coreboot and multiboot ports.
23597
23598 * conf/i386-multiboot.rmk: New file.
23599 * configure.ac: Add multiboot port.
23600 * include/grub/i386/multiboot/boot.h: New file.
23601 * include/grub/i386/multiboot/console.h: Likewise.
23602 * include/grub/i386/multiboot/init.h: Likewise.
23603 * include/grub/i386/multiboot/kernel.h: Likewise.
23604 * include/grub/i386/multiboot/loader.h: Likewise.
23605 * include/grub/i386/multiboot/memory.h: Likewise.
23606 * include/grub/i386/multiboot/serial.h: Likewise.
23607 * include/grub/i386/multiboot/time.h: Likewise.
23608 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23609 * loader/multiboot.c: Likewise.
23610 * loader/multiboot_mbi2.c: Likewise.
23611 * util/grub-mkrescue.in: Generate multiboot rescue.
23612
6f8aaf68
VS
236132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23614
3080f7a7
VS
23615 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23616
236172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23618
23619 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23620
23621 * commands/terminal.c (abstract_terminal): New struct.
23622 (handle_command): New function. Based on grub_cmd_terminal_input.
23623 (grub_cmd_terminal_input): Use handle_command.
23624 (grub_cmd_terminal_output): Use handle_command.
23625
a8ebb841
BC
236262010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23627
23628 Fix comment handling.
23629
23630 * tests/grub_script_comments.in: New testcase.
23631 * conf/tests.rmk: Rules for new testcase.
23632 * script/yylex.l: Updated flex rules.
23633
bb06ba08
ST
236342010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23635
23636 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23637 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23638 if argc is 1.
bb06ba08 23639
cc9d2425
VS
236402010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23641
23642 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23643 autogen issues.
23644
460d8402
CF
236452010-04-26 Christian Franke <franke@computer.org>
23646
23647 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23648 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23649 (grub_get_prefix): Remove function.
23650 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23651 make_system_path_relative_to_its_root ().
23652 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23653
553c01f9
CF
236542010-04-24 Christian Franke <franke@computer.org>
23655
23656 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23657 (kernel_img_LDFLAGS): Remove -static-libgcc.
23658
2aec1692
CF
236592010-04-24 Christian Franke <franke@computer.org>
23660
23661 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23662 and CHECK_END_SYMBOL if grub-emu is built.
23663 Unset TARGET_OBJ2ELF if grub-emu is built
23664 without module support.
23665
f67dc308
JS
236662010-04-24 Jiro SEKIBA <jir@unicus.jp>
23667
23668 Nilfs2 support.
23669
23670 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23671 (grub_fstest_SOURCES): Likewise.
23672 (pkglib_MODULES): Add nilfs2.mod.
23673 (nilfs2_mod_SOURCES): New variable.
23674 (nilfs2_mod_CFLAGS): Likewise.
23675 (nilfs2_mod_LDFLAGS): Likewise.
23676 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23677 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23678 * fs/nilfs2.c: New file.
23679
4ba8d354
VS
236802010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23681
23682 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23683 is not supported.
23684
0d2c20c6
GS
236852010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23686
23687 Add grub-mkconfig support for NetBSD.
23688
23689 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23690 * util/grub-mkconfig.in: export new NetBSD specific variables.
23691 * po/POTFILES-shell: added 10_netbsd.in.
23692 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23693
bc4a2d83
BC
236942010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23695
23696 Fix emu build with grub-emu-pci and grub-emu-modules.
23697
23698 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23699 functions.
23700 * include/grub/libpciaccess.h: New file.
23701 * conf/any-emu.rmk: Update kernel headers for emu build.
23702
f48c87aa
VS
237032010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23704
23705 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23706
18959385
VS
237072010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23708
23709 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23710
0037de3f
VS
237112010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23712
23713 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23714 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23715 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23716 util/ieee1275/ofpath.c.
23717 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23718 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23719 * include/grub/sparc64/ieee1275/boot.h
23720 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23721 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23722 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23723 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23724 const char *.
23725 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23726 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23727 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23728 install.
23729
38e55e90
GS
237302010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23731
23732 * util/grub-mkconfig.in: Corrected two == equality tests.
23733 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23734 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23735 expect a number appended to it.
23736 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23737 expects a number appended to it.
23738
a9e6ff28
VS
237392010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23740
23741 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23742
0b830b8f
VS
237432010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 * util/hostdisk.c (make_device_name): Change to new partition naming.
23746
0973daeb
VS
237472010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23748
23749 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23750
460d8402 237512010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23752
23753 * Makefile.in: Add missing localedir setting.
23754
0b456309
CW
237552010-04-14 Colin Watson <cjwatson@ubuntu.com>
23756
23757 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23758 mistake in r2156. Noticed by Anthony Fok.
23759
23760 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23761 @localedir@.
23762 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23763
08f46d62
BC
237642010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23765
23766 Fix a spurious, uninitialized variable warning.
23767
23768 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23769 Initialize variable, shdr.
23770 (grub_freebsd_load_elfmodule): Likewise.
23771 (grub_freebsd_load_elf_meta): Likewise.
23772
8c4a72d4
BC
237732010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23774
23775 Fix for escaped dollar in double quoted strings.
23776
23777 * script/yylex.l: Updated flex rules.
23778 * conf/tests.rmk: Rule for new testcase.
23779 * tests/grub_script_dollar.in: New testcase.
23780
ce44826e
CPE
237812010-04-13 Carles Pina i Estany <carles@pina.cat>
237822010-04-13 Colin Watson <cjwatson@ubuntu.com>
23783
23784 Enclose all translated strings in grub.cfg in single quotes, and
23785 escape them appropriately (Ubuntu bug #552921).
23786
23787 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23788 * util/grub.d/10_hurd.in: Use it.
23789 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23790 * util/grub.d/10_linux.in (linux_entry): Likewise.
23791
4b0cd8f8
VS
237922010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23793
23794 Fix cygwin compilation.
23795
23796 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23797 * include/grub/misc.h (__register_frame_info)
23798 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23799 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23800 * kern/misc.c (__register_frame_info)
23801 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23802 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23803
01fcf061
VS
238042010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23805
23806 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23807
5d04b11e
VS
238082010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23809
23810 Unify libgcc processing.
23811
23812 * Makefile.in (kernel_img_LDFLAGS): New variable.
23813 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23814 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23815 overwriting.
23816 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23817 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23818 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23819 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23820 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23821 overwriting. Remove -lgcc and -static-libgcc
23822 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23823 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23824 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23825 (kernel_img_LDFLAGS): Append instead of overwriting.
23826 Remove -lgcc and -static-libgcc
23827 * conf/sparc64-ieee1275.rmk: Likewise.
23828 * include/grub/powerpc/libgcc.h: Move to ...
23829 * include/grub/libgcc.h: .. this.
23830 * include/grub/libgcc.h: Don't export most of the function on x86.
23831 (__bswapsi2): New export.
23832 (__bswapdi2): Likewise.
23833 * include/grub/mips/libgcc.h: Removed.
23834 * include/grub/sparc64/libgcc.h: Likewise.
23835
b7f3ac29
VS
238362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23837
23838 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23839 disk_info_msg (conflicts with gettexting into languages with cases).
23840
2c7031b1
GS
238412010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23842
23843 Add grub-probe support for NetBSD.
23844
23845 * util/getroot.c (find_root_device): Convert block device to
23846 character device on NetBSD.
23847 * util/probe.c (probe): Require character device on NetBSD.
23848 * util/hostdisk.c: NetBSD specific headers.
23849 (configure_device_driver): new function to tune device driver
23850 parameters (currently only for NetBSD floppy driver).
23851 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23852 via disklabel ioctl).
23853 (open_device): call configure_device_driver on NetBSD.
23854 (convert_system_partition_to_system_disk): NetBSD specific code.
23855 (device_is_wholedisk): Likewise.
23856 (grub_util_biosdisk_get_grub_dev): Likewise.
23857 (make_device_name): Fixed a typo in bsd_part_str.
23858 * configure.ac: check for opendisk() and getrawpartition() on
23859 NetBSD and set LIBUTIL.
23860 * Makefile.in: add LIBUTIL to LIBS.
23861
f516290c
BC
238622010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23863
23864 Documentation fix.
23865
23866 * util/grub-script-check.c: Better help message.
23867
d8dcc0df
BC
238682010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23869
23870 Fix FreeBSD build.
23871
23872 * configure.ac: Flex version check.
23873 * conf/common.rmk: Add -Wno-error to sh.mod.
23874 * script/yylex.l: Remove all #pragma.
23875
6734334a
VS
238762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23877
23878 * include/grub/util/misc.h (canonicalise_file_name): Add missing
23879 prototype.
23880 Reported by: Seth Goldberg.
23881
daea6abd
VS
238822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23883
23884 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
23885 Rename "module" to "module2".
23886 Reported by: Seth Goldberg.
23887
f2fd9d2b
VS
238882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23889
23890 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
23891 EXPORT_FUNC.
23892 Reported by: Seth Goldberg.
23893
be124579
VS
238942010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 * lib/posix_wrap/locale.h: Add missing file.
23897 Reported by: Seth Goldberg.
23898
ef5da797
VS
238992010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 grub-emu module load support.
23902
23903 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
23904 NO_DYNAMIC_MODULES switched to this.
23905 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
23906 (CFLAGS): Likewise.
23907 * conf/any-emu.rmk: Generate symlist.
23908 (kernel_img_HEADERS): Add util/datetime.h.
23909 (kernel_img_HEADERS) [sdl]: Add sdl.h.
23910 (kernel_img_HEADERS) [libusb]: Add libusb.h.
23911 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
23912 kern/$(target_cpu)/cache.S.
23913 * configure.ac (grub-emu-modules): New option.
23914 * genmk.rb: Handle multiple source lists.
23915 * include/grub/sdl.h: New file.
23916 * include/grub/libusb.h: Likewise.
23917 * util/grub-emu.c (main): Hanle (host) root.
23918 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
23919 GRUB_ERR_UNKNOWN_DEVICE.
23920 * util/misc.c: Move mm functions to ...
23921 * util/mm.c: ... here. All users updated.
23922
47822096
VS
239232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
23926 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
23927 missing files.
23928 (maintainer-clean): Remove libgcrypt-grub.
23929
5d7e7445
VS
239302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23931
23932 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
23933
25f4e252
EC
239342010-04-09 EFI Coder <eficoder@hotmail.com>
23935
23936 * normal/menu_text.c (print_message): Clean up the message and show
23937 the Fn information when on EFI
23938 * term/efi/console.c (grub_console_checkkey): Add F4 support.
23939
027de555
VS
239402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23941
23942 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
23943 All users updated.
23944 * normal/crypto.c (read_crypto_list): Likewise.
23945 * normal/dyncmd.c (read_command_list): Likewise.
23946 * normal/term.c (read_terminal_list): Likewise.
23947 * normal/main.c (read_lists): Use explicit prefix.
23948 (read_lists_hook): Use read_lists.
23949 (grub_normal_execute): Likewise.
23950
47779711
VS
239512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23952
23953 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
23954 Reported by: Thomas Schmitt.
23955 Add -no-emul-boot to grub-mkisofs parameters.
23956
1118c32e
VS
239572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23958
23959 * font/font.c: Indented.
23960
7d652447
BC
239612010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23962
23963 Elif support to GRUB script (by Deepak Vankadaru).
23964
23965 * tests/grub_script_if.in: New testcase.
23966 * conf/tests.rmk: Rule for new testcase.
23967 * script/parser.y: Grammar rules for elif.
23968
34bb22df
BC
239692010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23970
23971 While and until loops support to GRUB script.
23972
23973 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
23974 (grub_script_create_cmdwhile): New function prototype.
23975 (grub_script_execute_cmdwhile): New function prototype.
23976 * script/execute.c (grub_script_execute_cmdwhile): New function.
23977 * script/parser.y (command): New commands.
23978 (whilecmd): New grammar rule.
23979 (untilcmd): New grammar rule.
23980 * script/script.c (grub_script_create_cmdwhile): New function.
23981 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
23982 function.
23983
23984 * tests/grub_script_while1.in: New testcase.
23985 * conf/tests.rmk: Rule for new testcase.
23986
e215d8e0
VS
239872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23988
23989 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
23990 as *.jpg.
23991
d7c43ba1
MV
239922010-04-09 Mario Vazquez <mariovazq@gmail.com>
23993
23994 GRUB_BACKGROUND support.
23995
23996 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
23997 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
23998
d64795c0
VS
239992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24000
24001 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 24002 Idea by: Mario Vazquez
d64795c0
VS
24003
24004 * util/grub.d/00_header.in: Load pf2 and image modules.
24005
f267f83a
VS
240062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24007
24008 grub-mkconfig multiple terminal support.
24009
24010 * util/grub-mkconfig.in: Handle multiple terminals correctly.
24011 * util/grub.d/00_header.in: Likewise.
24012
b7841ceb
VS
240132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24014
24015 * Makefile.in: Specify files explicitly instead of using $< and $@ since
24016 we use cd $(srcdir).
24017
df60998c
CW
240182010-04-08 Colin Watson <cjwatson@ubuntu.com>
24019
24020 * util/grub.d/10_linux.in: Only use the first word of
24021 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
24022 spaces in GRUB_DISTRIBUTOR.
24023 * util/grub.d/10_kfreebsd.in: Likewise.
24024 * util/grub.d/10_hurd.in: Likewise.
24025
fa09c82e
BC
240262010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
24027
14e18ae3 24028 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
24029
24030 * tests/util/grub-shell.in: Remove -serial stdio option.
24031
daf892b3
BC
240322010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24033
24034 POSIX header file wrappers.
24035
24036 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
24037 equivalents.
24038 * lib/posix_wrap/ctype.h: Likewise.
24039 * lib/posix_wrap/errno.h: Likewise.
24040 * lib/posix_wrap/langinfo.h: Likewise.
24041 * lib/posix_wrap/limits.h: Likewise.
24042 * lib/posix_wrap/localcharset.h: Likewise.
24043 * lib/posix_wrap/stdint.h: Likewise.
24044 * lib/posix_wrap/stdio.h: Likewise.
24045 * lib/posix_wrap/stdlib.h: Likewise.
24046 * lib/posix_wrap/string.h: Likewise.
24047 * lib/posix_wrap/sys/types.h: Likewise.
24048 * lib/posix_wrap/unistd.h: Likewise.
24049 * lib/posix_wrap/wchar.h: Likewise.
24050 * lib/posix_wrap/wctype.h: Likewise.
24051 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
24052 (grub_script.yy.h): Likewise.
24053 * script/yylex.l: Remove POSIX emulation #defines.
24054 * Makefile.in (POSIX_CFLAGS): New variable.
24055 (GNULIB_UTIL_CFLAGS): Likewise.
24056
24057 Regexp support.
24058
24059 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
24060 (regexp_mod_SOURCES): New variable.
24061 (regexp_mod_CFLAGS): Likewise.
24062 (regexp_mod_LDFLAGS): Likewise.
24063 * commands/regexp.c: New file.
24064 * gnulib/regcomp.c: New file. Imported from gnulib.
24065 * gnulib/regex.c: Likewise.
24066 * gnulib/regex_internal.c: Likewise.
24067 * gnulib/regex_internal.h: Likewise.
24068 * gnulib/regexec.c: Likewise.
24069 * gnulib/regex.h: Likewise.
24070
974ac4f7
VS
240712010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
24074 unsupported video mode types.
24075
2622c3ff
VS
240762010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24077
24078 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
24079
064cb524
VS
240802010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24081
24082 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
24083 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
24084
a8c3b552
VS
240852010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 Remove unused grub_vga_get_font.
24088
24089 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
24090 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
24091
187bbe3d
GS
240922010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24093
24094 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
24095 * include/grub/misc.h: Likewise.
24096
b9396631
GS
240972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24098
24099 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
24100 for which failure is fatal.
24101
50479feb
GS
241022010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24103
24104 * util/grub-install.in: Use mkdir -p to create grub directory.
24105 * util/i386/efi/grub-install.in: Likewise.
24106 * util/ieee1275/grub-install.in: Likewise.
24107
b1654fdf
GS
241082010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24109
24110 * Makefile.in (LEX): new variable.
24111
bd5a6415
GS
241122010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
24113
24114 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
24115 `=' and added double quotes on operands of this equality test.
24116
3db3a82b
VS
241172010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24118
24119 * Makefile.in (uninstall): Remove a leftover debug echo.
24120 Reported by: Grégoire Sutre
24121
38023412
VS
241222010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
24123
24124 MIPS multiboot2 support.
24125
24126 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
24127 (multiboot2_mod_SOURCES): New variable.
24128 (multiboot2_mod_CFLAGS): Likewise.
24129 (multiboot2_mod_LDFLAGS): Likewise.
24130 (multiboot2_mod_ASFLAGS): Likewise.
24131 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
24132 definition.
24133 (MULTIBOOT_ENTRY_REGISTER): Likewise.
24134 (MULTIBOOT_MBI_REGISTER): Likewise.
24135 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
24136 (MULTIBOOT_ELF32_MACHINE): Likewise.
24137 (MULTIBOOT_ELF64_MACHINE): Likewise.
24138 * include/grub/mips/multiboot.h: New file.
24139 * include/grub/video.h (grub_video_driver_id): New type
24140 GRUB_VIDEO_DRIVER_SM712.
24141 (grub_video_get_info_and_fini): Export.
24142 (grub_video_get_palette): Likewise.
24143 (grub_video_get_driver_id): Likewise.
24144 * include/multiboot2.h: Resynced with spec.
24145 * loader/i386/multiboot.c: Moved from here ...
24146 * loader/multiboot.c: ... here. All users updated.
24147 (grub_multiboot_boot): Use platform-specific macros.
24148 * loader/i386/multiboot_elfxx.c: Moved from here ...
24149 * loader/multiboot_elfxx.c: ... here. All users updated.
24150 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
24151 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
24152 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
24153
47674667
VS
241542010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
24155
24156 Import gnulib argp module.
24157
24158 * gnulib/argp-ba.c: New file.
24159 * gnulib/argp-eexst.c: Likewise.
24160 * gnulib/argp-fmtstream.c: Likewise.
24161 * gnulib/argp-fmtstream.h: Likewise.
24162 * gnulib/argp-fs-xinl.c: Likewise.
24163 * gnulib/argp-help.c: Likewise.
24164 * gnulib/argp-namefrob.h: Likewise.
24165 * gnulib/argp-parse.c: Likewise.
24166 * gnulib/argp-pin.c: Likewise.
24167 * gnulib/argp-pv.c: Likewise.
24168 * gnulib/argp-pvh.c: Likewise.
24169 * gnulib/argp-version-etc.c: Likewise.
24170 * gnulib/argp-version-etc.h: Likewise.
24171 * gnulib/argp-xinl.c: Likewise.
24172 * gnulib/argp.h: Likewise.
24173
495442ed
VS
241742010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24175
24176 * kern/device.c (grub_device_iterate): Clear errors after failed
24177 opening device.
24178
f9fd65df
VS
241792010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
24180
24181 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
24182 returned by firmware.
24183
af09641e
VS
241842010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
24187 compilation on coreboot and qemu
24188
016883a5
VS
241892010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24190
24191 * include/multiboot2.h: Resync with spec.
24192
f97e1f7d
VS
241932010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
24194
24195 Multiboot2 tag support
24196
24197 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
24198 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
24199 Remove loader/multiboot_loader.c.
24200 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
24201 (grub_multiboot2_real_boot): Likewise.
24202 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
24203 (grub_get_multiboot_mmap_count): New proto.
24204 (grub_fill_multiboot_mmap): Likewise.
24205 (grub_multiboot_set_video_mode): Likewise.
24206 (grub_multiboot_set_console): Likewise.
24207 (grub_multiboot_load): Likewise.
24208 (grub_multiboot_load_elf): Likewise.
24209 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
24210 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
24211 * include/multiboot.h: Resynced with specification.
24212 * include/multiboot2.h: Resynced with specification.
24213 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
24214 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
24215 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
24216 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
24217 users updated.
24218 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
24219 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
24220 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
24221 Removed.
24222 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
24223 Moved from here...
24224 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
24225 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
24226 Moved from here...
24227 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
24228 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
24229 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
24230 All users updated.
24231 * loader/i386/multiboot_mbi2.c: New file.
24232
3506b90b
VS
242332010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24234
24235 Resync with gnulib.
24236
24237 * Makefile.in (GNULIB_CFLAGS): New variable.
24238 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
24239 (grub_script_check_CFLAGS): New variable.
24240 * gnulib/alloca.h: Resync with gnulib.
24241 * gnulib/error.c: Likewise.
24242 * gnulib/error.h: Likewise.
24243 * gnulib/fnmatch.c: Likewise.
24244 * gnulib/fnmatch_loop.c: Likewise.
24245 * gnulib/getdelim.c: Likewise.
24246 * gnulib/getline.c: Likewise.
24247 * gnulib/getopt.c: Likewise.
24248 * gnulib/getopt1.c: Likewise.
24249 * gnulib/getopt_int.h: Likewise.
24250 * gnulib/gettext.h: Likewise.
24251 * gnulib/progname.c: Likewise.
24252 * gnulib/progname.h: Likewise.
24253
394a3120
GS
242542010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
24255
24256 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24257 which is the case with --disabled-nls.
24258
24259 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24260 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24261 * util/misc.c: Likewise.
24262 * util/mkisofs/mkisofs.c: Likewise.
24263 * util/mkisofs/mkisofs.h: Likewise.
24264
969d1c78
VS
242652010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24266
24267 Simplify Apple CC support.
24268
24269 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24270 Add 0 byte at the end not to have a symbol with empty target.
24271 * mmap/i386/pc/mmap_helper.S: Likewise.
24272 * genmk.rb: Ignore errors 2030 and 2050.
24273 * kern/i386/pc/startup.S: Use LOCAL when possible.
24274
8d2977bb
BC
242752010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24276
24277 Testcase and the fix for final semicolon on cmdline.
24278
24279 * tests/grub_script_final_semicolon.in: New testcase.
24280 * conf/tests.rmk: Rules for the new testcase.
24281 * script/parser.y: Grammar fix.
24282
a7bd6915
BC
242832010-03-26 BVK Chaitanya <bvk@localhost>
24284
24285 Blank lines testcase for GRUB script.
24286
24287 * tests/grub_script_blanklines.in: New testcase.
24288 * conf/tests.rmk: Rules for the new testcase.
24289
e4ff6628
VS
242902010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24291
24292 Don't use __FILE__.
24293
24294 * genmk.rb: Add -DGRUB_FILE to all C targets.
24295 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24296 * include/grub/list.h: Likewise.
24297 * include/grub/misc.h: Likewise.
24298 * include/grub/mm.h: Likewise.
24299 * include/grub/test.h: Likewise.
24300 * kern/mm.c: Likewise.
24301 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24302
6a5cf6b6
VS
243032010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24304
24305 Sunpc partitions support.
24306
24307 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24308 (grub_fstest_SOURCES): Likewise.
24309 (pkglib_MODULES): Add part_sunpc.mod.
24310 (part_sunpc_mod_SOURCES): New variable.
24311 (part_sunpc_mod_CFLAGS): Likewise.
24312 (part_sunpc_mod_LDFLAGS): Likewise.
24313 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24314 * partmap/sunpc.c: New file.
24315
746d9045
BC
243162010-03-26 BVK Chaitanya <bvk@localhost>
24317
24318 For loop support to GRUB script.
24319
24320 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24321 (grub_script_create_cmdfor): New function prototype.
24322 (grub_script_execute_cmdfor): New function prototype.
24323 * script/execute.c (grub_script_execute_cmdfor): New function.
24324 * script/parser.y (command): New for command.
24325 (forcmd): New grammar rule.
24326 * script/script.c (grub_script_create_cmdfor): New function.
24327 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24328 function.
24329 * tests/grub_script_for1.in: New testcase.
24330 * conf/tests.rmk: Rules for new testcase.
24331
18486b18
VS
243322010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24333
24334 Nested partitions
24335
24336 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24337 'partition' is NULL, grub_partition_get_start already does that.
24338 * commands/loadenv.c (check_blocklists): Likewise.
24339 (write_blocklists): Likewise.
24340 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24341 (grub_fstest_SOURCES): Likewise.
24342 (pkglib_MODULES): Add part_bsd.mod.
24343 (part_bsd_mod_SOURCES): New variable.
24344 (part_bsd_mod_CFLAGS): Likewise.
24345 (part_bsd_mod_LDFLAGS): Likewise.
24346 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24347 (grub_emu_SOURCES): Likewise.
24348 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24349 * include/grub/bsdlabel.h: New file.
24350 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24351 'get_name'.
24352 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24353 (grub_partition_map_list): New variable.
24354 (grub_partition_map_register): Inline.
24355 (grub_partition_map_unregister): Likewise.
24356 (FOR_PARTITION_MAPS): New macro.
24357 (grub_partition_map_iterate): Removed.
24358 (grub_partition_get_start): Handle nested partitions.
24359 * include/grub/msdos_partition.h: Remove bsd-related entries.
24360 (grub_pc_partition): Remove.
24361 * kern/disk.c (grub_disk_close): Free partition data.
24362 (grub_disk_adjust_range): Handle nested partitions.
24363 * kern/partition.c (grub_partition_map_probe): New function.
24364 (grub_partition_probe): Parse name to number, handle subpartitions.
24365 (get_partmap): New function.
24366 (grub_partition_iterate): Handle subpartitions.
24367 (grub_partition_get_name): Likewise.
24368 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24369 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24370 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24371 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24372 Set 'number'.
24373 (acorn_partition_map_probe): Remove.
24374 (acorn_partition_map_get_name): Likewise.
24375 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24376 Set 'number'.
24377 Set 'index' to 0 since there can be only one partition entry per sector.
24378 (amiga_partition_map_probe): Remove.
24379 (amiga_partition_map_get_name): Likewise.
24380 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24381 Set 'number'.
24382 Set 'offset' and 'index' to real positions of partitions.
24383 (apple_partition_map_probe): Remove.
24384 (apple_partition_map_get_name): Likewise.
24385 * partmap/bsdlabel.c: New file.
24386 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24387 Set 'number'.
24388 Allocate 'data' so it can be correctly freed.
24389 Set 'index' to offset inside sector.
24390 (gpt_partition_map_probe): Remove.
24391 (gpt_partition_map_get_name): Likewise.
24392 * partmap/msdos.c (grub_partition_parse): Remove.
24393 (pc_partition_map_iterate): Don't force raw access.
24394 Set 'number'.
24395 Make 'ext_offset' a local variable.
24396 (pc_partition_map_probe): Remove.
24397 (pc_partition_map_get_name): Remove.
24398 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24399 Set 'number'.
24400 (sun_partition_map_probe): Remove.
24401 (sun_partition_map_get_name): Likewise.
24402 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24403 (grub_pcpart_type): Likewise.
24404 * util/hostdisk.c (open_device): Handle new numbering scheme.
24405 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24406 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24407 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24408 * util/grub-install.in: Insert all subpartition modules.
24409 * util/ieee1275/grub-install.in: Likewise.
24410
a3940f88
AG
244112010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24412
24413 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24414 grammar.
24415
21b99926 244162010-03-24 Colin Watson <cjwatson@ubuntu.com>
24417
24418 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24419
bed1d352
CW
244202010-03-21 Colin Watson <cjwatson@ubuntu.com>
24421
24422 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24423 match where 'make install' puts them.
24424 * util/i386/efi/grub-install.in: Likewise.
24425
c9f58427
CW
244262010-03-19 Colin Watson <cjwatson@ubuntu.com>
24427
24428 * .bzrignore: Add gentrigtables, grub-script-check,
24429 grub_script_check_init.c, grub_script_check_init.h, and
24430 trigtables.c.
24431
f84afb27
VS
244322010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24433
24434 * kern/parser.c: Indented.
24435
ed0e3d30
VS
244362010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24439
0ea81d98
VS
244402010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24441
24442 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24443 alpha_mask_size == 0 case.
24444
0cdc2a09
BC
244452010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24446
24447 GRUB shell lexer and parser improvements.
24448
24449 * conf/any-emu.rmk: Build rule updates.
24450 * conf/common.rmk: Likewise.
24451 * conf/i386-coreboot.rmk: Likewise.
24452 * conf/i386-efi.rmk: Likewise.
24453 * conf/i386-ieee1275.rmk: Likewise.
24454 * conf/i386-pc.rmk: Likewise.
24455 * conf/powerpc-ieee1275.rmk: Likewise.
24456 * conf/x86_64-efi.rmk: Likewise.
24457
24458 * configure.ac: Configure check for flex.
24459
24460 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24461 types.
24462 (grub_lexer_param): Struct member updates.
24463 (grub_parser_param): Likewise.
24464 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24465 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24466 (grub_script_lexer_init): Prototype update.
24467 (grub_script_lexer_record_start): Likewise.
24468 (grub_script_lexer_record_stop): Likewise.
24469 (grub_script_lexer_yywrap): New function prototype.
24470 (grub_script_lexer_fini): Likewise.
24471 (grub_script_execute_argument_to_string): Removed by...
24472 (grub_script_execute_argument_to_argv): ...better version.
24473
24474 * script/execute.c (ROUND_UPTO): New macro.
24475 (grub_script_execute_cmdline): Out of memory fixes.
24476 (grub_script_execute_menuentry): Likewise.
24477 (grub_script_execute_argument_to_string): Removed. Update all
24478 users by...
24479 (grub_script_execute_argument_to_argv): ...better version.
24480 * script/function.c (grub_script_function_create): Use
24481 grub_script_execute_argument_to_argv instead of
24482 grub_script_execute_argument_to_string.
24483
24484 * script/lexer.c (check_varstate): Removed.
24485 (check_textstate): Removed.
24486 (grub_script_lexer_record_start): Likewise.
24487 (grub_script_lexer_record_stop): Likewise.
24488 (recordchar): Replaced with...
24489 (grub_script_lexer_record): ...new function.
24490 (nextchar): Removed.
24491 (grub_script_lexer_init): Rewritten.
24492 (grub_script_yylex): Rewritten.
24493 (append_newline): New function.
24494 (grub_script_lexer_yywrap): New function.
24495 (grub_script_lexer_fini): New function.
24496 (grub_script_yyerror): Sets error flag.
24497
24498 * script/yylex.l: New file.
24499 (grub_lexer_yyfree): Wrapper for flex yyffre.
24500 (grub_lexer_yyalloc): Likewise.
24501 (grub_lexer_yyrealloc): Likewise.
24502 * script/parser.y: Refactored.
24503
24504 * script/script.c (grub_script_arg_add): Out of memory fixes.
24505 (grub_script_add_arglist): Likewise.
24506 (grub_script_create_cmdline): Likewise.
24507 (grub_script_create_cmdmenu): Likewise.
24508 (grub_script_add_cmd): Likewise.
24509 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24510 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24511 unnecessary code.
24512
24513 * tests/grub_script_echo1.in: New testcase.
24514 * tests/grub_script_vars1.in: New testcase.
24515 * tests/grub_script_echo_keywords.in: New testcase.
24516
1d63a066
VS
245172010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24518
24519 Remove some redundancy in build system.
24520
24521 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24522 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24523 (TARGET_LDFLAGS): Add -nostdlib.
24524 (TARGET_IMG_LDFLAGS): Likewise.
24525 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24526 anything since mmap isn't available.
24527 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24528 Add util/time.c.
24529 (pkglib_MODULES): Remove reboot.mod.
24530 (reboot_mod_SOURCES): Removed.
24531 (reboot_mod_CFLAGS): Likewise.
24532 (reboot_mod_LDFLAGS): Likewise.
24533 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24534 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24535 (DEFSYMFILES): Add kernel_syms.lst.
24536 (kernel_img_HEADERS): Add common headers.
24537 (symlist.c): New target.
24538 (kernel_syms.lst): Likewise.
24539 (pkglib_MODULES): Add memdisk.mod.
24540 (memdisk_mod_SOURCES): New variable.
24541 (memdisk_mod_CFLAGS): Likewise.
24542 (memdisk_mod_LDFLAGS): Likewise.
24543 (pkglib_MODULES): Add reboot.mod.
24544 (reboot_mod_SOURCES): New variable.
24545 (reboot_mod_CFLAGS): Likewise.
24546 (reboot_mod_LDFLAGS): Likewise.
24547 (pkglib_MODULES): Add date.mod.
24548 (date_mod_SOURCES): New variable.
24549 (date_mod_CFLAGS): Likewise.
24550 (date_mod_LDFLAGS): Likewise.
24551 (pkglib_MODULES): Add datehook.mod.
24552 (datehook_mod_SOURCES): New variable.
24553 (datehook_mod_CFLAGS): Likewise.
24554 (datehook_mod_LDFLAGS): Likewise.
24555 (pkglib_MODULES): Add lsmmap.mod.
24556 (lsmmap_mod_SOURCES): New variable.
24557 (lsmmap_mod_CFLAGS): Likewise.
24558 (lsmmap_mod_LDFLAGS): Likewise.
24559 (pkglib_MODULES): Add boot.mod.
24560 (boot_mod_SOURCES): New variable.
24561 (boot_mod_CFLAGS): Likewise.
24562 (boot_mod_LDFLAGS): Likewise.
24563 * conf/i386-coreboot.rmk: Removed redundant parts.
24564 * conf/i386-ieee1275.rmk: Likewise.
24565 * conf/i386-pc.rmk: Likewise.
24566 * conf/mips-yeeloong.rmk: Likewise.
24567 * conf/mips.rmk: Likewise.
24568 * conf/powerpc-ieee1275.rmk: Likewise.
24569 * conf/sparc64-ieee1275.rmk: Likewise.
24570 * conf/x86_64-efi.rmk: Likewise.
24571 * conf/i386-coreboot.rmk: Moved qemu parts ..
24572 * conf/i386-qemu.rmk: ... here
24573 * conf/i386-efi.rmk: Moved common parts to...
24574 * conf/x86-efi.rmk: ... here.
24575 * conf/i386.rmk: Added modules common to all x86 variants.
24576 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24577 * disk/memdisk.c: Remove grub/machine/kernel.h.
24578 * gensymlist.sh.in: Include symbol.h.
24579 * hook/datehook.c: Correct module name.
24580 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24581 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24582 * include/grub/i386/efi/serial.h: New file.
24583 * include/grub/x86_64/efi/serial.h: Likewise.
24584 * util/time.c: Likewise.
24585 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24586
463ac55f
CK
245872010-03-14 Colin King <colin.king@ubuntu.com>
245882010-03-14 Colin Watson <cjwatson@ubuntu.com>
24589
24590 Shrink the pre-partition-table part of boot.img by eight bytes.
24591
24592 * boot/i386/pc/boot.S (ERR): New macro.
24593 (chs_mode): Use ERR.
24594 (geometry_error): Likewise.
24595 (hd_probe_error): Remove. This is only used once, so we wrwite
24596 it inline instead.
24597 (read_error): Instead of printing read_error_string, just set up
24598 %si and fall through to ...
24599 (error_message): ... this new function, also used by ERR.
24600
08e46ede
CW
246012010-03-14 Colin Watson <cjwatson@ubuntu.com>
24602
24603 Speed up consecutive hostdisk operations on the same device.
24604
24605 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24606 (grub_util_biosdisk_open): Initialise disk->data.
24607 (struct linux_partition_cache): New structure.
24608 (linux_find_partition): Cache partition start positions; these are
24609 expensive to compute on every read and write.
24610 (open_device): Cache open file descriptor in disk->data, so that we
24611 don't have to reopen it and flush the buffer cache for consecutive
24612 operations on the same device.
24613 (grub_util_biosdisk_close): New function.
24614 (grub_util_biosdisk_dev): Set `close' member.
24615
24616 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24617 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24618 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24619 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24620 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24621
4a6d2d06
VS
246222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24623
24624 Compile parts of grub-emu as modules.
24625
24626 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24627 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24628 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24629 (all-local): Add $(GRUB_EMU).
24630 (install-local): Install $(GRUB_EMU).
24631 (uninstall): Uninstall $(GRUB_EMU).
24632 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24633 * kern/dl.c: Likewise.
24634 * commands/sleep.c: Not include machine/time.h.
24635 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24636 (COMMON_CFLAGS): Likewise.
24637 (sbin_UTILITIES): Remove grub-emu.
24638 (grub_emu_SOURCES): Removed.
24639 (kernel_img_RELOCATABLE): New variable.
24640 (pkglib_PROGRAMS): Add kernel.img.
24641 (kernel_img_SOURCES): New variable
24642 (kernel_img_CFLAGS): Likewise.
24643 (kernel_img_LDFLAGS): Likewise.
24644 (TARGET_NO_STRIP): Likewise.
24645 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24646 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24647 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24648 (grub-emu): New target.
24649 (GRUB_EMU): New variable.
24650 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24651 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24652 * loader/xnu.c: Likewise.
24653 * include/grub/pci.h: Likewise.
24654 * genemuinit.sh: New file.
24655 * genemuinitheader.sh: Likewise.
24656 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24657 Support TARGET_NO_DYNAMIC_MODULES.
24658 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24659 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24660 * disk/loopback.c: Likewise.
24661 * font/font_cmd.c: Likewise.
24662 * partmap/acorn.c: Likewise.
24663 * partmap/amiga.c: Likewise.
24664 * partmap/apple.c: Likewise.
24665 * partmap/gpt.c: Likewise.
24666 * partmap/msdos.c: Likewise.
24667 * partmap/sun.c: Likewise.
24668 * parttool/msdospart.c: Likewise.
24669 * term/gfxterm.c: Likewise.
24670 * video/bitmap.c: Likewise.
24671 * video/readers/jpeg.c: Likewise.
24672 * video/readers/png.c: Likewise.
24673 * video/readers/tga.c: Likewise.
24674 * video/video.c: Likewise.
24675 * util/grub-emu.c (read_command_list): Removed.
24676 (main): Don't call util_init_nls.
24677 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24678 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24679
91fdd2ed
VS
246802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24681
24682 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24683 date.mod, datehook.mod.
24684 (datetime_mod_SOURCES): New variable.
24685 (datetime_mod_CFLAGS): Likewise.
24686 (datetime_mod_LDFLAGS): Likewise.
24687 (date_mod_SOURCES): Likewise.
24688 (date_mod_CFLAGS): Likewise.
24689 (date_mod_LDFLAGS): Likewise.
24690 (datehook_mod_SOURCES): Likewise.
24691 (datehook_mod_CFLAGS): Likewise.
24692 (datehook_mod_LDFLAGS): Likewise.
24693 * conf/sparc64-ieee1275.rmk: Likewise.
24694 * lib/ieee1275/datetime.c: New file.
24695
873ccae6
VS
246962010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24697
24698 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24699 (ieee1275_fb_mod_SOURCES): New variable.
24700 (ieee1275_fb_mod_CFLAGS): Likewise.
24701 (ieee1275_fb_mod_LDFLAGS): Likewise.
24702 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24703 New proto.
24704 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24705 (HEAP_MAX_ADDR): Likewise.
24706 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24707 type.
24708 Correct stop condition.
24709 (grub_ieee1275_devices_iterate): New function.
24710 * video/ieee1275.c: New file.
24711
601c97c0
VS
247122010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24715
24716 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24717 as scratch.
24718 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24719 SCRATCH_PAD_DISKBOOT as scratch.
24720 (bootit): Pass Openfirmware pointer in %o4.
24721 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24722 of 0x200000.
24723 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24724 with util/grub-mkrawimage.c.
24725 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24726 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24727 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24728 (grub_aout_load) [GRUB_UTIL]: Likewise.
24729 * include/grub/kernel.h (grub_modules_get_end): New proto.
24730 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24731 (SCRATCH_PAD_BOOT): New definition.
24732 (SCRATCH_PAD_DISKBOOT): Likewise.
24733 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24734 * include/grub/sparc64/ieee1275/ieee1275.h
24735 (grub_ieee1275_original_stack): New variable
24736 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24737 New definition
24738 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24739 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24740 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24741 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24742 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24743 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24744 (grub_platform_image_format_t): New type.
24745 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24746 * kern/main.c (grub_modules_get_end)
24747 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24748 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24749 (codestart): Switch stacks.
24750 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24751 variable.
24752 (grub_heap_init): Use grub_modules_get_end.
24753 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24754 stack.
24755 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24756 (main): Likewise.
24757 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24758
d68b491e
TG
247592010-03-14 Thorsten Glaser <tg@mirbsd.org>
24760
24761 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24762
4e02ed50
MK
247632010-03-08 Matt Kraai <kraai@ftbfs.org>
24764
24765 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24766 bug #559005).
24767
1f15fc1e
VS
247682010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24769
24770 * genmoddep.awk: Output all missing symbols and not only first.
24771
fce5d8ff
VS
247722010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24773
24774 * NEWS: Put the date of 1.98 release.
24775
d1e8a02f
VS
247762010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24777
24778 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24779 ft2build.h.
24780
696fd607
VS
247812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24784 completition in the middle of string.
24785
33e2e6f3
VS
247862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24787
24788 * util/grub-mkrescue.in: Use mktemp with explicit template.
24789
b1f6d291
VS
247902010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24791
24792 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24793
2ac227c7
VS
247942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24797 right pointer.
24798
8f9a632b
VS
247992010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24800
24801 Fix FreeBSD compilation.
24802
24803 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24804 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24805
60b03859
VS
248062010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24807
24808 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24809
48a5a769
VS
248102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24811
24812 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24813
3ab4bd77
VS
248142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24817
d116e0d8
RM
248182010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24819
24820 Support relative image path in theme file.
24821
24822 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24823 (image_set_property): Handle theme_dir and relative path.
24824
c7ef54aa
VS
248252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24826
24827 * configure.ac: Alias amd64 to x86_64.
24828
fcee14ed
VS
248292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24830
24831 * NEWS: mention multiboot on EFI.
24832
d0780363
VS
248332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24834
24835 * kern/main.c (grub_load_modules): Handle errors from init functions of
24836 embeded modules.
24837
41168ea4
VS
248382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24839
24840 * normal/autofs.c (autoload_fs_module): Handle errors.
24841
b54d93ac
VS
248422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24843
24844 Disable linux.mod on qemu-mips since it's not functional and leads
24845 to compilation failure.
24846
24847 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24848 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24849 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24850 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24851 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24852 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24853 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24854 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24855 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24856 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24857 Reported by: BVK Chaitanya
24858
fc8345da
JU
248592010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24860
24861 * INSTALL: Add gettext as a dependency and add qemu to a new section
24862 "Prerequisites for make-check".
24863
4760f979
CF
248642010-03-04 Christian Franke <franke@computer.org>
24865
24866 * util/grub-pe2elf.c: Add missing include "progname.h".
24867
f209b5b2
VS
248682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24869
24870 * normal/crypto.c (read_crypto_list): Fix a typo.
24871 Reported by: Seth Goldberg.
24872
b4b7be98
VS
248732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24874
24875 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 24876 Reported by: Seth Goldberg.
b4b7be98 24877
c0ee0385
VS
248782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24879
24880 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
24881 ascii.bitmaps.
24882
a8efbf64
VS
248832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24884
24885 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 24886 Reported by: Seth Goldberg.
a8efbf64 24887
08dcd913
VS
248882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24889
24890 * util/i386/efi/grub-install.in: Copy gettext files.
24891
c4d0b332
VS
248922010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
24895
c6f2fe52
VS
248962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24897
24898 Wait for user entry basing on presence of output rather than on errors.
24899
24900 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
24901 (grub_install_newline_hook): Likewise.
24902 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
24903 * normal/menu.c (show_menu): Check line_counter to determine presence
24904 of output.
24905 * normal/term.c (grub_normal_line_counter): New variable.
24906 (grub_normal_get_line_counter): New function.
24907 (grub_install_newline_hook): Likewise.
24908
5382b1e4
VS
249092010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
24912
5519963b
VS
249132010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24914
24915 * configure.ac: Update version to 1.98.
24916
72b28631
VS
249172010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24918
24919 * util/grub.d/10_linux.in (linux_entry): Don't default to
24920 gfxpayload=keep if Linux doesn't support video handover.
24921
c140a180
VS
249222010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
24923
24924 Don't compile video modules on yeeloong since video subsystem is part
24925 of kernel.
24926
24927 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
24928 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
24929 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
24930 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
24931 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
24932 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
24933 * include/grub/bitmap_scale.h: Likewise.
24934 * include/grub/bufio.h: Likewise.
24935 * include/grub/font.h: Likewise.
24936 * include/grub/gfxterm.h: Likewise.
24937 * include/grub/video.h: Likewise.
24938 * include/grub/vbe.h: Don't include video_fb.h.
24939 * video/i386/pc/vbe.c: Include video_fb.h.
24940 * commands/i386/pc/vbetest.c: Include video.h.
24941
a0ca21c2
CW
249422010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
24943
24944 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
24945 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
24946 default entry if GRUB_SAVEDEFAULT=true. This allows using
24947 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
24948 saving a new default on every boot.
24949
4a8a763c
VS
249502010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24951
24952 * normal/crypto.c (read_crypto_list): Fix a memory leak.
24953 * normal/term.c (read_terminal_list): Likewise.
24954 * normal/main.c (grub_normal_init_page): Likewise.
24955 (grub_normal_read_line_real): Likewise.
24956
607ffde2
VS
249572010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24958
24959 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
24960 memory leak.
24961 Reported by: Seth Goldberg.
24962
2b8fa975
CW
249632010-02-24 Joey Korkames <joey+lists@kidfixit.com>
24964
24965 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
24966 duplicate declaration of `start'.
24967
618307dd
VS
249682010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24969
24970 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
24971 filename.
24972 Reported by: Georgy Buranov
24973
7dd05b96 249742010-02-20 Carles Pina i Estany <carles@pina.cat>
24975
24976 * util/grub-mkrawimage.c (usage): Change string formatting to
24977 improve gettext.
24978
d1484a42
MRA
249792010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
24980
24981 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
24982 backspace keys.
24983
42b1d186
VS
249842010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
24987 Reported by: Michael Suchanek.
24988
249892010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
24990
24991 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
24992 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
24993
d9f31a41
VS
249942010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
24995
24996 Remove any reference to non-free fonts.
24997
24998 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
24999 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
25000 uses non-free components.
25001 * font/font.c (grub_font_get_name): Remove example name.
25002 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
25003 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
25004 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
25005 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
25006
2793c71e
GB
250072010-02-16 Georgy Buranov <gburanov@gmail.com>
25008
25009 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
25010
402e3779
VS
250112010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25012
25013 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
25014 Double divisor.
25015 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
25016 features.
25017 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
25018
0dd1e0dd
VS
250192010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
25020
25021 * gensymlist.sh.in: Use TARGET_CC instead of CC.
25022
6fa7cfce
ST
250232010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25024
25025 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
25026 * docs/grub.texi (Command-line and menu entry commands): Document play
25027 command.
25028
37c8483b
ST
250292010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25030
25031 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
25032 parse arguments as inline tempo and notes. Move code for playing notes
25033 to...
25034 (play): ... new function.
25035
14da0fb7
ST
250362010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
25037
25038 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
25039 grub_uint16_t instead of short.
25040 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
25041 disk from little endian to cpu endianness.
25042
04459e70
ST
250432010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
25044
25045 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
25046 GRUB_TICKS_PER_SECOND instead of 120.
25047
a0876943
VS
250482010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25049
25050 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
25051 escape sequence after \e.
25052
e29f95dc
VS
250532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25054
25055 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
25056 non-ASCII characters.
25057
d27859b2
VS
250582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25059
25060 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
25061 set root in single quotes to prevent \, from being unescaped.
25062
bc028f2f
VS
250632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25064
25065 Prevent unknown commands from stopping menuentry execution.
25066
25067 * script/execute.c (grub_script_execute_cmdline): Print error after
25068 unknown command.
25069
095f5f82
VS
250702010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25071
25072 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
25073 Reported by: Pavel Pisa.
25074
8c717950
VS
250752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25076
25077 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
25078
904935c3
VS
250792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25080
25081 Merge grub_ieee1275_map_physical into grub_map and rename to
25082 grub_ieee1275_map
25083
25084 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
25085 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
25086 Remove.
25087 * kern/ieee1275/openfw.c (grub_map): Rename to ...
25088 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
25089 necessary.
25090 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
25091
5b59a4e3
VS
250922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25093
25094 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
25095 opening and not after.
25096
69e137e8
VS
250972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
25100 constants.
25101
2c0fcc36
VS
251022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25103
25104 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
25105 (alloc_phys): Use ALIGN_UP instead of align_addr.
25106
8c6052ce
VS
251072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25108
25109 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
25110
17cec782
VS
251112010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25112
25113 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
25114
e0128bbd
VS
251152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25116
25117 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
25118 verbose dprintf.
25119
ca62070b
VS
251202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25121
25122 Fix over-4GiB seek on sparc64.
25123
25124 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
25125 Replace pos_i and pos_lo with pos. All users updated.
25126 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25127 New constant.
25128 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
25129 Likewise.
25130 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
25131 and pos_lo.
25132
bdca2607
VS
251332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25134
25135 * util/grub-mkrawimage.c (main): Call set_program_name.
25136
da278c4d
VS
251372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25138
25139 Properly align 64-bit targets.
25140
25141 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
25142 (generate_image): Use ALIGN_ADDR.
25143
b274d734
VS
251442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25145
25146 Properly create cross-endian images.
25147
25148 * include/grub/types.h (grub_host_to_target_addr): New macro
25149 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
25150
82da2062
VS
251512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
25152
25153 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
25154
7cae4377
VS
251552010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
25158
25159 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
25160 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
25161 (grub_linux_boot): Divide by 64K when on VESA.
25162
65a533e7
VS
251632010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25164
25165 Support GRUB_GFXPAYLOAD_LINUX.
25166
25167 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
25168 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
25169
dd01d397
VS
251702010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
25173 to show messages instead of discarding them.
25174 Process errors after executing command and not before. Keep old method
25175 too as precaution.
25176
660960d6
VS
251772010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
25178
25179 * configure.ac: Check for ft2build.h.
25180
62509f04
VS
251812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25182
25183 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
25184
473df63d
VS
251852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25186
25187 * genkernsyms.sh.in: Use TARGET_CC.
25188
c98d2a13
CW
251892010-02-07 Colin Watson <cjwatson@ubuntu.com>
25190
25191 * NEWS: Update.
25192
6e14234c
VS
251932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25194
25195 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
25196 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
25197 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 25198
b255e9cf
YB
251992010-02-07 Yves Blusseau <blusseau@zetam.org>
25200
6e14234c 25201 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 25202
98e6959d
VS
252032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25204
25205 Fix warnings in grub-emu when compiling with maximum warning options.
25206
25207 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
25208 (grub_arch_modules_addr): Return 0 and not NULL.
25209 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 25210 (xstrdup): Use newstr instead of dup.
f88d801b
VS
25211 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
25212 of disk to dsk to avoid shadowing.
74e4934e
VS
25213 (find_free_slot): Fix prototype.
25214 * util/getroot.c (grub_util_is_dmraid): Make static.
25215 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
25216 Add missing prototype.
25217 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 25218
74e31b5c
VS
252192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25220
25221 * loader/i386/linux.c (grub_linux_setup_video): Handle error
25222 appropriately.
25223
6b2ad14b
VS
252242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25225
25226 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
25227 code out.
25228
8f891adc
VS
252292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25230
25231 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
25232 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
25233 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
25234 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
25235 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
25236 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
25237
74b45184
VS
252382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25239
25240 * include/grub/err.h (grub_err_printf): Don't export.
25241
a4bced77
VS
252422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25243
25244 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
25245
007d0695
VS
252462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
25247
25248 * include/grub/i18n.h (grub_gettext_dummy): Removed.
25249 * kern/misc.c (grub_gettext_dummy): Make static.
25250
b6c0d9c2
VS
252512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
25254 by non-valid ones.
25255 * kern/term.c (grub_putchar): Likewise.
25256
f51a90d0
VS
252572010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25258
25259 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25260 buggy hook call and memory leak.
25261
6846cec5
VS
252622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25263
25264 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25265
468d69fe
VS
252662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25267
25268 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25269
51906b8c
VS
252702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25271
25272 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25273 modevar.
25274 Return grub_errno on allocation error.
25275
09706ce5
VS
252762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25279
911df80c
YB
252802010-02-06 Yves Blusseau <blusseau@zetam.org>
25281
25282 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25283 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25284
3746a6bc
VS
252852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25286
25287 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25288 non-pxe disk.
25289 (grub_pxefs_open): Likewise.
25290
09706ce5
VS
252912010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25292
25293 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25294 * util/grub.d/10_kfreebsd.in: Likewise.
25295 * util/grub.d/10_linux.in: Likewise.
25296
7cc192d9
VS
252972010-02-06 Colin D Bennett <colin@gibibit.com>
25298
25299 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25300 (gfxmenu_mod_SOURCES): New variable.
25301 (gfxmenu_mod_CFLAGS): Likewise.
25302 (gfxmenu_mod_LDFLAGS): Likewise.
25303 * include/grub/term.h (grub_term_set_current_output): Declare
25304 argument as const.
25305 * docs/gfxmenu-theme-example.txt: New file.
25306 * gfxmenu/gfxmenu.c: Likewise.
25307 * gfxmenu/gui_box.c: Likewise.
25308 * gfxmenu/gui_canvas.c: Likewise.
25309 * gfxmenu/gui_circular_progress.c: Likewise.
25310 * gfxmenu/gui_image.c: Likewise.
25311 * gfxmenu/gui_label.c: Likewise.
25312 * gfxmenu/gui_list.c: Likewise.
25313 * gfxmenu/gui_progress_bar.c: Likewise.
25314 * gfxmenu/gui_string_util.c: Likewise.
25315 * gfxmenu/gui_util.c: Likewise.
25316 * gfxmenu/icon_manager.c: Likewise.
25317 * gfxmenu/model.c: Likewise.
25318 * gfxmenu/named_colors.c: Likewise.
25319 * gfxmenu/theme_loader.c: Likewise.
25320 * gfxmenu/view.c: Likewise.
25321 * gfxmenu/widget-box.c: Likewise.
25322 * include/grub/gfxmenu_model.h: Likewise.
25323 * include/grub/gfxmenu_view.h: Likewise.
25324 * include/grub/gfxwidgets.h: Likewise.
25325 * include/grub/gui.h: Likewise.
25326 * include/grub/gui_string_util.h: Likewise.
25327 * include/grub/icon_manager.h: Likewise.
25328
253292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25330
25331 Agglomerate scrolling in gfxterm.
25332
25333 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25334 (grub_virtual_screen_setup): Initialise 'total_screen'.
25335 (write_char): Split to ...
25336 (paint_char): ... this ...
25337 (write_char): ... and this.
25338 (paint_char): Handle delayed scrolling.
25339 (draw_cursor): Likewise.
25340 (scroll_up): Split to ...
25341 (real_scroll): ... this ...
25342 (scroll_up): ... and this.
25343 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25344 characters.
25345 (grub_gfxterm_refresh): Call real_scroll.
25346
253472010-02-06 Colin D Bennett <colin@gibibit.com>
25348
25349 * include/grub/misc.h (grub_iscntrl): New inline function.
25350 (grub_isalnum): Likewise.
25351 (grub_strtol): Likewise.
25352
253532010-02-06 Colin D Bennett <colin@gibibit.com>
25354
25355 * normal/menu_text.c (get_entry_number): Move from here ...
25356 * normal/menu.c (get_entry_number): ... moved here.
25357 * include/grub/menu.h (grub_menu_get_default_entry_index):
25358 New prototype.
25359 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25360 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25361 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25362 (grub_menu_viewer_should_return): Likewise.
25363 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25364 * normal/menu_text.c (run_menu): Enable menu switching.
25365 * normal/menu_viewer.c (should_return): New variable.
25366 (menu_viewer_changed): Likewise.
25367 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25368 (grub_menu_viewer_should_return): New function.
25369 (menuviewer_write_hook): Likewise.
25370 (grub_menu_viewer_init): Likewise.
25371
253722010-02-06 Colin D Bennet <colin@gibibit.com>
253732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25374
25375 Support for gfxterm in a window.
25376
25377 * include/grub/gfxterm.h: New file.
25378 * include/grub/video.h (struct grub_video_rect): New declaration.
25379 (grub_video_rect_t): Likewise.
25380 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25381 (refcount): New variable.
25382 (render_target): Likewise.
25383 (window): Likewise.
25384 (repaint_callback): Likewise.
25385 (grub_virtual_screen_setup): Use 'render_target'.
25386 (init_window): New function.
25387 (grub_gfxterm_init_window): Likewise.
25388 (grub_gfxterm_init): Check reference counter.
25389 Use init_window.
25390 (destroy_window): New function.
25391 (grub_gfxterm_destroy_window): Likewise.
25392 (grub_gfxterm_fini): Check reference counter.
25393 Use destroy_window.
25394 (redraw_screen_rect): Restore viewport.
25395 Use 'render_target' and 'window'.
25396 Call 'repaint_callback'.
25397 (write_char): Use 'render_target'.
25398 (draw_cursor): Likewise.
25399 (scroll_up): Restore viewport.
25400 Use 'render_target' and 'window'.
25401 Call 'repaint_callback'.
25402 (grub_gfxterm_cls): Likewise.
25403 (grub_gfxterm_refresh): Use 'window'.
25404 (grub_gfxterm_set_repaint_callback): New function.
25405 (grub_gfxterm_background_image_cmd): Use 'window'.
25406 (grub_gfxterm_get_term): New function.
25407 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25408
254092010-02-06 Colin D Bennett <colin@gibibit.com>
25410
25411 Bitmap scaling support.
25412
25413 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25414 (bitmap_scale_mod_SOURCES): New variable.
25415 (bitmap_scale_mod_CFLAGS): Likewise.
25416 (bitmap_scale_mod_LDFLAGS): Likewise.
25417 * include/grub/bitmap_scale.h: New file.
25418 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25419 (background_image_cmd_options): New variable.
25420 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25421 (cmd): Rename and change type to ...
25422 (background_image_cmd_handle): ... this. All users updated.
25423 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25424 * video/bitmap_scale.c: New file.
25425
254262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25427
25428 SDL support.
25429
25430 * Makefile.in (LIBSDL): New variable.
25431 (enable_grub_emu_sdl): Likewise.
25432 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25433 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25434 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25435 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25436 * util/sdl.c: New file.
25437
254382010-02-06 Colin D Bennett <colin@gibibit.com>
254392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25440
25441 Double buffering support.
25442
25443 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25444 * include/grub/video.h: Update comment.
25445 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25446 New type.
25447 (grub_video_fb_doublebuf_blit_init): New prototype.
25448 * term/gfxterm.c (scroll_up): Support double buffering.
25449 (grub_gfxterm_refresh): Likewise.
25450 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25451 (grub_video_fb_doublebuf_blit_init): Likewise.
25452 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25453 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25454 'displayed_page', 'render_page' and 'update_screen'.
25455 (grub_video_vbe_fini): Free offscreen buffer.
25456 (doublebuf_pageflipping_commit): New function.
25457 (doublebuf_pageflipping_update_screen): Likewise.
25458 (doublebuf_pageflipping_init): Likewise.
25459 (double_buffering_init): Likewise.
25460 (grub_video_vbe_setup): Enable doublebuffering.
25461 (grub_video_vbe_swap_buffers): Implement.
25462 (grub_video_vbe_set_active_render_target): Handle double buffering.
25463 (grub_video_vbe_get_active_render_target): Likewise.
25464 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25465 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25466 (grub_video_vbe_enable_double_buffering): Likewise.
25467 (grub_video_vbe_swap_buffers): Use update_screen.
25468 (grub_video_set_mode): Use double buffering.
25469
254702010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25471
25472 * maintainance/gentrigtables.py: Remove.
25473 * lib/trig.c: Likewise.
25474
25475 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25476
25477 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25478 `trigtables.c'.
25479 (trigtables.c): New rule.
25480 (gentrigtables): Likewise.
25481 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25482
254832010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25484
25485 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25486 integer constants.
25487
254882010-02-06 Colin D Bennet <colin@gibibit.com>
25489
25490 Trigonometry support.
25491
25492 * include/grub/trig.h: New file.
25493 * lib/trig.c: Likewise.
25494 * maintainance/gentrigtables.py: Likewise.
25495 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25496 (trig_mod_SOURCES): New variable.
25497 (trig_mod_CFLAGS): Likewise.
25498 (trig_mod_LDFLAGS): Likewise.
25499
5562834e
VS
255002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25501
25502 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25503 disk devices.
25504
4f8528fc
VS
255052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25506
25507 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25508 error.
25509
2b4068e9
VS
255102010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25511
25512 * util/hostdisk.c (open_device): Don't use partition device when reading
25513 before the partition.
25514 (grub_util_biosdisk_read): Don't read from partition and before the
25515 partition in single operation.
25516 (grub_util_biosdisk_write): Don't write to partition and before the
25517 partition in single operation.
25518
399f6e4d
TL
255192010-02-03 Torsten Landschoff <torsten@debian.org>
25520
25521 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25522 last sectors.
25523
996649b0
VS
255242010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25525
25526 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25527 CDROM reads.
25528 (grub_biosdisk_write): Refuse to write to CDROM.
25529
3b205d4d
VS
255302010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25533
61e89d9d
VS
255342010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25535
25536 * font/font.c (find_glyph): Check that bmp_idx is available before
25537 using it.
25538 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25539 with (font == NULL).
25540
bf7fcba2
CS
255412010-01-28 Christian Schmitt <chris@ilovelinux.de>
25542
25543 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25544
f45d2663
BC
255452010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25546
25547 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25548 * util/grub-script-check.c (getline): Fix empty lines case.
25549
ec1444e6
RM
255502010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25551
25552 * Makefile.in (check): Exit with fail status when one of the tests
25553 fails.
25554 * tests/example_functional_test.c (example_test): Fix reversed assert.
25555 * tests/example_unit_test.c (example_test): Likewise.
25556
2e1cb9bb
CW
255572010-01-28 Colin Watson <cjwatson@ubuntu.com>
25558
25559 * util/grub.d/10_linux.in: This script does not use any of the
25560 contents of gettext.sh, only the external command `gettext', so stop
25561 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25562 the same prefix as GRUB.)
25563 * util/grub.d/10_kfreebsd.in: Likewise.
25564
63533ab0
VS
255652010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25566
25567 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25568 of the line.
25569
989e1f93
VS
255702010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25571
25572 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25573 last sectors.
25574
e709ebe2
VS
255752010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25576
25577 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25578 having a 4KiB and not 32KiB buffer size.
25579
27dea7ed
RM
255802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25581
25582 * util/hostfs.c: Include `<errno.h>'.
25583 (grub_hostfs_read): Handle errors from fseeko() and fread().
25584
67667b9c
RM
255852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25586
25587 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25588 loop when using read hooks on files whose size isn't sector-aligned.
25589
c294d9d8
RM
255902010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25591
25592 Remove unused parameter.
25593
25594 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25595 (grub_iso9660_open): Remove initialization of `data->length'.
25596
af75a9f1
RM
255972010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25598
25599 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25600 memleak conditions.
25601
254e2ce5 256022010-01-27 Carles Pina i Estany <carles@pina.cat>
25603
25604 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25605 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25606
b510928c 256072010-01-26 Carles Pina i Estany <carles@pina.cat>
25608
25609 * util/bin2h.c (usage): Fix warning (space after backslash).
25610
aa2f9dd2 256112010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25612
25613 * font/font.c: Include `grub/fontformat.h.
25614 Remove font file format constants.
25615 (grub_font_load): Use the new macros.
25616 * include/grub/fontformat.h: New file.
25617 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25618 (write_font_pf2): Use the new macros.
25619
94e7e712
RM
256202010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25621
25622 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25623 does.
25624
3973a59a
RM
256252010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25626
25627 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25628
25629 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25630 (_start): Macroify `0x7F'.
25631
25632 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25633 (make_install_device): Use "(pxe)" as fallback prefix when booting
25634 via PXE.
25635
42e0cba3
GS
256362010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25637
25638 * configure.ac: Reset LIBS after check for libgcc symbols.
25639
847effd8
CW
256402010-01-25 Colin Watson <cjwatson@ubuntu.com>
25641
25642 * util/hostdisk.c (open_device): Add trailing newline to debug
25643 message.
25644
ea4a7e35
GS
256452010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25646
25647 * configure.ac: Check for `limits.h'.
25648 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25649
67951a53
RM
256502010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25651
25652 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25653 capitalize error strings.
25654
c273d4ce
ST
256552010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25656
25657 * util/grub.d/10_hurd.in: Add a recovery mode.
25658
69be5b74
VS
256592010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25660
25661 * configure.ac: Check for libgcc symbols with -nostdlib.
25662
fc9e5810
BC
256632010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25664
25665 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25666
4b358c0a
VS
256672010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25668
25669 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25670 stack since heap may be unavailable at that point.
25671 (grub_ofconsole_gotoxy): Likewise.
25672
454fcd1c
VS
256732010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25674
25675 * configure.ac: Check for _restgpr_14_x.
25676 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25677 and _savegpr_* prototypes.
25678
566863ca
RM
256792010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25680
25681 Use generic grub_reboot() for i386-efi.
25682
25683 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25684 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25685 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25686
bf86e59a
VS
256872010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25688
25689 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25690 presence of "prefix" variable as it breaks when normal.mod is
25691 embedded.
25692
d645e0f8
VS
256932010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25694
25695 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25696 stack since heap is unavailable at that point.
25697
f9ab2e25
VS
256982010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25699
25700 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25701 (grub_freebsd_bootinfo): Rewritten.
25702 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25703
01fc7054
VS
257042010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25705
25706 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25707
caab4fd6
RM
257082010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25709
25710 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25711 domain now.
25712
67eb1427
FZ
257132010-01-20 Felix Zielcke <fzielcke@z-51.de>
25714
25715 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25716 around for handling "/" to the correct fix. Fix a memory leak. Use
25717 xstrdup instead of strdup.
25718
a9ed4ff3
VS
257192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25722
257232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25724
25725 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25726
25727 * font/font.c (struct grub_font): New member 'bmp_idx'.
25728 (font_init): Initialise 'bmp_idx'.
25729 (load_font_index): Fill 'bmp_idx'.
25730 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25731
48209f4f
VS
257322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25733
25734 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25735 unnecessary calls.
25736
9f0a4bb7
VS
257372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25738
25739 Move context handling out of the kernel.
25740
25741 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25742 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25743 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25744 * conf/i386-efi.rmk: Likewise.
25745 * conf/i386-ieee1275.rmk: Likewise.
25746 * conf/i386-pc.rmk: Likewise.
25747 * conf/powerpc-ieee1275.rmk: Likewise.
25748 * conf/sparc64-ieee1275.rmk: Likewise.
25749 * conf/x86_64-efi.rmk: Likewise.
25750 * include/grub/env.h: Include grub/menu.h.
25751 (grub_env_var_type): Removed.
25752 (grub_env_var): Replaced field 'type' with 'global'.
25753 (grub_env_find): New prototype.
25754 (grub_env_context_open): Remove EXPORT_FUNC.
25755 (grub_env_context_close): Likewise.
25756 (grub_env_export): Likewise.
25757 (grub_env_set_data_slot): Removed.
25758 (grub_env_get_data_slot): Likewise.
25759 (grub_env_unset_data_slot): Likewise.
25760 (grub_env_unset_menu): New prototype.
25761 (grub_env_set_menu): Likewise.
25762 (grub_env_get_menu): Likewise.
25763 * include/grub/env_private.h: New file.
25764 * include/grub/normal.h (grub_context_init): New prototype.
25765 (grub_context_fini): Likewise.
25766 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25767 * normal/context.c (grub_cmd_export): ... to here.
25768 * kern/env.c: Include env_private.h.
25769 (HASHSZ): Moved to include/grub/env_private.h.
25770 (grub_env_context): Likewise.
25771 (grub_env_sorted_var): Likewise.
25772 (current_context): Renamed from this ...
25773 (grub_current_context): ...to this. 'static' removed. All users updated.
25774 (grub_env_find): Removed 'static'.
25775 (grub_env_context_open): Moved to normal/context.c.
25776 (grub_env_context_close): Likewise.
25777 (grub_env_export): Likewise.
25778 (mangle_data_slot_name): Removed.
25779 (grub_env_set_data_slot): Likewise.
25780 (grub_env_get_data_slot): Likewise.
25781 (grub_env_unset_data_slot): Likewise.
25782 * kern/main.c (grub_set_root_dev): Don't export root.
25783 It will be done later.
25784 (grub_main): Don't export prefix.
25785 It will be done later.
25786 * normal/context.c: New file.
25787 * normal/main.c (free_menu): Use grub_env_unset_menu.
25788 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25789 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25790 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25791 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25792
8dd35b8c
VS
257932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25794
25795 setpci support.
25796
25797 * commands/setpci.c: New file.
25798 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25799 (setpci_mod_SOURCES): New variable.
25800 (setpci_mod_CFLAGS): Likewise.
25801 (setpci_mod_LDFLAGS): Likewise.
25802
449193d5
VS
258032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25804
25805 Byte-addressable PCI configuration space.
25806
25807 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25808 dword address.
25809 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25810 GRUB_PCI_REG_CACHELINE.
25811 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25812 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25813 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25814 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25815 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25816 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25817 grub_pci_make_address.
25818 (lock_rom_area): Likewise.
25819 * commands/lspci.c (grub_lspci_iter): Use macroses
25820 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25821 of grub_pci_make_address.
25822 * disk/ata.c (grub_ata_pciinit): Likewise.
25823 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25824 (GRUB_PCI_REG_VENDOR): Likewise.
25825 (GRUB_PCI_REG_DEVICE): Likewise.
25826 (GRUB_PCI_REG_COMMAND): Likewise.
25827 (GRUB_PCI_REG_STATUS): Likewise.
25828 (GRUB_PCI_REG_REVISION): Likewise.
25829 (GRUB_PCI_REG_CLASS): Likewise.
25830 (GRUB_PCI_REG_CACHELINE): Likewise.
25831 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25832 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25833 (GRUB_PCI_REG_BIST): Likewise.
25834 (GRUB_PCI_REG_ADDRESSES): Likewise.
25835 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25836 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25837 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25838 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25839 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25840 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25841 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25842 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25843 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25844 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25845 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25846 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25847 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25848 (GRUB_PCI_REG_MIN_GNT): Likewise.
25849 (GRUB_PCI_REG_MAX_LAT): Likewise.
25850 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25851 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25852 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 25853 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
25854 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25855 space.
25856
96d73208
RM
258572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25858
25859 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25860 can be reliably determined to be supported.
25861
d4484482
RM
258622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25863
25864 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
25865 that VESA is supported.
25866 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
25867 supported.
25868
00308ecf
VS
258692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
25872
f66924a4
RM
258732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25874
25875 * util/misc.c (make_system_path_relative_to_its_root): Work around
25876 special-casing of "/", as previous incarnation of this routine did.
25877
cbca0ada
VS
258782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25879
25880 Fix any-emu compilation.
25881
25882 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
25883 * grub_bin2h_SOURCES: New variable.
25884
34a66d99
RM
258852010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25886
25887 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
25888
94fabf58
RM
258892010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25890
25891 * util/grub.d/00_header.in: Fix handling of locale_dir.
25892
02cf98ca
VS
258932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25894
25895 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
25896 as possible unifont location (Gentoo).
25897 Reported by: Alexander Brüning
25898
327dbcd7
VS
258992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25900
25901 Don't try to generate lists for kernel.img.
25902
25903 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
25904 (pkglib_MODULES): Remove kernel.img.
25905 (kernel_img_EXPORTS): Removed.
25906 (kernel_img_RELOCATABLE): New variable.
25907 * conf/x86_64-efi.rmk: Likewise.
25908 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
25909
ca467290
VS
259102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25911
25912 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
25913 grub_xasprintf or grub_snprintf.
25914 (grub_vsprintf): Likewise.
25915 (grub_snprintf): New proto.
25916 (grub_vsnprintf): Likewise.
25917 (grub_xasprintf): Likewise.
25918 (grub_xvasprintf): Likewise.
25919 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
25920 (grub_sprintf): Removed.
25921 (grub_vsnprintf): New function.
25922 (grub_snprintf): Likewise.
25923 (grub_xvasprintf): Likewise.
25924 (grub_xasprintf): Likewise.
25925 (grub_vsprintf): Renamed to ...
25926 (grub_vsnprintf_real): ...this. New argument max_len.
25927
aca655fd
BC
259282010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
25929
25930 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
25931 fix grub-script-check warning.
25932
7ee92c32
VS
259332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25934
25935 * include/grub/font.h (grub_font_load): Fix prototype.
25936
f80927ca
VS
259372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25938
25939 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
25940
119c50ea
VS
259412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25942
25943 * include/grub/x86_64/at_keyboard.h: New file.
25944
47d5f3c1
VS
259452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25946
25947 * loader/mips/linux.c: Include missing grub/i18n.h.
25948
55ff5266
RM
259492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25950
25951 * normal/menu.c (notify_execution_failure): Clarify error message.
25952
c893cc87
RM
259532009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25954
25955 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
25956 return value (and revert all return statements). Update users.
25957
917dd370
CW
259582010-01-20 Dan Merillat <debian@dan.merillat.org>
25959
25960 * kern/device.c (grub_device_iterate): Allocate new part_ent
25961 structure based on sizeof (*p) rather than sizeof (p->next), to
25962 account for structure padding.
25963
25964 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
25965 disk is NULL, which might happen for LVM physical volumes with no
25966 LVM signature.
25967
d4a4ee57
RM
259682009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25969
25970 * loader/mips/linux.c (grub_cmd_initrd)
25971 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
25972
259732009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25974
25975 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
25976 (grub_video_video_init, grub_video_bitmap_init)
25977 (grub_font_manager_init, grub_term_gfxterm_init)
25978 (grub_at_keyboard_init): New extern declarations.
25979 (grub_machine_init): Initialize gfxterm and at_keyboard.
25980
25981 * kern/main.c (grub_main): Revert grub_printf delay kludge.
25982
25983 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
25984 `gfxterm.mod' into core image.
25985
25986 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25987 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25988 (kernel_img_FORMAT): Copy to ...
25989
25990 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25991 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25992 (kernel_img_FORMAT): ... here, and ...
25993
25994 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25995 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25996 (kernel_img_FORMAT): ... here.
25997
25998 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
25999 and input (at_keyboard) terminals in kernel.
26000 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
26001
26002 (pkglib_MODULES): Remove `pci.mod'.
26003 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
26004 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
26005 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26006 (at_keyboard_mod_LDFLAGS): Remove variables.
26007
260082010-01-11 Felix Zielcke <fzielcke@z-51.de>
26009
26010 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
26011
260122009-12-10 Robert Millan <rmh.grub@aybabtu.com>
26013
26014 * include/grub/mips/libgcc.h: Only export symbols for functions
26015 that libgcc provides.
26016
260172009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
26018
26019 MIPS support.
26020
26021 * bus/bonito.c: New file.
26022 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
26023 GRUB_PCI_NUM_DEVICES.
26024 * term/i386/pc/serial.c: Move to ...
26025 * term/serial.c: ... here. All users updated.
26026 * util/i386/pc/grub-mkimage.c: Move to ...
26027 * util/grub-mkrawimage.c: ... here. All users updated.
26028 * term/i386/pc/at_keyboard.c: Move to ...
26029 * term/at_keyboard.c: ... here. All users updated.
26030 * conf/mips-qemu-mips.rmk: New file.
26031 * conf/mips-yeeloong.rmk: Likewise.
26032 * conf/mips.rmk: Likewise.
26033 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
26034 mipsel-qemu-mips.
26035 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
26036 to port addresses.
26037 (grub_ata_pciinit): Support CS5536.
26038 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
26039 * font/font_cmd.c (loadfont_command): Open file before passing it to
26040 grub_font_load.
26041 (pseudo_file_read): New function.
26042 (pseudo_file_close): Likewise.
26043 (pseudo_fs): New structure.
26044 (load_font_module): New function.
26045 (GRUB_MOD_INIT(font_manager)): Load embedded font.
26046 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
26047 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
26048 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
26049 * include/grub/i386/at_keyboard.h: Split into ...
26050 * include/grub/at_keyboard.h: ... this ...
26051 * include/grub/i386/at_keyboard.h: ... and this.
26052 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
26053 New prototype.
26054 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
26055 updated.
26056 (grub_elf64_size): Likewise.
26057 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
26058 filename.
26059 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
26060 * include/grub/i386/coreboot/serial.h: Rewritten.
26061 * include/grub/i386/ieee1275/serial.h: Include
26062 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
26063 * include/grub/i386/pc/serial.h: Moved from here ...
26064 * include/grub/serial.h: ... to here. All users updated.
26065 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
26066 (GRUB_PCI_NUM_BUS): Likewise.
26067 (GRUB_PCI_NUM_DEVICES): Likewise.
26068 (grub_pci_device_map_range): Add missing volatile keyword.
26069 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
26070 * include/grub/mips/at_keyboard.h: New file.
26071 * include/grub/mips/cache.h: Likewise.
26072 * include/grub/mips/io.h: Likewise.
26073 * include/grub/mips/kernel.h: Likewise.
26074 * include/grub/mips/libgcc.h: Likewise.
26075 * include/grub/mips/pci.h: Likewise.
26076 * include/grub/mips/qemu-mips/boot.h: Likewise.
26077 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26078 * include/grub/mips/qemu-mips/loader.h: Likewise.
26079 * include/grub/mips/qemu-mips/memory.h: Likewise.
26080 * include/grub/mips/qemu-mips/serial.h: Likewise.
26081 * include/grub/mips/qemu-mips/time.h: Likewise.
26082 * include/grub/mips/relocator.h: Likewise.
26083 * include/grub/mips/time.h: Likewise.
26084 * include/grub/mips/types.h: Likewise.
26085 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
26086 * include/grub/mips/yeeloong/boot.h: Likewise.
26087 * include/grub/mips/yeeloong/kernel.h: Likewise.
26088 * include/grub/mips/yeeloong/loader.h: Likewise.
26089 * include/grub/mips/yeeloong/memory.h: Likewise.
26090 * include/grub/mips/yeeloong/pci.h: Likewise.
26091 * include/grub/mips/yeeloong/serial.h: Likewise.
26092 * include/grub/mips/yeeloong/time.h: Likewise.
26093 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
26094 * kern/elf.c (grub_elf32_size): New parameter. All users
26095 updated.
26096 (grub_elf64_size): Likewise.
26097 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
26098 Load modules before saying "Welcome to GRUB!".
26099 Call grub_refresh after saying "Welcome to GRUB!".
26100 * kern/mips/cache.S: New file.
26101 * kern/mips/cache_flush.S: Likewise.
26102 * kern/mips/dl.c: Likewise.
26103 * kern/mips/init.c: Likewise.
26104 * kern/mips/qemu-mips/init.c: Likewise.
26105 * kern/mips/startup.S: Likewise.
26106 * kern/mips/yeeloong/init.c: Likewise.
26107 * kern/term.c (grub_putcode): Handle NULL terminal.
26108 (grub_getcharwidth): Likewise.
26109 (grub_getkey): Likewise.
26110 (grub_checkkey): Likewise.
26111 (grub_getkeystatus): Likewise.
26112 (grub_getxy): Likewise.
26113 (grub_getwh): Likewise.
26114 (grub_gotoxy): Likewise.
26115 (grub_cls): Likewise.
26116 (grub_setcolorstate): Likewise.
26117 (grub_setcolor): Likewise.
26118 (grub_getcolor): Likewise.
26119 (grub_refresh): Likewise.
26120 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
26121 (write_jump): Add hatch nop.
26122 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
26123 * lib/mips/setjmp.S: New file.
26124 * loader/mips/linux.c: Likewise.
26125 * term/i386/pc/at_keyboard.c: Move from here ...
26126 * term/at_keyboard.c: ... to here.
26127 * term/i386/pc/serial.c: Moved from here ...
26128 * term/serial.c: ... to here. All users updated.
26129 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
26130 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
26131 (serial_translate_key_sequence): Avoid deadlock.
26132 (grub_serial_getkey): Handle backspace.
26133 (grub_serial_putchar): Fix newline handling.
26134 * util/i386/pc/grub-mkimage.c: Move from here ...
26135 * util/grub-mkrawimage.c: ... to here. All users updated.
26136 (generate_image): New parameters 'font_path' and 'format'.
26137 Support embedding font.
26138 Use grub_host_to_target* instead of grub_cpu_to_le*.
26139 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
26140 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
26141 (options): New option "--font".
26142 (usage): Likewise.
26143 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
26144 (main): Handle "--font".
26145 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
26146 (grub_virtual_screen_setup): Set bg_color_display.
26147 (redraw_screen_rect): Use bg_color_display instead of incorrect
26148 bg_color.
26149 (grub_gfxterm_cls): Likewise.
26150 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
26151 Support embedding config file.
26152 (add_segments): Likewise.
26153 (options): New option "--config".
26154 (main): Handle "--config".
26155 * video/sm712.c: New file.
26156
25c2b5b3
RM
261572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26158
26159 Fix parallel builds.
26160
26161 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
26162 font.c depend on ascii.h).
26163
261642010-01-12 Carles Pina i Estany <carles@pina.cat>
26165
26166 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
26167
261682010-01-11 Carles Pina i Estany <carles@pina.cat>
26169
26170 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
26171 By default: disabled.
26172 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
26173 parameter.
26174
261752010-01-10 Carles Pina i Estany <carles@pina.cat>
26176
26177 * font/font.c: Update copyright years.
26178 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
26179
261802010-01-10 Carles Pina i Estany <carles@pina.cat>
26181
26182 * font/font.c: Include `ascii.h'.
26183 (ASCII_BITMAP_SIZE): New macro.
26184 (ascii_font_glyph): Define.
26185 (ascii_glyph_lookup): New function.
26186 (grub_font_get_string_width): Change comment. If glyph not found, use
26187 ascii_glyph_lookup.
26188 (grub_font_get_glyph_with_fallback): If glyph not available returns
26189 ascii_glyph_lookup.
26190 * util/grub-mkfont.c (file_formats): New enum.
26191 (options): Add `ascii-bitmaps' new option.
26192 (usage): Add `asii-bitmaps' new option.
26193 (write_font_ascii_bitmap): New function.
26194 (write_font): Rename to ...
26195 (write_font_p2): ... this. Remove print_glyphs call.
26196 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
26197 used. Call print_glyphs.
26198 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
26199
262002010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26201
26202 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
26203 (grub_bin2h_SOURCES): New variable.
26204 * util/bin2h.c: New file.
26205
915fc1b8
VS
262062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26207
26208 * include/multiboot.h: Resynced with spec.
26209 * include/multiboot2.h: Likewise.
26210 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
26211 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
26212
9444b678
RM
262132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26214
26215 * include/grub/term.h (grub_term_register_input,
26216 grub_term_register_output): Check return of terminal init()
26217 routines, and abort if errors are raised.
26218
26219 * commands/terminal.c: Update copyright year.
26220
cba98e8d
RM
262212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26222
26223 * commands/terminal.c (grub_cmd_terminal_input)
26224 (grub_cmd_terminal_output): Check return of terminal init()
26225 routines, and abort if errors are raised.
26226
6f7db5d6
VS
262272010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26228
26229 * include/grub/i386/bsd.h: Fix include pathes.
26230
262bff8d
VS
262312010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26232
26233 Add missing *BSD copyright headers.
26234
26235 * include/grub/aout.h: Add BSD licence.
26236 * include/grub/i386/bsd.h: Parts under different licences moved to ...
26237 * include/grub/i386/freebsd_linker.h: ... here,
26238 * include/grub/i386/freebsd_reboot.h: ... here,
26239 * include/grub/i386/netbsd_bootinfo.h: ... here,
26240 * include/grub/i386/netbsd_reboot.h: ... here,
26241 * include/grub/i386/openbsd_bootarg.h: ... here,
26242 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
26243 licence to each file.
26244
b2cab848
RM
262452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26246
26247 * acinclude.m4: Remove `nop' assembly instruction; it's not
26248 implemented by all architectures.
26249
2cb6be4b
RM
262502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26251
26252 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
26253 ELILO. This is no longer necessary.
26254
a2eaee15
BC
262552010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26256
26257 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26258
26259 * util/grub-script-check.c: grub-script-check tool.
26260 * conf/common.rmk: Make rules for grub-script-check.
26261
88d17012
RM
262622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26263
26264 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26265 spotting it back in 2008. Shame on me for forgetting he did.
26266
26267 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26268
8040619d
RM
262692010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26270
26271 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26272 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26273 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26274 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26275 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26276 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26277
a0c2a0f6
RM
262782010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26279
26280 * include/grub/test.h: Add license header.
26281 * tests/example_functional_test.c: Likewise.
26282 * tests/example_unit_test.c: Likewise.
26283 * tests/lib/functional_test.c: Likewise.
26284 * tests/lib/test.c: Likewise.
26285 * tests/lib/unit_test.c: Likewise.
26286
b0b13907
VS
262872010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26288
26289 Use flag-based instead of hook-based video mode selection and "auto"
26290 keyword.
26291
26292 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26293 (grub_video_set_mode): Changed prototype. All users updated.
26294 (grub_video_check_mode_flag): New inline function.
26295 * video/video.c (parse_modespec): New function.
26296 (grub_video_set_mode): Parse flags and keywords.
26297
ea379330 262982010-01-17 Carles Pina i Estany <carles@pina.cat>
26299
26300 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26301 fprintf call.
26302
e15c215e
FZ
263032010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26304
26305 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26306
409ae1c9 263072010-01-16 Carles Pina i Estany <carles@pina.cat>
26308
26309 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26310 string.
26311 * util/grub-emu.c (usage): Likewise.
26312 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26313 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26314 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26315 * util/i386/pc/grub-setup.c (usage): Likewise.
26316
70a14d3d 263172010-01-16 Carles Pina i Estany <carles@pina.cat>
26318
26319 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26320 the message.
26321 (grub_util_info): Likewise.
26322 (grub_util_error): Likewise.
26323 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26324 and/or new lines in `grub_util_warna', `grub_util_info',
26325 `grub_util_error' calls.
26326 * util/getroot.c: Likewise.
26327 * util/grub-editenv.c: Likewise.
26328 * util/grub-emu.c: Likewise.
26329 * util/grub-fstest.c: Likewise.
26330 * util/grub-mkdevicemap.c: Likewise.
26331 * util/grub-mkfont.c: Likewise.
26332 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26333 * util/grub-mkrelpath.c: Likewise.
26334 * util/grub-pe2elf.c: Likewise.
26335 * util/grub-probe.c: Likewise.
26336 * util/hostdisk.c: Likewise.
26337 * util/i386/efi/grub-mkimage.c: Likewise.
26338 * util/i386/pc/grub-mkimage.c: Likewise.
26339 * util/i386/pc/grub-setup.c: Likewise.
26340 * util/ieee1275/ofpath.c: Likewise.
26341 * util/mkisofs/eltorito.c: Likewise.
26342 * util/mkisofs/rock.c: Likewise.
26343 * util/mkisofs/write.c: Likewise.
26344 * util/raid.c: Likewise.
26345 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26346 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26347
a0b766fc
VS
263482010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26349
26350 Enable multiboot on non-pc.
26351
26352 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26353 multiboot.mod and multiboot2.mod to ...
26354 * conf/i386.rmk (pkglib_MODULES): ... here.
26355 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26356 Moved to ...
26357 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26358 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26359 Moved to ...
26360 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26361 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26362 Moved to ...
26363 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26364 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26365 Moved to ...
26366 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26367 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26368 relocator.mod.
26369 (ata_mod_SOURCES): Removed.
26370 (ata_mod_CFLAGS): Likewise.
26371 (ata_mod_LDFLAGS): Likewise.
26372 (relocator_mod_SOURCES): Removed.
26373 (relocator_mod_CFLAGS): Likewise.
26374 (relocator_mod_ASFLAGS): Likewise.
26375 (relocator_mod_LDFLAGS): Likewise.
26376 Include i386.mk.
26377 * include/grub/x86_64/multiboot.h: New file.
26378 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26379 Terminate EFI.
26380
884ade56
VS
263812010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26382
26383 Video multiboot support.
26384
26385 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26386 New prototype.
26387 * include/multiboot.h: Resynced with multiboot specification.
26388 * include/multiboot2.h: Likewise.
26389 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26390 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26391 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26392 (HAS_VGA_TEXT): Likewise.
26393 (accepts_video): New variable.
26394 (grub_multiboot_set_accepts_video): New function.
26395 (grub_multiboot_get_mbi_size): Account for video structures.
26396 (set_video_mode): New function.
26397 (retrieve_video_parameters): Likewise.
26398 (grub_multiboot_make_mbi): Fill video fields.
26399
0d90e8a6
VS
264002010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26401
26402 Video driver ids.
26403
26404 * include/grub/video.h (grub_video_driver_id): New type.
26405 (grub_video_adapter): New member 'id'. All users updated.
26406 (grub_video_get_driver_id): New proto.
26407 * video/video.c (grub_video_get_driver_id): New function.
26408
5c71db1b 264092010-01-14 Carles Pina i Estany <carles@pina.cat>
26410
26411 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26412 `var=val'.
26413
cca15b52 264142010-01-14 Carles Pina i Estany <carles@pina.cat>
26415
26416 * normal/cmdline.c (print_completion): Gettextizze.
26417
c586fbb2 264182001-01-14 Carles Pina i Estany <carles@pina.cat>
26419
26420 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26421
ba2f6848 264222010-01-14 Carles Pina i Estany <carles@pina.cat>
26423
26424 * gettext/gettext.c (grub_gettext_translate): Push and pop
26425 grub_errno.
26426 (grub_gettext_delete_list): Change comment style.
26427 * kern/err.c (grub_error): Gettextizze.
26428 (grub_fatal): Gettextizze.
26429
0a46429a
RM
264302010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26431
26432 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26433 (grub_linux16_real_boot): ... this.
26434 * kern/i386/loader.S: Likewise.
26435 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26436 (grub_linux16_boot): New function. Switches to text mode and calls
26437 grub_linux16_real_boot().
26438
26439 * loader/i386/bsd.c: Include `<grub/video.h>'.
26440 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26441 text mode before calling grub_unix_real_boot().
26442
26443 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26444 (grub_multiboot_boot): Switch to text mode before calling
26445 grub_relocator32_boot().
26446
26447 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26448 (grub_chainloader_boot): Switch to text mode before calling
26449 grub_chainloader_real_boot().
26450
d6f93a66
RM
264512010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
264522010-01-05 Colin Watson <cjwatson@ubuntu.com>
26453
26454 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26455 non-empty value.
26456
264572010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
264582010-01-05 Colin Watson <cjwatson@ubuntu.com>
26459
26460 * util/grub.d/00_header.in: Define a "savedefault" function for use
26461 in menu entries.
26462 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26463
264642010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
264652010-01-05 Colin Watson <cjwatson@ubuntu.com>
26466
26467 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26468 saved_entry if boot_once is unset.
26469 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26470 previous saved entry (i.e. grub-reboot).
26471
264722009-12-08 Colin Watson <cjwatson@ubuntu.com>
26473
26474 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26475
264762009-12-08 Colin Watson <cjwatson@ubuntu.com>
26477
26478 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26479 `var=val'.
26480 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26481
264822009-12-08 Colin Watson <cjwatson@ubuntu.com>
26483
26484 * util/grub-reboot.in: Fix --version output.
26485 * util/grub-set-default.in: Likewise.
26486
264872009-12-08 Colin Watson <cjwatson@ubuntu.com>
26488
26489 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26490 blocks.
26491
264922009-12-08 Colin Watson <cjwatson@ubuntu.com>
26493
26494 * util/grub.d/00_header.in: Quote the value assigned to `default',
26495 in case it contains spaces.
26496
264972009-12-08 Colin Watson <cjwatson@ubuntu.com>
26498
26499 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26500 `save_default_entry' call from the macosx case to the linux case.
26501
265022009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
265032009-10-25 Colin Watson <cjwatson@ubuntu.com>
26504
26505 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26506 in `chosen' environment variable.
26507 * normal/menu_text.c (get_entry_number): Check if the variable
26508 matches the title of a menu entry.
26509 (run_menu): Pass menu to get_entry_number.
26510
26511 * util/grub-reboot.in: New file.
26512 * util/grub-set-default.in: New file.
26513 * conf/common.rmk (grub-reboot): New utility.
26514 (grub-set-default): New utility.
26515
26516 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26517 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26518 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26519 move it to `saved_entry' for the next boot. Load environment on
26520 initialisation.
26521 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26522 * util/grub.d/10_hurd.in: Likewise.
26523 * util/grub.d/10_linux.in (linux_entry): Likewise.
26524 * util/grub.d/10_windows.in: Likewise.
26525 * util/grub.d/30_os-prober.in: Likewise.
26526
26527 * util/grub-install.in: Create environment block.
26528 * util/i386/efi/grub-install.in: Likewise.
26529 * util/ieee1275/grub-install.in: Likewise.
26530 * util/sparc64/ieee1275/grub-install.in: Likewise.
26531
0934d184
BC
265322010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26533
26534 Unit testing framework for GRUB.
26535
26536 * Makefile.in: Test framework build rules for 'make check'.
26537 * conf/tests.rmk: Build rules for individual tests and framework.
26538
26539 * include/grub/test.h: Header file for whitebox tests.
26540 * tests/lib/functional_test.c: Framework support for whitebox
26541 functional tests.
26542 * tests/lib/test.c: Common whitebox testing code for unit and
26543 functional tests.
26544 * tests/lib/unit_test.c: Framework support for whitebox unit
26545 tests.
26546
26547 * tests/util/grub-shell-tester.in: Support utility for grub-script
26548 tests.
26549 * tests/util/grub-shell.in: Utility to execute grub-script
26550 commands in a Qemu instance.
26551
26552 * tests/example_functional_test.c: Example whitebox functional
26553 test.
26554 * tests/example_grub_script_test.in: Example grub-script test.
26555 * tests/example_scripted_test.in: Example scripted test.
26556 * tests/example_unit_test.c: Example whitebox unit test.
26557
9c4ffeeb
VS
265582010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26559
26560 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26561 Add loader/i386/multiboot_mbi.c.
26562 (multiboot2_mod_SOURCES): Likewise.
26563 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26564 (multiboot2_mod_SOURCES): Likewise.
26565 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26566 (grub_multiboot_make_mbi): Likewise.
26567 (grub_multiboot_free_mbi): Likewise.
26568 (grub_multiboot_init_mbi): Likewise.
26569 (grub_multiboot_add_module): Likewise.
26570 (grub_multiboot_set_bootdev): Likewise.
26571 * loader/i386/multiboot.c (mbi): Removed.
26572 (mbi_dest): Likewise.
26573 (alloc_mbi): New variable.
26574 (grub_multiboot_payload_size): Removed. All users updated.
26575 (grub_multiboot_pure_size): New variable.
26576 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26577 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26578 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26579 (grub_fill_multiboot_mmap): Likewise.
26580 (grub_multiboot_get_bootdev): Likewise.
26581 (grub_multiboot): Use multiboot_mbi functions.
26582 * loader/i386/multiboot_mbi.c: New file.
26583
17383dfe
VS
265842010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26585
26586 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26587 it would result in module crash.
26588
c1f28820
VS
265892010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26590
26591 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26592 (grub_ofconsole_getwh): Split to ...
26593 (grub_ofconsole_getwh): ... this.
26594 (grub_ofconsole_dimensions): ...and this.
26595 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26596
58655a16
RM
265972010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26598
26599 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26600
10891398
VS
266012010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 * loader/i386/pc/multiboot2.c: Removed stalled file.
26604
0b8a223c
VS
266052010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26606
26607 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26608 Reported by: Grégoire Sutre
26609
92ab12b0
RM
266102010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26611
26612 * util/misc.c (canonicalize_file_name): New function.
26613 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26614 instead of realpath().
26615
a788afb6
CW
266162010-01-11 Colin Watson <cjwatson@ubuntu.com>
26617
26618 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26619 and make it clearer that it's optional. Based on confusion
26620 witnessed on IRC.
26621
ffa8e3d2
VS
266222010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26623
26624 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26625 in premature implicit newline.
26626
e9060a9d
VS
266272010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26628
26629 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26630 which resulted in garbled command line at the end of screen.
26631
f0d0c0b7
RM
266322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26633
26634 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26635 initialization with similar approach as with other Linux loaders.
26636
0e60bae7
RM
266372010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26638
26639 Fix i386-ieee1275 build.
26640
26641 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26642 and grub_term_height() for video_{width,height} initialization.
26643
266442010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26645
26646 Fix grub-emu build.
26647
26648 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26649
cdb3f378
RM
266502010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
266512010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26652
26653 Support for multiple terminals.
26654
26655 * Makefile.in (pkglib_DATA): terminal.lst.
26656 (terminal.lst): New target.
26657 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26658 (GRUB_MOD_INIT(handler)): Likewise.
26659 (GRUB_MOD_FINI(handler)): Likewise.
26660 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26661 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26662 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26663 (grub_cmd_sleep): Use grub_term_save_pos.
26664 * commands/terminal.c: New file.
26665 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26666 commands/terminal.c and lib/charset.c.
26667 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26668 (pkglib_MODULES): Add terminal.mod.
26669 (terminal_mod_SOURCES): New variable.
26670 (terminal_mod_CFLAGS): Likewise.
26671 (terminal_mod_LDFLAGS): Likewise.
26672 * genhandlerlist.sh: Don't handle terminals.
26673 * genmk.rb: Generate terminal-*.lst.
26674 * genterminallist.sh: New file.
26675 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26676 (grub_is_valid_utf8): Likewise.
26677 (grub_utf8_to_ucs4_alloc): Likewise.
26678 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26679 (grub_menu_register_viewer): Changed argument.
26680 (grub_menu_try_text): New proto.
26681 (grub_gfxmenu_try_hook): New declaration.
26682 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26683 (grub_menu_init_page): Additional argument term.
26684 (grub_normal_init_page): Likewise.
26685 (grub_cmdline_get): Arguments simplified.
26686 (grub_utf8_to_ucs4_alloc): Removed.
26687 (grub_print_ucs4): Additional argument term.
26688 (grub_getstringwidth): Likewise.
26689 (grub_print_message_indented): Likewise.
26690 (grub_menu_text_register_instances): New proto.
26691 (grub_show_menu): Likewise.
26692 (read_terminal_list): Likewise.
26693 (grub_set_more): Likewise.
26694 * include/grub/parser.h: Include handler.h.
26695 * include/grub/reader.h: Rewritten.
26696 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26697 (GRUB_TERM_WIDTH): Changed to function.
26698 (GRUB_TERM_HEIGHT): Likewise.
26699 (GRUB_TERM_BORDER_WIDTH): Likewise.
26700 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26701 (GRUB_TERM_NUM_ENTRIES): Likewise.
26702 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26703 (GRUB_TERM_CURSOR_X): Likewise.
26704 (grub_term_input_class): Likewise.
26705 (grub_term_output_class): Likewise.
26706 (grub_term_outputs_disabled): New declaration.
26707 (grub_term_inputs_disabled): Likewise.
26708 (grub_term_outputs): Likewise.
26709 (grub_term_inputs): Likewise.
26710 (grub_term_register_input): Rewritten.
26711 (grub_term_register_output): Likewise.
26712 (grub_term_unregister_input): Likewise.
26713 (grub_term_unregister_output): Likewise.
26714 (FOR_ACTIVE_TERM_INPUTS): New macro.
26715 (FOR_DISABLED_TERM_INPUTS): Likewise.
26716 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26717 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26718 * include/grub/terminfo.h: Add oterm argument to all protypes.
26719 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26720 Use grub_rescue_run.
26721 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26722 All users updated.
26723 * kern/reader.c: Removed. All users updated.
26724 * kern/rescue_reader.c (grub_rescue_init): Removed.
26725 (grub_rescue_reader): Likewise.
26726 (grub_register_rescue_reader): Likewise.
26727 (grub_rescue_run): New function based on kern/reader.c.
26728 * kern/term.c: Adapted for multiterm.
26729 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26730 (grub_is_valid_utf8): Likewise.
26731 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26732 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26733 right terminal.
26734 * loader/i386/linux.c (grub_linux_boot): Likewise.
26735 * normal/auth.c (grub_username_get): New function.
26736 (grub_auth_check_authentication): Use grub_username_get.
26737 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26738 * normal/color.c: Adapt for multiterm.
26739 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26740 (grub_normal_init_page): Additional argument term.
26741 (read_lists): Call read_terminal_lists.
26742 (grub_enter_normal_mode): Call grub_cmdline_run.
26743 Handle grub_normal_exit_level.
26744 (grub_cmd_normal): Make reentrant.
26745 (grub_cmd_normal_exit): New function.
26746 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26747 * normal/menu.c: Adapt for multiterm.
26748 * normal/menu_entry.c: Likewise.
26749 * normal/menu_text.c: Likewise.
26750 * normal/menu_viewer.c: Removed. All users updated.
26751 * normal/term.c: New file.
26752 * util/console.c: Change order of includes to workaround a bug in
26753 ncurses headers.
26754 * term/terminfo.c: New argument oterm on all exported functions.
26755 All users updated.
26756 * util/grub-editenv.c (grub_term_input_class): Removed.
26757 (grub_term_output_class): Likewise.
26758
1a064917
RM
267592010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26760
26761 Make loader output a bit more user-friendly.
26762
26763 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26764 is being loaded. Likewise for the Hurd.
26765
26766 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26767 that kernel of FreeBSD ${version} is being loaded.
26768
26769 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26770 grub_dprintf().
26771 (grub_cmd_initrd): Likewise.
26772 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26773 that Linux ${version} is being loaded. Likewise for initrd.
26774
5ce0a83a 267752010-01-09 Carles Pina i Estany <carles@pina.cat>
26776
26777 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26778
809bbfeb 267792010-01-08 Carles Pina i Estany <carles@pina.cat>
26780
26781 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26782 (GRUB_MOD_INIT): Gettextizze.
26783 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26784 (GRUB_MOD_INIT): Gettextizze.
26785 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26786 (grub_cmd_linux): Capitalise Linux.
26787 (GRUB_MOD_INIT): Gettextizze.
26788 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26789 (grub_cmd_linux): Capitalise Linux.
26790 (GRUB_MOD_INIT): Gettextizze.
26791 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26792 (grub_cmd_linux): Capitalise Linux.
26793 (GRUB_MOD_INIT): Gettextizze.
26794 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26795 (GRUB_MOD_INIT): Gettextizze.
26796 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26797 (grub_cmd_linux): Capitalise Linux.
26798 (GRUB_MOD_INIT): Gettextizze.
26799 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26800 (grub_cpu_xnu_init): Gettextizze.
26801 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26802 (GRUB_MOD_INIT): Gettextizze.
26803 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26804 (GRUB_MOD_INIT): Gettextizze.
26805 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26806 (grub_linux_load64): Capitalise Linux.
26807 (GRUB_MOD_INIT): Gettextizze.
26808 * loader/xnu.c: Include `<grub/i18n.h>'.
26809 (GRUB_MOD_INIT): Gettextizze.
26810 * po/POTFILES: Add `loader/efi/appleloader.c',
26811 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26812 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26813 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26814 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26815 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26816 and `loader/xnu.c'.
26817
b394b2ca
RM
268182010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26819
26820 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26821
268222010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26823
26824 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26825 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26826 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26827
bc8b32b3
RM
268282010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26829
26830 Reset Multiboot 2 support. New loader implements the draft in
26831 /branches/multiboot2 and shares as much code as possible with the
26832 production Multiboot 1 implementation.
26833
26834 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26835 * loader/multiboot2.c: Likewise.
26836 * loader/i386/multiboot_helper.S: Likewise.
26837 * include/multiboot2.h: Replace with latest version from the draft
26838 in /branches/multiboot2.
26839
26840 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26841 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26842 and `loader/multiboot2.c'.
26843 (pkglib_MODULES): Add `multiboot2.mod'.
26844 (multiboot2_mod_SOURCES): New variable.
26845 (multiboot2_mod_LDFLAGS): Likewise.
26846 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26847
26848 * conf/i386-pc.rmk: Likewise.
26849
26850 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26851 (multiboot_mod_SOURCES): Remove variable.
26852 (multiboot_mod_LDFLAGS): Likewise.
26853 (multiboot_mod_CFLAGS): Likewise.
26854
26855 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26856 `<multiboot2.h>' instead of `<multiboot.h>'.
26857 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26858 (MULTIBOOT_HEADER_MAGIC): New macros.
26859
26860 * loader/multiboot_loader.c (module_version_status): Remove variable.
26861 (find_multi_boot2_header): Remove function.
26862 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
26863 logic. Always check for the Multiboot version we're compiling for.
26864 (grub_cmd_module_loader): Likewise.
26865 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
26866 command instead of `multiboot'.
26867
5d2c52b8
RM
268682010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26869
26870 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
26871 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
26872 all users.
26873
53108d92
RM
268742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
268752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26876
26877 Fix breakage introduced with previous commit.
26878
26879 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
26880 commands.
26881 * normal/handler.c (read_handler_list): Revert part of previous commit
26882 affecting this file.
26883 * normal/main.c (read_lists): Move read_handler_list() call back to ...
26884 (grub_normal_execute): ... here.
26885
e2e936b2
RM
268862010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26887
26888 Merge prefix-redefinition-fix branch.
26889
26890 * normal/autofs.c (read_fs_list): Make function capable of being
26891 run multiple times, gracefuly replacing the previous data
26892 structures.
26893 * normal/dyncmd.c (read_command_list): Likewise.
26894 * normal/handler.c (read_handler_list): Likewise.
26895 * normal/main.c (read_lists): New function. Calls all the
26896 list reading functions.
26897 (grub_normal_execute): Use read_lists() instead of calling all
26898 list reading functions explicitly. Register read_lists() as a
26899 variable hook attached to ${prefix}.
26900
607a3701
VS
269012010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26902
26903 Merge crypto branch.
26904
26905 * Makefile.in (pkglib_DATA): Add crypto.lst.
26906 (crypto.lst): New target.
26907 * commands/hashsum.c: New file.
26908 * commands/password.c (check_password): Use grub_crypto_memcmp.
26909 * commands/password_pbkdf2.c: New file.
26910 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
26911 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
26912 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
26913 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
26914 -I$(srcdir)/lib/libgcrypt_wrap.
26915 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
26916 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
26917 password_pbkdf2.mod.
26918 (crypto_mod_SOURCES): New variable.
26919 (crypto_mod_CFLAGS): Likewise.
26920 (crypto_mod_LDFLAGS): Likewise.
26921 (hashsum_mod_SOURCES): New variable.
26922 (hashsum_mod_CFLAGS): Likewise.
26923 (hashsum_mod_LDFLAGS): Likewise.
26924 (pbkdf2_mod_SOURCES): New variable.
26925 (pbkdf2_mod_CFLAGS): Likewise.
26926 (pbkdf2_mod_LDFLAGS): Likewise.
26927 (password_pbkdf2_mod_SOURCES): New variable.
26928 (password_pbkdf2_mod_CFLAGS): Likewise.
26929 (password_pbkdf2_mod_LDFLAGS): Likewise.
26930 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
26931 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
26932 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
26933 Include conf/gcry.rmk.
26934 * include/grub/auth.h: Rewritten.
26935 * include/grub/crypto.h: New file.
26936 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
26937 * include/grub/normal.h (read_crypto_list): New prototype.
26938 * lib/crypto.c: New file.
26939 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26940 * lib/pbkdf2.c: Likewise.
26941 * normal/auth.c (grub_auth_strcmp): Removed.
26942 (grub_iswordseparator): Likewise.
26943 (grub_auth_strword): Likewise.
26944 (is_authenticated): Use grub_strword.
26945 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
26946 and grub_strword. Pass entered password to authentication callback.
26947 * normal/crypto.c: New file.
26948 * normal/main.c: Call read_crypto_list.
26949 * util/grub-mkpasswd-pbkdf2.c: New file.
26950 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
26951
42841caa
VS
269522010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
26953
26954 Fix descent and ascent calculation.
26955
26956 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
26957 (options): New option "asce".
26958 (usage): Likewise.
26959 (add_char): Ignore invalid glyphs for descent calculation.
26960 Calculate ascent from actual content.
26961 (print_glyphs): Use 'asce'.
26962 (write_font): Likewise. Allow ascent override.
26963 (main): Handle "asce" option.
26964
e7730de7 269652010-01-06 Carles Pina i Estany <carles@pina.cat>
26966
26967 * kern/err.c: Include `<grub/i18n.h>'.
26968 (grub_print_error): Add full stop. Gettextizze.
26969 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
26970 (grub_bsd_load_elf): Capitalise ELF.
26971 (grub_cmd_freebsd_loadenv): Add `s' in error string.
26972 (grub_cmd_freebsd_module): Likewise.
26973 (grub_cmd_freebsd_module_elf): Likewise.
26974 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
26975
40e3a41f 269762010-01-06 Carles Pina i Estany <carles@pina.cat>
26977
26978 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
26979 * commands/search_file.c (HELP_MESSAGE): New macro.
26980 * commands/search_label.c (HELP_MESSAGE): Likewise.
26981 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
26982 * po/POTFILES: Add `commands/search_file.c',
26983 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
26984 `commands/search.c'.
26985
83507e68
RM
269862010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26987
26988 * config.rpath: Update from Gnulib.
26989
465c787b
YB
269902010-01-05 Yves Blusseau <blusseau@zetam.org>
26991
26992 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
26993
6581dd3a
YB
269942010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
26995
26996 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
26997
3bff18c5
CW
269982010-01-05 Colin Watson <cjwatson@ubuntu.com>
26999
27000 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
27001 arguments to fread so that we get a return value in bytes, rather
27002 than something that will normally be rounded down to 0.
27003 Adjust error handling to avoid producing garbage when size_t is not
27004 the same size as long long.
27005
a1368118
CW
270062010-01-05 Colin Watson <cjwatson@ubuntu.com>
27007
27008 * util/mkisofs/write.c (padblock_write): Check return value of
27009 fread.
27010
7c302978
RM
270112010-01-05 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
27014 floppy images now.
27015
27016 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
27017
e33ace06
RM
270182010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27019
27020 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
27021 instead of manual alignment.
27022 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
27023 verbose). Avoid attempts to read past end of the device
27024 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
27025 but GRUB_DISK_CACHE_SIZE may exceed that).
27026
4b856776
RM
270272010-01-04 Robert Millan <rmh.grub@aybabtu.com>
27028
27029 * commands/crc.c (grub_cmd_crc): Abort on read errors.
27030 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
27031 it to upper layer.
27032
52c2d97f
VS
270332010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27034
27035 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
27036 New constant.
27037 (grub_efi_piwg_device_path): New structure
27038 (grub_efi_piwg_device_path_t): New type.
27039 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
27040 (devpath_1): Transform to a structure. All users updated.
27041 (devpath_2): Likewise.
27042 (devpath_3): Likewise.
27043 (devpath_4): Likewise.
27044 (devpath_5): Likewise.
27045
98ff6a54
VS
270462010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
27047
27048 * loader/efi/appleloader.c: Restored. Update all users.
27049
3a73dcb6
RM
270502010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27051
27052 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
27053
27054 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
27055 (struct boot_blocklist): Move from here ...
27056 * include/grub/i386/pc/boot.h [ASM_FILE]
27057 (struct grub_boot_blocklist): ... to here. Update all users.
27058 (setup): Only initialize `start' member of `first_block'
27059 structure. Add assert() calls to verify the other members.
27060
27061 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
27062 (generate_image): Fix broken blocklist length initialization.
27063 Add assert() call to verify blocklist `segment' field.
27064
ab0eeb0c
RM
270652010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27066
27067 * loader/efi/appleloader.c: Remove. Update all users.
27068
58bc8bd5
RM
270692010-01-03 Robert Millan <rmh.grub@aybabtu.com>
27070
27071 * boot/i386/pc/boot.S: Update copyright year.
27072 * boot/i386/pc/cdboot.S: Likewise.
27073 * boot/i386/pc/diskboot.S: Likewise.
27074 * boot/i386/pc/lnxboot.S: Likewise.
27075 * boot/i386/pc/pxeboot.S: Likewise.
27076 * bus/pci.c: Likewise.
27077 * commands/cmp.c: Likewise.
27078 * commands/help.c: Likewise.
27079 * commands/hexdump.c: Likewise.
27080 * commands/i386/pc/halt.c: Likewise.
27081 * commands/i386/pc/play.c: Likewise.
27082 * commands/i386/pc/vbeinfo.c: Likewise.
27083 * commands/ls.c: Likewise.
27084 * commands/test.c: Likewise.
27085 * disk/dmraid_nvidia.c: Likewise.
27086 * disk/i386/pc/biosdisk.c: Likewise.
27087 * disk/ieee1275/nand.c: Likewise.
27088 * disk/ieee1275/ofdisk.c: Likewise.
27089 * disk/lvm.c: Likewise.
27090 * disk/raid.c: Likewise.
27091 * disk/raid6_recover.c: Likewise.
27092 * disk/scsi.c: Likewise.
27093 * fs/affs.c: Likewise.
27094 * fs/cpio.c: Likewise.
27095 * fs/ext2.c: Likewise.
27096 * fs/hfs.c: Likewise.
27097 * fs/iso9660.c: Likewise.
27098 * fs/ntfs.c: Likewise.
27099 * fs/sfs.c: Likewise.
27100 * fs/udf.c: Likewise.
27101 * fs/ufs.c: Likewise.
27102 * fs/xfs.c: Likewise.
27103 * gencmdlist.sh: Likewise.
27104 * genmk.rb: Likewise.
27105 * include/grub/disk.h: Likewise.
27106 * include/grub/efi/api.h: Likewise.
27107 * include/grub/efi/efi.h: Likewise.
27108 * include/grub/efi/pe32.h: Likewise.
27109 * include/grub/elf.h: Likewise.
27110 * include/grub/fs.h: Likewise.
27111 * include/grub/i386/at_keyboard.h: Likewise.
27112 * include/grub/i386/pc/memory.h: Likewise.
27113 * include/grub/i386/pc/vbe.h: Likewise.
27114 * include/grub/i386/pci.h: Likewise.
27115 * include/grub/i386/tsc.h: Likewise.
27116 * include/grub/ieee1275/ieee1275.h: Likewise.
27117 * include/grub/ntfs.h: Likewise.
27118 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27119 * include/grub/sparc64/libgcc.h: Likewise.
27120 * include/grub/symbol.h: Likewise.
27121 * include/grub/types.h: Likewise.
27122 * include/multiboot2.h: Likewise.
27123 * io/gzio.c: Likewise.
27124 * kern/device.c: Likewise.
27125 * kern/disk.c: Likewise.
27126 * kern/efi/efi.c: Likewise.
27127 * kern/efi/mm.c: Likewise.
27128 * kern/elf.c: Likewise.
27129 * kern/file.c: Likewise.
27130 * kern/i386/dl.c: Likewise.
27131 * kern/i386/pc/init.c: Likewise.
27132 * kern/i386/pc/startup.S: Likewise.
27133 * kern/ieee1275/ieee1275.c: Likewise.
27134 * kern/ieee1275/init.c: Likewise.
27135 * kern/main.c: Likewise.
27136 * kern/mm.c: Likewise.
27137 * kern/powerpc/dl.c: Likewise.
27138 * kern/sparc64/dl.c: Likewise.
27139 * kern/x86_64/dl.c: Likewise.
27140 * lib/hexdump.c: Likewise.
27141 * loader/efi/appleloader.c: Likewise.
27142 * loader/i386/ieee1275/linux.c: Likewise.
27143 * loader/i386/pc/chainloader.c: Likewise.
27144 * loader/i386/pc/linux.c: Likewise.
27145 * loader/i386/pc/multiboot2.c: Likewise.
27146 * loader/ieee1275/multiboot2.c: Likewise.
27147 * loader/multiboot2.c: Likewise.
27148 * loader/multiboot_loader.c: Likewise.
27149 * loader/powerpc/ieee1275/linux.c: Likewise.
27150 * normal/completion.c: Likewise.
27151 * normal/menu_entry.c: Likewise.
27152 * partmap/apple.c: Likewise.
27153 * util/grub.d/10_hurd.in: Likewise.
27154 * util/hostfs.c: Likewise.
27155 * video/readers/png.c: Likewise.
27156
e2d70b5c
CW
271572010-01-03 Colin Watson <cjwatson@ubuntu.com>
27158
27159 * include/grub/misc.h (GNUC_PREREQ): New macro.
27160 (ATTRIBUTE_ERROR): New macro.
27161 * include/grub/list.h (grub_bad_type_cast_real): Use
27162 ATTRIBUTE_ERROR.
27163
a173283f 271642010-01-03 Carles Pina i Estany <carles@pina.cat>
27165
27166 * normal/menu_text.c (print_message): Change messages.
27167
7fa7ff74 271682010-01-03 Carles Pina i Estany <carles@pina.cat>
27169
27170 * normal/menu_entry.c (store_completion): Gettextizze.
27171
136d24f6 271722010-01-03 Carles Pina i Estany <carles@pina.cat>
27173
27174 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
27175
f936862e 271762010-01-03 Carles Pina i Estany <carles@pina.cat>
27177
27178 * po/POTFILES: Sort correctly.
27179
29c44ad1 271802010-01-03 Carles Pina i Estany <carles@pina.cat>
27181
27182 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
27183 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
27184 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
27185 full stop.
27186 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
27187 summary. Gettextizze the strings.
27188 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
27189 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
27190 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
27191 full stop.
27192 (GRUB_MOD_INIT): Remove command name from summary.
27193 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
27194 summary.
27195 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
27196 * term/i386/pc/serial.c (options): Add full stops.
27197 (GRUB_MOD_INIT): Remove command name from the summary.
27198
77a79592 271992010-01-03 Carles Pina i Estany <carles@pina.cat>
27200
27201 * commands/acpi.c: Gettextizze help strings and/or options. Include
27202 `grub/i18n.h' if needed.
27203 * commands/blocklist.c: Likewise.
27204 * commands/boot.c: Likewise.
27205 * commands/cat.c: Likewise.
27206 * commands/cmp.c: Likewise.
27207 * commands/configfile.c: Likewise.
27208 * commands/crc.c: Likewise.
27209 * commands/date.c: Likewise.
27210 * commands/echo.c: Likewise.
27211 * commands/efi/fixvideo.c: Likewise.
27212 * commands/efi/loadbios.c: Likewise.
27213 * commands/gptsync.c: Likewise.
27214 * commands/halt.c: Likewise.
27215 * commands/handler.c: Likewise.
27216 * commands/hdparm.c: Likewise.
27217 * commands/hexdump.c: Likewise.
27218 * commands/i386/cpuid.c: Likewise.
27219 * commands/i386/pc/drivemap.c: Likewise.
27220 * commands/i386/pc/halt.c: Likewise.
27221 * commands/i386/pc/pxecmd.c: Likewise.
27222 * commands/i386/pc/vbeinfo.c: Likewise.
27223 * commands/i386/pc/vbetest.c: Likewise.
27224 * commands/ieee1275/suspend.c: Likewise.
27225 * commands/keystatus.c: Likewise.
27226 * commands/loadenv.c: Likewise.
27227 * commands/ls.c: Likewise.
27228 * commands/lsmmap.c: Likewise.
27229 * commands/lspci.c: Likewise.
27230 * commands/memrw.c: Likewise.
27231 * commands/minicmd.c: Likewise.
27232 * commands/parttool.c: Likewise.
27233 * commands/password.c: Likewise.
27234 * commands/probe.c: Likewise.
27235 * commands/read.c: Likewise.
27236 * commands/reboot.c: Likewise.
27237 * commands/search.c: Likewise.
27238 * commands/sleep.c: Likewise.
27239 * commands/test.c: Likewise.
27240 * commands/true.c: Likewise.
27241 * commands/usbtest.c: Likewise.
27242 * commands/videotest.c: Likewise.
27243 * commands/xnu_uuid.c: Likewise.
27244 * disk/loopback.c: Likewise.
27245 * hello/hello.c: Likewise.
27246 * loader/i386/bsd.c: Likewise.
27247 * term/i386/pc/serial.c: Likewise.
27248 * po/POTFILES: Add new files.
27249
da8d5c53
CW
272502010-01-02 Colin Watson <cjwatson@ubuntu.com>
27251
27252 * term/i386/pc/at_keyboard.c
27253 (keyboard_controller_wait_untill_ready): Rename to ...
27254 (keyboard_controller_wait_until_ready): ... this. Update all users.
27255
33937904 272562010-01-01 Carles Pina i Estany <carles@pina.cat>
27257
27258 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27259 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27260 string using string width.
27261 * normal/menu_text.c (grub_print_message_indented): Use
27262 grub_print_spaces and not print_spaces.
27263 (print_timeout): Likewise.
27264 (print_spaces): Move to...
27265 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27266
3fd3b8d8
RM
272672010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27268
27269 Import from Gnulib.
27270
27271 * gnulib/getdelim.c: New file.
27272 * gnulib/getline.c: Likewise.
27273
33433555
VS
272742009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27275
27276 * include/grub/list.h (grub_assert_fail): Removed.
27277 (grub_bad_type_cast_real): New function.
27278 (grub_bad_type_cast): New macro.
27279 (GRUB_AS_LIST): Use grub_bad_type_cast.
27280 (GRUB_AS_LIST_P): Likewise.
e44721e8 27281 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27282 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27283 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27284 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27285 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27286
f5a51306
VS
272872009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27288
27289 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27290 Fix syntax error.
27291
90d1e879
RM
272922009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27293
27294 * configure.ac: Check for TARGET_CFLAGS initialization before we
27295 initialize it ourselves (sigh).
27296 Move a few modifications to TARGET_CFLAGS to be unconditional
27297 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27298 eh_frame)
27299
27300 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27301 * term/i386/pc/at_keyboard.c
27302 (keyboard_controller_wait_untill_ready): Likewise.
27303 (keyboard_controller_led): Rename `led_status' paramter to avoid
27304 name conflict.
27305
465b5a81 273062009-12-28 Carles Pina i Estany <carles@pina.cat>
27307
27308 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27309 quotes.
27310
c181849b
VS
273112009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27312
27313 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27314
9c8739a4
VS
273152009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27316
27317 * normal/menu_text.c (grub_print_message_indented): Prevent
27318 past-the-end-of-array dereference.
27319
3e74249c
VS
273202009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27323 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27324
64fd18ed 273252009-12-27 Carles Pina i Estany <carles@pina.cat>
27326
27327 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27328 * normal/main.c (grub_normal_read_line): Remove a space from the
27329 default prompt.
27330
714af9b9 273312009-12-27 Carles Pina i Estany <carles@pina.cat>
27332
27333 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27334 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27335 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27336 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27337 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27338 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27339 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27340
82f3e412 273412009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27342
27343 * video/readers/jpeg.c (cmd): Declare.
27344 (grub_cmd_jpegtest): Use `grub_command_t' type.
27345 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27346 Assign to `cmd'.
27347 (GRUB_MOD_FINI): Use `cmd' to unregister.
27348 * video/readers/png.c (cmd): Declare.
27349 (grub_cmd_pngtest): Use `grub_command_t' type.
27350 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27351 Assign to `cmd'.
27352 (GRUB_MOD_FINI): Use `cmd' to unregister.
27353 * video/readers/tga.c (cmd): Declare.
27354 (grub_cmd_tgatest): Use `grub_command_t' type.
27355 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27356 Assign to `cmd'.
27357 (GRUB_MOD_FINI): Use `cmd' to unregister.
27358
82f3e412 273592009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27360
27361 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27362 stops.
27363 * kern/corecmd.c (grub_register_core_commands): Likewise.
27364 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27365 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27366 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27367 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27368 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27369 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27370 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27371 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27372 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27373 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27374 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27375 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27376 * normal/handler.c (insert_handler): Likewise.
27377 * normal/main.c (GRUB_MOD_INIT): Likewise.
27378 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27379
fdcdbb66 273802009-12-26 Carles Pina i Estany <carles@pina.cat>
27381
27382 * commands/help.c (grub_cmd_help): Print the command name before the
27383 summary.
27384 (GRUB_MOD_INIT): Remove command name from the summary.
27385 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27386 string as summary.
fdcdbb66 27387 * lib/arg.c (find_long): Print the command name before the summary.
27388 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27389 summary.
27390 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27391 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27392 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27393 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27394 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27395 * commands/date.c (GRUB_MOD_INIT): Likewise.
27396 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27397 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27398 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27399 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27400 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27401 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27402 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27403 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27404 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27405 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27406 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27407 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27408 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27409 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27410 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27411 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27412 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27413 * commands/password.c (GRUB_MOD_INIT): Likewise.
27414 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27415 * commands/read.c (GRUB_MOD_INIT): Likewise.
27416 * commands/search.c (GRUB_MOD_INIT): Likewise.
27417 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27418 * commands/test.c (GRUB_MOD_INIT): Likewise.
27419 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27420 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27421 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27422 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27423 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27424 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27425 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27426 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27427 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27428 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27429 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27430 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27431 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27432 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27433
9c288be2
VS
274342009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27435
27436 Use search command for preliminar UUID search.
27437
27438 * commands/search.c: Split into ...
27439 * commands/search_wrap.c: ...this
27440 * commands/search.c: ...and this.
27441 * commands/search_file.c: New file.
27442 * commands/search_label.c: New file.
27443 * commands/search_uuid.c: New file.
27444 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27445 Add commands/search_wrap.c, commands/search_file.c,
27446 commands/search_label.c and commands/search_uuid.c.
27447 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27448 (search_mod_SOURCES): Set to commands/search_wrap.c.
27449 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27450 search_label.mod.
27451 (search_fs_file_mod_SOURCES): New variable.
27452 (search_fs_file_mod_CFLAGS): Likewise.
27453 (search_fs_file_mod_LDFLAGS): Likewise.
27454 (search_label_mod_SOURCES): Likewise.
27455 (search_label_mod_CFLAGS): Likewise.
27456 (search_label_mod_LDFLAGS): Likewise.
27457 (search_fs_uuid_mod_SOURCES): New variable.
27458 (search_fs_uuid_mod_CFLAGS): Likewise.
27459 (search_fs_uuid_mod_LDFLAGS): Likewise.
27460 (fs_file_mod_SOURCES): Removed.
27461 (fs_file_mod_CFLAGS): Likewise.
27462 (fs_file_mod_LDFLAGS): Likewise.
27463 (fs_uuid_mod_SOURCES): Removed.
27464 (fs_uuid_mod_CFLAGS): Likewise.
27465 (fs_uuid_mod_LDFLAGS): Likewise.
27466 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27467 Set to util/grub-install.in.
27468 * disk/fs_file.c: Removed.
27469 * disk/fs_uuid.c: Likewise.
27470 * include/grub/search.h: New file.
27471 * util/grub-install.in: Handle sparc64.
27472 Create and use load.cfg.
27473 * util/sparc64/ieee1275/grub-install.in: Removed.
27474
db943399
VS
274752009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27476
27477 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27478 Ignore return status if CF is cleared.
27479 (grub_biosdisk_get_diskinfo_standard): Likewise.
27480
3fdae612
RM
274812009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27482
27483 * term/i386/pc/at_keyboard.c
27484 (keyboard_controller_wait_untill_ready): New function.
27485 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27486 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27487 for keyboard polling, rather than duplicate the same loop. This
27488 saves a few bytes in code size.
27489
7ebaa2b4
VS
274902009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27491
27492 Support for (pxe[:server[:gateway]]) syntax and
27493 use environment variable for PXE.
27494
27495 * commands/i386/pc/pxecmd.c (options): Removed.
27496 (print_ip): Removed.
27497 (grub_cmd_pxe): Removed
27498 (grub_cmd_pxe_unload): New function.
27499 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27500 (grub_pxe_your_ip): Made static.
27501 (grub_pxe_default_server_ip): Likewise.
27502 (grub_pxe_default_gateway_ip): Likewise.
27503 (grub_pxe_blksize): Likewise.
27504 (parse_ip): New function.
27505 (grub_pxe_open): Support server and gateway specification.
27506 (grub_pxe_close): Free disk->data.
27507 (grub_pxefs_open): Use disk->data.
27508 (grub_pxefs_read): Likewise.
27509 (grub_env_write_readonly): New function.
27510 (set_mac_env): Likewise.
27511 (set_env_limn_ro): Likewise.
27512 (parse_dhcp_vendor): Likewise.
27513 (grub_pxe_detect): Set the environment variables.
27514 (set_ip_env): New function.
27515 (write_ip_env): Likewise.
27516 (grub_env_write_pxe_default_server): Likewise.
27517 (grub_env_write_pxe_default_gateway): Likewise.
27518 (grub_env_write_pxe_blocksize): Likewise.
27519 (GRUB_MOD_INIT(pxe)): Set environment variables.
27520 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27521 (grub_pxe_mac_addr_t): ... this. All users updated.
27522 (grub_pxe_your_ip): Removed.
27523 (grub_pxe_server_ip): Likewise.
27524 (grub_pxe_gateway_ip): Likewise.
27525 (grub_pxe_blksize): Likewise.
27526
ec5f98ab 275272009-12-25 Carles Pina i Estany <carles@pina.cat>
27528
27529 * commands/help.c: Include `<grub/i18n.h>'.
27530 (grub_cmd_help): Gettextizze.
27531 (GRUB_MOD_INIT): Likewise.
27532 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27533 (GRUB_MOD_INIT): Gettextizze.
27534 * commands/search.c: Include `<grub/i18n.h>'.
27535 (options): Gettextizze.
27536 (GRUB_MOD_INIT): Gettextizze.
27537 * lib/arg.c: Include `<grub/i18n.h>'.
27538 (help_options): Gettextizze.
27539 (find_long): Likewise.
27540 (grub_arg_show_help): Likewise.
27541 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27542 (read_command_list): Gettextizze.
27543 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27544 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27545
22815526
RM
275462009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27547
27548 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27549 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27550 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27551 (led_status): New variable.
27552 (keyboard_controller_led): New function.
27553 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27554 update led status for caps lock, num lock and scroll lock.
27555
0ad46fd7
FZ
275562009-12-25 Felix Zielcke <fzielcke@z-51.de>
27557
27558 * util/hostdisk.c (open_device): Fix a comment.
27559
d0e158c2
RM
275602009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27561
27562 * util/grub-install.in (host_os): New variable.
27563 * util/i386/efi/grub-install.in (host_os): Likewise.
27564
401c0ad6
RM
275652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27566
27567 * util/mkisofs/write.c (padblock_write): Abort when given an
27568 excedingly large embed image, instead of silently truncating it.
27569
d14d3370
RM
275702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27571
27572 * include/multiboot.h: Indentation fixes.
27573
eeed10b4
RM
275742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27575
27576 * include/multiboot.h (struct multiboot_aout_symbol_table)
27577 (struct multiboot_elf_section_header_table): New structure
27578 declarations (stolen from GRUB Legacy).
27579 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27580 table information.
27581
27582 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27583 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27584 type aliases.
27585
681c70ab
RM
275862009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27587
27588 * include/multiboot.h: Make comments src2texi-friendly.
27589
e4d47d8d
RM
275902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27591
27592 For consistency with [multiboot]/docs/boot.S.
27593
27594 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27595 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27596 (MULTIBOOT_MAGIC2): Rename from this ...
27597 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27598
a0b70bda
RM
275992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27600
27601 * include/multiboot.h: Remove `<grub/types.h>'.
27602 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27603 types. Update all users.
27604
61ba42be 276052009-12-25 Carles Pina i Estany <carles@pina.cat>
27606
27607 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27608 `couldn't' and `can not' by `cannot'.
27609 * commands/i386/pc/drivemap.c: Likewise.
27610 * disk/ata.c: Likewise.
27611 * disk/ieee1275/nand.c: Likewise.
27612 * fs/affs.c: Likewise.
27613 * fs/fat.c: Likewise.
27614 * fs/hfs.c: Likewise.
27615 * fs/hfsplus.c: Likewise.
27616 * fs/iso9660.c: Likewise.
27617 * fs/jfs.c: Likewise.
27618 * fs/minix.c: Likewise.
27619 * fs/reiserfs.c: Likewise.
27620 * fs/sfs.c: Likewise.
27621 * fs/udf.c: Likewise.
27622 * fs/ufs.c: Likewise.
27623 * fs/xfs.c: Likewise.
27624 * loader/powerpc/ieee1275/linux.c: Likewise.
27625 * loader/sparc64/ieee1275/linux.c: Likewise.
27626 * util/grub-probe.c: Likewise.
27627 * util/misc.c: Likewise.
27628
7fd0baee 276292009-12-24 Carles Pina i Estany <carles@pina.cat>
27630
27631 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27632 grub_errno calls.
27633 * commands/acpi.c: Likewise.
27634 * commands/blocklist.c: Likewise.
27635 * commands/efi/loadbios.c: Likewise.
27636 * commands/i386/pc/drivemap.c: Likewise.
27637 * commands/loadenv.c: Likewise.
27638 * commands/memrw.c: Likewise.
27639 * commands/password.c: Likewise.
27640 * commands/videotest.c: Likewise.
27641 * disk/ata.c: Likewise.
27642 * disk/ata_pthru.c: Likewise.
27643 * disk/dmraid_nvidia.c: Likewise.
27644 * disk/ieee1275/nand.c: Likewise.
27645 * disk/ieee1275/ofdisk.c: Likewise.
27646 * disk/loopback.c: Likewise.
27647 * disk/lvm.c: Likewise.
27648 * disk/mdraid_linux.c: Likewise.
27649 * disk/raid.c: Likewise.
27650 * disk/raid6_recover.c: Likewise.
27651 * disk/scsi.c: Likewise.
27652 * efiemu/main.c: Likewise.
27653 * efiemu/mm.c: Likewise.
27654 * efiemu/pnvram.c: Likewise.
27655 * efiemu/symbols.c: Likewise.
27656 * font/font.c: Likewise.
27657 * fs/cpio.c: Likewise.
27658 * fs/hfsplus.c: Likewise.
27659 * fs/iso9660.c: Likewise.
27660 * fs/jfs.c: Likewise.
27661 * fs/minix.c: Likewise.
27662 * fs/ntfs.c: Likewise.
27663 * fs/ntfscomp.c: Likewise.
27664 * fs/reiserfs.c: Likewise.
27665 * fs/ufs.c: Likewise.
27666 * fs/xfs.c: Likewise.
27667 * gettext/gettext.c: Likewise.
27668 * include/grub/auth.h: Likewise.
27669 * kern/elf.c: Likewise.
27670 * kern/file.c: Likewise.
27671 * kern/ieee1275/init.c: Likewise.
27672 * kern/ieee1275/mmap.c: Likewise.
27673 * kern/ieee1275/openfw.c: Likewise.
27674 * kern/powerpc/dl.c: Likewise.
27675 * kern/sparc64/dl.c: Likewise.
27676 * lib/arg.c: Likewise.
27677 * loader/i386/bsd.c: Likewise.
27678 * loader/i386/bsdXX.c: Likewise.
27679 * loader/i386/efi/linux.c: Likewise.
27680 * loader/i386/efi/xnu.c: Likewise.
27681 * loader/i386/ieee1275/linux.c: Likewise.
27682 * loader/i386/linux.c: Likewise.
27683 * loader/i386/multiboot.c: Likewise.
27684 * loader/i386/pc/linux.c: Likewise.
27685 * loader/i386/pc/multiboot2.c: Likewise.
27686 * loader/i386/xnu.c: Likewise.
27687 * loader/ieee1275/multiboot2.c: Likewise.
27688 * loader/macho.c: Likewise.
27689 * loader/machoXX.c: Likewise.
27690 * loader/multiboot2.c: Likewise.
27691 * loader/multiboot_loader.c: Likewise.
27692 * loader/powerpc/ieee1275/linux.c: Likewise.
27693 * loader/sparc64/ieee1275/linux.c: Likewise.
27694 * loader/xnu.c: Likewise.
27695 * loader/xnu_resume.c: Likewise.
27696 * mmap/i386/pc/mmap.c: Likewise.
27697 * normal/menu_viewer.c: Likewise.
27698 * partmap/acorn.c: Likewise.
27699 * partmap/amiga.c: Likewise.
27700 * partmap/apple.c: Likewise.
27701 * script/lexer.c: Likewise.
27702 * term/gfxterm.c: Likewise.
27703 * term/i386/pc/serial.c: Likewise.
27704 * term/i386/pc/vga.c: Likewise.
27705 * term/ieee1275/ofconsole.c: Likewise.
27706 * term/terminfo.c: Likewise.
27707 * video/bitmap.c: Likewise.
27708 * video/efi_gop.c: Likewise.
27709 * video/efi_uga.c: Likewise.
27710 * video/fb/video_fb.c: Likewise.
27711 * video/i386/pc/vbe.c: Likewise.
27712 * video/readers/tga.c: Likewise.
27713 * video/video.c: Likewise.
27714
0ad46fd7 277152009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27716
27717 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27718 * commands/lspci.c: Likewise.
27719 * commands/probe.c: Likewise.
27720 * commands/xnu_uuid.c: Likewise.
27721 * conf/i386-coreboot.rmk: Likewise.
27722 * conf/i386-efi.rmk: Likewise.
27723 * conf/i386-ieee1275.rmk: Likewise.
27724 * conf/i386-pc.rmk: Likewise.
27725 * conf/powerpc-ieee1275.rmk: Likewise.
27726 * conf/sparc64-ieee1275.rmk: Likewise.
27727 * conf/x86_64-efi.rmk: Likewise.
27728 * fs/i386/pc/pxe.c: Likewise.
27729 * gettext/gettext.c: Likewise.
27730 * include/grub/efi/graphics_output.h: Likewise.
27731 * include/grub/i386/pc/memory.h: Likewise.
27732 * kern/env.c: Likewise.
27733 * kern/i386/qemu/startup.S: Likewise.
27734 * lib/i386/pc/biosnum.c: Likewise.
27735 * lib/i386/relocator.c: Likewise.
27736 * lib/i386/relocator_asm.S: Likewise.
27737 * lib/relocator.c: Likewise.
27738 * loader/i386/bsd.c: Likewise.
27739 * loader/i386/multiboot.c: Likewise.
27740 * loader/i386/pc/chainloader.c: Likewise.
27741 * loader/i386/xnu.c: Likewise.
27742 * loader/xnu.c: Likewise.
27743 * normal/main.c: Likewise.
27744 * normal/menu_text.c: Likewise.
27745 * util/getroot.c: Likewise.
27746 * util/grub-mkconfig_lib.in: Likewise.
27747 * util/grub.d/00_header.in: Likewise.
27748 * util/i386/pc/grub-mkimage.c: Likewise.
27749 * util/mkisofs/eltorito.c: Likewise.
27750 * util/mkisofs/exclude.h: Likewise.
27751 * util/mkisofs/hash.c: Likewise.
27752 * util/mkisofs/iso9660.h: Likewise.
27753 * util/mkisofs/joliet.c: Likewise.
27754 * util/mkisofs/mkisofs.c: Likewise.
27755 * util/mkisofs/mkisofs.h: Likewise.
27756 * util/mkisofs/multi.c: Likewise.
27757 * util/mkisofs/name.c: Likewise.
27758 * util/mkisofs/rock.c: Likewise.
27759 * util/mkisofs/tree.c: Likewise.
27760 * util/mkisofs/write.c: Likewise.
27761 * video/efi_gop.c: Likewise.
27762
009ec743
VS
277632009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27764
27765 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27766 size counting.
27767
0ad46fd7 277682009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27769
27770 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27771 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27772
d3d30ea0
VS
277732009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27774
27775 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27776 (GRUB_MOD_INIT(memrw)): Update help line.
27777
a34f5c70
VS
277782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27779
27780 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27781 Use grub_extcmd_t. All users updated.
27782 (options): New variable.
27783 (grub_cmd_read): Restructure for readability. Support "-v" option.
27784 (grub_cmd_write): Restructure for readability.
27785
0ad46fd7 277862009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27787
27788 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27789
0ad46fd7 277902009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27791
27792 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27793 with the actual contents of the correspondending make variable.
27794 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27795 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27796 specifying `*.lst' and `efiemu??.o'
27797
0ad46fd7 277982009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27799
27800 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27801 after function name.
27802 Noticed by Rene Engelhard <rene@debian.org>.
27803
dc77a799
VS
278042009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27805
27806 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27807 (options): New variable.
27808 (iospace): Likewise.
27809 (grub_lspci_iter): List IO spaces if "-i" was given.
27810 (grub_cmd_lspci): Parse options.
27811 (GRUB_MOD_INIT(lspci)): Use extcmd.
27812 (GRUB_MOD_FINI(lspci)): Likewise.
27813
0ad46fd7 278142009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27815
27816 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27817 `function' keyword.
27818 Patch by Tony Mancill <tmancill@debian.org>.
27819
b5d5993b
VS
278202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27821
27822 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27823 (grub_uhci_portstatus): Likewise.
27824 (grub_uhci_portstatus): Add necessary delay.
11d18281 27825 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27826
941903f2 278272009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27828
941903f2 27829 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27830 (GRUB_MOD_INIT): Likewise.
27831 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27832 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27833 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27834 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27835 (enable_rom_area): Likewise.
27836 (GRUB_MOD_INIT): Likewise.
27837 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27838 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27839 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27840 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27841 * commands/hexdump.c (options): Likewise.
27842 * commands/i386/cpuid.c (options): Likewise.
27843 (GRUB_MOD_INIT): Likewise.
27844 * commands/i386/pc/drivemap.c (options): Likewise.
27845 (GRUB_MOD_INIT): Likewise.
27846 * commands/i386/pc/halt (options): Likewise.
27847 (GRUB_MOD_INIT): Likewise.
27848 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27849 * commands/i386/pc/pxecmd.c (options): Likewise.
27850 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27851 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27852 * commands/keystatus.c (options): Likewise.
27853 (GRUB_MOD_INIT): Likewise.
27854 * commands/loadenv.c (options): Likewise.
27855 * commands/ls.c (options): Likewise.
27856 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27857 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27858 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27859 * commands/parttool.c (helpmsg): Likewise.
27860 * commands/probe.c (options): Likewise.
27861 * commands/read.c (GRUB_MOD_INIT): Likewise.
27862 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
27863 * commands/search.c (options): Likewise.
27864 * commands/sleep.c (options): Likewise.
27865 * commands/test.c (GRUB_MOD_INIT): Likewise.
27866 * commands/true.c (GRUB_MOD_INIT): Likewise.
27867 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
27868 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
27869 * lib/arg.c (help_options): Likewise.
e9bbb4e7 27870 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
27871 `$(XGETTEXT)'.
98a50553 27872 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 27873
0ad46fd7 278742009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 27875
ef3c2c3a 27876 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
27877 instead of specifying them explicit.
27878
7922f68b
RM
278792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27880
27881 * NEWS: Add grub-probe support for GNU/Hurd.
27882
537ce47f
RM
278832009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27884
27885 * NEWS: gettext was added after 1.97.
27886
9b214e3a
RM
278872009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27888
27889 * util/mkisofs/msdos_partition.h: New file (based on
27890 include/grub/msdos_partition.h).
27891 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
27892 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
27893 (ld_options, main): Recognize --protective-msdos-label.
27894 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
27895 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
27896 (padblock_write): If `use_protective_msdos_label' is set, patch a
27897 protective DOS-style label in the output image.
27898
27899 * util/grub-mkrescue.in: Use --protective-msdos-label.
27900
e9309813
RM
279012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27902
27903 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
27904 boot.
27905
0ae56929
RM
279062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27907
27908 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
27909 variables.
27910 (ld_options, main): Recognize `--embedded-boot'.
27911 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
27912 declarations.
27913 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
27914 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
27915 (padblock_write): Likewise. Rewrite to support embedded boot image.
27916
27917 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
27918 for BIOS-based disk boot instead of only ElTorito.
27919
b15937b1
RM
279202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27921
27922 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
27923 build (not needed for bootstrap).
27924
52cc3ce0
RM
279252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27926
27927 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
27928 from i386-pc build (not needed for bootstrap).
27929 Rewrite a pair of strings.
27930
36f5ff04
RM
279312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27932
27933 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
27934
973c6c85 279352009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
27936
27937 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
27938
05d21547
AB
279392009-12-21 Andreas Born <futur.andy@googlemail.com>
27940
27941 * kern/env.c (grub_env_context_open): Mark exported variable for
27942 reexport.
27943
0175d51f
AB
279442009-12-21 Andreas Born <futur.andy@googlemail.com>
27945
27946 * kern/env.c (grub_env_export): Create nonexistent variables before
27947 exporting.
27948
7f39d92f 279492009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 27950
7f39d92f 27951 * include/grub/auth.h: Include `<grub/i18n.h>'.
27952 (GRUB_GET_PASSWORD): Gettextizze string.
27953 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
27954 menu_text.c.
27955 (grub_utf8_to_ucs4_alloc): Fix indentation.
27956 (grub_print_ucs4): Likewise.
27957 (grub_getstringwidth): Likewise.
27958 (print_message_indented): New declaration.
27959 * normal/auth.c: Include `<grub/i18n.h>'.
27960 (grub_auth_check_authentication): Gettexttize string.
27961 * normal/cmdline.c: Include `<grub/i18n.h>'.
27962 (grub_cmdline_get): Gettextizze.
27963 * normal/color.c: Include `<grub/i18n.h>'.
27964 (grub_parse_color_name_pair): Gettexttize strings.
27965 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
27966 string (use `print_message_indented').
27967 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
27968 `include/grub/normal.h'.
27969 (print_message_indented): Renamed to ...
27970 (grub_print_message_indented): ... this. Remove `static' qualifer (now
27971 used in normal/main.c).
27972 (print_message): Use `grub_print_message_indented' instead of
27973 `print_message_indented'.
27974 (print_timeout): Likewise.
27975 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
27976 (grub_normal_print_device_info): Gettexttize strings.
27977 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
27978
3041d898
VS
279792009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27980
27981 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
27982 of arguments. Return number of tokens and not arguments. All users
27983 updated.
27984
de15bf8e
VS
279852009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
27988 non-MSDOS paritions.
27989
e0a6ca52
VS
279902009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
27991
27992 * include/grub/types.h (UNUSED): Removed since it conflicts with
27993 NetBSD headers. All users changed to direct __attribute__ ((unused)).
27994 Reported by Grégoire Sutre.
27995
b99518d1 279962009-12-19 Carles Pina i Estany <carles@pina.cat>
27997
27998 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
27999 (grub_print_ucs4_alloc): Likewise.
28000 (grub_getstringwidth): Likewise.
28001 * normal/main.c (grub_normal_init_page): Gettextize version string.
28002 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
28003 (getstringwidth): Renamed to ...
28004 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
28005 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
28006 (grub_print_ucs4): Remove `static' qualifer (now used in
28007 normal/main.c).
28008 * po/POTFILES: Add normal/main.c.
28009
bfd5e52b 280102009-12-19 Carles Pina i Estany <carles@pina.cat>
28011
28012 * normal/menu_text.c (STANDARD_MARGIN): New macro.
28013 (print_message_indented): Add `margin_left' and `margin_right'
28014 parameters.
28015 (print_message): Update `print_message_indented' calls. Adds '\n' to the
28016 strings.
28017 (print_timeout): Use `print_message_indented' to print the message.
28018 Deletes `second_stage' parameter.
28019 (run_menu): Update `print_timeout' calls.
28020
5a1ad2b9
VS
280212009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28022
28023 Fix console palette on OpenFirmware.
28024
28025 * term/ieee1275/ofconsole.c (MAX): Removed.
28026 (colors): Redone based on VGA palette.
28027 (grub_ofconsole_setcolor): Discard brightness bit since only 8
28028 colors are supported.
28029 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
28030
b045f00a
VS
280312009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28032
28033 Fix potential EfiEmu double prepare.
28034
28035 * efiemu/main.c (prepared): New variable
28036 (grub_efiemu_unload): Set prepare to '0'.
28037 (grub_efiemu_prepare): Return if already prepared. Set prepared.
28038
28039 set_virtual_address_map support.
28040
28041 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
28042 prototype.
28043 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
28044 prototype.
28045 (grub_efiemu_crc32): Likewise.
28046 (grub_efiemu_crc64): Likewise.
28047 (grub_efiemu_set_virtual_address_map): Likewise.
28048 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
28049 New definition.
28050 (grub_autoefi_set_virtual_address_map): Likewise.
28051 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
28052 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
28053 Restructure flow to accomodate it.
28054 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
28055 (grub_efiemu_crc): Recompute CRC32.
28056 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
28057 (efiemu_ptv_relocated): ... this. Made global. All users updated.
28058 * efiemu/symbols.c (relocated_handle): New variable.
28059 (grub_efiemu_free_syms): Free relocated_handle.
28060 (grub_efiemu_alloc_syms): Allocate relocated_handle.
28061 (grub_efiemu_write_sym_markers): New function.
28062 (grub_efiemu_set_virtual_address_map): Likewise.
28063
28064 Newer XNU parameters.
28065
28066 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
28067 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
28068 (grub_xnu_fill_devicetree): New prototype.
28069 (grub_xnu_heap_real_start): New variable.
28070 * loader/xnu.c (get_name_ptr): New function.
28071 (grub_xnu_load_driver): Fill namelen and name.
28072
28073 64-bit xnu support.
28074
28075 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
28076 and 'loader/macho64.c'.
28077 * conf/i386-pc.rmk: Likewise.
28078 * conf/x86_64-efi.rmk: Likewise.
28079 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
28080 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
28081 * include/grub/macho.h (grub_macho_segment64): New structure.
28082 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
28083 (grub_macho_size32): ... to this.
28084 (grub_macho32_get_entry_point): Renamed from ...
28085 (grub_macho_get_entry_point32): ... to this.
28086 (grub_macho_contains_macho64): New prototype.
28087 (grub_macho_size64): Likewise.
28088 (grub_macho_get_entry_point64): Likewise.
28089 (grub_macho32_load): Renamed from ...
28090 (grub_macho_load32): ... to this.
28091 (grub_macho32_filesize): Renamed from ...
28092 (grub_macho_filesize32): ... to this.
28093 (grub_macho32_readfile): Renamed from ...
28094 (grub_macho_readfile32): ... to this.
28095 (grub_macho_filesize64): New prototype.
28096 (grub_macho_readfile64): Likewise.
28097 (grub_macho_parse32): Likewise.
28098 (grub_macho_parse64): Likewise.
28099 * loader/macho.c: Split into ...
28100 * loader/machoXX.c: ... and this. Replace 32 with XX.
28101 * loader/macho32.c: New file.
28102 * loader/macho64.c: Likewise.
28103 * loader/xnu.c (grub_xnu_is_64bit): New variable.
28104 (grub_cmd_xnu_kernel): Make 32-bit only.
28105 (grub_cmd_xnu_kernel64): New function.
28106 (grub_xnu_load_driver): Support Mach-O 64.
28107 (grub_cmd_xnu_mkext): Likewise.
28108 * util/grub.d/30_os-prober.in (osx_entry): New function.
28109 Generate entries for 64-bit boot too.
28110
28111 Eliminate ad-hoc tree format in XNU and EfiEmu.
28112
28113 * efiemu/main.c (grub_efiemu_prepare): Update comment.
28114 * efiemu/pnvram.c: Rewritten to use environment variables.
28115 All users updated.
28116
28117 Inline utf16_to_utf8.
28118
28119 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
28120 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
28121 All users updated.
28122 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
28123
28124 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
28125 * commands/usbtest.c (grub_usb_get_string): ... move here.
28126 (usb_print_str): Fix error handling.
28127 * include/grub/usb.h (grub_usb_get_string): Remove.
28128
28129 UTF-8 to UTF-16 transformation.
28130
28131 * conf/common.rmk (pkglib_MODULES): Add charset.mod
28132 (charset_mod_SOURCES): New variable.
28133 (charset_mod_CFLAGS): Likewise.
28134 (charset_mod_LDFLAGS): Likewise.
28135 * include/grub/utf.h: New file.
28136 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
28137
28138 Support for device properties.
28139
28140 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
28141 (grub_xnu_devprop_device_header): Likewise.
28142 (grub_xnu_devprop_device_descriptor): Likewise.
28143 (grub_xnu_devprop_add_device): New prototype.
28144 (grub_xnu_devprop_remove_device): Likewise.
28145 (grub_xnu_devprop_remove_property): Likewise.
28146 (grub_xnu_devprop_add_property_utf8): Likewise.
28147 (grub_xnu_devprop_add_property_utf16): Likewise.
28148 (grub_cpu_xnu_init): Likewise.
28149 (grub_cpu_xnu_fini): Likewise.
28150 (grub_cpu_xnu_unload): Likewise.
28151 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
28152 (property_descriptor): Likewise.
28153 (devices): New variable.
28154 (grub_xnu_devprop_remove_property): New function.
28155 (grub_xnu_devprop_add_device): Likewise.
28156 (grub_xnu_devprop_remove_device): Likewise.
28157 (grub_xnu_devprop_add_property): Likewise.
28158 (grub_xnu_devprop_add_property_utf8): Likewise.
28159 (grub_xnu_devprop_add_property_utf16): Likewise.
28160 (hextoval): Likewise.
28161 (grub_cpu_xnu_fill_devprop): Likewise.
28162 (grub_cmd_devprop_load): Likewise.
28163 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
28164 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
28165 (cmd_devprop_load): New variable.
28166 (grub_cpu_xnu_init): New function.
28167 (grub_cpu_xnu_fini): Likewise.
28168 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
28169 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
28170 (grub_cmd_xnu_devtree): Likewise.
28171 (hextoval): New function.
28172 (unescape): Likewise.
28173 (grub_xnu_fill_devicetree): Likewise.
28174
28175 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
28176 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
28177
0945f181
VS
281782009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 Workaround for broken ATI VBE.
28181
28182 * video/i386/pc/vbe.c (last_set_mode): New variable.
28183 (grub_vbe_set_video_mode): Set 'last_set_mode'.
28184 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
28185 (grub_video_vbe_setup): Don't check for reserved flag.
28186
0ad46fd7 281872009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
28188
28189 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
28190 the `find' command.
28191
c179ebe4
VS
281922009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
28193
28194 UUID support for HFS.
28195
28196 * fs/hfs.c (grub_hfs_uuid): New function.
28197 (grub_hfs_fs): New value .uuid.
28198 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
28199
0ad46fd7 282002009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
28201
28202 Fix a segfault with parsing unknown long options.
28203
28204 * util/grub-mkrelpath.c (options): Zero terminate it.
28205
c4a3e41a
CPE
282062009-12-13 Carles Pina i Estany <carles@pina.cat>
28207
28208 * include/grub/misc.h (grub_puts): New declaration.
28209 (grub_puts_): Likewise.
a22008a6 28210 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
28211 (grub_puts_): Likewise.
28212
2e8a7602
RM
282132009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28214
28215 * util/grub-probe.c (probe): Improve error message.
28216
b50b77b9
RM
282172009-12-13 Robert Millan <rmh.grub@aybabtu.com>
28218
28219 * loader/i386/multiboot_elfxx.c
28220 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
28221 initialization.
28222
282232009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28224
28225 Relocator framework
28226
28227 * loader/i386/xnu_helper.S: Removed. All users updated.
28228 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
28229 (relocator_mod_SOURCES): New variable.
28230 (relocator_mod_CFLAGS): Likewise.
28231 (relocator_mod_LDFLAGS): Likewise.
28232 (relocator_mod_ASFLAGS): Likewise.
28233 * conf/x86_64.rmk: Likewise.
28234 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
28235 (grub_multiboot_payload_entry_offset): Likewise.
28236 (grub_multiboot_forward_relocator): Likewise.
28237 (grub_multiboot_forward_relocator_end): Likewise.
28238 (grub_multiboot_backward_relocator): Likewise.
28239 (grub_multiboot_backward_relocator_end): Likewise.
28240 (grub_multiboot_payload_eip): New variable.
28241 (grub_multiboot_payload_orig): Likewise.
28242 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
28243 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
28244 * include/grub/i386/memory.h
28245 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
28246 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
28247 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
28248 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
28249 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
28250 * include/grub/i386/relocator.h: New file.
28251 * include/grub/x86_64/relocator.h: Likewise.
28252 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
28253 (XNU_RELOCATOR): New macro.
28254 (grub_xnu_launcher_start): Remove.
28255 (grub_xnu_launcher_end): Likewise.
28256 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28257 (grub_xnu_heap_real_start): Remove.
28258 (grub_xnu_heap_start): Change to void *. All users updated.
28259 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28260 * lib/i386/relocator.c: New file.
28261 * lib/i386/relocator_asm.S: Likewise.
28262 * lib/i386/relocator_backward.S: Likewise.
28263 * lib/mips/relocator.c: Likewise.
28264 * lib/mips/relocator_asm.S: Likewise.
28265 * lib/relocator.c: Likewise.
28266 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28267 (entry): Removed.
28268 (playground): Likewise.
28269 (grub_multiboot_payload_orig): New variable.
28270 (grub_multiboot_payload_dest): Likewise.
28271 (grub_multiboot_payload_size): Likewise.
28272 (grub_multiboot_payload_eip): Likewise.
28273 (grub_multiboot_payload_esp): Likewise.
28274 (grub_multiboot_boot): Use grub_relocator32_boot.
28275 (grub_multiboot_unload): Free relocators.
28276 (grub_multiboot): Setup stack. Use relocators.
28277 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28278 (grub_multiboot_load_elfXX): Use relocators.
28279 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28280 (grub_multiboot_payload_size): Likewise.
28281 (grub_multiboot_payload_dest): Likewise.
28282 (grub_multiboot_payload_entry_offset): Likewise.
28283 (grub_multiboot_forward_relocator): Likewise.
28284 (grub_multiboot_backward_relocator): Likewise.
28285 (grub_multiboot_real_boot): Likewise.
28286 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28287 (grub_xnu_entry_point): Likewise.
28288 (grub_xnu_arg1): Likewise.
28289 (grub_xnu_stack): Likewise.
28290 (grub_xnu_launch): Removed.
28291 (grub_xnu_boot_resume): New function.
28292 (grub_xnu_boot): Use relocators.
28293 * loader/i386/xnu_helper.S: Removed.
28294 * loader/xnu.c (grub_xnu_heap_start): New variable.
28295 (grub_xnu_heap_size): Likewise.
28296 (grub_xnu_heap_malloc): Use relocators.
28297 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28298
29eb90c6
VS
282992009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28300
28301 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28302 anything.
28303
31027430
CPE
283042009-12-13 Carles Pina i Estany <carles@pina.cat>
28305
28306 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28307 GRUB_ERR_NONE before calling grub_env_set.
28308
dc0c71d9
RM
283092009-12-12 Robert Millan <rmh@aybabtu.com>
28310
28311 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28312 * genmk.rb (video): New variable.
28313 (CLEANFILES, VIDEOFILES): Add #{video}.
28314 (#{video}): New target rule.
28315 * genvideolist.sh: New file.
28316 * Makefile.in (pkglib_DATA): Add video.lst.
28317 (video.lst): New target rule.
28318 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28319 `video.lst'.
28320 * util/grub.d/30_os-prober.in: Replace `vbe' with
28321 ${GRUB_VIDEO_BACKEND}.
28322
2a4bfcf0
RM
283232009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28324
28325 * THANKS: Add David Miller.
28326
2a3aa4d5
RM
283272009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28328
28329 libpciaccess support.
28330
28331 * Makefile.in (LIBPCIACCESS): New variable.
28332 (enable_grub_emu_pci): Likewise.
28333 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28334 util/pci.c and commands/lspci.c.
28335 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28336 * configure.ac (grub-emu-pci): New option.
28337 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28338 (grub_pci_device_unmap_range): Likewise.
28339 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28340 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28341 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28342 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28343 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28344 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28345 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28346 * include/grub/pciutils.h: New file.
28347 * util/pci.c: Likewise.
28348
0ad46fd7 283492009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28350
28351 * util/misc.c: Don't include <errno.h> twice.
28352
0ad46fd7 283532009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28354
28355 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28356 name in an error message.
28357 (grub_biosdisk_rw): Likewise.
28358
2e59983c
VS
283592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28360
28361 Eliminate NTFS 4Gib barrier.
28362
28363 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28364 (read_run_data): Likewise.
28365 (grub_ntfs_read_run_list): Likewise.
28366 (grub_ntfs_read_block): Likewise.
28367 (grub_ntfs_iterate_dir): Likewise.
28368 (read_mft): Likewise.
28369 (read_data): Likewise.
28370 Use COM_LOG_LEN.
28371 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28372 to avoid 64-bit division
28373 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28374 (grub_ntfs_rlst): Use grub_disk_addr_t.
28375
71ee178a
VS
283762009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28377
28378 Eliminate grub-fstest 4Gib barrier.
28379
28380 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28381 (read_file): Fix error reporting.
28382
2520d4b8
VS
283832009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28384
28385 Eliminate hexdump 4Gib barrier.
28386
28387 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28388 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28389
e1f27065
VS
283902009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28391
28392 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28393 Fixes amarsh bug.
28394
1a0f7f45
RM
283952009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28396
28397 Remove miscellaneous files in distclean target.
28398
28399 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28400
c631d9fb
CW
284012009-12-09 Colin Watson <cjwatson@ubuntu.com>
28402
28403 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28404 if they're already set. This resolves the conflict between my
28405 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28406 fixing the --grub-probe option again.
28407 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28408 change on 2009-10-06, so that we now once again source
28409 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28410
7c7b6106
RM
284112009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28412
28413 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28414 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28415 `util/devicemap.c'.
28416
e3069ec1
CPE
284172009-12-08 Carles Pina i Estany <carles@pina.cat>
28418
28419 * include/grub/misc.h (grub_printf_): New declaration.
28420 * kern/misc.c (grub_printf_): New definition.
28421 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28422 instead of `grub_printf' and `_'.
28423 * normal/menu_entry.c (store_completion): Likewise.
28424 (run): Likewise.
28425 (grub_menu_entry_run): Likewise.
28426 * normal/menu_text.c (grub_wait_after_message): Likewise.
28427 (notify_booting): Likewise.
28428 (notify_fallback): Likewise.
28429 (notify_execution_failure): Likewise.
28430
d6ceebf1
CW
284312009-12-07 Colin Watson <cjwatson@ubuntu.com>
28432
28433 * configure.ac: Check for vasprintf.
28434 * util/misc.c (asprintf): Move allocation from here ...
28435 (vasprintf): ... to here. New function.
28436 (xasprintf): New function.
28437 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28438 prototypes.
28439 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28440 * util/grub-mkfont.c (write_font): Likewise.
28441 * util/grub-probe.c (probe): Likewise.
28442 * util/hostdisk.c (make_device_name): Likewise.
28443
de6daa8b
DM
284442009-12-06 David S. Miller <davem@sunset.davemloft.net>
28445
28446 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28447 anything even prefixed with 'cdrom' as a cdrom.
28448
0ad46fd7 284492009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28450
28451 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28452 mount points.
28453
98d3dc02
CPE
284542009-12-05 Carles Pina i Estany <carles@pina.cat>
28455
28456 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28457 grub_gettext_msg_list.
28458 (grub_gettext_gettranslation_from_position): Return const char *
28459 and not char *.
a2c1332b 28460 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28461 returns from the list if existing there.
28462 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28463 (grub_gettext_delete_list): Delete the list.
28464 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28465 lang environment variable is changed.
28466 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28467
b283f108
VS
284682009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28469
28470 Rename kernel.mod to kernel.img.
28471
28472 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28473 (kernel_mod_EXPORTS): Rename to ...
28474 (kernel_img_EXPORTS): ... this.
28475 (kernel_mod_SOURCES): Rename to ...
28476 (kernel_img_SOURCES): ... this.
28477 (kernel_mod_HEADERS): Rename to ...
28478 (kernel_img_HEADERS): ... this. All users updated.
28479 (kernel_mod_CFLAGS): Rename to ...
28480 (kernel_img_CFLAGS): ... this.
28481 (kernel_mod_ASFLAGS): Rename to ...
28482 (kernel_img_ASFLAGS): ... this.
28483 (kernel_mod_LDFLAGS): Rename to ...
28484 (kernel_img_LDFLAGS): ... this.
28485 * conf/x86_64-efi.rmk: Likewise.
28486 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28487 (read_kernel_image): ... this. All users updated.
28488 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28489
69055f8a
CPE
284902009-12-05 Carles Pina i Estany <carles@pina.cat>
28491
28492 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28493 (print_spaces): New function.
28494 (grub_print_ucs4): New function.
28495 (getstringwidth): New function.
28496 (print_message_indented): New function.
28497 (print_message): Gettexttize strings using print_message_indented.
28498 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28499 width.
28500 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28501 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28502 Gettextize.
28503 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28504 string.
28505 (run): Likewise.
28506 (grub_menu_entry_run): Likewise.
28507 * PO/POTFILES: Add normal/menu_entry.c.
28508
f616f51c
VS
285092009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28510
28511 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28512
57bbe3be
CPE
285132009-12-05 Carles Pina i Estany <carles@pina.cat>
28514
28515 * util/grub-install.in: Install gettext .mo files.
28516 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28517
013d67a1
CPE
285182009-12-05 Carles Pina i Estany <carles@pina.cat>
28519
28520 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28521 grub_dprintf.
28522
fb954db0
RM
285232009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28526 non-firmware-dependant one in realmode.S takes precedence.
28527
6b8474f8
RM
285282009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28529
28530 * commands/halt.c: Replace misc arch-specific headers with
28531 `<grub/misc.h>'.
28532 * commands/reboot.c: Likewise.
28533 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28534 `<grub/misc.h>'.
28535 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28536 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28537 (kernel_img_SOURCES): ... to here.
28538
28539 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28540 * include/grub/i386/pc/init.h: Likewise.
28541 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28542 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28543
28544 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28545
28546 * include/grub/i386/halt.h: Remove.
28547 * include/grub/i386/reboot.h: Likewise.
28548
28549 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28550
4b2e6ca2
DM
285512009-12-03 David S. Miller <davem@sunset.davemloft.net>
28552
28553 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28554 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28555 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28556 "progname.h"
28557 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28558 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28559 (usage): Add missing comma in printf.
28560
5239348f
RM
285612009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28562
28563 Use the same reboot approach on i386 coreboot and qemu as we do on
28564 BIOS.
28565
28566 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28567 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28568 * kern/i386/reboot.c: Remove.
28569 * include/grub/i386/reboot.h (grub_reboot): Export function.
28570 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28571 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28572 0xf000:0xfff0 instead of 0xffff:0x0000.
28573 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28574 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28575
ef34cbd4
RM
285762009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28577
28578 Fix $srcdir != $objdir build.
28579
28580 * Makefile.in (po/%.po): Rewrite as ...
28581 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28582
dc9837ea
ST
285832009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28584
28585 Fix GNU/Hurd grub-install crash.
28586 * util/grub-probe.c (probe): Try to access `path' only when it is not
28587 NULL.
28588
2f857f98
VS
285892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28590
28591 Correct module naming.
28592
28593 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28594 (GRUB_MOD_INIT(efi_uga)): ... to this
28595 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28596 (GRUB_MOD_FINI(efi_uga)): ... to this
28597 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28598 (GRUB_MOD_INIT(efi_gop)): ... to this
28599 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28600 (GRUB_MOD_FINI(efi_gop)): ... to this
28601
c5448046
RM
286022009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28603
28604 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28605 translatable.
28606 (usage): Translate `arg' strings using gettext().
28607 Thanks to Jordi Mallach for the suggestion.
28608
c85184ad
VS
286092009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28610
28611 GOP support. Based on patch from Bean
28612 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28613
28614 * video/efi_gop.c: New file.
28615 * include/grub/efi/graphics_output.h: Likewise.
28616 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28617 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28618 variables.
28619 * conf/x86_64-efi.rmk: Likewise.
28620
8a4c48d8
VS
286212009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28622
28623 Rename efi_fb to efi_uga.
28624
28625 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28626 'efi_uga.mod'.
28627 (efi_fb_mod_SOURCES): Rename this ...
28628 (efi_uga_mod_SOURCES): ... to this.
28629 (efi_fb_mod_CFLAGS): Rename this ...
28630 (efi_uga_mod_CFLAGS): ... to this.
28631 (efi_fb_mod_LDFLAGS): Rename this ...
28632 (efi_uga_mod_LDFLAGS): ... to this.
28633 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28634 'efi_uga.mod'.
28635 (efi_fb_mod_SOURCES): Rename this ...
28636 (efi_uga_mod_SOURCES): ... to this.
28637 (efi_fb_mod_CFLAGS): Rename this ...
28638 (efi_uga_mod_CFLAGS): ... to this.
28639 (efi_fb_mod_LDFLAGS): Rename this ...
28640 (efi_uga_mod_LDFLAGS): ... to this.
28641 * video/efi_fb.c: Move this ...
28642 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28643
fb6c1a7b
RM
286442009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28645
28646 * po/README: New file. Explain our PO file workflow.
28647
3bc7896c
RM
286482009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28649
28650 * po/ChangeLog: Remove. Move relevant entries back to ...
28651 * ChangeLog: ... here.
28652 * po/ca.po: Remove (now handled by TLP).
28653 * po/id.po: Likewise.
28654 * po/zh_CN.po: Likewise.
28655 * Makefile.in (LINGUAS): Initialize in a way that supports
28656 empty set.
28657
9ed4841d
RM
286582009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28659
28660 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28661 reliing on po/LINGUAS.
28662 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28663 (po/%.po): ... this.
28664
0ad46fd7 286652009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28666
28667 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28668 (main): Use `program_name' instead of nonexistent `progname'.
28669
e30dd392
FZ
286702009-11-26 Felix Zielcke <fzielcke@z-51.de>
28671
28672 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28673 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28674
7656de4f
RM
286752009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28676
28677 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28678 commit.
28679 * conf/i386-efi.rmk: Likewise.
28680 * conf/i386-ieee1275.rmk: Likewise.
28681 * conf/powerpc-ieee1275.rmk: Likewise.
28682 * conf/sparc64-ieee1275.rmk: Likewise.
28683 * conf/x86_64-efi.rmk: Likewise.
28684
db77c4d4
FZ
286852009-11-26 Felix Zielcke <fzielcke@z-51.de>
28686
28687 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28688
a755bb04
FZ
286892009-11-26 Felix Zielcke <fzielcke@z-51.de>
28690
28691 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28692
8a4c07fd
RM
286932009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28694
28695 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28696 (grub_mkdevicemap_SOURCES): New variable.
28697 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28698 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28699 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28700 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28701 (grub_mkdevicemap_SOURCES): Remove.
28702 * conf/i386-efi.rmk: Likewise.
28703 * conf/i386-ieee1275.rmk: Likewise.
28704 * conf/i386-pc.rmk: Likewise.
28705 * conf/powerpc-ieee1275.rmk: Likewise.
28706 * conf/sparc64-ieee1275.rmk: Likewise.
28707 * conf/x86_64-efi.rmk: Likewise.
28708 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28709 (usage): Fix strings to use `program_name'.
28710 (main): Initialize gettext.
28711 * util/grub-editenv.c: Likewise.
28712 * util/grub-emu.c: Likewise.
28713 * util/grub-fstest.c: Likewise.
28714 * util/grub-mkdevicemap.c: Likewise.
28715 * util/grub-mkfont.c: Likewise.
28716 * util/grub-mkrelpath.c: Likewise.
28717 * util/grub-pe2elf.c: Likewise.
28718 * util/grub-probe.c: Likewise.
28719 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28720 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28721 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28722
28723 * util/misc.c: Include `"progname.h"'.
28724 (progname): Remove variable.
28725 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28726
6f61ed55
FZ
287272009-11-25 Felix Zielcke <fzielcke@z-51.de>
28728
28729 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28730 printf and print a newline after the menuentry header line.
28731 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28732
f022876b
FZ
287332009-11-25 Felix Zielcke <fzielcke@z-51.de>
28734
28735 autoconf >= 2.60 support $(localedir).
28736
28737 * INSTALL: Note that autoconf 2.60 is required.
28738 * configure.ac (AC_PREREQ): Bump to 2.60.
28739 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28740 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28741
6717926e
YB
287422009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28743
28744 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28745 aclocal is run.
28746
08806a54
RM
287472009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28748
28749 * normal/main.c (grub_normal_read_line): Fix off-by-one
28750 buffer overflow.
28751
13b33fba
RM
287522009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28753
28754 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28755 "parser.grub" in grub_command_execute() call.
28756
4a8572e9
CPE
287572009-11-24 Carles Pina i Estany <carles@pina.cat>
28758
28759 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28760 * conf/i386-efi.rmk: Likewise.
28761 * conf/i386-ieee1275.rmk: Likewise.
28762 * conf/i386-pc.rmk: Likewise.
28763 * conf/powerpc-ieee1275.rmk: Likewise.
28764 * conf/sparc64-ieee1275.rmk: Likewise.
28765 * conf/x86_64-efi.rmk: Likewise.
28766 * gettext/gettex.c: Include <grub/i18n.h>.
28767 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28768 here ...
28769 * include/grub/i18n.h: ... to here
28770 * include/grub/i18n.h: ... to here.
28771 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28772 (grub_gettext_dummy): Move above user.
4a8572e9 28773
bee48093
FZ
287742009-11-24 Felix Zielcke <fzielcke@z-51.de>
28775
28776 * util/Makefile.in (install-local): Convert a `for' into a normal
28777 shell expansion.
28778
a031e91c
RM
287792009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28780
28781 * autogen.sh: Add automake call.
28782 * config.guess: Remove.
28783 * config.sub: Likewise.
28784 * install-sh: Likewise.
28785
26bec39d
FZ
287862009-11-24 Felix Zielcke <fzielcke@z-51.de>
28787
28788 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28789
8e2532fd
FZ
287902009-11-24 Felix Zielcke <fzielcke@z-51.de>
28791
28792 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28793 function to a normal shell `for'.
28794
fefa1b7d
FZ
287952009-11-24 Felix Zielcke <fzielcke@z-51.de>
28796
28797 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28798
4501250b
FZ
287992009-11-24 Felix Zielcke <fzielcke@z-51.de>
28800
28801 * util/grub-mkrelpath.c: New file.
28802 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28803 (grub_mkrelpath_SOURCES): New variable.
28804 * include/grub/util/misc.h: New function prototype.
28805 * util/misc.c (make_system_path_relative_to_its_root): New function.
28806
28807 * util/grub-mkconfig_lib.in (bindir): New variable.
28808 (grub_mkrelpath): Likewise.
28809 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28810
28811 * util/probe.c (probe): Make the file path relative to its root.
28812 Change a info message to use the GRUB path. Enable again the
28813 check if we can read the file with GRUB facilities.
28814
28815 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28816 to its root.
28817
11d9778b
FZ
288182009-11-24 Felix Zielcke <fzielcke@z-51.de>
28819
28820 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28821 platform.
28822
4465287d
FZ
288232009-11-24 Felix Zielcke <fzielcke@z-51.de>
28824
28825 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28826 strncmp().
28827
62b47f22
FZ
288282009-11-24 Felix Zielcke <fzielcke@z-51.de>
28829
28830 * util/getroot.c (grub_util_is_dmraid): New function.
28831 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28832 devices as normal ones, not as LVM.
28833
1eafb9b9 288342009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28835
28836 * conf/common.rmk: Add grub-gettext_lib target and updates
28837 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28838 LDFLAGS.
28839 * gettext/gettext.c: New file. (Reads mo files).
28840 * include/grub/file.h (grub_file_pread): New prototype.
28841 * include/grub/i18n.h (_): New prototype.
28842 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28843 prototypes.
28844 * kern/misc.c (grub_gettext_dummy): New function.
28845 * normal/menu_text.c: Include <grub/i18n.h>.
28846 * normal/menu_text.c (print_timeout): Gettexttize string.
28847 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28848 * po/POTFILES: Add `normal/menu_text.c'.
28849 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28850 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28851 gettext module and defines locale_dir and lang in grub.cfg.
28852 * NEWS: Add gettext support.
28853
0fdb2568
RM
288542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28855
28856 * util/hostdisk.c: Include `<grub/i18n.h>'.
28857 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28858 (make_device_name): Rewrite using asprintf.
28859 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28860 (find_system_device): If a device is not found, generate one just
28861 by reusing the OS path name.
28862 (read_device_map): Make it permissible for device.map not to exist.
28863
f515aa62
RM
288642009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28865
28866 * script/sh/execute.c: Move from here ...
28867 * script/execute.c: ... to here. Update all users.
28868 * script/sh/function.c: Move from here ...
28869 * script/function.c: ... to here. Update all users.
28870 * script/sh/lexer.c: Move from here ...
28871 * script/lexer.c: ... to here. Update all users.
28872 * script/sh/main.c: Move from here ...
28873 * script/main.c: ... to here. Update all users.
28874 * script/sh/parser.y: Move from here ...
28875 * script/parser.y: ... to here. Update all users.
28876 * script/sh/script.c: Move from here ...
28877 * script/script.c: ... to here. Update all users.
28878
f84b481b
RM
288792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28880
28881 * configure.ac: Detect all `emu' platforms. Define
28882 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
28883 --enable-grub-emu logic. Disable include/grub/machine
28884 symlink on `emu' platforms.
28885
28886 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
28887 * gensymlist.sh.in: Likewise.
28888
28889 * include/grub/i386/coreboot/machine.h: Remove file.
28890 * include/grub/i386/efi/machine.h: Likewise.
28891 * include/grub/i386/ieee1275/machine.h: Likewise.
28892 * include/grub/i386/pc/machine.h: Likewise.
28893 * include/grub/i386/qemu/machine.h: Likewise.
28894 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28895 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28896 * include/grub/x86_64/efi/machine.h: Likewise.
28897
28898 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
28899 * commands/halt.c: Likewise.
28900 * commands/reboot.c: Likewise.
28901 * include/grub/autoefi.h: Likewise.
28902 * include/grub/i386/at_keyboard.h: Likewise.
28903 * include/grub/i386/kernel.h: Likewise.
28904 * include/grub/i386/loader.h: Likewise.
28905 * include/grub/i386/pc/memory.h: Likewise.
28906 * kern/dl.c: Likewise.
28907 * kern/i386/coreboot/init.c: Likewise.
28908 * loader/i386/bsd.c: Likewise.
28909 * loader/i386/linux.c: Likewise.
28910 * loader/multiboot_loader.c: Likewise.
28911 * term/i386/pc/serial.c: Likewise.
28912 * term/usb_keyboard.c: Likewise.
28913
28914 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
28915 `<grub/machine/machine.h>'
28916 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
28917 * util/misc.c: Remove `<grub/machine/machine.h>' and
28918 `<grub/machine/time.h>'.
28919
28920 * Makefile.in (enable_grub_emu): Remove variable.
28921 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
28922
28923 * conf/any-emu.rmk: New file.
28924 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
28925 (grub_emu_init.c): Move from here ...
28926 * conf/any-emu.rmk: ... to here.
28927
28928 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
28929 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
28930 * conf/any-emu.rmk: ... to here.
28931
4efeab03
RM
289322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28933
28934 * include/grub/parser.h (grub_parser_register): Document need
28935 of `name' parameter.
28936 * normal/main.c (grub_normal_read_line): Simplify prompt string.
28937 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
28938 "sh" to "grub".
28939
ea1dd8bf
RM
289402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28941
28942 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
28943 `$(XGETTEXT)'.
28944 * include/grub/i18n.h (N_): New macro.
28945 * util/mkisofs/mkisofs.h: Likewise.
28946 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
28947 around N_().
28948 (usage): Use gettext() to translate help strings when printing them.
28949
0c140626
RM
289502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28951
28952 Based on patch from Bean
28953 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28954
28955 * video/efi_fb.c: New file.
28956 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
28957 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28958 variables.
28959 * conf/x86_64-efi.rmk: Likewise.
28960
87d58298
RM
289612009-11-22 Robert Millan <rmh.grub@aybabtu.com>
28962
28963 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
28964 * util/i386/pc/grub-setup.c: Likewise.
28965
994cc3a3
ST
289662009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
28967
28968 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
28969 <hurd/fs.h>
28970 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
28971 file_get_storage_info to implement grub_guess_root_device.
28972
26a61d6a
FZ
289732009-11-21 Felix Zielcke <fzielcke@z-51.de>
28974
28975 * Makefile.in (target): Use make's builtin $(shell) function
28976 instead of calling directly $(SHELL) to create the locale directories,
28977 inside the $(foreach) function.
28978
74ff1dd5
FZ
289792009-11-21 Felix Zielcke <fzielcke@z-51.de>
28980
28981 * util/grub-mkrescue.in: Print an error and usage if output option
28982 has not been given.
28983
0b787d0e
FZ
289842009-11-21 Felix Zielcke <fzielcke@z-51.de>
28985
28986 Patch from Loïc Minier <loic.minier@ubuntu.com>.
28987 * util/grub.d/30_os-prober.in: Cope with Linux entries where
28988 root and /boot are on different devices.
28989
1164b270
RM
289902009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28991
28992 Fix build for srcdir != objdir.
28993
28994 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
28995 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
28996 $(srcdir).
28997 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
28998 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
28999 reference for input.
29000
13774a2f
RM
290012009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29002
29003 * util/grub-mkrescue.in: Use source directory direcly (without copiing
29004 or hardlinking it). Remove -J option, Joliet is not compatible with
29005 multiple source directories.
29006
efda854e
RM
290072009-11-21 Carles Pina i Estany <carles@pina.cat>
290082009-11-21 Robert Millan <rmh.grub@aybabtu.com>
29009
29010 * util/grub-mkrescue.in: Recognize `--override-directory' option.
29011 (process_input_dir): New function. Process an arbitrary input
29012 directory.
29013 Misc adjustments to support both "override mode" and system-wide mode.
29014
6c09890c
FZ
290152009-11-20 Felix Zielcke <fzielcke@z-51.de>
29016
29017 * configure.ac (UNIFONT_BDF): Rename to ...
29018 (FONT_SOURCE): ... this. Update all users.
29019
a797824f
FZ
290202009-11-20 Felix Zielcke <fzielcke@z-51.de>
29021
29022 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
29023 to the list of unifont files to look for.
29024
cd4f42b0
RM
290252009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29026
29027 Patch from Joe Auricchio <jauricchio@gmail.com>
29028 * commands/minicmd.c (grub_mini_cmd_clear): New function.
29029 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
29030 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
29031
393c783d
FZ
290322009-11-19 Felix Zielcke <fzielcke@z-51.de>
29033
29034 * Makefile.in (install-local): Add a missing backslash.
29035
b2f1e327
FZ
290362009-11-19 Felix Zielcke <fzielcke@z-51.de>
29037
29038 * include/grub/x86_64/io.h: New file.
29039
f577f7a0
RM
290402009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29041
29042 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
29043 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
29044 Include `"progname.h"'.
29045 (main): Initialize gettext.
29046 * util/i386/pc/grub-setup.c: Gettexttize.
29047 * util/i386/pc/grub-mkimage.c: Likewise.
29048
29049 * Makefile.in (po/*.po): Redefine as ...
29050 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
29051
3bc7896c
RM
29052 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
29053
c37943b6
RM
290542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
29055
29056 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
29057 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
29058 (program_name): Remove.
29059 (main): Initialize gettext support.
6323f705
RM
29060 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
29061 Include `<libintl.h>'.
29062 (_): New macro.
c37943b6
RM
29063
29064 * util/mkisofs/eltorito.c: Gettexttize.
29065 * util/mkisofs/joliet.c: Likewise.
29066 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
29067 * util/mkisofs/multi.c: Likewise.
29068 * util/mkisofs/rock.c: Likewise.
29069 * util/mkisofs/tree.c: Likewise.
29070 * util/mkisofs/write.c: Likewise.
29071
3bc7896c
RM
29072 * po/POTFILES: Update with new files.
29073
5ce77c6e
RM
290742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29075
29076 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
29077 * util/mkisofs/iso9660.h: Likewise.
29078 * util/mkisofs/joliet.c: Likewise.
29079 * util/mkisofs/mkisofs.c: Likewise.
29080 * util/mkisofs/mkisofs.h: Likewise.
29081 * util/mkisofs/rock.c: Likewise.
29082 * util/mkisofs/tree.c: Likewise.
29083 * util/mkisofs/write.c: Likewise.
29084
29085 * util/mkisofs/eltorito.c (rcsid): Remove.
29086 * util/mkisofs/hash.c: Likewise.
29087 * util/mkisofs/joliet.c: Likewise.
29088 * util/mkisofs/name.c: Likewise.
29089 * util/mkisofs/rock.c: Likewise.
29090 * util/mkisofs/tree.c: Likewise.
29091 * util/mkisofs/write.c: Likewise.
29092
1dabbc77
RM
290932009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29094
29095 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
29096 instead of static allocation.
29097 * util/mkisofs/match.h: Likewise.
29098
633877cb
RM
290992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29100
3bc7896c
RM
29101 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
29102 and `util/grub.d/10_linux.in'.
633877cb
RM
29103 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
29104 translatable Shell files.
29105
af1c0c85
RM
291062009-11-18 Robert Millan <rmh.grub@aybabtu.com>
29107
29108 * Makefile.in ($(srcdir)/aclocal.m4): New target.
29109
769ae37b
RM
291102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29111
29112 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 29113 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
29114 * util/grub.d/10_kfreebsd.in (bindir): New variable.
29115 Add gettext initialization.
29116 (kfreebsd_entry): Make menuentry output translatable.
29117
291182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29119
29120 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
29121 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
29122 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
29123 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
29124 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 29125 * po/LINGUAS: New file.
769ae37b
RM
29126
291272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29128
29129 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
29130 other things).
29131 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
29132 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
29133 bindtextdomain() calls for gettext initialization.
29134
291352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29136
29137 * gnulib/progname.c: New file (imported from Gnulib).
29138 * gnulib/progname.h: Likewise.
29139 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29140 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
29141 (usage): Replace `progname' with `program_name'.
29142 (main): Use set_program_name() for program name initialization.
29143
291442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29145
29146 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
29147 from here ...
29148 * Makefile.in (CPPFLAGS): ... to here.
29149
291502009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29151
29152 * aclocal.m4: Move from here ...
29153 * acinclude.m4: ... to here.
29154 * autogen.sh: Add call to `aclocal'.
29155 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
29156
291572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29158
29159 * Makefile.in (CLEANFILES): Add `po/*.mo'.
29160 (LINGUAS): New variable.
29161 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
29162 (install-local): Install MO files.
29163 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
29164 * include/grub/i18n.h: New file.
3bc7896c
RM
29165 * po/POTFILES: New file.
29166 * po/ca.po: New file.
769ae37b
RM
29167 * util/grub.d/10_linux.in (bindir): New variable.
29168 Add gettext initialization.
29169 (linux_entry): Make menuentry output translatable.
29170 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
29171 (usage): Make --help output translatable.
29172 (main): Initialize gettext.
29173
02c0a6ad
RM
291742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29175
29176 * import_gcry.py: New file (written by Vladimir with minor
29177 adjustments).
29178 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
29179 ciphers.
29180 * INSTALL: Document that Python is required for bootstrap.
29181
291822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
29183
29184 Import ciphers from libgcrypt 1.4.4.
29185
29186 * lib/libgcrypt/cipher/ChangeLog
29187 * lib/libgcrypt/cipher/ac.c
29188 * lib/libgcrypt/cipher/arcfour.c
29189 * lib/libgcrypt/cipher/bithelp.h
29190 * lib/libgcrypt/cipher/blowfish.c
29191 * lib/libgcrypt/cipher/camellia-glue.c
29192 * lib/libgcrypt/cipher/camellia.c
29193 * lib/libgcrypt/cipher/camellia.h
29194 * lib/libgcrypt/cipher/cast5.c
29195 * lib/libgcrypt/cipher/cipher.c
29196 * lib/libgcrypt/cipher/crc.c
29197 * lib/libgcrypt/cipher/des.c
29198 * lib/libgcrypt/cipher/dsa.c
29199 * lib/libgcrypt/cipher/ecc.c
29200 * lib/libgcrypt/cipher/elgamal.c
29201 * lib/libgcrypt/cipher/hash-common.c
29202 * lib/libgcrypt/cipher/hash-common.h
29203 * lib/libgcrypt/cipher/hmac-tests.c
29204 * lib/libgcrypt/cipher/md.c
29205 * lib/libgcrypt/cipher/md4.c
29206 * lib/libgcrypt/cipher/md5.c
29207 * lib/libgcrypt/cipher/primegen.c
29208 * lib/libgcrypt/cipher/pubkey.c
29209 * lib/libgcrypt/cipher/rfc2268.c
29210 * lib/libgcrypt/cipher/rijndael-tables.h
29211 * lib/libgcrypt/cipher/rijndael.c
29212 * lib/libgcrypt/cipher/rmd.h
29213 * lib/libgcrypt/cipher/rmd160.c
29214 * lib/libgcrypt/cipher/rsa.c
29215 * lib/libgcrypt/cipher/seed.c
29216 * lib/libgcrypt/cipher/serpent.c
29217 * lib/libgcrypt/cipher/sha1.c
29218 * lib/libgcrypt/cipher/sha256.c
29219 * lib/libgcrypt/cipher/sha512.c
29220 * lib/libgcrypt/cipher/tiger.c
29221 * lib/libgcrypt/cipher/twofish.c
29222 * lib/libgcrypt/cipher/whirlpool.c
29223
af2f93ac
RM
292242009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29225
29226 Fix build for systems without error().
29227
29228 * gnulib/error.c: New file (imported from Gnulib).
29229 * gnulib/error.h: Likewise.
29230 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
29231 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
29232 (this variable is now used by error()).
29233
73fb3dd5
FZ
292342009-11-16 Felix Zielcke <fzielcke@z-51.de>
29235
814f5e96
FZ
29236 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
29237 instead of relying that char is signed.
73fb3dd5 29238
a691ca33
VS
292392009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
29240
29241 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
29242 blocksize different from specified.
29243 (grub_pxefs_read): Likewise.
29244
2af8f0f4
FZ
292452009-11-16 Felix Zielcke <fzielcke@z-51.de>
29246
29247 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
29248
29249 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
29250 (grub_ata_readwrite): Likewise. Update 2 format strings.
29251 (grub_atapi_read): Likewise.
29252
29253 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
29254 * conf/i386.rmk (pkglib_MODULES): ... to here ...
29255 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29256 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29257 (ata_mod_LDFLAGS): Move from here ...
29258 * conf/i386.rmk: ... to here ...
29259 * conf/x86_64-efi.rmk: ... and here.
29260 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29261 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29262
83bdecaf
RM
292632009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29264
29265 Relicense multiboot.h, with RMS' blessing.
29266
29267 * include/multiboot.h: Change to X11 license.
29268
fd6fd3d7
RM
292692009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29270
29271 Support --version in grub-mkisofs.
29272
29273 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29274 (OPTION_VERSION): New macro.
29275 (ld_options): Recognize --version.
29276 (usage): Move `program_name' from here ...
29277 (program_name): ... to here. Add `static' qualifier.
29278 (main): Recognize `OPTION_VERSION'.
29279
16a88c49
FZ
292802009-11-15 Felix Zielcke <fzielcke@z-51.de>
29281
29282 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29283 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29284
a4158476
RM
292852009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29286
29287 Fix help2man generation for mkisofs.
29288
29289 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29290 (usage): Send output to stdout (rather than stderr).
29291
fc2208b0
RM
292922009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29293
29294 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29295 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29296 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29297 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29298 (bin_SCRIPTS): Add `grub-mkfloppy'.
29299 (grub_mkfloppy_SOURCES): New variable.
29300
29301 * util/grub-mkrescue.in: New file.
29302 * util/i386/pc/grub-mkfloppy.in: New file.
29303
29304 * util/i386/coreboot/grub-mkrescue.in: Remove.
29305 * util/i386/pc/grub-mkrescue.in: Remove.
29306
8d0edf4a
RM
293072009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29308
29309 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29310 from here ...
29311 * include/multiboot.h (struct multiboot_header): ... to here. Update
29312 all users.
29313 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29314 from here ...
29315 * include/multiboot.h (struct multiboot_info): ... to here. Update
29316 all users.
29317 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29318 from here ...
29319 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29320 Update all users.
29321 * include/grub/multiboot.h (struct grub_mod_list): Move
29322 from here ...
29323 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29324 Update all users.
29325
a73f5969
RM
293262009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29327
29328 * include/multiboot2.h (multiboot_word): Rename from this ...
29329 (multiboot2_word): ... to this. Update all users.
29330 (multiboot_header): Rename from this ...
29331 (multiboot2_header): ... to this. Update all users.
29332 (multiboot_tag_header): Rename from this ...
29333 (multiboot2_tag_header): ... to this. Update all users.
29334 (multiboot_tag_start): Rename from this ...
29335 (multiboot2_tag_start): ... to this. Update all users.
29336 (multiboot_tag_name): Rename from this ...
29337 (multiboot2_tag_name): ... to this. Update all users.
29338 (multiboot_tag_module): Rename from this ...
29339 (multiboot2_tag_module): ... to this. Update all users.
29340 (multiboot_tag_memory): Rename from this ...
29341 (multiboot2_tag_memory): ... to this. Update all users.
29342 (multiboot_tag_unused): Rename from this ...
29343 (multiboot2_tag_unused): ... to this. Update all users.
29344 (multiboot_tag_end): Rename from this ...
29345 (multiboot2_tag_end): ... to this. Update all users.
29346
1c8927f0
RM
293472009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29348
29349 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29350 this platform we should support Multiboot1 first.
29351
29352 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29353 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29354 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29355
6e1e0d89
RM
293562009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29357
29358 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29359 of write calls (converting them to fwrite() if they aren't already).
29360 (get_torito_desc): Likewise.
29361 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29362
7f2b34d8
RM
293632009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29364
29365 * util/i386/pc/grub-install.in: Move from here ...
29366 * util/grub-install.in: ... to here. Update all users.
29367
c0ef3311
CW
293682009-11-11 Colin Watson <cjwatson@ubuntu.com>
29369
29370 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29371
e1f240ff
RM
293722009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29373
29374 Support for El Torito without floppy emulation.
29375
29376 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29377 (init_boot_catalog): Improve error handling.
29378 (get_torito_desc): Don't use floppy emulation unless requested by
29379 user. Patch boot information table when requested via
29380 `-boot-info-table'.
29381 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29382 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29383 (use_boot_info_table): New variables.
29384 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29385 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29386 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29387 `--eltorito-emul-floppy'.
29388 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29389 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29390 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29391 (use_boot_info_table, get_731): New prototypes.
29392 * util/mkisofs/write.c (get_731): New function.
29393
af7d4de5
FZ
293942009-11-11 Felix Zielcke <fzielcke@z-51.de>
29395
29396 Fix the generation of the man page.
29397
29398 * util/pc/i386/grub-install.in: Source
29399 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29400
2c55dbc0
RM
294012009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29402
29403 Large file support for grub-mkisofs.
29404
29405 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29406 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29407 (session_start): Upgrade type to `uint64_t'. Update all users.
29408 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29409 (struct directory_entry): Upgrade type of `starting_block' and
29410 `size' to `uint64_t'. Update all users.
29411 (struct deferred): Remove unused structure.
29412 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29413 Update all users.
29414 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29415 file is larger than `UINT32_MAX'.
29416 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29417 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29418 return value.
29419 (struct deferred_write): Upgrade type of `extent' and `size' to
29420 `uint64_t'. Update all users.
29421 (last_extent_written): Upgrade type to `uint64_t'. Update all
29422 users.
29423 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29424 Update all users. Upgrade type of `remain' to `int64_t' and
29425 `use' to `size_t'. Use error() to handle fread() errors.
29426 (write_files): Rely on write_one_file() rather than calling
29427 xfwrite() directly.
29428
6a9cead5
FZ
294292009-11-09 Felix Zielcke <fzielcke@z-51.de>
29430
29431 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29432
4825d790
RM
294332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29434
29435 * util/mkisofs/fnmatch.c: Remove.
29436 * util/mkisofs/getopt1.c: Likewise.
29437 * util/mkisofs/getopt.c: Likewise.
29438 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29439 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29440 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29441 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29442 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29443
29444 * configure.ac: Detect `mingw32msvc' host_os.
29445 Check for lstat(), getuid() and getgid().
29446
29447 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29448 instances of `u_char' with `uint8_t'.
29449
29450 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29451 [!HAVE_GETUID] (getuid): New function (stub).
29452 [!HAVE_GETGID] (getgid): Likewise.
29453 [!HAVE_LSTAT] (lstat): Likewise.
29454 [!S_IROTH] (S_IROTH): New macro (dummy).
29455 [!S_IRGRP] (S_IRGRP): Likewise.
29456
84b860d8
RM
294572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29458
29459 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29460 conditional expression).
29461
66e9b712
RM
294622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29463
29464 Import from Gnulib.
29465
29466 * gnulib/fnmatch.c: New file.
29467 * gnulib/fnmatch.h: Likewise.
29468 * gnulib/fnmatch_loop.c: Likewise.
29469 * gnulib/getopt.c: Likewise.
29470 * gnulib/getopt.h: Likewise.
29471 * gnulib/getopt1.c: Likewise.
29472 * gnulib/getopt_int.h: Likewise.
29473 * gnulib/gettext.h: Likewise.
29474
34f4a5b0
RM
294752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29476
29477 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29478 * normal/handler.c (read_handler_list): Likewise.
29479
ac451143
RM
294802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 Misc cleanup.
29483
29484 * kern/command.c (grub_register_command_prio): Use
29485 grub_zalloc() instead of explicitly zeroing data.
29486 * kern/list.c: Include `<grub/mm.h>'.
29487 (grub_named_list_find): Replace `0' with `NULL'.
29488 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29489 (fs_module_list): Change type to `grub_named_list_t'. Update all
29490 users.
29491 * normal/dyncmd.c (read_command_list): Add space between function
29492 call and parenthesis.
29493 * normal/handler.c (read_handler_list): Likewise.
29494
4089b167
RM
294952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29496
29497 * normal/auth.c (punishment_delay): Moved from here ...
29498 (grub_auth_strcmp): ... to here (inside function).
29499
325f5037
RM
295002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29501
29502 * include/grub/list.h (struct grub_named_list): Remove `const'
29503 qualifier from `name'.
29504 (struct grub_prio_list): Likewise.
29505
7aea29a3
RM
295062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29507
29508 * normal/auth.c: Include `<grub/time.h>'.
29509 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29510
3fd6f044
RM
295112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29512
29513 * normal/auth.c (punishment_delay): New variable.
29514 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29515 (grub_auth_check_authentication): Punish failed login attempts with
29516 an incremental (2^N) delay.
29517
a4cd68e4
RM
295182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29519
29520 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29521 path with $(srcdir).
29522
7ad12f43
VS
295232009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29524
29525 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29526
c1129f03
RM
295272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29528
29529 * util/i386/coreboot/grub-mkrescue.in: New file.
29530 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29531 variables.
29532
29533 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29534 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29535 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29536 requirements.
29537 * util/mkisofs/defaults.h: New file.
29538 * util/mkisofs/eltorito.c: Likewise.
29539 * util/mkisofs/exclude.h: Likewise.
29540 * util/mkisofs/fnmatch.c: Likewise.
29541 * util/mkisofs/getopt.c: Likewise.
29542 * util/mkisofs/getopt1.c: Likewise.
29543 * util/mkisofs/hash.c: Likewise.
29544 * util/mkisofs/include/fctldefs.h: Likewise.
29545 * util/mkisofs/include/mconfig.h: Likewise.
29546 * util/mkisofs/include/prototyp.h: Likewise.
29547 * util/mkisofs/include/statdefs.h: Likewise.
29548 * util/mkisofs/iso9660.h: Likewise.
29549 * util/mkisofs/joliet.c: Likewise.
29550 * util/mkisofs/match.c: Likewise.
29551 * util/mkisofs/match.h: Likewise.
29552 * util/mkisofs/mkisofs.c: Likewise.
29553 * util/mkisofs/mkisofs.h: Likewise.
29554 * util/mkisofs/multi.c: Likewise.
29555 * util/mkisofs/name.c: Likewise.
29556 * util/mkisofs/rock.c: Likewise.
29557 * util/mkisofs/tree.c: Likewise.
29558 * util/mkisofs/write.c: Likewise.
29559
ec8bb77d
VS
295602009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29561
29562 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29563 being insecure.
29564
3716b12c
RM
295652009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29566
29567 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29568 `grub-mkimage' (and use $0 when possible).
29569
b97b7b91
RM
295702009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29571
29572 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29573 error message for excessively large memory map.
29574
04114812
RM
295752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29576
29577 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29578 executable bit.
29579
e4eb2373
RM
295802009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29581
29582 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29583 message for coreboot users.
29584
c926e1d5 295852009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29586
29587 Fix build with GNU gold.
29588
29589 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29590 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29591 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29592 link addresses.
29593 * aclocal.m4: Likewise.
29594
86e5b1db 295952009-11-04 Felix Zielcke <fzielcke@z-51.de>
29596
29597 * configure.ac (AC_PREREQ): Bump to 2.59d.
29598 * INSTALL: Make it more clear when Autoconf and Ruby are
29599 needed and when to run `./autogen.sh'.
29600
246cd78f 296012009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29602
29603 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29604 OSes.
29605
4f9dfb37 296062009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29607
29608 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29609
b82bd5e1 296102009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29611
29612 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29613 giving it to GNU Mach.
29614
ff1a9bca 296152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29616
29617 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29618 GNU partition number to get internal GRUB partition number.
29619
61697d9c 296202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29621
29622 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29623 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29624
a50569e1 296252009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29626
29627 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29628 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29629 case.
29630
5b153867 296312009-11-01 Felix Zielcke <fzielcke@z-51.de>
29632
29633 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29634
d9e2cd70 296352009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29636
29637 Fix build problem.
29638
29639 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29640 `-isystem=$(srcdir)/include'.
29641
805111a4 296422009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29643
29644 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29645 checked (grub-install doesn't currently rely on it).
29646
fa6e945f 296472009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29648
29649 Revert SVN r2660.
29650
29651 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29652 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29653 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29654 * conf/i386-ieee1275.rmk: Likewise.
29655 * conf/i386-pc.rmk: Likewise.
29656 * conf/powerpc-ieee1275.rmk: Likewise.
29657 * conf/sparc64-ieee1275.rmk: Likewise.
29658 * conf/x86_64-efi.rmk: Likewise.
29659
cee15086 296602009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29661
29662 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29663
95b9239e 296642009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29665
29666 * include/grub/misc.h: Stop checking for APPLE_CC.
29667
2ed19dfd 296682009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29669
29670 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29671 doesn't cause an infinite call loop.
29672
fdcdde19 296732009-10-28 Felix Zielcke <fzielcke@z-51.de>
29674
29675 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29676 strings.
29677
cefabfe1 296782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29679
29680 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29681 variable.
29682 * Makefile.in: Likewise.
29683
ed96ab6d 296842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29685
29686 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29687
0579b753 296882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29689
29690 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29691
478df409 296922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29693
29694 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29695
083d1679 296962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29697
29698 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29699 from here ...
29700 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29701
5947ae32 297022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29703
29704 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29705 in $(MAKEINFO) invocation. This makes it clear in output that
29706 errors are being ignored.
29707
94180ff6 297082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29709
29710 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29711 from here ...
29712 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29713 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29714 * conf/i386-ieee1275.rmk: Likewise.
29715 * conf/i386-pc.rmk: Likewise.
29716 * conf/powerpc-ieee1275.rmk: Likewise.
29717 * conf/sparc64-ieee1275.rmk: Likewise.
29718 * conf/x86_64-efi.rmk: Likewise.
29719
9031b03a 297202009-10-26 Colin Watson <cjwatson@ubuntu.com>
29721
29722 * util/grub-editenv.c (main): If only a command is given, use
29723 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29724 (usage): FILENAME is now optional and has a default.
29725
e4f6809b 297262009-10-26 Colin Watson <cjwatson@ubuntu.com>
29727
29728 Improve grub-mkconfig performance when there are several menu
29729 entries on a single filesystem.
29730
29731 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29732 prepare_grub_to_access_device.
29733 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29734 * util/grub.d/30_os-prober.in: Likewise.
29735
67937d4d 297362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29737
29738 * util/grub.d/10_freebsd.in: Remove.
29739 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29740 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29741
ee3756cc 297422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29743
5c35048e 29744 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29745
4dea1c6f 297462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29747
29748 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29749 grub_util_error() call.
29750
042484d7 297512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29752
29753 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29754 `reserved_first_sector' member.
29755 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29756 `reserved_first_sector' to 1.
29757 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29758 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29759 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29760 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29761 filesystems which begin at first sector.
29762 (options): New option --skip-fs-probe.
29763 (main): Handle --skip-fs-probe and pass it to setup().
29764
d64448a7 297652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29766
29767 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29768 (memset): Fix function prototype.
29769
508d42ec 297702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
297712009-10-25 Vasily Averin <vvs@parallels.com>
29772
29773 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29774 `dirent.direntlen == 0'.
29775
b240e30c 297762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29777
29778 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29779 `cpio'.
29780 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29781
346e7fbe 297822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29783
29784 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29785 `__trampoline_setup' and `__ucmpdi2'.
29786 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29787 that libgcc provides.
29788
cdb308b0 297892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29790
29791 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29792 * include/grub/sparc64/libgcc.h (memset): Likewise.
29793 * include/grub/misc.h (memset, memcmp): New function prototypes.
29794
fb26abc2 297952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29796
29797 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29798 `cpio'.
29799 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29800
f6693890 298012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29802
29803 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29804 * docs/grub.cfg: Compensate for recent change in multiboot
29805 loader (since 2009-08-14 it won't pass filename to payload).
29806 * util/grub.d/10_hurd.in: Likewise.
29807
0933cdc0 298082009-10-21 Felix Zielcke <fzielcke@z-51.de>
29809
29810 * config.guess: Update to latest version from config git
29811 repository.
29812 * config.sub: Likewise.
29813
3b2fe8c2 298142009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29815
29816 Fix build on sparc64.
29817
29818 * configure.ac: Perform checks for libgcc symbols before
29819 adding `-nostdlib' to LDFLAGS.
29820
46695a62 298212009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29822
29823 Let user specify OpenBSD root device.
29824
29825 * loader/i386/bsd.c (openbsd_root): New variable.
29826 (openbsd_opts): New option 'root'.
29827 (OPENBSD_ROOT_ARG): New macro.
29828 (grub_openbsd_boot): Use 'openbsd_root'.
29829 (grub_cmd_openbsd): Fill 'openbsd_root'.
29830
d2b6b7fc 298312009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29832
29833 * NEWS: Misc adjustments.
29834
421bd7ac 298352009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29836
29837 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29838
f1d29d87 298392009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29840
29841 * configure.ac: Bump version to 1.97.
29842
6f3cd880 298432009-10-16 Colin Watson <cjwatson@ubuntu.com>
29844
29845 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29846 -mno-3dnow on x86 architectures. Some toolchains enable these
29847 features by default, but they rely on registers that aren't enabled
29848 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29849
035f7122 298502009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29851
29852 Make entry text a bit more readable.
29853
29854 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29855
44998e58 298562009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29857
29858 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29859
cd2851b3 298602009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29861
29862 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
29863 operations.
29864
c6f3b249 298652009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29866
29867 * configure.ac: Add missing dollar.
29868
6b5886ba 298692009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29870
29871 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
29872
29873 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
29874 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
29875 exports.
29876 * include/grub/sparc64/libgcc.h: Likewise. Use
29877 preprocessor conditionals.
29878
e9d66f6d 298792009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29880
29881 * conf/common.rmk (grub-dumpbios): Remove rule.
29882 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
29883 * util/grub-dumpbios.in: Remove file.
29884
9155bc17 298852009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29886
29887 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
29888 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
29889
29890 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
29891 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
29892 users.
29893
29894 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
29895 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
29896 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
29897 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
29898 users.
29899
bf7f7a18 299002009-10-12 Robert Millan <rmh.grub@aybabtu.com>
29901
29902 * term/tparm.c: Switch to GPLv3.
29903
86564c26 299042009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29905
29906 * include/grub/i386/cpuid.h: Add header protection.
29907
5c936493 299082009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29909
29910 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
29911
29912 * include/grub/i386/cpuid.h: New file.
29913 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
29914 (has_longmode): Rename to ...
29915 (grub_cpuid_has_longmode): ... this. Update all users. Remove
29916 `static' attribute.
29917 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
29918 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
29919 on a CPU that doesn't implement AMD64 instruction set.
29920
186e7cf2 299212009-10-06 Colin Watson <cjwatson@ubuntu.com>
29922
29923 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
29924 that version.texi is rebuilt on version number changes.
29925
83b65c4a 299262009-10-06 Colin Watson <cjwatson@ubuntu.com>
29927
29928 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
29929 Fixes bug #27602.
29930
d244281c 299312009-10-06 Colin Watson <cjwatson@ubuntu.com>
29932
29933 * util/i386/pc/grub-install.in: Source
29934 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
29935 that the --grub-probe option will work.
29936 * util/sparc64/ieee1275/grub-install.in: Likewise.
29937
da25306d 299382009-10-05 Robert Millan <rmh.grub@aybabtu.com>
29939
29940 * configure.ac: Bump version to 1.97~beta4.
29941
e8ee83c0 299422009-10-03 Robert Millan <rmh.grub@aybabtu.com>
29943
29944 Resync grub-mkdevicemap in x86_64-efi.
29945
29946 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
29947 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
29948 `util/devicemap.c'.
29949
50dcabcf 299502009-10-01 Colin Watson <cjwatson@ubuntu.com>
29951
29952 * util/grub-editenv.c (create_envblk_file): Write new block with a
29953 .new suffix and then rename it into place, to ensure atomic
29954 creation.
29955
0e51c3a7 299562009-09-28 Robert Millan <rmh.grub@aybabtu.com>
29957
29958 Do not automatically install headers.
29959
29960 * Makefile.in (include_DATA): Remove. Update all users.
29961
31299a95 299622009-09-26 Robert Millan <rmh.grub@aybabtu.com>
29963
29964 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
29965 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
29966
29967 * util/osdetect.lua: Remove.
29968 * script/lua/lauxlib.c: Likewise.
29969 * script/lua/ldebug.c: Likewise.
29970 * script/lua/grub_main.c: Likewise.
29971 * script/lua/lauxlib.h: Likewise.
29972 * script/lua/ldebug.h: Likewise.
29973 * script/lua/ltablib.c: Likewise.
29974 * script/lua/liolib.c: Likewise.
29975 * script/lua/lstrlib.c: Likewise.
29976 * script/lua/lualib.h: Likewise.
29977 * script/lua/ldo.c: Likewise.
29978 * script/lua/ldump.c: Likewise.
29979 * script/lua/ldo.h: Likewise.
29980 * script/lua/loslib.c: Likewise.
29981 * script/lua/lundump.c: Likewise.
29982 * script/lua/grub_lib.c: Likewise.
29983 * script/lua/ldblib.c: Likewise.
29984 * script/lua/lundump.h: Likewise.
29985 * script/lua/lmem.c: Likewise.
29986 * script/lua/grub_lib.h: Likewise.
29987 * script/lua/lmathlib.c: Likewise.
29988 * script/lua/lstate.c: Likewise.
29989 * script/lua/ltm.c: Likewise.
29990 * script/lua/lvm.c: Likewise.
29991 * script/lua/lmem.h: Likewise.
29992 * script/lua/lstate.h: Likewise.
29993 * script/lua/ltm.h: Likewise.
29994 * script/lua/ltable.c: Likewise.
29995 * script/lua/lvm.h: Likewise.
29996 * script/lua/llex.c: Likewise.
29997 * script/lua/lgc.c: Likewise.
29998 * script/lua/grub_lua.h: Likewise.
29999 * script/lua/loadlib.c: Likewise.
30000 * script/lua/lfunc.c: Likewise.
30001 * script/lua/lopcodes.c: Likewise.
30002 * script/lua/lparser.c: Likewise.
30003 * script/lua/ltable.h: Likewise.
30004 * script/lua/llex.h: Likewise.
30005 * script/lua/lgc.h: Likewise.
30006 * script/lua/lfunc.h: Likewise.
30007 * script/lua/lbaselib.c: Likewise.
30008 * script/lua/lopcodes.h: Likewise.
30009 * script/lua/lparser.h: Likewise.
30010 * script/lua/lzio.c: Likewise.
30011 * script/lua/linit.c: Likewise.
30012 * script/lua/lobject.c: Likewise.
30013 * script/lua/llimits.h: Likewise.
30014 * script/lua/lstring.c: Likewise.
30015 * script/lua/lzio.h: Likewise.
30016 * script/lua/lapi.c: Likewise.
30017 * script/lua/lcode.c: Likewise.
30018 * script/lua/lua.h: Likewise.
30019 * script/lua/lobject.h: Likewise.
30020 * script/lua/lstring.h: Likewise.
30021 * script/lua/lapi.h: Likewise.
30022 * script/lua/lcode.h: Likewise.
30023 * script/lua/luaconf.h: Likewise.
30024
cb8a2c38 300252009-09-26 Colin Watson <cjwatson@ubuntu.com>
30026
30027 * docs/grub.texi (Command-line and menu entry commands): Document
30028 date and echo commands.
30029
6b9b6276 300302009-09-24 Pavel Roskin <proski@gnu.org>
30031
30032 * include/grub/kernel.h (struct grub_module_header): Remove
30033 `grub_module_header_types'. Make `type' unsigned. Make `size'
30034 32-bit on all platforms.
30035 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
30036 8-bit field. Use grub_host_to_target32() for `size'.
30037 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
30038 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
30039 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
30040
4e5a02a7 300412009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30042
30043 Fix "lost keypress" bug in at_keyboard.
30044
30045 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
30046 Checks for readyness of input buffer (without flushing it).
30047 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
30048 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
30049
c6dcedf6 300502009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30051
30052 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
30053 size check within GRUB_MACHINE_PCBIOS section.
30054
74c958b1 300552009-09-24 Robert Millan <rmh.grub@aybabtu.com>
30056
30057 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
30058 return value.
30059 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
30060 KEYBOARD_ISREADY check.
30061 (grub_at_keyboard_checkkey): Rename to ...
30062 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
30063 Remove gratuitous cast.
30064
ff420223 300652009-09-23 Colin Watson <cjwatson@ubuntu.com>
30066
30067 * configure.ac: Call AC_PROG_MKDIR_P.
30068 * Makefile.in (docs/stamp-vti): Create docs directory. Create
30069 version.texi in $(builddir) rather than $(srcdir).
30070 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
30071 to makeinfo's @include search path.
30072
d96875df 300732009-09-23 Felix Zielcke <fzielcke@z-51.de>
30074
30075 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
30076
9b3f8365 300772009-09-23 Felix Zielcke <fzielcke@z-51.de>
30078
30079 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
30080 for `*.dpkg-new'.
30081
c44c90db 300822009-09-21 Colin Watson <cjwatson@ubuntu.com>
30083
30084 Build info documentation. Some code borrowed from Automake.
30085
30086 * configure.ac: Check for makeinfo.
30087 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
30088 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
30089 docs/version.texi.
30090 (MOSTLYCLEANFILES): Add vti.tmp.
30091 (docs/version.texi, docs/stamp-vti): Update automatically.
30092 (docs/grub.info): Build info documentation. Use --force and ignore
30093 errors for now.
30094 (all-local): Add $(INFOS).
30095 (install-local): Install info files.
30096 (uninstall): Uninstall info files.
30097 * docs/version.texi: Remove from revision control. This file is
30098 automatically generated on build now.
30099 * gendistlist.sh: Add `*.info'.
30100
e0b37bb5 301012009-09-21 Felix Zielcke <fzielcke@z-51.de>
30102
30103 * kern/term.c: Fix indentation.
30104
5a78865b 301052009-09-21 Felix Zielcke <fzielcke@z-51.de>
30106
30107 * util/hostdisk.c: Fix a comment.
30108
dace7e8a 301092009-09-20 Robert Millan <rmh.grub@aybabtu.com>
30110
30111 Fix regression introduced in r2539.
30112
30113 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
30114 to 0xA1.
30115
a83d079b 301162009-09-19 Colin Watson <cjwatson@ubuntu.com>
30117
30118 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 30119 os-prober. Under normal operation, it does not print anything to
30120 stderr; if it does, we need to debug it, and throwing away stderr
30121 makes that excessively difficult.
a83d079b 30122
be94a509 301232009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
30124
30125 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
30126
63f745e8 301272009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30128
30129 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
30130 AC_LANG_PROGRAM from autoconf.
30131 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
30132 prototypes (fixes warning).
30133
30134 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
30135 `--disable-werror' was used.
30136
bbb2a70f 301372009-09-16 Robert Millan <rmh.grub@aybabtu.com>
30138
30139 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
30140 uninitialized `lastaddr'.
30141
77c24f1d 301422009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
30143
0f0b8c87 30144 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 30145
07197f23 301462009-09-14 Colin Watson <cjwatson@ubuntu.com>
30147
30148 * commands/test.c (get_fileinfo): Return immediately if
30149 grub_fs_probe fails.
30150
dabf1798 301512009-09-14 José Martínez <xosemp@gmail.com>
30152
30153 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
30154
d52109a7 301552009-09-14 Colin Watson <cjwatson@ubuntu.com>
30156
30157 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
30158 output.
30159
56532179 301602009-09-13 Robert Millan <rmh.grub@aybabtu.com>
30161
30162 * configure.ac: Remove --enable-grub-pe2elf. Only build
30163 grub-pe2elf when needed by the build system itself.
30164 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
30165
8ef070f5 301662009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30167
30168 * configure.ac: Bump version to 1.97~beta3.
30169 * docs/version.texi: Likewise.
30170
61229557 301712009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30172
30173 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
30174 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
30175 from here ...
30176 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
30177 (grub_linux_setup_video): ... to here (with some adjustments).
30178
5c9f8d84 301792009-09-12 Robert Millan <rmh.grub@aybabtu.com>
30180
30181 Fix memory corruption issue (spotted by Colin Watson).
30182
30183 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
30184 causing returned size to be stored in an incorrect memory location.
30185 Fix use of uninitialized value when storing the returned size.
30186
e8f5d6e9 301872009-09-12 Yves Blusseau <blusseau@zetam.org>
30188
30189 Change clean rules to properly remove files
30190
30191 * genmk.rb: add new clean rules
30192 * Makefile.in (clean): add the new targets
30193 (mostlyclean): likewise
30194
cda2a409 301952009-09-11 Colin Watson <cjwatson@ubuntu.com>
30196
30197 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
30198 to grub_uint64_t.
30199 * fs/ntfs.c (init_file): Understand 64-bit sizes for
30200 non-resident files.
30201
86695375 302022009-09-11 Colin Watson <cjwatson@ubuntu.com>
30203
30204 * configure.ac: Don't look for help2man when cross-compiling. Fixes
30205 part of bug #27349.
30206
8aa1541a 302072009-09-10 Felix Zielcke <fzielcke@z-51.de>
30208
30209 * util/grub-mkconfig.in: Make the created config mode 400 and
30210 print a warning if it fails.
30211
48d9bb0a 302122009-09-10 Robert Millan <rmh.grub@aybabtu.com>
30213
30214 * util/grub.d/40_custom.in: Ask user to type custom entries below
30215 comment, rather than below 'exec tail' line.
30216
3b0521be 302172009-09-10 Colin Watson <cjwatson@ubuntu.com>
30218
30219 * util/grub.d/40_custom.in: Make sure that the explanatory text is
30220 visible in grub.cfg.
30221
50051d55 302222009-09-10 Colin Watson <cjwatson@ubuntu.com>
30223
30224 * util/grub.d/40_custom.in: Make it a little clearer how to use this
30225 file.
30226
c0d34387 302272009-09-10 Felix Zielcke <fzielcke@z-51.de>
30228
30229 * docs/grub.cfg: Add an example menu entry for memtest86+.
30230
80a608f3 302312009-09-09 Felix Zielcke <fzielcke@z-51.de>
30232
a2094832 30233 * config.guess: Update to latest version from config git.
80a608f3 30234 * config.sub: Likewise.
30235
99423078 302362009-09-08 Colin Watson <cjwatson@ubuntu.com>
30237
30238 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
30239 unknown-command case. Fixes bug #27320.
30240
44454e4c 302412009-09-08 Felix Zielcke <fzielcke@z-51.de>
30242
30243 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
30244 `help' if the command exists.
30245
e30d87ad 302462009-09-06 Robert Millan <rmh.grub@aybabtu.com>
30247
30248 * INSTALL: Require GCC 4.1.3 or later.
30249
9a86f1ec 302502009-09-06 Yves Blusseau <blusseau@zetam.org>
30251
30252 * Makefile.in (RMKFILES): add i386-qemu.rmk
30253 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
30254 $(srcdir)/stamp-h.in
30255
7f26d466 302562009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30257
30258 * util/grub-probe.c (probe): Comment out buggy codepath, which
30259 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30260 should be re-enabled after 1.97.
30261
3a613259 302622009-09-05 Felix Zielcke <fzielcke@z-51.de>
30263
30264 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30265 find searches for.
30266
197f76c7 302672009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30268
30269 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30270 unnecessary calls to grub_error.
30271
70ba68ce 302722009-09-04 Colin Watson <cjwatson@ubuntu.com>
30273
30274 * NEWS: Mention `keystatus' and Unicode fonts.
30275
4ff0d7a4 302762009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30277
30278 * configure.ac: Bump version to 1.97~beta2.
30279 * docs/version.texi: Likewise.
30280
77c55a87 302812009-09-03 Colin Watson <cjwatson@ubuntu.com>
30282
30283 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30284 containing unwind information in some cases where it previously did
30285 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30286 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30287 discussion.
30288
f79572cd 302892009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30290
30291 Embedding loadenv module into grub-emu
30292
30293 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30294 commands/loadenv.c
30295 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30296 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30297 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30299 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30300 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30301
93a81088 303022009-09-03 Magnus Granberg <zorry@ume.nu>
30303
30304 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30305 include -fPIE in the default specs.
30306 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30307 to TARGET_CFLAGS.
30308
160034b2 303092009-09-03 Felix Zielcke <fzielcke@z-51.de>
30310
30311 * INSTALL: Note that GNU Bison 2.3 or later is required.
30312
087c07c4 303132009-09-03 Colin Watson <cjwatson@ubuntu.com>
30314
30315 * kern/i386/pc/startup.S: Fix typo.
30316
cbf978c0 303172009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30318
30319 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30320 according to GCS.
30321
303222009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30323
30324 * docs/grub.texi (Naming convention): Describe one-based partition
30325 numbering.
30326 (Device syntax): Likewise.
30327 (File name syntax): Likewise.
30328 (Block list syntax): Likewise.
30329 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30330 menu.lst.
30331 (File name syntax): Likewise.
30332 (Command-line and menu entry commands): Document acpi, blocklist,
30333 crc, export, insmod, keystatus, ls, set, and unset commands.
30334
f3e8cdfd 303352009-09-02 Colin Watson <cjwatson@ubuntu.com>
30336
30337 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30338 to avoid implying that only one of --shift, --ctrl, or --alt may be
30339 used.
30340
c0bc232b 303412009-09-02 Colin Watson <cjwatson@ubuntu.com>
30342
30343 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30344 rather than comparing against S_IFREG, which will almost never work.
30345
aa0f752d 303462009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30347
30348 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30349 (write_blocklists): Likewise.
30350
ecb3166a 303512009-09-01 Colin Watson <cjwatson@ubuntu.com>
30352
30353 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30354 argument to grub_printf.
30355
c403a125 303562009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30357
30358 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30359 non GNU test.
31aba781 30360
b5e7312c 303612009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30362
30363 * kern/file.c (grub_file_read): Spelling fix
30364
fe00f472 303652009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30366
30367 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30368 loading of headers in some cases.
30369
cc55302e 303702009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30371
30372 * configure.ac: Bump version to 1.97~beta1.
30373 * docs/version.texi: Likewise.
30374
5c90cdd2 303752009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30376
30377 * include/grub/i386/xnu.h: Add license header.
30378 include grub/err.h explicitly.
30379
c90edae4 303802009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30381
30382 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30383 to `ufs' in the vfs.root.mountfrom kernel parameter.
30384
d8888b5c 303852009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30386
30387 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30388
30389 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30390 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30391
30392 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30393 `ARRAY_SIZE' macro.
30394
6f07b921 303952009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 * kern/file.c (grub_file_read): Check offset.
30398 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30399 * fs/jfs.c (grub_jfs_read_file): Likewise.
30400 * fs/ntfs.c (grub_ntfs_read): Likewise.
30401 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30402 * fs/minix.c (grub_minix_read_file): Correct offset check.
30403 * fs/ufs.c (grub_ufs_read_file): Likewise.
30404
b4f34077 304052009-08-28 Colin Watson <cjwatson@ubuntu.com>
30406
30407 * term/i386/pc/console.c (bios_data_area): Cast
30408 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30409
e7c69859 304102009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30411
30412 1-bit optimised blitters.
30413
30414 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30415 prototype.
30416 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30417 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30418 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30419 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30420 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30421 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30422 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30423 function.
30424 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30425 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30426 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30427 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30428 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30429 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30430 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30431 when possible.
30432 * video/video.c (grub_video_get_blit_format): Return
30433 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30434
a57da43f 304352009-08-28 Colin Watson <cjwatson@ubuntu.com>
30436
30437 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30438 the first argument to grub_printf.
30439
4cbe67e5 304402009-08-28 Colin Watson <cjwatson@ubuntu.com>
304412009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30442
30443 Add `getkeystatus' terminal method. Add a new `keystatus' command
30444 to query it.
30445
30446 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30447 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30448 modifier key bitmasks.
30449 (struct grub_term_input): Add `getkeystatus' member.
30450 (grub_getkeystatus): Add prototype.
30451 * kern/term.c (grub_getkeystatus): New function.
30452
30453 * include/grub/i386/pc/memory.h
30454 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30455 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30456 Data Area layout.
30457 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30458 (grub_console_term_input): Set `getkeystatus' member.
30459 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30460 constants.
30461 (grub_usb_keyboard_getreport): Likewise.
30462 (grub_usb_keyboard_checkkey): Likewise.
30463 (grub_usb_keyboard_getkeystatus): New function.
30464 (grub_usb_keyboard_term): Set `getkeystatus' member.
30465
30466 * commands/keystatus.c: New file.
30467 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30468 (keystatus_mod_SOURCES): New variable.
30469 (keystatus_mod_CFLAGS): Likewise.
30470 (keystatus_mod_LDFLAGS): Likewise.
30471 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30472 commands/keystatus.c.
30473 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30474 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30475 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30477 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30478 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30479
6e2a9085 304802009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30481
30482 Split befs.mod and afs.mod into *_be.mod and *.mod
30483
30484 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30485 (grub_fstest_SOURCES): Likewise.
30486 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30487 (afs_be_mod_SOURCES): New variable.
30488 (afs_be_mod_CFLAGS): Likewise.
30489 (afs_be_mod_LDFLAGS): Likewise.
30490 (befs_be_mod_SOURCES): Likewise.
30491 (befs_be_mod_CFLAGS): Likewise.
30492 (befs_be_mod_LDFLAGS): Likewise.
30493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30494 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30495 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30496 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30497 (grub_emu_SOURCES): Likewise.
30498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30499 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30500 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30501 * fs/afs_be.c: New file.
30502 * fs/befs_be.c: New file.
30503 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30504 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30505 (U16): Replaced with ...
30506 (grub_afs_to_cpu16): ...this. All users updated.
30507 (U32): Replaced with ...
30508 (grub_afs_to_cpu32): ...this. All users updated.
30509 (U64): Replaced with ...
30510 (grub_afs_to_cpu64): ...this. All users updated.
30511 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30512 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30513 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30514 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30515 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30516 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30517 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30518 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30519 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30520 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30521 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30522
32a71655 305232009-08-26 Bean <bean123ch@gmail.com>
30524
30525 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30526 64-bit number.
30527 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30528 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30529 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30530
552bf6c5 305312009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30532
30533 NetBSD memory map support.
30534
30535 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30536 (grub_netbsd_btinfo_mmap_header): New structure.
30537 (grub_netbsd_btinfo_mmap_entry): Likewise.
30538 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30539
1ae2078c 305402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30541
30542 Enable bsd.mod on coreboot.
30543
30544 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30545 (bsd_mod_SOURCES): New variable.
30546 (bsd_mod_CFLAGS): Likewise.
30547 (bsd_mod_LDFLAGS): Likewise.
30548 (bsd_mod_ASFLAGS): Likewise.
30549 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30550 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30551
beefc598 305522009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30553
30554 Cleanup NetBSD root support.
30555
30556 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30557 grub_bsd_get_device.
30558 Fix typo.
30559
3b76e68b 305602009-08-25 Felix Zielcke <fzielcke@z-51.de>
30561
30562 * util/grub.d/00_header.in: Move check for the video backend of
30563 gfxterm from here ...
30564 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30565 a suitable video backend.
30566
aea664ea 305672009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30568
30569 Fix breakage in grub-setup.
30570
30571 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30572 "msdos_partition_map".
30573
ff747d50 305742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30575
30576 Fix breakage in normal/auth.c.
30577
30578 * normal/auth.c (grub_iswordseparator): New function.
30579
e7e1f93f 305802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30581
30582 Authentication support.
30583
30584 * commands/password.c: New file.
30585 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30586 (password_mod_SOURCES): New variable.
30587 (password_mod_CFLAGS): Likewise.
30588 (password_mod_LDFLAGS): Likewise.
30589 (normal_mod_SOURCES): Add normal/auth.c.
30590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30591 normal/auth.c.
30592 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30593 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30594 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30596 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30597 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30598 * include/grub/auth.h: New file.
30599 * include/grub/err.h (grub_err_t): New enum value
30600 GRUB_ERR_ACCESS_DENIED.
30601 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30602 'users'.
30603 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30604 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30605 users updated.
30606 * normal/auth.c: New file.
30607 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30608 (grub_cmdline_run): Don't allow to go to command line without
30609 authentication.
30610 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30611 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30612 menuentry without superuser rights.
30613 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30614 user isn't a superuser.
30615
70f1161d 306162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30617
30618 Save space by inlining misc.c functions.
30619
30620 * kern/misc.c (grub_iswordseparator): Made static.
30621 * kern/misc.c (grub_strcat): Moved from here ...
30622 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30623 * kern/misc.c (grub_strncat): Moved from here ...
30624 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30625 * kern/misc.c (grub_strcasecmp): Moved from here ...
30626 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30627 * kern/misc.c (grub_strncasecmp): Moved from here ...
30628 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30629 * kern/misc.c (grub_isalpha): Moved from here ...
30630 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30631 * kern/misc.c (grub_isdigit): Moved from here ...
30632 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30633 * kern/misc.c (grub_isgraph): Moved from here ...
30634 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30635 * kern/misc.c (grub_tolower): Moved from here ...
30636 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30637
48e40bff 306382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30639
30640 * script/sh/function.c (grub_script_function_find): Cut error message
30641 not to flood terminal.
30642 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30643 limit.
30644 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30645
c385bfc3 306462009-08-24 Colin Watson <cjwatson@ubuntu.com>
30647
30648 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30649 `report' grub_uint8_t *.
30650 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30651 Use a 50-millisecond timeout rather than just repeating
30652 grub_usb_keyboard_getreport 50 times.
30653 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30654
2d21e3e8 306552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30656
30657 Rename *_partition_map to part_*
30658
30659 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30660 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30661 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30662 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30663 All users updated.
30664 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30665 All users updated.
30666 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30667 * util/grub-probe.c (probe_partmap): Don't transform partition name
30668 to get module name.
30669
dd103c4e 306702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30671
30672 Fix OpenBSD and NetBSD support.
30673
30674 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30675 memory address conflict.
30676 (OPENBSD_MMAP_ACPI): New definition.
30677 (OPENBSD_MMAP_NVS): Likewise.
30678 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30679 and OPENBSD_MMAP_NVS.
30680 Add memory map terminator
30681 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30682 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30683
16c84d74 306842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30685
30686 Let user specify NetBSD root device.
30687
30688 * loader/i386/bsd.c (netbsd_root): New variable.
30689 (netbsd_opts): New option 'root'.
30690 (NETBSD_ROOT_ARG): New macro.
30691 (grub_netbsd_boot): Use 'netbsd_root'.
30692 (grub_bsd_unload): Free 'netbsd_root'.
30693 (grub_cmd_netbsd): Fill 'netbsd_root'.
30694
adb29902 306952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30696
30697 Support for 64-bit NetBSD.
30698
30699 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30700 point when booting non-FreeBSD.
30701
f5ae9f74 307022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30703
30704 Support --no-smp and --no-acpi for NetBSD.
30705
30706 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30707 (NETBSD_AB_NOACPI): Likewise.
30708 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30709 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30710
de74f136 307112009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30712
30713 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30714 errors.
30715 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30716 errors. Call grub_error when needed.
30717
e9a925da 307182009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30719
30720 * commands/search.c (search_fs): Try searching without autoload first.
30721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30722 filesystem module explicitly for faster booting.
30723
5174302b 307242009-08-23 Colin Watson <cjwatson@ubuntu.com>
30725
30726 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30727
c8c80635 307282009-08-23 Colin Watson <cjwatson@ubuntu.com>
30729
30730 * util/grub.d/30_os-prober.in: Disable os-prober if
30731 `GRUB_DISABLE_OS_PROBER' was set to true.
30732
71acf5e5 307332009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30734
30735 * partmap/pc.c: Rename to ...
30736 * partmap/msdos.c: ... this. Update all users.
30737 (grub_pc_partition_map): Rename to ...
30738 (grub_msdos_partition_map): ... this. Update all users.
30739
30740 * parttool/pcpart.c: Rename to ...
30741 * parttool/msdospart.c: ... this. Update all users.
30742
30743 * include/grub/pc_partition.h: Rename to ...
30744 * include/grub/msdos_partition.h: ... this. Update all users.
30745 (grub_pc_partition_bsd_entry): Rename to ...
30746 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30747 (grub_pc_partition_disk_label): Rename to ...
30748 (grub_msdos_partition_disk_label): ... this. Update all users.
30749 (grub_pc_partition_entry): Rename to ...
30750 (grub_msdos_partition_entry): ... this. Update all users.
30751 (grub_pc_partition_mbr): Rename to ...
30752 (grub_msdos_partition_mbr): ... this. Update all users.
30753 (grub_pc_partition): Rename to ...
30754 (grub_msdos_partition): ... this. Update all users.
30755 (grub_pc_partition_is_empty): Rename to ...
30756 (grub_msdos_partition_is_empty): ... this. Update all users.
30757 (grub_pc_partition_is_extended): Rename to ...
30758 (grub_msdos_partition_is_extended): ... this. Update all users.
30759 (grub_pc_partition_is_bsd): Rename to ...
30760 (grub_msdos_partition_is_bsd): ... this. Update all users.
30761
30762 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30763 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30764 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30765 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30766 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30767 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30768 (gpt_mod_LDFLAGS): Rename to ...
30769 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30770 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30771 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30772 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30773 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30774 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30775 (part_gpt_mod_LDFLAGS): ... this.
30776 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30777 `pcpart.mod' to `msdospart.mod'.
30778 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30779 to ...
30780 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30781 (msdospart_mod_LDFLAGS): ... this.
30782
c11fded5 307832009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30784
30785 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30786 (openbsd_opts): Likewise.
30787 (netbsd_opts): Likewise.
30788 (freebsd_flags): Added 0 terminator.
30789 (openbsd_flags): Likewise.
30790 (netbsd_flags): Likewise.
30791 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30792 (grub_cmd_freebsd): Transformed into extended command.
30793 (grub_cmd_openbsd): Likewise.
30794 (grub_cmd_netbsd): Likewise.
30795 (cmd_freebsd): Changed type to grub_extcmd_t.
30796 (cmd_openbsd): Likewise.
30797 (cmd_netbsd): Likewise.
30798 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30799 grub_cmd_openbsd as extended commands.
30800 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30801 cmd_netbsd and cmd_openbsd
30802
11d1c769 308032009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30804
30805 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30806
7a9094e5 308072009-08-21 Pavel Roskin <proski@gnu.org>
30808
5496c37e 30809 * Makefile.in (install-local): When checking if a file is in the
30810 build directory, use "test -e" to detect symlinks.
30811
7a9094e5 30812 * Makefile.in (install-local): Remove all files in
30813 $(DESTDIR)$(pkglibdir) before installing new files there.
30814
e53cea11 308152009-08-18 Felix Zielcke <fzielcke@z-51.de>
30816
30817 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30818 grub-mkelfimage.
30819
9aced544 308202009-08-18 Felix Zielcke <fzielcke@z-51.de>
30821
30822 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30823 explicitly specified by the user.
30824
b7da6bab 308252009-08-18 Pavel Roskin <proski@gnu.org>
30826
30827 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30828 grub_uint8_t pointer for data.
30829 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30830 Likewise.
30831 * video/fb/fbutil.c: Remove unnecessary casts.
30832
19f1b335 308332009-08-17 Michal Suchanek <hramrach@centrum.cz>
30834
30835 VBE cleanup.
30836
30837 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30838 (grub_vbe_set_video_mode): Save active mode info
30839 only after setting the mode.
30840 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30841 second argument.
30842
2f467aa9 308432009-08-17 Michal Suchanek <hramrach@centrum.cz>
30844
30845 Rename variables for clarity.
30846
30847 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30848 (active_vbe_mode_info): ... this. All users updated.
30849 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30850 All users updated.
30851 (initial_mode): Rename to ...
30852 (initial_vbe_mode): ... this. All users updated.
30853 (mode_in_use): Rename to ..
30854 (vbe_mode_in_use): ... this. All users updated.
30855 (mode_list): Rename to ..
30856 (vbe_mode_list): ... this. All users updated.
30857 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30858 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30859 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30860 'mode_list_size' to 'vbe_mode_list_size'.
30861 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
30862 'best_mode_info' to 'best_vbe_mode_info' and
30863 'best_mode' to 'best_vbe_mode'
30864
6025fcd7 308652009-08-17 Michal Suchanek <hramrach@centrum.cz>
30866
30867 Remove duplicate grub_video_fb_get_video_ptr.
30868
30869 * include/grub/fbutil.h (get_data_ptr): Rename to ...
30870 (grub_video_fb_get_video_ptr): ... this.
30871 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
30872 * video/fb/fbutil.c: Add comment about addressing.
30873 (get_data_ptr): Rename to ...
30874 (grub_video_fb_get_video_ptr): ... this. All users updated.
30875 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
30876
cc8c6faf 308772009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30878
30879 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
30880 grub_dprintf() that was just added.
30881
08aa61f0 308822009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30883
30884 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
30885 (DEFAULT_VIDEO_MODE): Remove macros.
30886 (grub_linux_boot): Remove assumption that Linux has FB support,
30887 and use "text" as default video mode.
30888
7cef4f75 308892009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
30890
30891 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
30892 grub_dprintf.
30893 * fs/fat.c (grub_fat_read_data): Likewise.
30894
e1f39873 308952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30896
30897 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
30898 payload.
30899 (grub_module): Likewise.
30900
c166d79e 309012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30902
30903 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
30904 mbi->cmdline but free playground.
30905
c60cee8e 309062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30907
30908 Handle group offset on UFS1.
30909
30910 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
30911 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
30912
c0d8b5d4 309132009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30914
30915 Split ufs.mod into ufs1.mod and ufs2.mod.
30916
30917 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
30918 (grub_fstest_SOURCES): Likewise.
30919 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
30920 (ufs_mod_SOURCES): Remove.
30921 (ufs_mod_CFLAGS): Likewise.
30922 (ufs_mod_LDFLAGS): Likewise.
30923 (ufs1_mod_SOURCES): New variable.
30924 (ufs1_mod_CFLAGS): Likewise.
30925 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 30926 (ufs2_mod_SOURCES): New variable.
30927 (ufs2_mod_CFLAGS): Likewise.
30928 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 30929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
30930 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30931 Likewise.
30932 (grub_emu_SOURCES): Likewise.
30933 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30934 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30935 (grub_setup_SOURCES): Likewise.
30936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30937 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
30938 (grub_setup_SOURCES): Likewise.
30939 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30940 Likewise.
30941 * fs/ufs2.c: New file.
30942 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
30943
d3539132 309442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30945
30946 Framebuffer split.
30947
30948 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
30949 subsystem at the end.
30950 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
30951 (video_fb_mod_SOURCES): New variable.
30952 (video_fb_mod_CFLAGS): Likewise.
30953 (video_fb_mod_LDFLAGS): Likewise.
30954 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
30955 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
30956 * video/i386/pc/vbeblit.c: Moved from here ...
30957 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
30958 * video/i386/pc/vbefill.c: Moved from here ...
30959 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
30960 * video/i386/pc/vbeutil.c: Moved from here ...
30961 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
30962 * include/grub/i386/pc/vbeblit.h: Moved from here ...
30963 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
30964 * include/grub/i386/pc/vbefill.h: Moved from here ...
30965 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
30966 * include/grub/i386/pc/vbeutil.h: Moved from here ...
30967 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
30968 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
30969 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
30970 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
30971 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
30972 (grub_video_adapter): Added 'get_info_and_fini'.
30973 (grub_video_get_info_and_fini): New prototype.
30974 (grub_video_set_mode): make modestring const char *.
30975 * loader/i386/linux.c (grub_linux_setup_video): Use
30976 grub_video_get_info_and_fini.
30977 (grub_linux_boot): Move modesetting just before booting.
30978 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
30979 grub_video_get_info_and_fini.
30980 * video/i386/pc/vbe.c: Moved framebuffer part ...
30981 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
30982 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
30983 grub_video_fbstd_colors and grub_video_fb_set_palette.
30984 (grub_video_vbe_init): Clear 'framebuffer' variable and use
30985 grub_video_fb_init.
30986 (grub_video_vbe_fini): Use grub_video_fb_fini.
30987 (grub_video_vbe_setup): Use framebuffer.render_target instead of
30988 render_target and use grub_video_fb_set_active_render_target and
30989 grub_video_fb_set_palette.
30990 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
30991 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
30992 (grub_video_vbe_adapter): Use framebuffer.
30993 * video/video.c (grub_video_get_info_and_fini): New function.
30994 (grub_video_set_mode): Make modestring const char *.
30995 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
30996 values are already initialised.
30997
d404ee56 309982009-08-14 Pavel Roskin <proski@gnu.org>
30999
31000 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
31001 ABS and APPLE_CC.
31002 * boot/i386/pc/diskboot.S: Likewise.
31003 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
31004 sectors allow compilation on MacOSX.
31005 * conf/i386-pc.rmk: Enable unconditional compilation of
31006 lnxboot.img.
31007
9a10df16 310082009-08-13 Colin Watson <cjwatson@ubuntu.com>
31009
31010 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
31011 * util/grub.d/00_header.in: Enter interruptible sleep if
31012 GRUB_HIDDEN_TIMEOUT is set.
31013
be3c9ca7 310142009-08-13 Yves Blusseau <blusseau@zetam.org>
31015
31016 * include/grub/symbol.h: Add the LOCAL macro.
31017 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
31018 starting with "L_".
31019
1f9e557e 310202009-08-13 Pavel Roskin <proski@gnu.org>
31021
9ca62843 31022 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
31023 any modern compilers we support.
31024
1f9e557e 31025 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
31026 Use local labels starting with "L_" so that Apple assembler
31027 knows they are local.
31028
81623db6 310292009-08-10 Robert Millan <rmh.grub@aybabtu.com>
31030
31031 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
31032 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
31033 (bsd_kernel_types): ... this enum.
31034
31035 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
31036 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
31037 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
31038
31039 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
31040 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
31041 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
31042 messages.
31043
f5d35e7a 310442009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31045
31046 * util/grub-dumpdevtree: Moved from here ...
31047 * util/i386/efi/grub-dumpdevtree: ... to here.
31048 (hexify): New function. Converts a string to its hex version.
31049 Generate hex versions of "efi" and "device-properties" by calling
31050 hexify() on the ASCII strings rather than by hardcoding numbers.
31051
d1e1d527 310522009-08-08 Robert Millan <rmh.grub@aybabtu.com>
31053
31054 * fs/jfs.c: Update copyright year.
31055
1ebbe064 310562009-08-08 Felix Zielcke <fzielcke@z-51.de>
31057
31058 * util/grub.d/00_header.in: Fix a comment.
31059 * util/grub.d/10_linux.in: Likewise.
31060 * util/grub.d/10_windows.in: Likewise.
31061 * util/grub.d/10_hurd.in: Likewise.
31062
a78c8d24 310632009-08-08 Felix Zielcke <fzielcke@z-51.de>
31064
31065 * util/grub-mkconfig.in: Allow the user to specify the used font
31066 with GRUB_FONT.
31067
29a6b9e8 310682009-08-08 Pavel Roskin <proski@gnu.org>
31069
b5f16cc4 31070 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
31071 available, xfs.mod needs it now.
31072
2f5cb827 31073 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
31074 the "g" modifier in sed when the intention is to strip something
31075 once. This fixes comparison of kernels with multiple dashes.
31076
29a6b9e8 31077 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
31078 on it. Add missing space before closing bracket. Fix
31079 misleading formatting.
31080
892a3d98 310812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31082
31083 * docs/grub.texi: Major overhaul. Remove all sections that are
31084 specific to GRUB Legacy, or mostly composed of Legacy-specific
31085 information.
31086
ed94253f 310872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31088
31089 * docs/version.texi: New file. Provides version information for
31090 grub.texi.
31091
126d6628 310922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31093
31094 * docs/grub.texi: Update CVS information to SVN.
31095 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
31096
998b5aa9 310972009-08-07 Felix Zielcke <fzielcke@z-51.de>
31098
31099 * util/grub-mkconfig.in: Remove a wrong `fi'.
31100
818e094a 311012009-08-07 Felix Zielcke <fzielcke@z-51.de>
31102
31103 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
31104 (grub_jfs_uuid): New function.
31105 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
31106
b969c52f 311072009-08-07 Felix Zielcke <fzielcke@z-51.de>
31108
31109 * util/grub-mkconfig_lib.in (font_path): Move the functionality
31110 of it to ...
31111 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
31112 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
31113
7a4894cc 311142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31115
31116 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
31117 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
31118 Update all users.
31119
31120 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
31121 not just "vmlinu[zx]".
31122 Moved from here ...
31123 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
31124 all users.
31125
31126 * util/grub.d/10_linux.in (find_latest): Moved from here ...
31127 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
31128 all users.
31129
4e2171f8 311302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
31131
31132 * util/grub.d/10_freebsd.in: Use an absolute device path for
31133 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
31134
6dcfcb32 311352009-08-06 Felix Zielcke <fzielcke@z-51.de>
31136
31137 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
31138 handling of multiple abstraction modules.
31139
f56a8756 311402009-08-04 Robert Millan <rmh.grub@aybabtu.com>
31141
31142 Fix a bug resulting in black screen when loading Linux using a
31143 packed video mode.
31144
31145 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
31146 function.
31147
31148 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
31149 (grub_vbe_bios_getset_dac_palette_width): New function.
31150 (grub_vbe_bios_get_dac_palette_width)
31151 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
31152 grub_vbe_bios_getset_dac_palette_width()).
31153
31154 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
31155 check for return status.
31156 (grub_vbe_get_video_mode_info): When getting information for a packed
31157 mode (<= 8 bpp), obtain DAC palette width using
31158 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
31159 {red,green,blue}_mark_size.
31160
222671b2 311612009-08-04 Felix Zielcke <fzielcke@z-51.de>
31162
ecb1a6d9 31163 * commands/search.c (options): Fix help output to match actual code.
222671b2 31164
f84114f5 311652009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
31166
31167 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
31168 of homegrown code.
31169
bd288a20 311702009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 31171
31172 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
31173 on XFS or ReiserFS.
31174
8aab5e25 311752009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
31176
31177 Support Apple partition map with sector size different from 512 bytes.
31178
31179 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
31180 (apple_partition_map_iterate): Respect 'aheader.blocksize'
31181 and 'apart.partmap_size'.
31182
6ad6258a 311832009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
311842009-08-01 Robert Millan <rmh.grub@aybabtu.com>
31185
31186 Fix cpuid command.
31187
31188 * commands/i386/cpuid.c (options): New variable.
31189 (grub_cmd_cpuid): Return real error.
31190 (GRUB_MOD_INIT(cpuid)): Declare options.
31191
67459bc6 311922009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
31193
31194 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
31195 valid.
31196
fbc6ab54 311972009-07-31 Bean <bean123ch@gmail.com>
31198
31199 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
31200 log2_inode.
31201 (grub_fshelp_node): Move inode field to the end.
31202 (grub_xfs_data): Remove inode field.
31203 (grub_xfs_inode_block): Calculate inode size using sblock.
31204 (grub_xfs_inode_offset): Likewise.
31205 (grub_xfs_read_inode): Calculate inode size using sblock.
31206 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
31207 (grub_xfs_iterate_dir): Calculate inode size using sblock.
31208 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
31209 to match inode size.
31210 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
31211 not accessible when data is null.
31212 (grub_xfs_open): Likewise.
31213
f45d6cfc 312142009-07-31 Bean <bean123ch@gmail.com>
31215
31216 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
31217 Don't change pv->disk if it's already set.
31218
31219 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
31220 (grub_raid_register): ... here.
31221 (grub_raid_rescan): Removed.
31222
31223 * include/grub/raid.h (grub_raid_rescan): Removed.
31224
31225 * util/grub-fstest.c: Remove include file <grub/raid.h>.
31226 (fstest): Replace grub_raid_rescan with module fini function followed
31227 by init function.
31228
31229 * util/grub-probe.c: Add include file <grub/raid.h>.
31230 (probe_raid_level): New function.
31231 (probe): Detect abstraction by walking the disk device, support two
31232 level of abstraction (LVM on RAID) when detecting partition map.
31233
24443b5a 312342009-07-31 Pavel Roskin <proski@gnu.org>
31235
31236 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
31237 to grub_zalloc(), it was erroneous.
31238 Reported by Bean <bean123ch@gmail.com>
31239
a275d9e7 312402009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
31241
31242 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 31243 embedding zone, not only the first one.
a275d9e7 31244
56c5a47f 312452009-07-29 Joe Auricchio <jauricchio@gmail.com>
31246
31247 * term/gfxterm.c (clear_char): New function.
31248 (grub_virtual_screen_setup): Use clear_char.
31249 (scroll_up): Likewise.
31250 (grub_virtual_screen_cls): Likewise.
31251
67bb323a 312522009-07-29 Felix Zielcke <fzielcke@z-51.de>
31253
31254 * util/deviceiter.c (get_acceleraid_disk_name): New static
31255 function.
31256 (grub_util_iterate_devices): Handle Accelraid devices.
31257 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31258
388a7c75 312592009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31260
31261 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31262 separator for the suggested gfxpayload string (';' collides with the
31263 parser and needs escaping).
31264
3bb7abcf 312652009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31266
31267 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31268 Clear direction flag before jumping to OS.
31269 (grub_multiboot2_real_boot): Likewise.
31270
2ddd36d7 312712009-07-28 Felix Zielcke <fzielcke@z-51.de>
31272
31273 * util/i386/pc/grub-install: Fix parsing of --disk-module
31274 option.
31275
c521b62b 312762009-07-28 Felix Zielcke <fzielcke@z-51.de>
31277
31278 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31279 when embedding.
31280
880e0a0c 312812009-07-26 Felix Zielcke <fzielcke@z-51.de>
31282
31283 * util/grub-mkconfig.in (package_version): New variable.
31284 Use it do display the version.
31285
2366e356 312862009-07-25 Felix Zielcke <fzielcke@z-51.de>
31287
31288 * kern/file.c (grub_file_open): Revert to previous check with
31289 grub_errno.
31290
7ad8c80e 312912009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31292
31293 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31294 from help line. It's out of sync with code.
31295
72b9658b 312962009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31297
31298 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31299 entries on failed boot.
31300
77435277 313012009-07-25 Felix Zielcke <fzielcke@z-51.de>
31302
31303 * kern/file.c (grub_file_open): Fix an error check.
31304
fcaa8b21 313052009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31306
35d16c74 31307 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31308 partition map couldn't be identified.
fcaa8b21 31309
48904cd1 313102009-07-23 Pavel Roskin <proski@gnu.org>
31311
ef3c317f 31312 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31313 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31314 case of little endian words becomes just an optimization.
31315 Respect const modifier.
ad8ea1f4 31316 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31317
48904cd1 31318 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31319 to avoid loss of upper bits if align is unsigned and shorter
31320 than addr.
31321
260c9a89 313222009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31323
31324 UUID support for UFS
31325
31326 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31327 (grub_ufs_uuid): New function.
31328 (grub_ufs_fs): add .uuid
31329
f76ce889 313302009-07-21 Pavel Roskin <proski@gnu.org>
31331
31332 * kern/dl.c (grub_dl_check_header): Make static.
31333
6a6cbcaf 313342009-07-21 Felix Zielcke <fzielcke@z-51.de>
31335
31336 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31337 add drivemap for Vista. It breaks Windows 7.
31338
cffcddb2 313392009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31340
31341 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31342 128 bytes
31343
1ef44b80 313442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31345
31346 Add BFS support
31347
31348 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31349 (grub_fstest_SOURCES): Likewise.
31350 (pkglib_MODULES): Add befs.mod.
31351 (befs_mod_SOURCES): New variable.
31352 (befs_mod_CFLAGS): Likewise.
31353 (befs_mod_LDFLAGS): Likewise.
31354 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31355 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31356 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31357 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31358 (grub_setup_SOURCES): Likewise.
31359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31360 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31361 (grub_setup_SOURCES): Likewise.
31362 * fs/befs.c: New file.
31363 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31364 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31365 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31366 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31367 (B_KEY_INDEX_ALIGN): New declaration.
31368 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31369 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31370 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31371 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31372 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31373 (grub_afs_mount) [MODE_BFS]: Likewise.
31374 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31375 (grub_afs_fs): Use GRUB_AFS_FSNAME
31376 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31377 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31378 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31379 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31380
4f253044 313812009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31382
31383 * util/getroot.c (find_root_device): Add support for MacOSX.
31384 * util/hostdisk.c: Likewise.
31385
57a55913 313862009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31387
31388 * font/font.c (find_glyph): Check whether a font is present to avoid
31389 segmentation fault.
75421ca9 31390
313912009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31392
31393 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31394
e98cd0c2 313952009-07-20 Pavel Roskin <proski@gnu.org>
31396
31397 * configure.ac: Trim excessively wordy excuses.
31398
1d2d169a 313992009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31400
31401 Add symlink, mtime and label support to AtheFS.
31402
31403 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31404 (grub_afs_iterate_dir): Handle symlinks.
31405 (grub_afs_open): Use grub_afs_read_symlink.
31406 (grub_afs_dir): Likewise.
31407 Pass mtime.
31408 (grub_afs_label): New function.
31409 (grub_afs_fs): Add grub_afs_label.
31410 (grub_afs_read_symlink): New function.
31411
186f3189 314122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31413
31414 Fix AtheFS support.
31415
31416 * fs/afs.c: Fix comments style.
31417 (grub_afs_blockrun): Declare as packed.
31418 (grub_afs_datastream): Likewise.
31419 (grub_afs_bnode): Likewise.
31420 (grub_afs_btree): Likewise.
31421 (grub_afs_sblock): Likewise.
31422 Declare `name' as char.
31423 (grub_afs_inode): Declare as packed.
31424 Change void *vnode to grub_uint32_t unused.
31425 (grub_afs_iterate_dir): Check that key_size is positive.
31426 (grub_afs_mount): Don't read superblock twice.
75421ca9 31427 (grub_afs_dir): Don't free node in case of error,
186f3189 31428 grub_fshelp_find_file already handles this.
31429 (grub_afs_open): Likewise.
31430
5680109e 314312009-07-19 Pavel Roskin <proski@gnu.org>
31432
31433 * Makefile.in: Remove LIBLZO and enable_lzo.
31434 * conf/i386-pc.rmk: Remove lzo support.
31435 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31436 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31437 support.
31438 * kern/i386/pc/lzo1x.S: Remove.
31439 * kern/i386/pc/startup.S: Remove lzo support.
31440 * util/i386/pc/grub-mkimage.c: Likewise.
31441
ac70fa32 314422009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31443
31444 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31445 * fs/xfs.c (grub_xfs_dir): Likewise.
31446 * fs/afs.c (grub_afs_dir): Likewise.
31447 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31448 (grub_iso9660_open): Likewise.
31449 * fs/jfs.c (grub_jfs_open): Likewise.
31450 * fs/ext2.c (grub_ext2_dir): Likewise.
31451 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31452 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31453
eab58da2 314542009-07-16 Pavel Roskin <proski@gnu.org>
31455
d2838156 31456 * configure.ac: Never add "-c" to CFLAGS.
31457
55c70904 31458 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31459
43e6200c 31460 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31461 grub_cv_cc_efiemu should be used.
31462
ce7a733d 31463 * configure.ac: Typo fixes.
31464
eab58da2 31465 * kern/mm.c (grub_zalloc): New function.
31466 (grub_debug_zalloc): Likewise.
31467 * include/grub/mm.h: Declare grub_zalloc() and
31468 grub_debug_zalloc().
31469 * util/misc.c (grub_zalloc): New function.
31470 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31471 instead of grub_malloc(), remove unneeded initializations.
31472 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31473 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31474 * commands/parttool.c (grub_cmd_parttool): Likewise.
31475 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31476 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31477 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31478 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31479 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31480 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31481 (grub_cmd_efiemu_pnvram): Likewise.
31482 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31483 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31484 (grub_iso9660_iterate_dir): Likewise.
31485 * fs/jfs.c (grub_jfs_opendir): Likewise.
31486 * fs/ntfs.c (list_file): Likewise.
31487 (grub_ntfs_mount): Likewise.
31488 * kern/disk.c (grub_disk_open): Likewise.
31489 * kern/dl.c (grub_dl_load_core): Likewise.
31490 * kern/elf.c (grub_elf_file): Likewise.
31491 * kern/env.c (grub_env_context_open): Likewise.
31492 (grub_env_set): Likewise.
31493 (grub_env_set_data_slot): Likewise.
31494 * kern/file.c (grub_file_open): Likewise.
31495 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31496 * loader/i386/multiboot.c (grub_module): Likewise.
31497 * loader/xnu.c (grub_xnu_create_key): Likewise.
31498 (grub_xnu_create_value): Likewise.
31499 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31500 (read_config_file): Likewise.
31501 * normal/menu_entry.c (make_screen): Likewise.
31502 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31503 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31504 * script/sh/script.c (grub_script_parse): Likewise.
31505 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31506 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31507 * video/readers/png.c (grub_png_output_byte): Likewise.
31508 (grub_video_reader_png): Likewise.
31509
830afef7 315102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31511
31512 Enable all targets that can be built by default
31513
830afef7 31514 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31515 grub-mkfont and grub-fstest if they can be built
31516
ee293aee 315172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31518
31519 Fix hang and segmentation fault in grub-emu-usb
31520
31521 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31522 * util/usb.c (grub_libusb_devices): likewise
31523 (grub_libusb_init): rename to ...
31524 (GRUB_MOD_INIT (libusb)):...this
31525 (grub_libusb_fini): rename to ..
31526 (GRUB_MOD_FINI (libusb)):...this
31527 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31528 * include/grub/disk.h (grub_raid_init): removed, it's useless
31529 (grub_raid_fini): likewise
31530 (grub_lvm_init): likewise
31531 (grub_lvm_fini): likewise
31532 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31533 by grub_init_all
31534
94414221 315352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31536
31537 Fix libusb
31538
31539 * Makefile.in (LIBUSB): new macro
31540 * genmk.rb (Utility/print_tail): new method
31541 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31542 (top level): call util.print_tail at the end.
31543
59ade63d 315442009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31545
31546 Make FreeBSD accept zpool.cache
31547
31548 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31549 type is /boot/zfs/zpool.cache
31550
a58da8c7 315512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31552
31553 Fix 64-bit efiemu
31554
31555 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31556 correct wrong typedef
31557 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31558
20591577 315592009-07-15 Pavel Roskin <proski@gnu.org>
31560
560ca572 31561 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31562 * kern/disk.c (struct grub_disk_cache): Likewise.
31563
e8e8e4fd 31564 * commands/probe.c (options): Typo fix.
31565
fde24e10 31566 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31567 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31568 accordingly.
31569 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31570
379c54c1 31571 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31572 the end of "Error" to make the message more readable.
31573
7bd8f5bf 31574 * boot/i386/pc/boot.S (kernel_segment): Remove.
31575 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31576 for destination.
31577
40b132c5 31578 * boot/i386/pc/boot.S (boot_version): Remove.
31579 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31580 Remove.
31581
20591577 31582 * include/grub/i386/pc/boot.h: Sort all offsets.
31583 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31584 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31585 * boot/i386/pc/boot.S: Assert location of every offset listed in
31586 include/grub/i386/pc/boot.h.
31587
2df32b2c 315882009-07-13 Pavel Roskin <proski@gnu.org>
31589
44b5d879 31590 * include/grub/i386/coreboot/machine.h: Rename
31591 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31592 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31593 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31594
17dc3751 31595 * kern/dl.c: Force native word size to suppress warnings when
31596 compiling grub-emu.
31597
2df32b2c 31598 * kern/device.c (grub_device_iterate): Change struct part_ent to
31599 hold the name, not a pointer to it. Use one grub_malloc() per
31600 partition, not two. Free partition_name if grub_malloc() fails.
31601 Set ents to NULL only before grub_partition_iterate() is called.
31602
75c59f59 316032009-07-11 Bean <bean123ch@gmail.com>
31604
31605 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31606 childname.
31607
0ae1bf88 316082009-07-10 Bean <bean123ch@gmail.com>
316092009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31610
31611 * kern/ieee1275/openfw.c (grub_children_iterate)
31612 (grub_devalias_iterate): Fix size evaluation for property or path
31613 strings, which was broken since r2132.
31614
8279cade 316152009-07-07 Pavel Roskin <proski@gnu.org>
31616
7d8a52d3 31617 * commands/search.c (search_file): Merge into ...
31618 (search_fs): ... this. Accept search type as argument.
31619 (grub_cmd_search): Pass search type to search_fs().
31620
25f9a05a 31621 * include/grub/util/console.h: New file.
31622 * util/console.c: Use it instead of grub/machine/console.h.
31623 * util/grub-emu.c: Likewise.
31624
8279cade 31625 * lib/arg.c (find_long_option): Remove.
31626 (find_long): Add `len' argument, make `s' const char *.
31627 (grub_arg_parse): Parse long options in place, not in a
31628 temporary buffer.
31629
4a11b60f 316302009-07-06 Pavel Roskin <proski@gnu.org>
31631
99f68041 31632 * commands/search.c (search_fs): Fix potential NULL pointer
31633 dereference.
31634
4a11b60f 31635 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31636 function pointer.
31637
e110f4de 316382009-07-06 Daniel Mierswa <impulze@impulze.org>
31639
31640 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31641 comparison.
31642
46eeb6a2 316432009-07-05 Pavel Roskin <proski@gnu.org>
31644
bab74958 31645 * include/grub/i386/linux.h (struct linux_kernel_params):
31646 Restore padding3, it's still needed.
31647
46eeb6a2 31648 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31649 FreeBSD.
31650 * util/osdetect.lua: Likewise.
31651
b4a1dc79 316522009-07-05 Bean <bean123ch@gmail.com>
31653
31654 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31655
31656 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31657 (grub_lua_getenv): Likewise.
31658 (grub_lua_setenv): Likewise.
31659 (save_errno): New function.
31660 (push_result): Likewise.
31661 (grub_lua_enum_device): Likewise.
31662 (grub_lua_enum_file): Likewise.
31663 (grub_lua_file_open): Likewise.
31664 (grub_lua_file_close): Likewise.
31665 (grub_lua_file_seek): Likewise.
31666 (grub_lua_file_read): Likewise.
31667 (grub_lua_file_getline): Likewise.
31668 (grub_lua_file_getsize): Likewise.
31669 (grub_lua_file_getpos): Likewise.
31670 (grub_lua_file_eof): Likewise.
31671 (grub_lua_file_exist): Likewise.
31672 (grub_lua_add_menu): Likewise.
31673
31674 * script/lua/grub_lua.h (isupper): New inline function.
31675 (islower): Likewise.
31676 (ispunct): Likewise.
31677 (isxdigit): Likewise.
31678 (strcspn): Change to normal function.
31679 (strpbkr): New function declaration.
31680 (memchr): Likewise.
31681
31682 * script/lua/grub_main.c (scan_str): New function.
31683 (strcspn): Likewise.
31684 (strpbrk): Likewise.
31685 (memchr): Likewise.
31686
31687 * script/lua/linit.c (lualibs): Enable the string library.
31688
31689 * util/osdetect.lua: New file.
31690
2da92295 316912009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31692
31693 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31694 `capabilities' member.
31695
b2582ec9 316962009-07-02 Pavel Roskin <proski@gnu.org>
31697
31698 * genparttoollist.sh: Add missing newline at the end.
31699
32622956 317002009-07-01 Pavel Roskin <proski@gnu.org>
31701
87a7339e 31702 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31703
d23af54e 31704 * util/hostdisk.c (open_device): Remove `const' from
31705 `sysctl_size', as sysctlbyname() can change it (in this case it
31706 doesn't actually happen).
31707
c94b18a9 31708 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31709 using signed long int constants.
31710
c6cd3ef0 31711 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31712 constant to avoid a warning on FreeBSD.
31713
0df63420 31714 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31715 where it's needed.
31716
999577f1 31717 * Makefile.in: Install include/grub/machine symlink.
31718
6f41557f 31719 * Makefile.in: When installing symlinks, use "cp -fR", which
31720 works on FreeBSD and MacOSX.
31721 From Yves Blusseau <cl7m42e02@sneakemail.com>
31722
c8d22988 31723 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31724 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31725
1b96e952 31726 * util/misc.c: Move grub_reboot() and grub_halt() ...
31727 * util/grub-emu.c: ... here. Make main_env static.
31728 * include/grub/util/misc.h: Remove main_env.
31729
2ef0084d 31730 * kern/mm.c: Use correct format to print size_t.
31731
32622956 31732 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31733 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31734 * kern/powerpc/dl.c: Likewise.
31735 * kern/sparc64/dl.c: Likewise.
31736 * kern/x86_64/dl.c: Likewise.
31737
3f7f0cd0 317382009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31739
31740 Fix grub-emu build on sparc64-ieee1275.
31741
75421ca9 31742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31744
211d06b5 317452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31746
31747 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31748 (grub_reboot, grub_halt): New functions.
31749
31750 * util/i386/pc/misc.c: Delete. Update all users.
31751 * util/sparc64/ieee1275/misc.c: Likewise.
31752 * util/powerpc/ieee1275/misc.c: Likewise.
31753
aaf53e3c 317542009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31755
31756 * conf/i386.rmk (setjmp_mod_SOURCES)
31757 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31758 * conf/common.rmk (setjmp_mod_SOURCES)
31759 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31760 to use $(target_cpu).
31761 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31762 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31763 * conf/powerpc-ieee1275.rmk: Likewise.
31764 * conf/sparc64-ieee1275.rmk: Likewise.
31765
31766 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31767 $(target_cpu) for kern/$(target_cpu)/dl.c.
31768 * conf/i386-efi.rmk: Likewise.
31769 * conf/i386-ieee1275.rmk: Likewise.
31770 * conf/x86_64-efi.rmk: Likewise.
31771 * conf/i386-coreboot.rmk: Likewise.
31772 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31773 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31774 kern/$(target_cpu)/cache.S.
31775 * conf/sparc64-ieee1275.rmk: Likewise.
31776
a337130b 317772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31778
31779 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31780 type to `grub_uint8_t', and adjust `padding9' accordingly.
31781
c6fe4d53 317822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31783
b09db61d 31784 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31785
c6fe4d53 31786 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31787 assembly in final jump, using register constraints.
31788
b09db61d 31789 (grub_linux_boot): For text mode, initialize `have_vga' using
31790 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31791
31792 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31793 right before the final jump.
31794
31795 Set `video_mode' to 0x3.
31796
31797 Document initialization of `video_page', `video_mode' and
31798 `video_ega_bx'.
31799
28333ad0 318002009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31801
31802 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31803 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31804 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31805
02164e1b 318062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31807
31808 Fix build on Debian / sparc.
31809
31810 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31811
18b6c557 318122009-06-28 Pavel Roskin <proski@gnu.org>
31813
85f2aab6 31814 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31815 fix a warning.
31816
18b6c557 31817 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31818
ad760f81 318192009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31820
31821 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31822 `err'.
31823
87a4623b 318242009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31825
31826 Revert r2338.
31827
31828 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31829 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31830 grub_errno / grub_errmsg appropriately.
87a4623b 31831 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31832
8231fb77 318332009-06-27 Pavel Roskin <proski@gnu.org>
318342009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31835
31836 * include/grub/dl.h: Include grub/elf.h.
31837 (struct grub_dl): Add symtab field.
31838 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31839 GRUB_MODULES_MACHINE_READONLY.
31840 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31841 of the header for read-only modules.
31842 (grub_dl_unload): Free mod->symtab for read-only modules.
31843 * kern/i386/dl.c: Use mod->symtab.
31844 * kern/powerpc/dl.c: Likewise.
31845 * kern/sparc64/dl.c: Likewise.
31846 * kern/x86_64/dl.c: Likewise.
31847
31848 * conf/i386-qemu.rmk: New file.
31849 * kern/i386/qemu/startup.S: Likewise.
31850 * kern/i386/qemu/mmap.c: Likewise.
31851 * boot/i386/qemu/boot.S: Likewise.
31852 * include/grub/i386/qemu/time.h: Likewise.
31853 * include/grub/i386/qemu/serial.h: Likewise.
31854 * include/grub/i386/qemu/kernel.h: Likewise.
31855 * include/grub/i386/qemu/console.h: Likewise.
31856 * include/grub/i386/qemu/boot.h: Likewise.
31857 * include/grub/i386/qemu/init.h: Likewise.
31858 * include/grub/i386/qemu/machine.h: Likewise.
31859 * include/grub/i386/qemu/loader.h: Likewise.
31860 * include/grub/i386/qemu/memory.h: Likewise.
31861
31862 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
31863 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
31864 [qemu] (pkglib_IMAGES): Add `boot.img'.
31865 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
31866 [qemu] (boot_img_FORMAT): New variables.
31867 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
31868 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
31869 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
31870 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31871 [qemu] (kernel_img_FORMAT): New variables.
31872
31873 * configure.ac: Recognise `i386-qemu'.
31874
31875 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
31876 (for no compression).
31877 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
31878 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
31879 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
31880 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
31881 ifdefs).
31882
97fe384e 318832009-06-27 Pavel Roskin <proski@gnu.org>
31884
31885 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
31886 read.
31887 * efiemu/prepare32.c: Likewise.
31888 * efiemu/prepare64.c: Likewise.
31889
c402ab17 318902009-06-26 Pavel Roskin <proski@gnu.org>
31891
31892 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
31893 * include/grub/elf.h: Define symbols without "32" or "64" based
31894 on GRUB_TARGET_WORDSIZE.
31895 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
31896 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
31897 ELF definitions.
31898 * efiemu/loadcore64.c: Likewise.
31899 * loader/i386/bsd32.c: Likewise.
31900 * loader/i386/bsd64.c: Likewise.
31901 * kern/dl.c: Remove own ELF definitions.
31902 * util/i386/efi/grub-mkimage.c: Likewise.
31903
9bbdfd4d 319042009-06-23 Robert Millan <rmh.grub@aybabtu.com>
31905
31906 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
31907 segment 0x0 unconditionally, because the reference generated by
31908 GAS is an absolute address.
31909
a42ce6e9 319102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31911
31912 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
31913 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
31914
c952cf92 319152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31916
31917 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
31918 indexes. Check for -f explicitly.
cc3752ad 31919 (search_file): Improve error message.
31920 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 31921
132a0a59 319222009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31923
31924 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
31925 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
31926
387a140c 319272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31928
31929 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
31930 * conf/i386-ieee1275.rmk: Likewise.
31931 * conf/i386-coreboot.rmk: Likewise.
31932
31933 * kern/i386/pc/startup.S (grub_stop): Remove function.
31934 * kern/i386/ieee1275/startup.S: Likewise.
31935 * kern/i386/coreboot/startup.S: Likewise.
31936 * kern/i386/misc.S (grub_stop): New function.
31937
41da9665 319382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31939
31940 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
31941 * kern/i386/realmode.S (real_to_prot): ... to here.
31942
bf337234 319432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31944
31945 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
31946 with `kernel.img'.
31947 (kernel_elf_SOURCES): Rename to ...
31948 (kernel_img_SOURCES): ... this.
31949 (kernel_elf_HEADERS): Rename to ...
31950 (kernel_img_HEADERS): ... this. Update all users.
31951 (kernel_elf_ASFLAGS): Rename to ...
31952 (kernel_img_ASFLAGS): ... this.
31953 (kernel_elf_CFLAGS): Rename to ...
31954 (kernel_img_CFLAGS): ... this.
31955 (kernel_elf_LDFLAGS): Rename to ...
31956 (kernel_img_LDFLAGS): ... this.
31957 * conf/i386-coreboot.rmk: Likewise.
31958 * conf/powerpc-ieee1275.rmk: Likewise.
31959
31960 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
31961 with "kernel.img".
31962
f52196ff 319632009-06-21 Pavel Roskin <proski@gnu.org>
31964
c3cee413 31965 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
31966 to match nested functions.
31967 * loader/sparc64/ieee1275/linux.c: Likewise.
31968
f52196ff 31969 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
31970
58750afc 319712009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31972
31973 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
31974 all i386 platforms.
31975
15355c7d 319762009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31977
31978 Fix asm file handling on ELF, and remove workarounds.
31979
31980 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 31981 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 31982 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
31983 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
31984
3f3ec72b 319852009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
31986
31987 Load BSD ELF modules
31988
31989 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
31990 and loader/i386/bsd64.c
31991 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
31992 (FREEBSD_MODTYPE_ELF_MODULE): New definition
31993 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
31994 (grub_freebsd_load_elfmodule32): New declaration
31995 (grub_freebsd_load_elfmoduleobj64): Likewise
31996 (grub_freebsd_load_elf_meta32): Likewise
31997 (grub_freebsd_load_elf_meta64): Likewise
31998 (grub_freebsd_add_meta): Likewise
31999 (grub_freebsd_add_meta_module): Likewise
32000 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
32001 (grub_freebsd_add_meta_module): Likewise and move module-specific
32002 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
32003 (grub_cmd_freebsd): Add elf-kernel specific parts
32004 based on grub_freebsd_add_meta_module
32005 (grub_cmd_freebsd_module): Add type parsing moved from
32006 grub_freebsd_add_meta_module
32007 (grub_cmd_freebsd_module_elf): New function
32008 (cmd_freebsd_module_elf): New variable
32009 (GRUB_MOD_INIT): Register freebsd_module_elf
32010 * loader/i386/bsd32.c: New file
32011 * loader/i386/bsd64.c: Likewise
32012 * loader/i386/bsdXX.c: Likewise
32013 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
32014 (grub_elf64_load): Likewise
32015 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
32016 All users updated
32017 (grub_elf64_load_hook_t): Likewise
32018
0db15301 320192009-06-21 Colin Watson <cjwatson@ubuntu.com>
32020
32021 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
32022 variable.
32023 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
32024 don't write a menu entry for recovery mode.
32025
546796c1 320262009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32027
32028 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
32029 after it's no longer needed.
32030
cd7310d5 320312009-06-20 Robert Millan <rmh.grub@aybabtu.com>
32032
32033 * include/grub/i386/loader.h (grub_linux_prot_size)
32034 (grub_linux_tmp_addr, grub_linux_real_addr)
32035 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
32036 GRUB_MACHINE_PCBIOS.
32037 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
32038 common grub_util_info() call to ...
32039 (generate_image): ... here.
32040 Fix use of uninitialized memory, comparison of signed with
32041 unsigned integers and memory leak.
32042 Remove bogus module address message.
32043
ab32d3b5 320442009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
32045
32046 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
32047 grub_raid_register
32048 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
32049
024ef597 320502009-06-19 Pavel Roskin <proski@gnu.org>
32051
32052 * configure.ac: Remove stray AC_MSG_CHECKING.
32053
3ac72b51 320542009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
32055
32056 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 32057
e14cd814 320582009-06-18 Pavel Roskin <proski@gnu.org>
32059
32060 * conf/common.rmk: Add fs_file.mod.
32061 * disk/fs_file.c: New file.
32062 * include/grub/disk.h (enum grub_disk_dev_id): Add
32063 GRUB_DISK_DEVICE_FILE_ID.
32064
26586d98 320652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32066
32067 Fix build with Apple's toolchain. Part 2
32068
32069 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
32070 a fake start
32071
26de2bcd 320722009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32073
32074 Fix build with Apple's toolchain. Part 1
32075
32076 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
32077 for long calls
32078 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 32079 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 32080 Apple's toolchain
32081
09b3490b 320822009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
32083
32084 Fix warnings
32085
32086 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
32087 (decomp_block): initialize ch
32088 use grub_memcpy instead of memcpy
32089
c22a006a 320902009-06-17 Pavel Roskin <proski@gnu.org>
32091
d3638678 32092 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
32093 version, use declarations needed to use vga_text as the startup
32094 console.
32095
c22a006a 32096 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
32097 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
32098 the kernel.
32099 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
32100 and grub_at_keyboard_fini(), it's done on module load and
32101 unload.
32102
05b129e0 321032009-06-17 Felix Zielcke <fzielcke@z-51.de>
32104
32105 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
32106 file can't be found.
32107 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32108
cf24ed9e 321092009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32110
32111 Fix newline handling
32112
32113 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 32114 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 32115 (grub_script_yylex): don't segfault on unterminated script
32116 newline terminates command and variable
32117
74aa8e4b 321182009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
32119
32120 avoid double grub_adjust_range call. Bug reported by David Simner
32121
32122 * kern/disk.c (grub_disk_write): change to raw disk access before
32123 calling disk_read
32124
1bd265f3 321252009-06-17 Colin Watson <cjwatson@ubuntu.com>
32126
32127 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
32128 spaces, for the benefit of help2man.
32129 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32130
a2d08c06 321312009-06-16 Pavel Roskin <proski@gnu.org>
32132
32133 * kern/i386/halt.c: Include grub/machine/init.h.
32134 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
32135
b97bcb19 321362009-06-16 Felix Zielcke <fzielcke@z-51.de>
32137
32138 * util/grub.d/30_os-prober.in: Use ${root} in the generated
32139 drivemap menuentry.
32140
0644f96c 321412009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
32142
32143 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
32144 `echo' command.
32145
3ef17a2e 321462009-06-16 Pavel Roskin <proski@gnu.org>
32147
32148 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
32149 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
32150 save %dx, we only need %dl and we never change it.
32151 * boot/i386/pc/cdboot.S: Don't set the root drive.
32152 * boot/i386/pc/pxeboot.S: Likewise.
32153 * include/grub/i386/pc/boot.h: Remove
32154 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
32155 GRUB_BOOT_MACHINE_DRIVE_CHECK.
32156 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
32157 * kern/i386/pc/init.c (make_install_device): Remove references
32158 to grub_root_drive.
32159 * kern/i386/pc/startup.S: Likewise.
32160 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
32161
693fe637 321622009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32163
32164 xnu_uuid command
32165
32166 * commands/xnu_uuid.c: new file
32167 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
32168 (xnu_uuid_mod_SOURCES): new variable
32169 (xnu_uuid_mod_CFLAGS): likewise
32170 (xnu_uuid_mod_LDFLAGS): likewise
32171 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32172 * conf/i386-ieee1275.rmk: likewise
32173 * conf/i386-pc.rmk: likewise
32174 * conf/powerpc-ieee1275.rmk: likewise
32175 * conf/sparc64-ieee1275.rmk: likewise
32176 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
32177
c9da87d0 321782009-06-16 Pavel Roskin <proski@gnu.org>
32179
32180 * configure.ac: Avoid '==' in test command, it's not portable.
32181
9c6f4596 321822009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
32183
32184 Probe command
32185
32186 * commands/probe.c: new file
32187 * conf/common.rmk (pkglib_MODULES): add probe.mod
32188 (probe_mod_SOURCES): new variable
32189 (probe_mod_CFLAGS): likewise
32190 (probe_mod_LDFLAGS): likewise
32191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
32192 * conf/i386-ieee1275.rmk: likewise
32193 * conf/i386-pc.rmk: likewise
32194 * conf/powerpc-ieee1275.rmk: likewise
32195 * conf/sparc64-ieee1275.rmk: likewise
32196
70b7f9fd 321972009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
32198
32199 Fix handling of string like \"hello\" and "a
32200 b"
32201
32202 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
32203 (grub_script_yylex): fix parsing of quoting, escaping and newline
32204
71c79a6b 322052009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
32206
dd74360c 32207 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 32208 handling
dd74360c 32209
0644f96c 322102009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 32211
32212 * util/grub-mkconfig.in: Fix parsing of --output option.
32213
e40893c3 322142009-06-12 Pavel Roskin <proski@gnu.org>
32215
32216 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
32217 genmk.rb don't need to be generated or installed.
32218
3a1acfe2 322192009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
32220
32221 * commands/i386/pc/drivemap_int13h.S: add more comments
32222
3a4575d4 322232009-06-11 Pavel Roskin <proski@gnu.org>
32224
0658e928 32225 * Makefile.in (uninstall): Uninstall manuals.
32226
ca0388f0 32227 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
32228 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
32229 and update-grub_lib in two places.
32230 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
32231
e3b27c39 32232 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
32233 a compiler warning.
32234
3a4575d4 32235 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
32236 `entry_lo' to fix variable shadowing.
32237
af1f4f55 322382009-06-11 Christian Franke <franke@computer.org>
32239
32240 * kern/misc.c (__enable_execute_stack): Add missing return type
32241 to prevent gcc warning.
32242
5225e649 322432009-06-11 Felix Zielcke <fzielcke@z-51.de>
32244
32245 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
32246
7d83bd47 322472009-06-11 Pavel Roskin <proski@gnu.org>
32248
c1cb63ba 32249 * Makefile.in: Don't rely on any scripts being executable.
32250 Always use $(SHELL) to run shell scripts.
32251
7d83bd47 32252 * configure.ac: Always define ___main if using -nostdlib. This
32253 fixes tests on Cygwin.
32254
948f48e7 322552009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32256
32257 UDF fix
32258
7d83bd47 32259 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32260 is in bytes and not in blocks
7d83bd47 32261
8ada9bc1 322622009-06-11 Pavel Roskin <proski@gnu.org>
32263
32264 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32265 warning.
32266
25ad2323 322672009-06-11 Felix Zielcke <fzielcke@z-51.de>
32268
32269 * util/grub.d/30_os-prober.in: Fix a comment. Source
32270 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32271 to set the root device. Place drivemap command in the generated
32272 chain entry.
32273
e65acb0c 322742009-06-11 Pavel Roskin <proski@gnu.org>
32275
32276 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32277 have long been resolved.
32278
f285fe2d 322792009-06-11 Colin Watson <cjwatson@ubuntu.com>
32280
bd47b0b5 32281 * util/grub.d/10_linux.in: Capitalise "Linux".
32282
f285fe2d 32283 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32284
a0c62e4e 322852009-06-11 Pavel Roskin <proski@gnu.org>
32286
b6783cb2 32287 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32288 fix a gcc warning and ensure that the function won't ever exit.
32289
dde032e8 32290 * kern/i386/ieee1275/init.c: Add missing prototype for
32291 grub_stop_floppy().
32292
22cd079d 32293 * loader/ieee1275/multiboot2.c [__i386__]: Include
32294 grub/cpu/multiboot.h.
32295
a0c62e4e 32296 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32297 casts to short - they are not portable and cause warnings. Fix
32298 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32299
63963d17 323002009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32301
32302 Drivemap fixes
32303
32304 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32305 new function
32306 (grub_get_root_biosnumber_saved): new variable
32307 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32308 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32309 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32310 %dx after the call if necessary
32311 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32312 (boot_mod_SOURCES): remove
32313 (boot_mod_CFLAGS): remove
32314 (boot_mod_LDFLAGS): remove
32315 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32316 (boot_mod_SOURCES): new variable
32317 (boot_mod_CFLAGS): likewise
32318 (boot_mod_LDFLAGS): likewise
32319 * conf/i386-efi.rmk: likewise
32320 * conf/i386-ieee1275.rmk: likewise
32321 * conf/i386-pc.rmk: likewise
32322 * conf/powerpc-ieee1275.rmk: likewise
32323 * conf/sparc64-ieee1275.rmk: likewise
32324 * conf/x86_64-efi.rmk: likewise
32325 * include/grub/i386/pc/biosnum.h: new file
32326 * lib/i386/pc/biosnum.c: likewise
32327 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32328 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32329 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32330
33abf7ae 323312009-06-10 Pavel Roskin <proski@gnu.org>
32332
5ac35b35 32333 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32334 Use separate variables. Read only the file size at the end, but
32335 not the checksum that we don't use.
32336
5c5215d5 32337 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32338 Adjust all callers.
32339
27d5fef7 32340 * kern/ieee1275/openfw.c: Remove libc includes.
32341 * kern/ieee1275/cmain.c: Likewise.
32342 * include/grub/ieee1275/ieee1275.h: Likewise.
32343
33abf7ae 32344 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32345 compiler warnings.
32346
19d50c2b 323472009-06-10 Felix Zielcke <fzielcke@z-51.de>
32348
32349 * Makefile.in: Remove all trailing whitespace.
32350 * conf/i386-pc.rmk: Likewise.
32351 * conf/powerpc-ieee1275.rmk: Likewise.
32352 * conf/sparc64-ieee1275.rmk: Likewise.
32353 * docs/grub.texi: Likewise.
32354 * docs/texinfo.tex: Likewise.
32355 * disk/fs_uuid.c: Likewise.
32356 * disk/lvm.c: Likewise.
32357 * disk/scsi.c: Likewise.
32358 * disk/ata.c: Likewise.
32359 * disk/ieee1275/ofdisk.c: Likewise.
32360 * disk/i386/pc/biosdisk.c: Likewise.
32361 * disk/host.c: Likewise.
32362 * disk/raid.c: Likewise.
32363 * disk/efi/efidisk.c: Likewise.
32364 * disk/usbms.c: Likewise.
32365 * disk/memdisk.c: Likewise.
32366 * disk/loopback.c: Likewise.
32367 * kern/powerpc/dl.c: Likewise.
32368 * kern/device.c: Likewise.
32369 * kern/dl.c: Likewise.
32370 * kern/sparc64/dl.c: Likewise.
32371 * kern/ieee1275/ieee1275.c: Likewise.
32372 * kern/term.c: Likewise.
32373 * kern/fs.c: Likewise.
32374 * kern/i386/dl.c: Likewise.
32375 * kern/i386/pc/startup.S: Likewise.
32376 * kern/i386/pc/init.c: Likewise.
32377 * kern/i386/pc/mmap.c: Likewise.
32378 * kern/i386/pc/lzo1x.S: Likewise.
32379 * kern/i386/ieee1275/init.c: Likewise.
32380 * kern/i386/realmode.S: Likewise.
32381 * kern/i386/tsc.c: Likewise.
32382 * kern/partition.c: Likewise.
32383 * kern/corecmd.c: Likewise.
32384 * kern/file.c: Likewise.
32385 * kern/efi/efi.c: Likewise.
32386 * kern/efi/init.c: Likewise.
32387 * kern/efi/mm.c: Likewise.
32388 * kern/main.c: Likewise.
32389 * kern/err.c: Likewise.
32390 * kern/env.c: Likewise.
32391 * kern/disk.c: Likewise.
32392 * kern/generic/millisleep.c: Likewise.
32393 * kern/generic/rtc_get_time_ms.c: Likewise.
32394 * kern/misc.c: Likewise.
32395 * kern/parser.c: Likewise.
32396 * genmk.rb: Likewise.
32397 * configure.ac: Likewise.
32398 * boot/i386/pc/diskboot.S: Likewise.
32399 * boot/i386/pc/pxeboot.S: Likewise.
32400 * boot/i386/pc/boot.S: Likewise.
32401 * boot/i386/pc/lnxboot.S: Likewise.
32402 * boot/i386/pc/cdboot.S: Likewise.
32403 * parttool/pcpart.c: Likewise.
32404 * video/readers/tga.c: Likewise.
32405 * video/video.c: Likewise.
32406 * video/bitmap.c: Likewise.
32407 * lib/envblk.c: Likewise.
32408 * lib/i386/setjmp.S: Likewise.
32409 * fs/xfs.c: Likewise.
32410 * fs/afs.c: Likewise.
32411 * fs/fat.c: Likewise.
32412 * fs/ntfs.c: Likewise.
32413 * fs/udf.c: Likewise.
32414 * fs/affs.c: Likewise.
32415 * fs/iso9660.c: Likewise.
32416 * fs/hfs.c: Likewise.
32417 * fs/fshelp.c: Likewise.
32418 * fs/ext2.c: Likewise.
32419 * fs/jfs.c: Likewise.
32420 * fs/reiserfs.c: Likewise.
32421 * fs/hfsplus.c: Likewise.
32422 * fs/minix.c: Likewise.
32423 * fs/cpio.c: Likewise.
32424 * fs/sfs.c: Likewise.
32425 * fs/ufs.c: Likewise.
32426 * efiemu/prepare.c: Likewise.
32427 * efiemu/loadcore_common.c: Likewise.
32428 * efiemu/runtime/efiemu.sh: Likewise.
32429 * efiemu/runtime/efiemu.S: Likewise.
32430 * efiemu/runtime/efiemu.c: Likewise.
32431 * efiemu/pnvram.c: Likewise.
32432 * efiemu/main.c: Likewise.
32433 * efiemu/i386/pc/cfgtables.c: Likewise.
32434 * efiemu/i386/loadcore64.c: Likewise.
32435 * efiemu/i386/loadcore32.c: Likewise.
32436 * efiemu/loadcore.c: Likewise.
32437 * efiemu/symbols.c: Likewise.
32438 * efiemu/mm.c: Likewise.
32439 * include/grub/autoefi.h: Likewise.
32440 * include/grub/datetime.h: Likewise.
32441 * include/grub/term.h: Likewise.
32442 * include/grub/hfs.h: Likewise.
32443 * include/grub/lvm.h: Likewise.
32444 * include/grub/i386/tsc.h: Likewise.
32445 * include/grub/i386/linux.h: Likewise.
32446 * include/grub/i386/xnu.h: Likewise.
32447 * include/grub/i386/efiemu.h: Likewise.
32448 * include/grub/i386/pc/biosdisk.h: Likewise.
32449 * include/grub/i386/pc/memory.h: Likewise.
32450 * include/grub/i386/pc/vbe.h: Likewise.
32451 * include/grub/parttool.h: Likewise.
32452 * include/grub/video.h: Likewise.
32453 * include/grub/memory.h: Likewise.
32454 * include/grub/fs.h: Likewise.
32455 * include/grub/partition.h: Likewise.
32456 * include/grub/xnu.h: Likewise.
32457 * include/grub/efi/api.h: Likewise.
32458 * include/grub/efi/pe32.h: Likewise.
32459 * include/grub/efi/memory.h: Likewise.
32460 * include/grub/multiboot.h: Likewise.
32461 * include/grub/usbdesc.h: Likewise.
32462 * include/grub/multiboot2.h: Likewise.
32463 * include/grub/acpi.h: Likewise.
32464 * include/grub/efiemu/efiemu.h: Likewise.
32465 * include/grub/disk.h: Likewise.
32466 * include/grub/ieee1275/ieee1275.h: Likewise.
32467 * include/grub/net.h: Likewise.
32468 * include/grub/machoload.h: Likewise.
32469 * include/grub/macho.h: Likewise.
32470 * include/multiboot.h: Likewise.
32471 * genmoddep.awk: Likewise.
32472 * normal/main.c: Likewise.
32473 * normal/menu_entry.c: Likewise.
32474 * normal/menu_viewer.c: Likewise.
32475 * normal/completion.c: Likewise.
32476 * normal/cmdline.c: Likewise.
32477 * normal/misc.c: Likewise.
32478 * normal/datetime.c: Likewise.
32479 * bus/usb/usbtrans.c: Likewise.
32480 * bus/usb/ohci.c: Likewise.
32481 * bus/usb/uhci.c: Likewise.
32482 * bus/usb/usb.c: Likewise.
32483 * mmap/efi/mmap.c: Likewise.
32484 * mmap/i386/pc/mmap_helper.S: Likewise.
32485 * mmap/i386/pc/mmap.c: Likewise.
32486 * mmap/i386/mmap.c: Likewise.
32487 * mmap/i386/uppermem.c: Likewise.
32488 * mmap/mmap.c: Likewise.
32489 * commands/acpi.c: Likewise.
32490 * commands/echo.c: Likewise.
32491 * commands/blocklist.c: Likewise.
32492 * commands/loadenv.c: Likewise.
32493 * commands/usbtest.c: Likewise.
32494 * commands/boot.c: Likewise.
32495 * commands/parttool.c: Likewise.
32496 * commands/search.c: Likewise.
32497 * commands/cat.c: Likewise.
32498 * commands/i386/pc/play.c: Likewise.
32499 * commands/i386/pc/drivemap.c: Likewise.
32500 * commands/i386/pc/vbeinfo.c: Likewise.
32501 * commands/i386/pc/acpi.c: Likewise.
32502 * commands/i386/pc/vbetest.c: Likewise.
32503 * commands/ls.c: Likewise.
32504 * commands/cmp.c: Likewise.
32505 * commands/test.c: Likewise.
32506 * commands/efi/acpi.c: Likewise.
32507 * commands/gptsync.c: Likewise.
32508 * commands/help.c: Likewise.
32509 * partmap/amiga.c: Likewise.
32510 * partmap/apple.c: Likewise.
32511 * partmap/acorn.c: Likewise.
32512 * partmap/pc.c: Likewise.
32513 * partmap/sun.c: Likewise.
32514 * partmap/gpt.c: Likewise.
32515 * script/sh/lexer.c: Likewise.
32516 * script/sh/function.c: Likewise.
32517 * font/font.c: Likewise.
32518 * font/font_cmd.c: Likewise.
32519 * loader/powerpc/ieee1275/linux.c: Likewise.
32520 * loader/efi/chainloader.c: Likewise.
32521 * loader/multiboot_loader.c: Likewise.
32522 * loader/macho.c: Likewise.
32523 * loader/i386/multiboot.c: Likewise.
32524 * loader/i386/linux.c: Likewise.
32525 * loader/i386/pc/linux.c: Likewise.
32526 * loader/i386/pc/multiboot2.c: Likewise.
32527 * loader/i386/pc/chainloader.c: Likewise.
32528 * loader/i386/pc/xnu.c: Likewise.
32529 * loader/i386/bsd_trampoline.S: Likewise.
32530 * loader/i386/efi/linux.c: Likewise.
32531 * loader/i386/multiboot_elfxx.c: Likewise.
32532 * loader/i386/bsd_helper.S: Likewise.
32533 * loader/i386/bsd.c: Likewise.
32534 * loader/i386/linux_trampoline.S: Likewise.
32535 * loader/i386/xnu_helper.S: Likewise.
32536 * loader/i386/xnu.c: Likewise.
32537 * loader/i386/bsd_pagetable.c: Likewise.
32538 * loader/i386/multiboot_helper.S: Likewise.
32539 * loader/xnu.c: Likewise.
32540 * loader/xnu_resume.c: Likewise.
32541 * io/gzio.c: Likewise.
32542 * term/efi/console.c: Likewise.
32543 * term/terminfo.c: Likewise.
32544 * term/ieee1275/ofconsole.c: Likewise.
32545 * term/i386/pc/serial.c: Likewise.
32546 * term/i386/pc/vesafb.c: Likewise.
32547 * term/i386/pc/vga.c: Likewise.
32548 * term/usb_keyboard.c: Likewise.
32549 * term/gfxterm.c: Likewise.
32550 * aclocal.m4: Likewise.
32551 * util/lvm.c: Likewise.
32552 * util/grub.d/30_os-prober.in: Likewise.
32553 * util/grub.d/10_hurd.in: Likewise.
32554 * util/console.c: Likewise.
32555 * util/grub-macho2img.c: Likewise.
32556 * util/grub-probe.c: Likewise.
32557 * util/hostfs.c: Likewise.
32558 * util/i386/pc/grub-mkimage.c: Likewise.
32559 * util/i386/pc/grub-setup.c: Likewise.
32560 * util/i386/efi/grub-mkimage.c: Likewise.
32561 * util/grub-mkconfig.in: Likewise.
32562 * util/raid.c: Likewise.
32563 * util/resolve.c: Likewise.
32564 * util/grub-mkdevicemap.c: Likewise.
32565 * util/grub-emu.c: Likewise.
32566 * util/getroot.c: Likewise.
32567 * util/hostdisk.c: Likewise.
32568 * util/usb.c: Likewise.
32569 * util/grub-editenv.c: Likewise.
32570 * util/misc.c: Likewise.
32571
d2d49665 325722009-06-10 Felix Zielcke <fzielcke@z-51.de>
32573
32574 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32575 `genparttoollist.sh'.
32576 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32577 Add `*.sh' to the list find searches for and change `mdate.sh'
32578 to `mdate-sh'.
32579
fe052e37 325802009-06-10 Pavel Roskin <proski@gnu.org>
32581
2763ac18 32582 * include/grub/multiboot2.h: Provide compatibility defines for
32583 multiboot2.h.
32584 * include/multiboot2.h: Include stdint.h only if needed, using
32585 angle brackets.
32586 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32587 grub/multiboot2.h.
32588 * loader/ieee1275/multiboot2.c: Likewise.
32589 * loader/multiboot2.c: Likewise.
32590 * loader/multiboot_loader.c: Likewise.
32591
437e6adc 32592 * configure.ac: Use -nostdlib when probing for the target. It
32593 should not be required to have libc for the target.
32594
06a6836c 32595 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32596 they fail without libc headers for the target.
32597 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32598 exports.
32599 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32600 preprocessor conditionals.
32601
fe052e37 32602 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32603 build system doesn't need to be aware of the tar.c internals.
32604
afd22553 326052009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32606
afd22553 32607 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32608
6b787c4f 326092009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32610
32611 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32612 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32613
326142009-06-09 Felix Zielcke <fzielcke@z-51.de>
32615
32616 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32617 aren't available if ata.mod gets used.
6b787c4f 32618
473d1e45 326192009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32620
473d1e45 32621 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32622 initialising controller.
473d1e45 32623 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32624
255a27d4 326252009-06-08 Felix Zielcke <fzielcke@z-51.de>
32626
32627 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32628 to choose between ata and biosdisk module on i386-pc.
32629
473d1e45 326302009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32631
d55842d8 32632 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32633 Subclass and Programming Interface fields in terms of the 3 byte
32634 Class Code register.
32635 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32636
fa5db0b1 32637 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32638 interface is OHCI. Add grub_dprintf for symmetry with
32639 bus/usb/uhci.c.
32640 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32641 interface is UHCI. Add interf variable for programming
32642 interface. Print interface with class/subclass.
32643
c0947beb 32644 * bus/usb/ohci.c: Set interf with correct field.
32645
69da8877 32646 * bus/usb/uhci.c: Remove unneeded doubled lines.
32647 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32648 Remove whitespace inside comment.
32649
9e172e30 326502009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32651
32652 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32653 as fallback an equivalent option without depth.
32654
de65ee2b 326552009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32656
32657 Not fail if unable to retrieve C/H/S on LBA disks
32658
473d1e45 32659 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32660 if unable to retrieve C/H/S on LBA disks
32661
b57ea2c9 326622009-06-08 Pavel Roskin <proski@gnu.org>
32663
32664 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32665 about aliasing.
32666
af361263 326672009-06-08 Felix Zielcke <fzielcke@z-51.de>
32668
32669 * Makefile.in (uninstall): Remove all $lib_DATA files.
32670
4c9ec6b3 326712009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32672
32673 Bugfix: install on partitionless device
32674
32675 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32676 is a whole disk
32677
e76fc924 326782009-06-08 Felix Zielcke <fzielcke@z-51.de>
32679
32680 * Makefile.in (uninstall): Remove all $include_DATA files.
32681
ba5a0d05 326822009-06-08 Felix Zielcke <fzielcke@z-51.de>
32683
32684 * commands/true.c: New file. Implement the true and false commands.
32685 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32686 (true_mod_SOURCES): New variable.
32687 (true_mod_CFLAGS): Likewise.
32688 (true_mod_LDFLAGS): Likewise.
32689
c8048e32 326902009-06-05 Colin D Bennett <colin@gibibit.com>
32691
32692 Optimized font character lookup using binary search instead of linear
32693 search. Fonts now are required to have the character index ordered by
32694 code point.
32695
32696 * font/font.c (load_font_index): Verify that fonts have ordered
32697 character indices.
32698 (find_glyph): Use binary search instead of linear search to find a
32699 character in a font.
32700
408305be 327012009-06-05 Michael Scherer <misc@mandriva.org>
32702
32703 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32704 uses case sensitive btree.
32705 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32706 only for case insensitive filesystems.
32707
8ee1e0d9 327082009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32709
32710 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32711 * conf/common.rmk (search_mod_CFLAGS): likewise
32712
a9966eb1 327132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32714
473d1e45 32715 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32716 compensate a compiler bug
32717
9e7100fb 327182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32719
473d1e45 32720 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32721 instead of '\b'
473d1e45 32722
ede21d71 327232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32724
32725 Definitions for creating asm symbols with Apple's CC
32726
32727 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32728 [APPLE_CC] (VARIABLE): likewise
32729
9dbf7653 327302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32731
32732 Disable lnxboot.img when compiled
32733 with Apple's CC
32734
32735 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32736 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32737 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32738 [! APPLE_CC] (CODE_LENG): skip
32739 [! APPLE_CC] (setup_sects): likewise
32740 [! APPLE_CC]: skip filling
473d1e45 32741
e93cdc3d 327422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32743
32744 Address in trampolines based on 32-bit registers when compiled
32745 with Apple's CC
32746
473d1e45 32747 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32748 for addresses
32749 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32750
6c688477 327512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32752
32753 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32754
32755 * kern/misc.c [APPLE_CC] (memcpy): new function
32756 [APPLE_CC] (memmove): likewise
32757 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32758 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32759 (memset): likewise
32760 (abort): likewise
32761 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32762 APPLE_CC are defined
32763 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32764 (grub_assert_fail): make prototype conditional
32765
e37ffc5c 327662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32767
32768 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32769
473d1e45 32770 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32771 grub-macho2img
e37ffc5c 32772 (CLEANFILES): add grub-macho2img
32773 (grub_macho2img_SOURCES): new variable
32774 * kern/i386/pc/startup.S (bss_start): new variable
32775 (bss_end): likewise
32776 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32777 * util/grub-macho2img.c: new file
32778
cf00df31 327792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32780
32781 Use objconv when compiling with Apple's CC
32782
32783 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32784 (efiemu64.o): likewise
32785 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32786 when compiling with Apple's CC
32787 (efiemu64_s.o): likewise
32788 * configure.ac: check for objconv when compiling with Apple's CC
32789 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32790
d119a20c 327912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32792
32793 Define segment as well as section when compiling with
32794 Apple's CC
32795
32796 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32797 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32798 (efiemu_convert_pointer): likewise
32799 (efiemu_set_virtual_address_map): likewise
32800 (efiemu_convert_pointer): likewise
32801 (efiemu_getcrc32): likewise
32802 (init_crc32_table): likewise
32803 (reflect): likewise
32804 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32805 (GRUB_MOD_DEP): likewise
473d1e45 32806
c8600122 328072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32808
32809 Allow a compilation without -mcmodel=large
32810
32811 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32812 when compiled without -mcmodel=large
473d1e45 32813 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32814 without -mcmodel=large
473d1e45 32815 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32816 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32817
e8df1d4e 328182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32819
32820 Remove nested functions in efiemu core
32821
32822 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32823
cc6c3ac1 328242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32825
32826 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32827
32828 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32829 temporary storage
473d1e45 32830 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32831 using Apple's CC
cc6c3ac1 32832 (grub_cpu_is_tsc_supported): likewise
32833 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32834
3e325901 328352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32836
32837 Absolute addressing through constant with Apple's cc
32838
32839 * kern/i386/pc/startup.S: Define necessary constants
32840 and address through it when using ABS with Apple's CC
32841 * boot/i386/pc/diskboot.S: likewise
32842 * boot/i386/pc/boot.S: likewise
32843 * boot/i386/pc/lnxboot.S: likewise
32844 * boot/i386/pc/cdboot.S: likewise
32845 * mmap/i386/pc/mmap_helper.S: likewise
32846 * commands/i386/pc/drivemap_int13h.S: likewise
32847
2b167a72 328482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32849
32850 Check if compiler is apple cc
32851
32852 * Makefile.in (ASFLAGS): new variable
32853 (TARGET_ASFLAGS): likewise
32854 (TARGET_MODULE_FORMAT): likewise
32855 (TARGET_APPLE_CC): likewise
32856 (OBJCONV): likewise
32857 (TARGET_IMG_CFLAGS): likewise
32858 (TARGET_CPPFLAGS): add includedir
32859 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32860 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32861 Check for linker script only if compiler isn't Apple's CC
32862 (TARGET_MODULE_FORMAT): set
32863 (TARGET_APPLE_CC): likewise
32864 (TARGET_ASFLAGS): likewise
32865 (ASFLAGS): likewise
32866 Check for objcopy only if compiler isn't Apple's CC
32867 Check for BSS symbol only if compiler isn't Apple's CC
32868 * genmk.rb: adapt nm options if we use Apple's utils
32869 * aclocal.m4 (grub_apple_cc): new test
32870 (grub_apple_target_cc): likewise
473d1e45 32871
fb14123e 328722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32873
32874 Simplify sed expressions and improve awk
32875
32876 * Makefile.in (install-local): simplify sed expression
32877 * gencmdlist.sh: likewise
32878 * genmoddep.awk: avoid adding module as a dependency of itself
32879
5b889789 328802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32881
32882 Add missing start symbols
32883
32884 * boot/i386/pc/boot.S: add start
fb14123e 32885 * boot/i386/pc/pxeboot.S: likewise
473d1e45 32886
fd2bf2e3 328872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32888
32889 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 32890
32891 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 32892 (relocate_addresses): consider both r_addend and value at offset
32893 (make_mods_section): zerofill modinfo and header
32894 (convert_elf): write prefix here
473d1e45 32895
5389763d 328962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32897
32898 Use .asciz instead of .string
32899
32900 * i386/pc/diskboot.S: use .asciz instead of .string
32901 * i386/pc/boot.S: likewise
32902 * include/grub/dl.h (GRUB_MOD_DEP): likewise
32903 (GRUB_MOD_NAME): likewise
473d1e45 32904
3eb5ed4e 329052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32906
32907 gfxpayload support
32908
32909 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
32910 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
32911 (grub_video_setup): remove
32912 (grub_video_set_mode): new prototype
32913 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
32914 (vid_mode): remove
32915 (linux_vesafb_res): compile only on PCBIOS
32916 (grub_linux_boot): support gfxpayload
32917 * loader/i386/pc/xnu.c (video_hook): new function
32918 (grub_xnu_set_video): support gfxpayload
32919 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
32920 (DEFAULT_VIDEO_HEIGHT): likewise
32921 (DEFAULT_VIDEO_FLAGS): likewise
32922 (DEFAULT_VIDEO_MODE): new definition
32923 (video_hook): new function
32924 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 32925 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 32926 loading xnu
32927 * video/video.c (grub_video_setup): removed
473d1e45 32928 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 32929 grub_video_setup
32930
4b0e1143 329312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32932
32933 Avoid calling biosdisk in drivemap
32934
32935 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
32936 (revparse_biosdisk): likewise
32937 (list_mappings): derive name from id directly
32938 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 32939
fda6cb98 329402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32941
32942 Script fixes
32943
32944 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
32945 (grub_lexer_param): add tokenonhold
32946 (grub_script_create_cmdline): remove cmdline. All callers updated
32947 (grub_script_function_create): make functionname
32948 grub_script_arg. All callers updated
32949 (grub_script_execute_argument_to_string): new prototype
32950 * kern/parser.c (state_transitions): reorder
32951 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 32952 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 32953 make global
32954 (grub_script_execute_cmdline): use new format
32955 * script/sh/function.c (grub_script_function_create): make functionname
32956 grub_script_arg. All callers updated
473d1e45 32957 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 32958 (grub_script_yylex): remove
32959 (grub_script_yylex2): renamed to ...
32960 (grub_script_yylex): ...renamed
32961 parse the expressions like a${b}c
32962 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
32963 (GRUB_PARSER_TOKEN_VAR): remove
32964 (GRUB_PARSER_TOKEN_NAME): likewise
32965 ("if"): declare as typeless
32966 ("while"): likewise
32967 ("function"): likewise
32968 ("else"): likewise
32969 ("then"): likewise
32970 ("fi"): likewise
32971 (text): remove
32972 (argument): likewise
32973 (script): accept empty scripts and make exit on error
32974 (arguments): use GRUB_PARSER_TOKEN_ARG
32975 (function): likewise
32976 (command): move error handling to script
32977 (menuentry): move grub_script_lexer_ref before
473d1e45 32978 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 32979 argument. All callers updated
32980
f4448a07 329812009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 Prevent GRUB from probing floppies during boot.
32984
32985 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
32986 * commands/search.c (options): Add --no-floppy.
32987 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
32988 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
32989 --no-floppy when searching for UUIDs.
32990
2bf5885a 329912009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32992
32993 Simplify the code duplication in commands/search.c.
32994
32995 * commands/search.c (search_label, search_fs_uuid): Merge into ...
32996 (search_fs): ... this. Update all users.
32997
f6fd460a 329982009-06-03 Felix Zielcke <fzielcke@z-51.de>
32999
33000 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
33001
cbb3c83e 330022009-05-28 Pavel Roskin <proski@gnu.org>
33003
57788cfd 33004 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
33005 Remove the original symlink explicitly.
33006
cbb3c83e 33007 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
33008 just one slash. That's how grub_fshelp_find_file() does it.
33009
cd0d5e30 330102009-05-26 Pavel Roskin <proski@gnu.org>
33011
f0f8bbe2 33012 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
33013 to `str'.
33014
cd0d5e30 33015 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
33016 possibly unused.
33017
8c2cab51 330182009-05-25 Christian Franke <franke@computer.org>
33019
33020 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
33021 register.
33022 (grub_atapi_identify): Add wait after drive select.
33023 (grub_ata_identify): Do more strict status register check before
33024 calling grub_atapi_identify (). Suppress error message if status
33025 register is 0x00 after command failure. Add status register
33026 check after PIO read to avoid bogus identify due to stuck DRQ.
33027 Thanks to Pavel Roskin for testing.
33028 (grub_device_initialize): Remove unsafe status register check.
33029 Thanks to 'phcoder' for problem report and patch.
33030 Prevent sign extension in debug message.
33031
230c0ad6 330322009-05-23 Colin D Bennett <colin@gibibit.com>
33033
33034 Cleaned up `include/grub/normal.h'. Grouped prototypes by
33035 definition file, and functions defined in `normal/menu.c' have had
33036 their prototypes moved to `include/grub/menu.h' for consistency.
33037
33038 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
33039 from normal.h.
33040 (grub_menu_get_entry): Likewise.
33041 (grub_menu_get_timeout): Likewise.
33042 (grub_menu_set_timeout): Likewise.
33043 (grub_menu_execute_entry): Likewise.
33044 (grub_menu_execute_with_fallback): Likewise.
33045 (grub_menu_entry_run): Likewise.
33046
33047 * include/grub/normal.h: Re-ordered and grouped function
33048 prototypes by file that the function is defined in.
33049 (grub_menu_execute_callback): Removed; moved to menu.h.
33050 (grub_menu_get_entry): Likewise.
33051 (grub_menu_get_timeout): Likewise.
33052 (grub_menu_set_timeout): Likewise.
33053 (grub_menu_execute_entry): Likewise.
33054 (grub_menu_execute_with_fallback): Likewise.
33055 (grub_menu_entry_run): Likewise.
33056 (grub_menu_addentry): Renamed from this ...
33057 (grub_normal_add_menu_entry): ... to this.
33058
33059 * normal/main.c (grub_menu_addentry): Renamed from this ...
33060 (grub_normal_add_menu_entry): ... to this.
33061
33062 * script/sh/execute.c (grub_script_execute_menuentry): Update
33063 reference to renamed grub_menu_addentry function.
33064
861f03a5 330652009-05-23 Felix Zielcke <fzielcke@z-51.de>
33066
33067 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
33068
96b1619a 330692009-05-22 Pavel Roskin <proski@gnu.org>
33070
bf6a5fb2 33071 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
33072 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
33073 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
33074 compiling for the i386 targets, but not for the utilities.
33075
96b1619a 33076 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
33077 to grub_uint8_t.
33078 (grub_root_drive): Likewise.
33079 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
33080 remove alignment.
33081 (grub_root_drive): Change size to byte.
33082 (grub_start_addr): Remove.
33083 (grub_end_addr): Likewise.
33084 (grub_apm_bios_info): Likewise.
33085
b729776b 330862009-05-21 Felix Zielcke <fzielcke@z-51.de>
33087
33088 * normal/i386: Remove.
33089 * normal/powerpc: Likewise.
33090 * normal/sparc64: Likewise.
33091 * normal/x86_64: Likewise.
33092
0a15ce80 330932009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
33094
33095 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 33096 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 33097 * loader/i386/xnu_helper.S: Likewise
d6da58e6 33098
33db9015 330992009-05-18 Colin D Bennett <colin@gibibit.com>
33100
d6da58e6 33101 Display error messages when parsing a Lua statement fails.
33102 Previously, executing a syntactically invalid statement like
33103 ")foo" or "bar;" would silently fail.
33db9015 33104
33105 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 33106 (grub_lua_parse_line): Improved reporting of Lua parser and
33107 execution errors.
33db9015 33108
46422c89 331092009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33110
33111 Remove -Werror which causes build to fail on some systems
33112
33113 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
33114 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
33115 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 33116
22f53a96 331172009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
33118
33119 trampoline for linux on 64-bit platform
33120
18f547ad 33121 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
33122 loader/i386/efi/linux_trampoline.S
33123 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 33124 declaration
d6da58e6 33125 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
33126 here
22f53a96 33127 * loader/i386/linux_trampoline.S: moved here
d6da58e6 33128 * loader/i386/efi/linux.c (allocate_pages): reserve space for
33129 trampoline
22f53a96 33130 (jumpvector): removed
33131 (grub_linux_trampoline_start): new declaration
33132 (grub_linux_trampoline_end): likewise
33133 (grub_linux_boot): use trampoline when on 64-bit platform
33134 * loader/i386/linux.c: likewise
33135
cb5a0f40 331362009-05-16 Pavel Roskin <proski@gnu.org>
33137
33138 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
33139 const to avoid a warning.
33140 (grub_lua_setenv): Likewise.
33141 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
33142 lmsg to fix a warning.
33143
334f2c28 331442009-05-16 Felix Zielcke <fzielcke@z-51.de>
33145
33146 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 33147 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33148 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
33149 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33150 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33151 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
33152 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
33153 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 33154
59e5d3ec 331552009-05-16 Felix Zielcke <fzielcke@z-51.de>
33156
33157 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
33158
9d87a1ba 331592009-05-16 Bean <bean123ch@gmail.com>
33160
33161 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
33162 (lua_mod_SOURCES): New variable.
33163 (lua_mod_CFLAGS): Likewise.
33164 (lua_mod_LDFLAGS): Likewise.
33165
33166 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
33167 (setjmp_mod_SOURCES): New variable.
33168 (setjmp_mod_CFLAGS): Likewise.
33169 (setjmp_LDFLAGS): Likewise.
33170
33171 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
33172 (setjmp_mod_SOURCES): New variable.
33173 (setjmp_mod_CFLAGS): Likewise.
33174 (setjmp_LDFLAGS): Likewise.
33175
33176 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33177 (setjmp_mod_SOURCES): New variable.
33178 (setjmp_mod_CFLAGS): Likewise.
33179 (setjmp_LDFLAGS): Likewise.
33180
33181 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
33182 (setjmp_mod_SOURCES): New variable.
33183 (setjmp_mod_CFLAGS): Likewise.
33184 (setjmp_LDFLAGS): Likewise.
33185
33186 * normal/i386/setjmp.S: Moved from here ...
33187 * lib/i386/setjmp.S: ... Moved here
33188 * normal/x86_64/setjmp.S: Moved from here ...
33189 * lib/x86_64/setjmp.S: ... Moved here
33190 * normal/powerpc/setjmp.S: Moved from here ...
33191 * lib/powerpc/setjmp.S: ... Moved here
33192 * normal/sparc64/setjmp.S: Moved from here ...
33193 * lib/sparc64/setjmp.S: ... Moved here
33194
33195 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
33196 returns_twice in mingw.
33197
33198 * script/lua/grub_lib.c: New file.
33199 * script/lua/grub_lib.h: Likewise.
33200 * script/lua/grub_lua.h: Likewise.
33201 * script/lua/grub_main.c: Likewise.
33202 * script/lua/lapi.c: Likewise.
33203 * script/lua/lapi.h: Likewise.
33204 * script/lua/lauxlib.c: Likewise.
33205 * script/lua/lauxlib.h: Likewise.
33206 * script/lua/lbaselib.c: Likewise.
33207 * script/lua/lcode.c: Likewise.
33208 * script/lua/lcode.h: Likewise.
33209 * script/lua/ldblib.c: Likewise.
33210 * script/lua/ldebug.c: Likewise.
33211 * script/lua/ldebug.h: Likewise.
33212 * script/lua/ldo.c: Likewise.
33213 * script/lua/ldo.h: Likewise.
33214 * script/lua/ldump.c: Likewise.
33215 * script/lua/lfunc.c: Likewise.
33216 * script/lua/lfunc.h: Likewise.
33217 * script/lua/lgc.c: Likewise.
33218 * script/lua/lgc.h: Likewise.
33219 * script/lua/linit.c: Likewise.
33220 * script/lua/liolib.c: Likewise.
33221 * script/lua/llex.c: Likewise.
33222 * script/lua/llex.h: Likewise.
33223 * script/lua/llimits.h: Likewise.
33224 * script/lua/lmathlib.c: Likewise.
33225 * script/lua/lmem.c: Likewise.
33226 * script/lua/lmem.h: Likewise.
33227 * script/lua/loadlib.c: Likewise.
33228 * script/lua/lobject.c: Likewise.
33229 * script/lua/lobject.h: Likewise.
33230 * script/lua/lopcodes.c: Likewise.
33231 * script/lua/lopcodes.h: Likewise.
33232 * script/lua/loslib.c: Likewise.
33233 * script/lua/lparser.c: Likewise.
33234 * script/lua/lparser.h: Likewise.
33235 * script/lua/lstate.c: Likewise.
33236 * script/lua/lstate.h: Likewise.
33237 * script/lua/lstring.c: Likewise.
33238 * script/lua/lstring.h: Likewise.
33239 * script/lua/lstrlib.c: Likewise.
33240 * script/lua/ltable.c: Likewise.
33241 * script/lua/ltable.h: Likewise.
33242 * script/lua/ltablib.c: Likewise.
33243 * script/lua/ltm.c: Likewise.
33244 * script/lua/ltm.h: Likewise.
33245 * script/lua/lua.h: Likewise.
33246 * script/lua/luaconf.h: Likewise.
33247 * script/lua/lualib.h: Likewise.
33248 * script/lua/lundump.c: Likewise.
33249 * script/lua/lundump.h: Likewise.
33250 * script/lua/lvm.c: Likewise.
33251 * script/lua/lvm.h: Likewise.
33252 * script/lua/lzio.c: Likewise.
33253 * script/lua/lzio.h: Likewise.
33254
5e898c9d 332552009-05-16 Bean <bean123ch@gmail.com>
33256
33257 * include/grub/kernel.h (grub_module_header_types): Add type
33258 OBJ_TYPE_CONFIG.
33259
33260 * kern/main.c (grub_load_config): New function.
33261 (grub_main): Call grub_load_config to read boot config.
33262
33263 * grub-mkimage (generate_image): New parameter config_path.
33264 (options): New option --config.
33265 (main): Parse --config option, and pass it to generate_image.
33266
cf353a47 332672009-05-14 Christian Franke <franke@computer.org>
33268
33269 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33270 This fixes build on Cygwin.
33271
3834887f 332722009-05-14 Pavel Roskin <proski@gnu.org>
33273
33274 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33275 jump. This saves two bytes, so the typical case of 2 swapped
33276 drives would fit 32 bytes.
33277
8090fc01 332782009-05-13 Pavel Roskin <proski@gnu.org>
33279
ac963883 33280 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33281 grub_uint32_t to avoid a warning.
33282
8090fc01 33283 * loader/i386/linux.c (allocate_pages): When assigning
33284 real_mode_mem, cast through grub_size_t to fix a warning. The
33285 code already makes sure that the value would fit a pointer.
33286 (grub_linux_setup_video): Cast render_target->data to
33287 grub_size_t to fix a warning.
33288
18f547ad 332892009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33290
33291 * commands/i386/pc/drivemap.c: New file - implement drivemap
33292 command.
33293 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33294 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33295
6f6a8b28 332962009-05-13 Pavel Roskin <proski@gnu.org>
33297
33298 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33299 embedding_area_exists.
33300
15fbf4c4 333012009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33302
33303 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33304 it easier to understand / work with.
59978c8a 33305 Improve warning messages for cases where there's no embedding area,
33306 or when it is too small (or core.img too large).
15fbf4c4 33307
238e871f 333082009-05-13 Pavel Roskin <proski@gnu.org>
33309
0ab3a9a4 33310 * loader/i386/pc/multiboot2.c: Add necessary includes for
33311 grub_multiboot2_real_boot().
33312
a2c8c5f8 33313 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33314 PX record is always little-endian. We only need the lower 2
33315 bytes of the mode.
33316
faec96af 33317 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33318 facilitate code reuse.
33319 (grub_cpio_mount): Use "struct head", not a char buffer. This
33320 fixes a warning reported by gcc 4.4.
33321
238e871f 33322 * kernel/disk.c (grub_disk_read): Use void pointer for the
33323 buffer.
33324 (grub_disk_write): Use const void pointer for the buffer.
33325 Adjust all callers. Remove unnecessary casts.
33326
901d2f0c 333272009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33328
33329 * util/i386/pc/grub-install.in: Update copyright year.
33330
18f547ad 333312009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33332
33333 gptsync
33334
33335 * commands/gptsync.c: new file
33336 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33337 (gptsync_mod_SOURCES): new variable
33338 (gptsync_mod_CFLAGS): likewise
33339 (gptsync_mod_LDFLAGS): likewise
18f547ad 33340 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33341 new definition
33342 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33343 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33344 * conf/i386-ieee1275.rmk: likewise
33345 * conf/i386-pc.rmk: likewise
33346 * conf/powerpc-ieee1275.rmk: likewise
33347
b4ba690a 333482009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33349
33350 Fixed grub-emu
33351
33352 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33353 (grub_dl_ref): likewise
33354
317e1a44 333552009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33356
33357 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33358 split in two functions (one for msdos and one for gpt).
33359
041b8094 333602009-05-08 Pavel Roskin <proski@gnu.org>
33361
752473c2 33362 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33363 not modified.
33364
041b8094 33365 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33366 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33367 Initialize them with -1. Add sanity check for bad1. Eliminate
33368 nerr variable.
33369
172800ce 333702009-05-08 David S. Miller <davem@davemloft.net>
33371
33372 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33373
29aa5e81 333742009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33375
33376 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33377 existence.
29aa5e81 33378
96613b62 333792009-05-05 Felix Zielcke <fzielcke@z-51.de>
33380
33381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33382 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33383
eef73c8a 333842009-05-05 David S. Miller <davem@davemloft.net>
33385
33386 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33387
119494b5 333882009-05-05 Pavel Roskin <proski@gnu.org>
33389
33390 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33391 of grub_dl_ref() and grub_dl_unref().
33392 * commands/parttool.c: Remove preprocessor conditionals around
33393 grub_dl_ref() and grub_dl_unref().
33394 * fs/affs.c: Likewise.
33395 * fs/afs.c: Likewise.
33396 * fs/cpio.c: Likewise.
33397 * fs/ext2.c: Likewise.
33398 * fs/fat.c: Likewise.
33399 * fs/hfs.c: Likewise.
33400 * fs/hfsplus.c: Likewise.
33401 * fs/iso9660.c: Likewise.
33402 * fs/jfs.c: Likewise.
33403 * fs/minix.c: Likewise.
33404 * fs/ntfs.c: Likewise.
33405 * fs/reiserfs.c: Likewise.
33406 * fs/sfs.c: Likewise.
33407 * fs/udf.c: Likewise.
33408 * fs/ufs.c: Likewise.
33409 * fs/xfs.c: Likewise.
33410 * include/grub/dl.h: Likewise.
33411 * loader/xnu.c: Likewise.
33412
de5fd76e 334132009-05-04 Pavel Roskin <proski@gnu.org>
33414
33415 * commands/acpi.c: Remove unused variable my_mod.
33416 * partmap/amiga.c: Likewise.
33417 * partmap/apple.c: Likewise.
33418 * partmap/gpt.c: Likewise.
33419 * partmap/pc.c: Likewise.
33420 * partmap/sun.c: Likewise.
33421 * term/gfxterm.c: Likewise.
33422 * term/i386/pc/vesafb.c: Likewise.
33423 * term/i386/pc/vga.c: Likewise.
33424
983598ad 334252009-05-04 David S. Miller <davem@davemloft.net>
33426
33427 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33428 pointer args to grub_ieee1275_get_property().
33429
8aadec43 33430 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33431
9554b15e 33432 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33433 devices, and do not traverse down under controller nodes.
33434
67e23c90 33435 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33436 (grub_ofdisk_open): Use it to un-escape "," characters.
33437 * kern/disk.c (find_part_sep): New.
33438 (grub_disk_open): Use it to find the first non-escaped ','
33439 character in the disk name.
33440 * util/ieee1275/devicemap.c (escape_of_path): New.
33441 (grub_util_emit_devicemap_entry): Use it.
33442 * util/sparc64/ieee1275/grub-install.in: Update script to
33443 strip partition specifiers properly by not triggering on
33444 '\' escaped ',' characters.
33445
74bfdd2f 334462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33447
33448 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33449 to 0x300.
33450 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33451 resolutions.
33452 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33453 on documentation from Wikipedia).
33454
4241d2b1 334552009-05-04 Pavel Roskin <proski@gnu.org>
33456
33457 * disk/ata.c: Spelling fixes.
33458 * disk/raid.c: Likewise.
33459 * disk/usbms.c: Likewise.
33460 * disk/dmraid_nvidia.c: Likewise.
33461 * kern/ieee1275/openfw.c: Likewise.
33462 * kern/ieee1275/init.c: Likewise.
33463 * kern/ieee1275/cmain.c: Likewise.
33464 * boot/i386/pc/cdboot.S: Likewise.
33465 * video/readers/png.c: Likewise.
33466 * video/i386/pc/vbe.c: Likewise.
33467 * fs/udf.c: Likewise.
33468 * fs/hfs.c: Likewise.
33469 * fs/reiserfs.c: Likewise.
33470 * efiemu/runtime/efiemu.c: Likewise.
33471 * efiemu/main.c: Likewise.
33472 * efiemu/mm.c: Likewise.
33473 * include/grub/elf.h: Likewise.
33474 * include/grub/xnu.h: Likewise.
33475 * include/grub/usbdesc.h: Likewise.
33476 * include/grub/usb.h: Likewise.
33477 * include/grub/script_sh.h: Likewise.
33478 * include/grub/lib/LzmaEnc.h: Likewise.
33479 * include/grub/efiemu/efiemu.h: Likewise.
33480 * include/grub/command.h: Likewise.
33481 * normal/menu.c: Likewise.
33482 * normal/main.c: Likewise.
33483 * normal/datetime.c: Likewise.
33484 * bus/usb/uhci.c: Likewise.
33485 * mmap/i386/uppermem.c: Likewise.
33486 * mmap/mmap.c: Likewise.
33487 * commands/acpi.c: Likewise.
33488 * commands/test.c: Likewise.
33489 * partmap/apple.c: Likewise.
33490 * font/font.c: Likewise.
33491 * loader/sparc64/ieee1275/linux.c: Likewise.
33492 * loader/macho.c: Likewise.
33493 * loader/i386/bsd_trampoline.S: Likewise.
33494 * loader/i386/bsd.c: Likewise.
33495 * loader/xnu.c: Likewise.
33496 * term/i386/pc/vesafb.c: Likewise.
33497 * term/usb_keyboard.c: Likewise.
33498 * util/resolve.c: Likewise.
33499 * util/getroot.c: Likewise.
33500
0cfc0083 335012009-05-04 Felix Zielcke <fzielcke@z-51.de>
33502
33503 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33504
7c1d00cd 335052009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33506
33507 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33508 build error.
33509
b01f0548 335102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33511
33512 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33513 parameter only available on BIOS.
33514
ecc3eb22 335152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33516
33517 Removed wrong semicolon in declaration
33518
33519 * grub/misc.h (grub_dprintf): remove semicolon
33520
112972a9 335212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33522
33523 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33524 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33525 is done by grub_cmd_linux() now).
33526 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33527 restore video to text mode.
33528 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33529 indicates lack of "vga=" parameter. "vga=0" is mapped to
33530 `GRUB_LINUX_VID_MODE_NORMAL'.
33531
afd5c115 335322009-05-04 Felix Zielcke <fzielcke@z-51.de>
33533
33534 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33535 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33536 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33537 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33538 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33539 `grub_script.tab.c'.
33540
33541 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33542 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33544 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33545 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33546
faa517ce 33547 * Makefile.in: Remove duplicated 2008 in Copyright line.
33548
ae0c0bdc 335492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33550
473d1e45 33551 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33552 unconditionally.
33553 * include/grub/util/misc.h (grub_util_warn): New declaration.
33554
33555 * util/i386/pc/grub-install.in: Understand --force and pass it down
33556 to grub-setup.
33557
33558 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33559 down to setup().
33560 (setup): Improve error messages and add warnings when requested to
33561 install in odd layouts. Refuse to install using blocklists unless
33562 --force was set.
33563
18f547ad 335642009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33565
33566 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33567
6d260daa 335682009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33569
33570 Updated copyright year
33571
33572 * fs/hfsplus.c: updated copyright year
18f547ad 33573
69f853f8 335742009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33575
33576 HFS+ UUID
33577
18f547ad 33578 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33579 in the space previously used by unused3
33580 (grub_hfsplus_uuid): new function
33581 (grub_hfsplus_fs): added uuid field
33582
4c402e73 335832009-05-03 Pavel Roskin <proski@gnu.org>
33584
33585 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33586 suppress warnings. It's no longer needed.
33587 * disk/host.c: Likewise.
33588 * disk/ata_pthru.c: Likewise.
33589 * disk/loopback.c: Likewise.
33590 * hook/datehook.c: Likewise.
33591 * parttool/pcpart.c: Likewise.
33592 * fs/i386/pc/pxe.c: Likewise.
33593 * fs/ntfscomp.c: Likewise.
33594 * efiemu/main.c: Likewise.
33595 * mmap/mmap.c: Likewise.
33596 * commands/crc.c: Likewise.
33597 * commands/hexdump.c: Likewise.
33598 * commands/hdparm.c: Likewise.
33599 * commands/acpi.c: Likewise.
33600 * commands/echo.c: Likewise.
33601 * commands/minicmd.c: Likewise.
33602 * commands/blocklist.c: Likewise.
33603 * commands/memrw.c: Likewise.
33604 * commands/loadenv.c: Likewise.
33605 * commands/usbtest.c: Likewise.
33606 * commands/lsmmap.c: Likewise.
33607 * commands/boot.c: Likewise.
33608 * commands/parttool.c: Likewise.
33609 * commands/configfile.c: Likewise.
33610 * commands/search.c: Likewise.
33611 * commands/ieee1275/suspend.c: Likewise.
33612 * commands/cat.c: Likewise.
33613 * commands/i386/pc/pxecmd.c: Likewise.
33614 * commands/i386/pc/play.c: Likewise.
33615 * commands/i386/pc/halt.c: Likewise.
33616 * commands/i386/pc/vbeinfo.c: Likewise.
33617 * commands/i386/pc/vbetest.c: Likewise.
33618 * commands/lspci.c: Likewise.
33619 * commands/date.c: Likewise.
33620 * commands/handler.c: Likewise.
33621 * commands/ls.c: Likewise.
33622 * commands/test.c: Likewise.
33623 * commands/cmp.c: Likewise.
33624 * commands/efi/loadbios.c: Likewise.
33625 * commands/efi/fixvideo.c: Likewise.
33626 * commands/halt.c: Likewise.
33627 * commands/help.c: Likewise.
33628 * commands/reboot.c: Likewise.
33629 * hello/hello.c: Likewise.
33630 * script/sh/main.c: Likewise.
33631 * loader/xnu.c: Likewise.
33632 * term/terminfo.c: Likewise.
33633 * term/i386/pc/serial.c: Likewise.
33634 * term/usb_keyboard.c: Likewise.
33635
515b5079 336362009-05-03 David S. Miller <davem@davemloft.net>
33637
33638 * normal/menu.c: Include grub/parser.h
33639
dfc31a22 336402009-05-03 Pavel Roskin <proski@gnu.org>
33641
2fee74f1 33642 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33643 not char*.
33644 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33645 Suggested by Javier Martín <lordhabbit@gmail.com>
33646
dfc31a22 33647 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33648 efiemu??.o doesn't exist.
33649 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33650 copying.
33651
18f547ad 336522009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33653
33654 FreeBSD 64-bit support
33655
18f547ad 33656 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33657 and loader/i386/bsd_trampoline.S
33658 (bsd_mod_ASFLAGS): new variable
33659 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33660 (FREEBSD_MODTYPE_KERNEL64): likewise
33661 (grub_bsd64_trampoline_start): likewise
33662 (grub_bsd64_trampoline_end): likewise
33663 (grub_bsd64_trampoline_selfjump): likewise
33664 (grub_bsd64_trampoline_gdt): likewise
33665 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33666 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33667 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33668 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33669 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33670 of "attrib" member
33671 * loader/i386/bsd_pagetable.c: new file
33672 * loader/i386/bsd_trampoline.S: likewise
33673 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33674 (ALIGN_VAR): likewise
33675 (entry_hi): new variable
33676 (kern_end_mdofs): likewise
33677 (is_64bit): likewise
33678 (grub_freebsd_add_meta): use ALIGN_VAR
33679 (grub_e820_mmap): new declaration
33680 (grub_freebsd_add_mmap): new function
33681 (grub_freebsd_add_meta_module): support 64 bit kernels
33682 (grub_freebsd_list_modules): use ALIGN_VAR
33683 (gdt_descriptor): new declaration
33684 (grub_freebsd_boot): support 64 bit kernels
33685 (grub_bsd_elf64_hook): new function
33686 (grub_bsd_load_elf): support elf64
33687
038c5720 336882009-05-03 Bean <bean123ch@gmail.com>
33689
33690 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33691 after we get the result of if statement.
33692
fc45fb58 336932009-05-03 Bean <bean123ch@gmail.com>
33694
33695 * Makefile.in (enable_efiemu): New variable.
33696
33697 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33698 set.
33699 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33700 path.
33701 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33702 path, add -mno-red-zone option.
33703 (efiemu64_s.o): Likewise.
33704 (efiemu64.o): Use macro $^ for source file.
33705
33706 * configure.ac (--enable-efiemu): New option.
33707
bbee0f2b 337082009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33709
33710 xnu support
33711
33712 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33713 (pkglib_MODULES): add xnu.mod
33714 (xnu_mod_SOURCES): new variable
33715 (xnu_mod_CFLAGS): likewise
33716 (xnu_mod_LDFLAGS): likewise
33717 (xnu_mod_ASFLAGS): likewise
33718 * conf/i386-pc.rmk: likewise
33719 * conf/x86_64-efi.rmk: likewise
7dd4a573 33720 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33721 new declaration
33722 * include/grub/i386/macho.h: new file
33723 * include/grub/i386/xnu.h: likewise
33724 * include/grub/macho.h: likewise
33725 * include/grub/machoload.h: likewise
33726 * include/grub/x86_64/macho.h: likewise
33727 * include/grub/x86_64/xnu.h: likewise
33728 * include/grub/xnu.h: likewise
33729 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33730 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33731 * loader/i386/efi/xnu.c: new file
33732 * loader/i386/pc/xnu.c: likewise
33733 * loader/i386/xnu.c: likewise
33734 * loader/i386/xnu_helper.S: likewise
33735 * loader/macho.c: likewise
33736 * loader/xnu.c: likewise
33737 * loader/xnu_resume.c: likewise
33738 * util/grub-dumpdevtree: likewise
33739 * include/grub/i386/pit.h: include grub/err.h
33740 (grub_pit_wait): export
33741 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33742
5caf964d 337432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33744
33745 Efiemu
7dd4a573 33746
5caf964d 33747 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33748 _linux_efi, linux_efi.
33749 new files in grub-emu
5caf964d 33750 new targets efiemu32.o and efiemu64.o
33751 * loader/linux_normal_efiemu.c: likewise
33752 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33753 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33754 files to copy
33755 * include/grub/autoefi.h: new file
7dd4a573 33756 * include/grub/i386/efiemu.h: likewise
5caf964d 33757 * include/grub/i386/pc/efiemu.h: likewise
33758 * include/grub/efi/api.h: add LL suffix when necessary
33759 new definitions relating to tables
33760 * include/grub/efiemu/efiemu.h: new file
33761 * include/grub/efiemu/runtime.h: likewise
33762 * efiemu/prepare.c: likewise
33763 * efiemu/loadcore_common.c: likewise
33764 * efiemu/loadcore64.c: likewise
33765 * efiemu/runtime/efiemu.sh: likewise
33766 * efiemu/runtime/efiemu.S: likewise
33767 * efiemu/runtime/efiemu.c: likewise
33768 * efiemu/runtime/config.h: likewise
33769 * efiemu/prepare32.c: likewise
33770 * efiemu/main.c: likewise
33771 * efiemu/modules/pnvram.c: likewise
33772 * efiemu/modules/i386: likewise
33773 * efiemu/modules/i386/pc: likewise
33774 * efiemu/modules/acpi.c: likewise
33775 * efiemu/i386/pc/cfgtables.c: likewise
33776 * efiemu/i386/loadcore64.c: likewise
33777 * efiemu/i386/loadcore32.c: likewise
33778 * efiemu/prepare64.c: likewise
33779 * efiemu/loadcore.c: likewise
33780 * efiemu/symbols.c: likewise
33781 * efiemu/mm.c: likewise
33782 * efiemu/loadcore32.c: likewise
7dd4a573 33783
337842009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33785
33786 ACPI spoofing
33787
33788 * commands/acpi.c: new file
33789 * commands/i386/pc/acpi.c: likewise
33790 * commands/efi/acpi.c: likewise
33791 * include/grub/acpi.h: likewise
33792 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33793 (acpi_mod_SOURCES): new variable
33794 (acpi_mod_CFLAGS): likewise
33795 (acpi_mod_LDFLAGS): likewise
33796 * conf/i386-efi.rmk: likewise
33797 * conf/x86_64-efi.rmk: likewise
33798
7dd4a573 337992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33800
33801 Missing part from mmap patch
33802
33803 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33804 (grub_mmap_unregister)
33805 (grub_mmap_free_and_unregister): use grub_mmap_register
33806
7dd4a573 338072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33808
33809 Mmap services
33810
33811 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33812 * loader/i386/linux.c (find_mmap_size): likewise
33813 (allocate_pages): likewise
33814 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33815 (grub_fill_multiboot_mmap): likewise
33816 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33817 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33818 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33819 (OPENBSD_MMAP_RESERVED): likewise
33820 * include/grub/i386/pc/memory.h: include grub/memory.h
33821 (grub_lower_mem): removed
33822 (grub_upper_mem): likewise
33823 (GRUB_MACHINE_MEMORY_ACPI): new definition
33824 (GRUB_MACHINE_MEMORY_NVS): likewise
33825 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33826 (GRUB_MACHINE_MEMORY_HOLE): likewise
33827 (grub_machine_mmap_register): likewise
33828 (grub_machine_mmap_unregister): likewise
33829 (grub_machine_get_upper): likewise
33830 (grub_machine_get_lower): likewise
33831 (grub_machine_get_post64): likewise
33832 * include/grub/i386/efi/memory.h: new file
33833 * include/grub/x86_64/efi/memory.h: likewise
33834 * include/grub/efi/memory.h: likewise
33835 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33836 (mmap_mod_SOURCES): new variable
33837 (mmap_mod_LDFLAGS): likewise
33838 (mmap_mod_ASFLAGS): likewise
33839 * conf/i386-coreboot.rmk: likewise
33840 * conf/i386-ieee1275.rmk: likewise
33841 * conf/i386-efi.rmk: likewise
33842 * conf/x86_64-efi.rmk: likewise
33843 * include/grub/types.h (UINT_TO_PTR): new macro
33844 (PTR_TO_UINT32): likewise
33845 (PTR_TO_UINT64): likewise
33846 * include/grub/memory.h: new file
33847 * mmap/i386/pc/mmap.c: likewise
33848 * mmap/i386/pc/mmap_helper.S: likewise
33849 * mmap/i386/uppermem.c: likewise
33850 * mmap/mmap.c: likewise
33851 * mmap/efi/mmap.c: likewise
7dd4a573 33852 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 33853 grub_upper_mem
33854 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33855 (grub_upper_mem): likewise
33856 (grub_machine_init): don't use grub_upper_mem,
33857 make grub_lower_mem local
33858 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33859 grub_mmap_iterate and grub_mmap_get_upper
33860 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33861
d558e6b5 338622009-05-02 Bean <bean123ch@gmail.com>
33863
33864 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
33865 script/sh/parser.y.
33866 (pkglib_MODULES): Add normal.mod and sh.mod.
33867 (normal_SOURCES): New variable.
33868 (normal_mod_CFLAGS): Likewise.
33869 (normal_mod_LDFLAGS): Likewise.
33870 (sh_mod_SOURCES): Likewise.
33871 (sh_mod_CFLAGS): Likewise.
33872 (sh_mod_LDFLAGS): Likewise.
33873
33874 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
33875 script/sh/lexer.c_DEPENDENCIES.
33876 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
33877 kern/rescue_reader.c and kern/rescue_parser.c.
33878 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
33879 (grub_emu_SOURCES): Change source files.
33880 (pkglib_MODULES): Remove normal.mod.
33881 (normal_SOURCES): Removed.
33882 (normal_mod_CFLAGS): Likewise.
33883 (normal_mod_LDFLAGS): Likewise.
33884 * conf/i386-coreboot.rmk: Likewise.
33885 * conf/i386-efi.rmk: Likewise.
33886 * conf/i386-ieee1276.rmk: Likewise.
33887 * conf/powerpc-ieee1275.rmk: Likewise.
33888 * conf/sparc64-ieee1275.rmk: Likewise.
33889 * conf/x86_64-efi.rmk: Likewise.
33890
33891 * include/grub/command.h (grub_command_execute): New inline function.
33892
33893 * include/grub/menu.h (grub_menu_entry): Removed commands field.
33894
33895 * include/grub/normal.h: Remove <grub/setjmp.h>.
33896 (grub_fs_module_list): Moved to normal/autofs.c.
33897 (grub_exit_env): Removed.
33898 (grub_command_execute): Likewise.
33899 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
33900 parameter script.
33901 (read_command_list): New function declaration.
33902 (read_fs_list): Likewise.
33903
33904 * include/parser.h: Include <grub/reader.h>.
33905 (grub_parser_split_cmdline): Change type of getline parameter.
33906 (grub_parser): New structure.
33907 (grub_parser_class): New variable.
33908 (grub_parser_execute): New function declaration.
33909 (grub_register_rescue_parser): Likewise.
33910 (grub_parser_register): New inline function.
33911 (grub_parser_unregister): Likewise.
33912 (grub_parser_get_current): Likewise.
33913 (grub_parser_set_current): Likewise.
33914
33915 * include/grub/reader.h: New file.
33916 * kern/reader.c: Likewise.
33917 * kern/rescue_parser.c: Likewise.
33918 * kern/rescue_reader.c: Likewise.
33919 * normal/autofs.c: Likewise.
33920 * normal/dyncmd.c: Likewise.
33921
33922 * include/grub/rescue.h: Removed.
33923 * normal/command.h: Likewise.
33924
33925 * include/grub/script.h: Moved to ...
33926 * include/grub/script_sh.h: ... Moved here.
33927 * normal/execute.c: Moved to ...
33928 * script/sh/execute.c: ... Moved here.
33929 * normal/function.c: Moved to ...
33930 * script/sh/function.c: ... Moved here.
33931 * normal/lexer.c: Moved to ...
33932 * script/sh/lexer.c: ... Moved here.
33933 * normal/parser.y: Moved to ...
33934 * script/sh/parser.y: ... Moved here.
33935 * normal/script.c: Moved to ...
33936 * script/sh/script.c: ... Moved here.
33937
33938 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
33939 <grub/reader.h>.
33940 (grub_exit_env): Removed.
33941 (fs_module_list): Moved to normal/autofs.c.
33942 (grub_file_getline): Don't handle comment here.
33943 (free_menu): Skip removed field entry->commands.
33944 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
33945 script parameter.
33946 (read_config_file): Removed nested parameter, change getline function.
33947 (grub_enter_normal_mode): Removed.
33948 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
33949 (read_command_list): Likewise.
33950 (autoload_fs_module): Moved to normal/autofs.c.
33951 (read_fs_list): Likewise.
33952 (reader_nested): New variable.
33953 (grub_normal_execute): Run parser.sh to switch to sh parser.
33954 (grub_cmd_rescue): Removed.
33955 (cmd_normal): Removed.
33956 (grub_cmd_normal): Unregister itself at the beginning. Don't register
33957 rescue command.
33958 (grub_cmdline_run): New function.
33959 (grub_normal_reader_init): Likewise.
33960 (grub_normal_read_line): Likewise.
33961 (grub_env_write_pager): Likewise.
33962 (cmdline): New variable.
33963 (grub_normal_reader): Likewise.
33964 (GRUB_MOD_INIT): Register normal reader and set as current, register
33965 pager hook, register normal command with grub_register_command_prio,
33966 so that it won't show up in command.lst.
33967 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
33968 grub_fs_autoload_hook.
33969
33970 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
33971 (grub_menu_execute_entry): Replace grub_script_execute with
33972 grub_parser_execute, change parameter to grub_command_execute.
33973
33974 * normal/menu_text.c: Remove <grub/script.h>.
33975
33976 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
33977 and <grub/parser.h>.
33978 (run): Change editor_getline to use new parser interface. Change
33979 parameter to grub_command_execute.
33980
33981 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
33982 <grub/reader.h> and <grub/parser.h>.
33983 (grub_load_normal_mode): Execute normal command.
33984 (grub_main): Call grub_register_core_commands,
33985 grub_register_rescue_parser and grub_register_rescue_reader, use
33986 grub_reader_loop to enter input loop.
33987
7dd4a573 33988 * kern/parser.c (grub_parser_split_cmdline): Change type of
33989 getline parameter.
d558e6b5 33990 (grub_parser_class): New variable.
33991 (grub_parser_execute): New function.
33992
33993 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
33994 * loader/multiboot2.c: Likewise.
33995 * loader/sparc64/ieee1275/linux.c: Likewise.
33996
33997 * util/grub-emu.c (read_command_list): New dummy function.
33998
18db813d 339992009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34000
34001 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
34002 count to 16 for CCISS and IDA.
34003
6c67de15 340042009-05-02 Robert Millan <rmh.grub@aybabtu.com>
34005
34006 * normal/menu_text.c (grub_wait_after_message): Print a newline
34007 after waiting for user input.
34008
34009 * loader/i386/linux.c: Include `<grub/normal.h>'.
34010 (grub_cmd_linux): Improve the error message about `ask' mode, by
34011 waiting for user input so it's not missed (we can do this, since
34012 user requested interaction).
34013
d9dc87b0 340142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34015
34016 Added missing lst to grub-mkrescue
34017
34018 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
34019 and ${input_dir}/parttool.lst
34020
ac8a2baa 340212009-04-30 David S. Miller <davem@davemloft.net>
34022
ad22a610 34023 * util/hostdisk.c (device_is_wholedisk): New function.
34024 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
34025 zero only if device_is_wholedisk() returns true.
34026
6966215d 34027 * util/hostdisk.c (convert_system_partition_to_system_disk):
34028 Handle virtual disk devices named /dev/vdiskX as found on sparc
34029 and powerpc.
34030
ac8a2baa 34031 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
34032 lettered partition specifier is found, convert to numbered.
34033
979b4fb4 340342009-04-29 David S. Miller <davem@davemloft.net>
34035
e2bf39b2 34036 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
34037 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34038
3c64e104 34039 * normal/command.c: Add missing newline at end of file.
34040
979b4fb4 34041 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
34042 warnings.
34043 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
34044 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
34045 grub_ofdisk_read): Likewise, and deal similarly with the fact that
34046 ihandles have a 32-bit type but need to be stored in a "void *".
34047
136d9f82 340482009-04-28 Pavel Roskin <proski@gnu.org>
34049
9459c306 34050 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
34051 not disk. Adjust all dependencies.
2e08a26a 34052 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 34053 grub_disk_close().
34054
136d9f82 34055 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
34056 parent's partition, don't copy it by reference, as it gets freed
34057 on close.
34058
7dd4a573 340592009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 34060
34061 Preboot hooks support
34062
34063 * commands/boot.c (struct grub_preboot_t): new declaration
34064 (preboots_head): new variable
34065 (preboots_tail): likewise
34066 (grub_loader_register_preboot_hook): new function
34067 (grub_loader_unregister_preboot_hook): likewise
34068 (grub_loader_set): launch preboot hooks
34069 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
34070 (grub_loader_register_preboot_hook): new declaration
34071 (grub_loader_unregister_preboot_hook): likewise
34072
5af922b5 340732009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
34074
34075 Warning fix
34076
7dd4a573 34077 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 34078 calling grub_dprintf
34079
a5562c30 340802009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
34081
34082 Bug and warning fixes
34083
7dd4a573 34084 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 34085 declaration
34086 * commands/test.c (test_parse): fixed bug with file tests and corrected
34087 declaration of find_file
34088
4006f85c 340892009-04-26 Pavel Roskin <proski@gnu.org>
34090
34091 * Makefile.in: Don't install empty manual pages if help2man is
34092 missing. Use help2man option for output, not shell redirection.
34093
5c77c3de 340942009-04-26 David S. Miller <davem@davemloft.net>
34095
34096 * util/grub-mkdevicemap.c (make_device_map): Add missing
34097 NESTED_FUNC_ATTR to process_device().
34098
033b10a8 340992009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34100
34101 Test command
34102
34103 * commands/test.c: rewritten to use bash-like test
34104
e4343593 341052009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
34106
34107 Parttool autoloading and improvements
34108
7dd4a573 34109 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 34110 (parttool.lst): new target
34111 * genmk.rb: generate parttool-*
34112 (CLEANFILES): add #{parttool}
34113 (PARTTOOLFILES): new variable
34114 * genparttoollist.sh: new file
7dd4a573 34115 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 34116 (grub_pcpart_type): likewise
34117 * commands/parttool.c (helpmsg): new variable
34118 (grub_cmd_parttool): output help if not enough arguments are supplied
34119 autoload modules
34120 (GRUB_MOD_INIT(parttool)): use helpmsg
34121
0d312500 341222009-04-24 David S. Miller <davem@davemloft.net>
34123
7dd4a573 34124 Avoiding opening same device multiple times in device iterator.
0d312500 34125
34126 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 34127 and use it to build a list of partitions in iterate_disk() and
0d312500 34128 iterate_partition().
34129
ac20caff 34130 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
34131 on disk->data.
34132
0dcf7495 34133 * disk/ieee1275/nand.c (grub_nand_iterate): Return
34134 grub_devalias_iterate() result instead of unconditional 0.
34135 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
34136 Also, capture hook return value, either directly or via
34137 grub_children_iterate(), and propagate to caller.
34138 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
34139 grub_children_iterate): Return value is now 'int' instead of
34140 'grub_err_t'.
34141 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
34142 like a proper iterator, stopping when hooks return non-zero.
34143 (grub_devalias_iterate): Likewise.
34144
c8c08833 341452009-04-23 David S. Miller <davem@davemloft.net>
34146
34147 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
34148
f01005a8 341492009-04-22 David S. Miller <davem@davemloft.net>
34150
34151 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
34152 is larger than address_cells, use that value for address_cells too.
34153
4e8269da 34154 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
34155 IEEE1275_MAX_PATH_LEN): Define.
34156 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
34157 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
34158 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
34159 'devtype'. Explicitly NULL terminate devalias expansion.
34160
a1447506 34161 * util/sparc64/ieee1275/misc.c: New file.
34162 * util/sparc64/ieee1275/grub-setup.c: New file.
34163 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
34164 * util/sparc64/ieee1275/grub-mkimage.c: New file.
34165 * util/sparc64/ieee1275/grub-install.in: New file.
34166 * util/ieee1275/ofpath.c: New file.
34167 * util/ieee1275/devicemap.c: New file.
34168 * util/devicemap.c: New file.
34169 * util/deviceiter.c: New file.
34170 * kern/sparc64/ieee1275/init.c: New file.
34171 * include/grub/util/ofpath.h: New file.
34172 * include/grub/util/deviceiter.h: New file.
34173 * util/grub-mkdevicemap.c: Include deviceiter.h.
34174 Implement using grub_util_emit_devicemap_entry and
34175 grub_util_iterate_devices.
34176 * conf/i386-corebook.rmk: Build util/deviceiter.c and
34177 util/devicemap.c into grub-mkdevicemap
34178 * conf/i386-efi.rmk: Likewise.
34179 * conf/i386-ieee1275.rmk: Likewise.
34180 * conf/i386-pc.rmk: Likewise.
34181 * conf/powerpc-ieee1275.rmk: Likewise.
34182 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
34183 images and installation utilities. Build kernel as image
34184 instead of as elf binary. Use common rules as much as possible.
34185
7dd4a573 341862009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 34187
34188 Correct GPT definition
34189
7dd4a573 34190 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 34191 of "attrib" member
34192
c6c5219f 341932009-04-19 Felix Zielcke <fzielcke@z-51.de>
34194
34195 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
34196
0552ff9f 341972009-04-19 David S. Miller <davem@davemloft.net>
34198
34199 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
34200 (grub_rescue_cmd_linux): Rename to...
34201 (grub_cmd_linux): and fix prototype.
34202 (grub_rescue_cmd_initrd): Rename to...
34203 (grub_cmd_initrd): and fix prototype.
34204 (cmd_linux, cmd_initrd): New.
34205 (GRUB_MOD_INIT(linux)): Use grub_register_command().
34206 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
34207
d1a282fc 342082009-04-17 Pavel Roskin <proski@gnu.org>
34209
07c5039f 34210 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
34211 format.
34212 (grub_ohci_transfer): Likewise.
34213
b012002d 34214 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
34215
1bc09c35 34216 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
34217 return without a value. Fix inconsistent indentation.
34218
e0ff9126 34219 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
34220 match struct grub_fs.
34221
d1a282fc 34222 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
34223 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
34224 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
34225 * commands/lspci.c (grub_lspci_iter): Likewise.
34226
a96df3f2 342272009-04-16 Bean <bean123ch@gmail.com>
34228
34229 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
34230 value.
34231
41bb0fe9 342322009-04-15 Pavel Roskin <proski@gnu.org>
34233
34234 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
34235 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
34236 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
34237 definitions.
34238
596c6970 342392009-04-15 Felix Zielcke <fzielcke@z-51.de>
34240
34241 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 34242 that no multiple data or metadata areas are supported and `Unknown
596c6970 34243 metadata header'.
34244
7dd4a573 342452009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 34246
34247 Move loader out of the kernel
34248
34249 * kern/loader.c: moved to ...
34250 * commands/boot.c: ... moved here
34251 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
34252 * commands/boot.c (grub_cmd_boot): moved here. All users updated
34253 * include/grub/kernel.h (grub_machine_fini): export
34254 * include/grub/loader.h (grub_loader_is_loaded): update declaration
34255 (grub_loader_set): likewise
34256 (grub_loader_unset): likewise
34257 (grub_loader_boot): likewise
34258 * conf/common.rmk: new module boot.mod
34259 (pkglib_MODULES): add boot.mod
34260 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34261 (grub_emu_SOURCES): likewise
34262 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34263 (grub_emu_SOURCES): likewise
34264 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34265 (grub_emu_SOURCES): likewise
34266 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34267 (grub_emu_SOURCES): likewise
34268 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34269 (grub_emu_SOURCES): likewise
7dd4a573 34270 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34271 (grub_emu_SOURCES): likewise
0d5d5653 34272 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34273 (grub_emu_SOURCES): likewise
0d5d5653 34274
7dd4a573 342752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34276
34277 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34278
5999d619 34279 * kern/misc.c (grub_itoa): Removed function
34280 (grub_ltoa): likewise
34281 (grub_vsprintf): use grub_lltoa
34282
7dd4a573 342832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34284
34285 Restore grub-emu
34286
34287 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34288 * conf/i386-coreboot.rmk: likewise
34289 * conf/i386-ieee1275.rmk: likewise
34290 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34291
20318222 342922009-04-15 Felix Zielcke <fzielcke@z-51.de>
34293
34294 * INSTALL: Add that `./autogen.sh' needs to be run before
34295 `./configure.'.
34296
d05f0df3 342972009-04-14 Bean <bean123ch@gmail.com>
34298
34299 * Makefile.in (pkglib_DATA): Add handler.lst.
34300 (handler.lst): New rule.
34301
34302 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34303 * conf/i386-coreboot.rmk: Likewise.
34304 * conf/i386-ieee1275.rmk: Likewise.
34305 * conf/i386-efi.rmk: Likewise.
34306 * conf/x86_64-efi.rmk: Likewise.
34307 * conf/powerpc-ieee1275.rmk: Likewise.
34308 * conf/sparc64-ieee1275.rmk: Likewise.
34309
34310 * genhandlerlist.sh: New file.
34311
34312 * genmk.rb: Add rules to generate handler.lst.
34313
34314 * include/grub/normal.h (grub_file_getline): New function definition.
34315 (read_handler_list): Likewise.
34316 (free_handler_list): Likewise.
34317
34318 * include/grub/term.h (grub_term_register_input): Add name parameter
34319 for auto generation of handler.lst.
34320 (grub_term_register_output): Likewise.
34321
34322 * normal/handler.c: New file.
34323
34324 * normal/main.c (get_line): Renamed to grub_file_getline.
34325 (read_config_file): Use the newly renamed grub_file_getline.
34326 (read_command_list): Likewise.
34327 (read_fs_list): Likewise.
34328 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34329 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34330
34331 * term/efi/console.c (grub_console_init): Add name parameter for auto
34332 generation of handler.lst.
34333 * term/gfxterm.c: Likewise.
34334 * term/i386/pc/at_keyboard.c: Likewise.
34335 * term/i386/pc/console.c: Likewise.
34336 * term/i386/pc/serial.c: Likewise.
34337 * term/i386/pc/vesafb.c: Likewise.
34338 * term/i386/pc/vga.c: Likewise.
34339 * term/i386/pc/vga_text.c: Likewise.
34340 * term/ieee1275/ofconsole.c: Likewise.
34341 * term/usb_keyboard.c: Likewise.
34342
33c846be 343432009-04-14 Bean <bean123ch@gmail.com>
34344
34345 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34346 properly with null character.
34347
4484e01e 343482009-04-14 Felix Zielcke <fzielcke@z-51.de>
34349
34350 * configure: Remove.
34351 * config.h.in: Likewise.
f93d668e 34352 * stamp-h.in: Likewise.
4484e01e 34353 * DISTLIST: Likewise.
34354 * conf/common.mk: Likewise.
34355 * conf/i386-coreboot.mk: Likewise.
34356 * conf/i386-efi.mk: Likewise.
34357 * conf/i386-ieee1275.mk: Likewise.
34358 * conf/i386.mk: Likewise.
34359 * conf/i386-pc.mk: Likewise.
34360 * conf/powerpc-ieee1275.mk: Likewise.
34361 * conf/sparc64-ieee1275.mk: Likewise.
34362 * conf/x86_64-efi.mk: Likewise.
34363
34364 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34365 develop on GRUB.
34366
7dd4a573 343672009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34368 David S. Miller <davem@davemloft.net>
34369
34370 * util/hostdisk.c (make_device_name): Fix buffer length
34371 calculations.
34372
e25b5a8c 343732009-04-14 Felix Zielcke <fzielcke@z-51.de>
34374
34375 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34376 <sys/param.h> and <sys/sysctl.h>.
34377 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34378 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34379 opening the device and reset them afterwards.
34380
1f1f580c 343812009-04-13 Pavel Roskin <proski@gnu.org>
34382
34383 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34384 Reported by John Stanley <jpsinthemix@verizon.net>
34385
7ebc2d6b 343862009-04-13 Robert Millan <rmh@aybabtu.com>
34387
34388 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34389 that name for menuentries when appropriate.
7ebc2d6b 34390
d8ba3667 343912009-04-13 Felix Zielcke <fzielcke@z-51.de>
34392
34393 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34394
cba416eb 343952009-04-13 Robert Millan <rmh@aybabtu.com>
34396
34397 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34398 to Linux, simply abort telling the user it's no longer supported.
34399
a547a745 344002009-04-13 Felix Zielcke <fzielcke@z-51.de>
34401
34402 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34403 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34404 `freebsd_loadenv' only when devices.hints exist.
34405
232a769c 344062009-04-13 Pavel Roskin <proski@gnu.org>
34407
34408 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34409
c3012039 344102009-04-13 Felix Zielcke <fzielcke@z-51.de>
34411
34412 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34413 partition number.
34414 (grub_drive): Likewise.
34415
234022fe 344162009-04-13 David S. Miller <davem@davemloft.net>
34417
34418 * kern/sparc64/ieee1275/ieee1275.c: New file.
34419 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34420 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34421 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34422 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34423 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34424 grub_ieee1275_alloc_physmem): Declare new exported functions.
34425
d8e1836c 34426 * include/grub/sparc64/ieee1275/loader.h: New file.
34427 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34428 * include/grub/sparc64/kernel.h: Likewise.
34429 * loader/sparc64/ieee1275/linux.c: Likewise.
34430
96bd81ec 34431 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34432 (grub_fstest_SOURCES): Likewise.
34433
6a4737e5 34434 * util/hostdisk.c (make_device_name): Do not make any assumptions
34435 about the length of drive names.
34436
1d7a72fd 34437 * kern/dl.c (grub_dl_load_file): Close file immediately when
34438 we are done using it.
34439
56bc2471 344402009-04-12 David S. Miller <davem@davemloft.net>
34441
34442 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34443 values. Noticed by Pavel Roskin.
34444
df38d0bb 34445 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34446 target compiler.
7dd4a573 34447
e382e93a 34448 * genmk.rb: Add more flexible image type specification, also
34449 pass --strip-unneeded to objcopy.
34450 * conf/i386-pc.rmk: Use *_FORMAT.
34451 * conf/i386-pc.mk: Rebuilt.
34452
f5dbbca9 34453 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34454 (OFDISK_HASH_SZ): Define.
34455 (ofdisk_hash): New hash table.
34456 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34457 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34458 instead of device phandle which is not unique.
34459
91c88b12 34460 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34461 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34462 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34463 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34464 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34465 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34466 GRUB_KERNEL_MACHINE_DATA_END): Define.
34467 (grub_kernel_image_size, grub_total_module_size): Declare.
34468
5b5d4aa5 344692009-04-12 Pavel Roskin <proski@gnu.org>
34470
7dd4a573 34471 * configure.ac: Change the logic when we check for target tools.
34472 Do it when the target is specified and it's different from the
34473 specified value of the host.
5b5d4aa5 34474
c91e1793 344752009-04-11 Felix Zielcke <fzielcke@z-51.de>
34476
34477 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34478 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34479 GNU/kFreeBSD. Check if a device is a character device. Use
34480 DIOCGMEDIASIZE to get the size.
34481 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34482 support for GNU/kFreeBSD.
34483 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34484 is a character device instead of a block device. Add support for
34485 FreeBSD device names.
34486
34487 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34488 is a character device instead of a block device.
34489
34490 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34491 is a character device instead of a block device.
34492
b1ac8644 344932009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34494
34495 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34496 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34497 FreeBSD. Check if a device is a character device. Use
34498 DIOCGMEDIASIZE to get the size.
34499 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34500 support for FreeBSD.
34501 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34502 is a character device instead of a block device. Add support for
34503 FreeBSD device names.
34504
34505 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34506 a character device instead of a block device.
34507 (grub_util_check_char_device): New function.
34508
34509 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34510 a character device instead of a block device.
34511
34512 * include/grub/util/getroot.h (grub_util_check_char_device): New
34513 prototype.
34514
a3f7515a 345152009-04-11 David S. Miller <davem@davemloft.net>
34516
34517 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34518 static libgcc.
34519 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34520 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34521 function, if present.
34522 (__bswapdi2): Likewise.
34523
0d44993d 34524 * include/grub/sparc64/ieee1275/boot.h: New file.
34525 * boot/sparc64/ieee1275/boot.S: Likewise.
34526 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34527
ed3d2bc2 34528 * kern/misc.c (grub_ltoa): New function.
34529 (grub_vsprintf): Use it to format 'long' integers.
34530
d3bfb59c 345312009-04-10 David S. Miller <davem@davemloft.net>
34532
34533 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34534 slots are of type grub_ieee1275_cell_t.
34535 (grub_nand_read): Likewise.
34536 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34537 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34538 macros are used to compare values in arg/ret block of the call.
34539 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34540 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34541 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34542 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34543 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34544 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34545 grub_ieee1275_close, grub_ieee1275_set_property,
34546 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34547 grub_ieee1275_cell_t.
34548 * kern/ieee1275/openfw.c (grub_map): Likewise.
34549 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34550 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34551
450e2238 34552 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34553 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34554 (grub_devalias_iterate): Likewise.
34555
7dd4a573 345562009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34557
34558 UFS improvements
34559
34560 * fs/ufs.c (INODE_NBLOCKS): new definition
34561 (struct grub_ufs_dirent): added fields for non-BSD dirents
34562 (grub_ufs_get_file_block): fixed double indirect handling
34563 (grub_ufs_lookup_symlink): use more robust way to determine whether
34564 symlink is inline
34565 (grub_ufs_find_file): support for non-BSD dirents
34566 (grub_ufs_dir): support for non-BSD dirents
34567
e7e6862a 345682009-04-10 Bean <bean123ch@gnail.com>
34569
34570 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34571 attribute, otherwise the size would be wrong for i386 platform.
34572
34573 * include/grub/pci.h (grub_pci_read_word): New inline function.
34574 (grub_pci_read_byte): Likewise.
34575 (grub_pci_write): Likewise.
34576 (grub_pci_write_word): Likewise.
34577 (grub_pci_write_byte): Likewise.
34578
34579 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34580
34581 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34582 (find_framebuf): Scan pci to locate the frame buffer address.
34583
34584 * commands/efi/fixvideo.c: New file.
34585
34586 * commands/efi/loadbios.c: Likewise.
34587
34588 * commands/memrw.c: Likewise.
34589
34590 * util/grub-dumpbios.in: Likewise.
34591
34592 * conf/common.rmk (grub-dumpbios): New utility.
34593 (pkglib_MODULES): New module memrw.mod.
34594 (memrw_mod_SOURCE): New macro.
34595 (memrw_mod_CFLAGS): Likewise.
34596 (memrw_mod_LDFLAGS): Likewise.
34597
7dd4a573 34598 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34599 fixvideo.mod.
34600 (loadbios_mod_SOURCE): New macro.
34601 (loadbios_mod_CFLAGS): Likewise.
34602 (loadbios_mod_LDFLAGS): Likewise.
34603 (fixvideo_mod_SOURCE): Likewise.
34604 (fixvideo_mod_CFLAGS): Likewise.
34605 (fixvideo_mod_LDFLAGS): Likewise.
34606
7dd4a573 34607 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34608 fixvideo.mod.
34609 (loadbios_mod_SOURCE): New macro.
34610 (loadbios_mod_CFLAGS): Likewise.
34611 (loadbios_mod_LDFLAGS): Likewise.
34612 (fixvideo_mod_SOURCE): Likewise.
34613 (fixvideo_mod_CFLAGS): Likewise.
34614 (fixvideo_mod_LDFLAGS): Likewise.
34615
af63ada2 346162009-04-08 Felix Zielcke <fzielcke@z-51.de>
34617
34618 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34619
c2cdde70 346202009-04-07 David S. Miller <davem@davemloft.net>
34621
34622 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34623 support for R_SPARC_OLO10 relocations. Fix compile warning for
34624 R_SPARC_WDISP30 case.
ea3f72cf 34625 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34626
761319cf 346272009-04-06 Pavel Roskin <proski@gnu.org>
34628
1007d1f5 34629 * include/grub/misc.h (ARRAY_SIZE): New macro.
34630 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34631 New macro.
34632 * loader/i386/linux.c (allocate_pages): Use free_pages().
34633 (grub_linux_unload): Don't use free_pages().
34634 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34635 wrong index. Treat all other modes as text modes.
34636 (grub_cmd_linux): Initialize vid_mode unconditionally to
34637 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34638
761319cf 34639 * commands/help.c (print_command_help): Use cmd->prio, not
34640 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34641
ea761d40 346422009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34643
ea761d40 34644 Parttool
34645
34646 * parttool/pcpart.c: new file
34647 * commands/parttool.c: likewise
34648 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34649 (parttool_mod_SOURCES): new variable
34650 (parttool_mod_CFLAGS): likewise
34651 (parttool_mod_LDFLAGS): likewise
34652 (pcpart_mod_SOURCES): likewise
34653 (pcpart_mod_CFLAGS): likewise
34654 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34655 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34656 and parttool/pcpart.c
34657 * conf/i386-efi.rmk: likewise
34658 * conf/i386-ieee1275.rmk: likewise
34659 * conf/i386-pc.rmk: likewise
34660 * conf/powerpc-ieee1275.rmk: likewise
34661 * conf/sparc64-ieee1275.rmk: likewise
34662 * conf/x86_64-ieee1275.rmk: likewise
34663
05aaebfb 346642009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34665
34666 Support for mtime and further expandability of dir command
34667
34668 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34669 * include/grub/datetime.h: ... moved here and added
05aaebfb 34670 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34671 * include/grub/fs.h: new syntax for dir and mtime functions in
34672 struct grub_fs
05aaebfb 34673 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34674 and GRUB_FSHELP_FLAGS_MASK
34675 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34676 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34677 (grub_ext2_mtime): new function
34678 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34679 (grub_hfsplus_mtime): new function
34680 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34681 (GRUB_UFS_ATTR_FILE): likewise
34682 (GRUB_UFS_ATTR_LNK): likewise
34683 (struct grub_ufs_sblock): new fields mtime
34684 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34685 all users updated
34686 (grub_ufs_dir): mtime support
34687 (grub_ufs_mtime): new function
34688 * fs/affs.c (grub_affs_dir): use new dir syntax
34689 * fs/afs.c (grub_afs_dir): likewise
34690 * fs/cpio.c (grub_cpio_dir): likewise
34691 * fs/fat.c (grub_fat_find_dir): likewise
34692 * fs/hfs.c (grub_hfs_dir): likewise
34693 * fs/iso9660.c (grub_iso9660_dir): likewise
34694 * fs/jfs.c (grub_jfs_dir): likewise
34695 * fs/minix.c (grub_minix_dir): likewise
34696 * fs/ntfs.c (grub_ntfs_dir): likewise
34697 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34698 * fs/sfs.c (grub_sfs_dir): likewise
34699 * fs/xfs.c (grub_xfs_dir): likewise
34700 * util/hostfs.c (grub_hostfs_dir): likewise
34701 * lib/datetime.c: moved to ...
34702 * normal/datetime.c: ... moved here
34703 (grub_unixtime2datetime): new function
34704 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34705 * normal/completion.c (iterate_dir): use new dir syntax
34706 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34707 last modification time of a volume
7dd4a573 34708 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34709 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34711 (normal_mod_SOURCES): likewise
34712 (datetime_mod_SOURCES): Removed lib/datetime.c
34713 * conf/i386-efi.rmk: likewise
7dd4a573 34714 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34715 * conf/i386-pc.rmk: likewise
34716 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34717 * conf/sparc64-ieee1275.rmk: likewise
34718 * conf/x86_64-efi.rmk: likewise
05aaebfb 34719
8a7e1a14 347202009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34721
34722 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34723
34724 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34725 on grub_fat_find_dir
34726 (grub_fat_find_dir): use grub_fat_iterate_dir
34727 (grub_fat_label): likewise
34728
04186a9c 347292009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34730
7dd4a573 34731 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34732 and command.h
34733 remove extraneous kernel_elf_HEADERS
34734
da4c0bb6 347352009-04-04 Bean <bean123ch@gnail.com>
34736
34737 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34738
34739 * util/misc.c: Likewise.
34740
54ad9555 347412009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34742
34743 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34744 instead of grub_printf.
34745
7a6bf9f2 347462009-04-03 Robert Millan <rmh@aybabtu.com>
34747
34748 * loader/i386/linux.c (grub_linux_setup_video): Fill
34749 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34750 values from `mode info' structure instead of hardcoded
34751 values.
34752
3fcc2083 347532009-04-01 Pavel Roskin <proski@gnu.org>
34754
34755 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34756 unused now.
34757 * genmk.rb: Likewise.
34758 * configure.ac: Likewise.
34759
5ec9740b 347602009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34761
34762 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34763 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34764
5270cec8 347652009-04-01 David S. Miller <davem@davemloft.net>
34766
34767 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34768 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34769 (grub_setjmp): Mark with 'returns_twice' attribute.
34770 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34771 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34772 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34773
9c3dd854 347742009-04-01 Robert Millan <rmh@aybabtu.com>
34775
34776 Reapply fix from 2008-07-28 which was accidentally reverted; also
34777 perform the same fix to a similar check in same function.
34778
34779 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34780 with the same number are found, just use issue a warning with
34781 grub_dprintf(), as this error has been reported to be non-fatal.
34782
0d818b7e 347832009-03-31 Pavel Roskin <proski@gnu.org>
34784
34785 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34786 for cross-compilation.
34787
95646d92 347882009-03-30 Robert Millan <rmh@aybabtu.com>
34789
34790 Fix i386-ieee1275 build.
34791
34792 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34793 Remove declaration.
34794
6a003ed1 347952009-03-30 Pavel Roskin <proski@gnu.org>
34796
34797 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34798 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34799 zero-terminated, rely only on the strlen value. Fix comparison
34800 of strings differing in length.
34801
92f33540 348022009-03-30 Robert Millan <rmh@aybabtu.com>
34803
34804 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34805 checking for abi version. Improve error messages on BIOS to notify
34806 user about `linux16' command.
34807
a8c48fd5 348082009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34809
f968172e 34810 Leak fixes
a8c48fd5 34811
f968172e 34812 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34813 in case of collision
34814 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34815
9c323f09 348162009-03-29 Robert Millan <rmh@aybabtu.com>
34817
34818 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34819 set `vid_mode' accordingly.
34820 (grub_linux_boot): Process `vid_mode' and set video mode.
34821
ae68f423 348222009-03-29 Robert Millan <rmh@aybabtu.com>
34823
34824 * util/grub.d/10_linux.in (linux_entry): New function.
34825 Factorize generation of Linux boot entries.
34826
5709cfc4 348272009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34828
34829 Make the format of Environment Block plain text. The boot loader
34830 part is not tested well yet.
7dd4a573 34831
5709cfc4 34832 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34833 (buffer): Removed.
34834 (envblk): Likewise.
34835 (usage): Remove "info" and "clear". Add "unset". Update the
34836 description of "set", as this does not delete variables any
34837 longer.
34838 (create_envblk_file): Complete rewrite.
34839 (open_envblk_file): Likewise.
34840 (cmd_info): Removed.
34841 (cmd_list): Likewise.
34842 (cmd_set): Likewise.
34843 (cmd_clear): Likewise.
34844 (list_variables): New function.
34845 (write_envblk): Likewise.
34846 (set_variables): Likewise.
34847 (unset_variables): Likewise.
34848 (main): Complete rewrite.
34849
34850 * commands/loadenv.c (buffer): Removed.
34851 (envblk): Likewise.
34852 (open_envblk_file): New function.
34853 (read_envblk_file): Complete rewrite.
34854 (grub_cmd_load_env): Likewise.
34855 (grub_cmd_list_env): Likewise.
34856 (struct blocklist): New struct.
34857 (free_blocklists): New function.
34858 (check_blocklists): Likewise.
34859 (write_blocklists): Likewise.
34860 (grub_cmd_save_env): Complete rewrite.
34861
34862 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
34863 a plain text signature.
34864 (GRUB_ENVBLK_MAXLEN): Removed.
34865 (struct grub_envblk): Complete rewrite.
34866 (grub_envblk_find): Removed.
34867 (grub_envblk_insert): Likewise.
34868 (grub_envblk_open): New prototype.
34869 (grub_envblk_set): Likewise.
34870 (grub_envblk_delete): Put const to VALUE.
34871 (grub_envblk_iterate): Put const to NAME and VALUE.
34872 (grub_envblk_close): New prototype.
34873 (grub_envblk_buffer): New inline function.
34874 (grub_envblk_size): Likewise.
34875
34876 * lib/envblk.c: Include grub/mm.h.
34877 (grub_env_find): Removed.
34878 (grub_envblk_open): New function.
34879 (grub_envblk_close): Likewise.
34880 (escaped_value_len): Likewise.
34881 (find_next_line): Likewise.
34882 (grub_envblk_insert): Removed.
34883 (grub_envblk_set): New function.
34884 (grub_envblk_delete): Complete rewrite.
34885 (grub_envblk_iterate): Likewise.
34886
a9368fd3 348872009-03-28 Robert Millan <rmh@aybabtu.com>
34888
34889 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
34890 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
34891 variables. Use 16-bit loader.
34892 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
34893 loader.
34894 * kern/i386/loader.S (grub_linux_boot): Rename to ...
34895 (grub_linux16_boot): ... this. Update all users.
34896 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
34897 (grub_linux_boot): ... this. Update all users.
34898
34899 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
34900 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
34901 commands to `linux16' and `initrd16'.
34902 (GRUB_MOD_FINI(linux)): Rename to ...
34903 (GRUB_MOD_FINI(linux16)): ... this.
34904
e4dd5a7e 349052009-03-24 Pavel Roskin <proski@gnu.org>
34906
34907 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
34908 not just for compilation.
34909
c04d6e05 349102009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
34911
34912 Move multiboot helper out of kernel
34913
34914 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
34915 `loader/i386/multiboot_helper.S'.
34916 * conf/i386-coreboot.rmk: Likewise
34917 * conf/i386-ieee1275.rmk: Likewise
34918
34919 * kern/i386/loader.S: Move multiboot helpers from here...
34920 * loader/i386/multiboot_helper.S: ...moved here
34921 * include/grub/i386/loader.h: Move declarations of multiboot
34922 helpers from here...
34923 * include/grub/i386/multiboot.h: ...moved here
34924 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
34925
42a5b3fc 349262009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34927
34928 * kern/env.c (grub_env_context_open): Added an argument to specify
34929 whether a new context inherits exported variables from current
34930 one. This is useful when making a sandbox to interpret a config
34931 file.
34932 All callers updated.
34933
34934 * include/grub/env.h (grub_env_context_open): Updated the prototype.
34935
b28bbc4e 349362009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34937
34938 * kern/env.c (grub_env_context_close): Fix memory leaks.
34939
f04f02e4 349402009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34941
34942 * normal/main.c (grub_normal_execute): Added an argument
34943 BATCH to specify if an interactive interface should be provided
34944 after reading a config file.
34945 All callers updated.
34946 (read_command_list): Prevent being executed twice.
34947 (read_fs_list): Likewise.
34948
42a5b3fc 34949 * include/grub/normal.h (grub_normal_execute): Updated the
34950 prototype.
f04f02e4 34951
41473ac2 349522009-03-22 Pavel Roskin <proski@gno.org>
34953
fbc00b0c 34954 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
34955 _start.
34956 * kern/i386/pc/startup.S: Likewise.
34957 * kern/i386/efi/startup.S: Likewise.
34958 * kern/i386/ieee1275/startup.S: Likewise.
34959 * kern/i386/coreboot/startup.S: Likewise.
34960 * kern/x86_64/efi/startup.S: Likewise.
34961
41473ac2 34962 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
34963 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
34964 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
34965
2274cc8f 349662009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
34967
34968 Bugfixes in multiboot for bugs uncovered by solaris kernel.
34969
34970 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
34971 limit detection.
34972 Use vaddr of correct segment for entry_point.
34973
b1b797cb 349742009-03-21 Bean <bean123ch@gmail.com>
34975
34976 * commands/blocklist.c: Add include file <grub/command.h>, remove
34977 <grub/normal.h> and <grub/arg.h>.
34978 (grub_cmd_blocklist): Use the new command interface.
34979 (GRUB_MOD_INIT): Likewise.
34980 (GRUB_MOD_FINI): Likewise.
34981 * commands/boot.c: Likewise.
34982 * commands/cat.c: Likewise.
34983 * commands/cmp.c: Likewise.
34984 * commands/configfile.c: Likewise.
34985 * commands/crc.c: Likewise.
34986 * commands/echo.c: Likewise.
34987 * commands/halt.c: Likewise.
34988 * commands/handler.c: Likewise.
34989 * commands/hdparm.c: Likewise.
34990 * commands/help.c: Likewise.
34991 * commands/hexdump.c: Likewise.
34992 * commands/loadenv.c: Likewise.
34993 * commands/ls.c: Likewise.
34994 * commands/lsmmap.c: Likewise.
34995 * commands/lspci.c: Likewise.
34996 * commands/loadenv.c: Likewise.
34997 * commands/read.c: Likewise.
34998 * commands/reboot.c: Likewise.
34999 * commands/search.c: Likewise.
35000 * commands/sleep.c: Likewise.
35001 * commands/test.c: Likewise.
35002 * commands/usbtest.c: Likewise.
35003 * commands/videotest.c: Likewise.
35004 * commands/i386/cpuid.c: Likewise.
35005 * commands/i386/pc/halt.c: Likewise.
35006 * commands/i386/pc/play.c: Likewise.
35007 * commands/i386/pc/pxecmd.c: Likewise.
35008 * commands/i386/pc/vbeinfo.c: Likewise.
35009 * commands/i386/pc/vbetest.c: Likewise.
35010 * commands/ieee1275/suspend.c: Likewise.
35011 * disk/loopback.c: Likewise.
35012 * font/font_cmd.c: Likewise.
35013 * hello/hello.c: Likewise.
35014 * loader/efi/appleloader.c: Likewise.
35015 * loader/efi/chainloader.c: Likewise.
35016 * loader/i386/bsd.c: Likewise.
35017 * loader/i386/efi/linux.c: Likewise.
35018 * loader/i386/ieee1275/linux.c: Likewise.
35019 * loader/i386/linux.c: Likewise.
35020 * loader/i386/pc/chainloader.c: Likewise.
35021 * loader/i386/pc/linux.c: Likewise.
35022 * loader/powerpc/ieee1275/linux.c: Likewise.
35023 * loader/multiboot_loader.c: Likewise.
35024 * term/gfxterm.c: Likewise.
35025 * term/i386/pc/serial.c: Likewise.
35026 * term/terminfo.c: Likewise.
35027
35028 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
35029 * term/i386/pc/vga.c: Likewise.
35030 * video/readers/jpeg.c: Likewise.
35031 * video/readers/png.c: Likewise.
35032 * video/readers/tga.c: Likewise.
35033
35034 * util/grub-fstest (cmd_loopback): Removed.
35035 (cmd_blocklist): Likewise.
35036 (cmd_ls): Likewise.
35037 (grub_register_command): Likewise.
35038 (grub_unregister_command): Likewise.
35039 (execute_command): Use grub_command_find to locate command and execute
35040 it.
35041
35042 * include/grub/efi/chainloader.h: Removed.
35043 * loader/efi/chainloader_normal.c: Likewise.
35044 * loader/i386/bsd_normal.c: Likewise.
35045 * loader/i386/pc/chainloader_normal.c: Likewise.
35046 * loader/i386/pc/multiboot_normal.c: Likewise.
35047 * loader/linux_normal.c: Likewise.
35048 * loader/multiboot_loader_normal.c: Likewise.
35049 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35050
35051 * gencmdlist.sh: Scan new registration command grub_register_extcmd
35052 and grub_register_command_p1.
35053
35054 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
35055 kern/command.c, lib/arg.c and commands/extcmd.c.
35056 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
35057 (minicmd_mod_SOURCES): New variable.
35058 (minicmd_mod_CFLAGS): Likewise.
35059 (minicmd_mod_LDFLAGS): Likewise.
35060 (extcmd_mod_SOURCES): Likewise.
35061 (extcmd_mod_CFLAGS): Likewise.
35062 (extcmd_mod_LDFLAGS): Likewise.
35063 (boot_mod_SOURCES): Removed.
35064 (boot_mod_CFLAGS): Likewise.
35065 (boot_mod_LDFLAGS): Likewise.
35066
35067 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
35068 kern/corecmd.c.
35069 (kernel_img_HEADERS): Add command.h.
35070 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
35071 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
35072 and lib/arg.c.
35073 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
35074 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
35075 remove the corresponding normal mode command.
35076 (normal_mod_SOURCES): Remove normal/arg.c.
35077 * conf/i386-coreboot.rmk: Likewise.
35078 * conf/i386-efi.rmk: Likewise.
35079 * conf/i386-ieee1275.rmk: Likewise.
35080 * conf/powerpc-ieee1275.rmk: Likewise.
35081 * conf/x86_64-efi.rmk: Likewise.
35082
35083 * include/grub/arg.h: Move from here ...
35084 * include/grub/lib/arg.h: ... to here.
35085
35086 * normal/arg.c: Move from here ...
35087 * lib/arg.c: ... to here.
35088
35089 * commands/extcmd.c: New file.
35090 * commands/minicmd.c: Likewise.
35091 * include/grub/command.h: Likewise.
35092 * include/grub/extcmd.h: Likewise.
35093 * kern/command.c: Likewise.
35094 * kern/corecmd.c: Likewise.
35095
35096 * kern/list.c (grub_list_iterate): Return int instead of void.
35097 (grub_list_insert): New function.
35098 (grub_prio_list_insert): Likewise.
35099
35100 * kern/rescue.c (grub_rescue_command): Removed.
35101 (grub_rescue_command_list): Likewise.
35102 (grub_rescue_register_command): Likewise.
35103 (grub_rescue_unregister_command): Likewise.
35104 (grub_rescue_cmd_boot): Move to minicmd.c
35105 (grub_rescue_cmd_help): Likewise.
35106 (grub_rescue_cmd_info): Likewise.
35107 (grub_rescue_cmd_boot): Likewise.
35108 (grub_rescue_cmd_testload): Likewise.
35109 (grub_rescue_cmd_dump): Likewise.
35110 (grub_rescue_cmd_rmmod): Likewise.
35111 (grub_rescue_cmd_lsmod): Likewise.
35112 (grub_rescue_cmd_exit): Likewise.
35113 (grub_rescue_print_devices): Moved to corecmd.c.
35114 (grub_rescue_print_files): Likewise.
35115 (grub_rescue_cmd_ls): Likewise.
35116 (grub_rescue_cmd_insmod): Likewise.
35117 (grub_rescue_cmd_set): Likewise.
35118 (grub_rescue_cmd_unset): Likewise.
7d074e3c 35119 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 35120 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 35121 commands, remove grub_rescue_register_command calls.
b1b797cb 35122
7d074e3c 35123 * normal/command.c (grub_register_command): Removed.
b1b797cb 35124 (grub_unregister_command): Likewise.
35125 (grub_command_find): Likewise.
35126 (grub_iterate_commands): Likewise.
35127 (rescue_command): Likewise.
35128 (export_command): Moved to corecmd.c.
35129 (set_command): Removed.
35130 (unset_command): Likewise.
35131 (insmod_command): Likewise.
35132 (rmmod_command): Likewise.
35133 (lsmod_command): Likewise.
35134 (grub_command_init): Likewise.
35135
35136 * normal/completion.c (iterate_command): Use cmd->prio to check for
35137 active command.
35138 (complete_arguments): Use grub_extcmd_t structure to find options.
35139 (grub_normal_do_completion): Change function grub_iterate_commands to
35140 grub_command_iterate.
35141
35142 * normal/execute.c (grub_script_execute_cmd): No need to parse
35143 argument here.
35144
35145 * normal/main.c (grub_dyncmd_dispatcher): New function.
35146 (read_command_list): Register unload commands as dyncmd.
35147 (grub_cmd_normal): Use new command interface, register rescue,
35148 unregister normal at entry, register normal, unregister rescue at exit.
35149
35150 * include/grub/list.h (grub_list_test_t): New type.
35151 (grub_list_iterate): Return int instead of void.
35152 (grub_list_insert): New function.
35153 (GRUB_AS_NAMED_LIST_P): New macro.
35154 (GRUB_AS_PRIO_LIST): Likewise.
35155 (GRUB_AS_PRIO_LIST_P): Likewise.
35156 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
35157 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
35158 (grub_prio_list): New structure.
35159 (grub_prio_list_insert): New function.
35160 (grub_prio_list_remove): New inline function.
35161
35162 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
35163 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
35164 (GRUB_COMMAND_FLAG_MENU): Likewise.
35165 (GRUB_COMMAND_FLAG_BOTH): Likewise.
35166 (GRUB_COMMAND_FLAG_TITLE): Likewise.
35167 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
35168 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
35169 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
35170 (grub_command): Likewise.
35171 (grub_register_command): Likewise.
35172 (grub_command_find): Likewise.
35173 (grub_iterate_commands): Likewise.
35174 (grub_command_init): Likewise.
35175 (grub_arg_parse): Likewise.
35176 (grub_arg_show_help): Likewise.
35177
35178 * include/grub/rescue.h (grub_rescue_register_command): Removed.
35179 (grub_rescue_unregister_command): Likewise.
35180
35181 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
35182 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
35183 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
35184
35185 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
35186 grub_rescue_cmd_initrd.
35187 * include/grub/i386/loader.h: Likewise.
35188 * include/grub/x86_64/loader.h: Likewise.
35189
35190 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
35191
1f4147aa 351922009-03-21 Bean <bean123ch@gmail.com>
35193
35194 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
35195 instead of stat in mingw environment.
35196
35197 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
35198
35199 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
35200
35201 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
35202 AC_CONFIG_LINKS.
35203
2156d5ba 352042009-03-21 Bean <bean123ch@gmail.com>
35205
35206 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
35207 out of range error.
35208
177b82ca 352092009-03-18 Michel Dänzer <michel@daenzer.net>
35210
35211 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
35212 checking inode flags for EXT4_EXTENTS_FLAG.
35213
14aad807 352142009-03-18 Robert Millan <rmh@aybabtu.com>
35215
35216 * loader/i386/linux.c: Include `<grub/video.h>' and
35217 `<grub/i386/pc/vbe.h>'..
35218 (grub_linux_setup_video): New function. Loosely based on the EFI one.
35219 (grub_linux32_boot): Attempt to configure video settings with
35220 grub_linux_setup_video().
35221 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
35222 to avoid grub_console_fini() which would step out of graphical mode
35223 unconditionally.
35224
8cf83a27 352252009-03-14 Robert Millan <rmh@aybabtu.com>
35226
35227 Fix build on powerpc.
35228 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
35229
40164e75 352302009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
35231
35232 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
35233 background image command.
35234
c58bc32a 352352009-03-12 Colin D Bennett <colin@gibibit.com>
35236
35237 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
35238 (grub_gfxterm_putchar): Extract pairs of identical calls to
35239 draw_cursor out of conditional blocks.
35240
5415144a 352412009-03-11 Pavel Roskin <proski@gnu.org>
35242
35243 * fs/hfs.c (grub_hfs_strncasecmp): New function.
35244 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
35245
6394042e 352462009-03-11 Robert Millan <rmh@aybabtu.com>
35247
35248 * loader/i386/multiboot_elfxx.c
35249 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
35250
b7b50e5f 352512009-03-11 Felix Zielcke <fzielcke@z-51.de>
35252
35253 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
35254 `kern/handler.c'.
35255
1ca7fc96 352562009-03-11 Robert Millan <rmh@aybabtu.com>
35257
35258 * loader/i386/multiboot.c (code_size): New variable.
35259 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35260 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35261 4-byte alignment to MBI and others by increasing
7d074e3c 35262 `boot_loader_name_length' appropriately.
1ca7fc96 35263
35264 * loader/i386/multiboot_elfxx.c
35265 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35266
a83ea1d2 352672009-03-09 Felix Zielcke <fzielcke@z-51.de>
35268
35269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35270 `fs/ext2.c'.
35271
aa9f3bff 352722009-03-08 Robert Millan <rmh@aybabtu.com>
35273
35274 Make loader/i386/linux.c usable on i386-pc again.
35275
35276 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35277 memory to heap.
35278 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35279 `#error' stanza.
35280
d8b3b60e 352812009-03-07 Bean <bean123ch@gmail.com>
35282
35283 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35284 allocation.
35285
b362c9e9 352862009-03-06 Robert Millan <rmh@aybabtu.com>
35287
35288 Fix display issue on terminals with screen size other than 80x25
35289 (e.g. gfxterm with resolution higher than 640x480).
35290
35291 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35292 position relative to the center of the terminal instead of relying
b362c9e9 35293 on a hardcoded offset.
35294
9304eef1 352952009-03-04 Robert Millan <rmh@aybabtu.com>
35296
35297 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35298 installed.
35299
35300 * Makefile.in (host_kernel): New variable.
35301 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35302 scripts instead of just the windows one.
35303 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35304
eabc95fb 353052009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35306
35307 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35308 `kern/handler.c'.
35309 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35310 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35311 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35313 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35314 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35315
ceb1223c 353162009-03-04 Felix Zielcke <fzielcke@z-51.de>
35317
35318 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35319 or if there's no space for the disk label and print the partition number on a
35320 invalid magic.
35321
4910684a 353222009-03-04 Felix Zielcke <fzielcke@z-51.de>
35323
35324 * util/misc.c: Include <time.h>.
35325 (grub_millisleep): New function.
35326
7e9ca17a 353272009-03-04 Bean <bean123ch@gmail.com>
35328
35329 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35330 another option -mno-red-zone.
35331
35332 * commands/handler.c: Change module description.
35333
35334 * kern/handler.c: Add missing space at the end of description line.
35335
35336 * kern/list.c: Likewise.
35337
f501677c 353382009-03-03 Robert Millan <rmh@aybabtu.com>
35339
35340 Move more components to the relocation area, and fix mbi pointer
35341 handling to use the destination rather than the origin (thanks to
35342 Vladimir Serbinenko for spotting).
35343
35344 * loader/i386/multiboot.c (mbi_dest): New variable.
35345 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35346 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35347 relocation area.
35348
9902d047 353492009-03-01 Bean <bean123ch@gmail.com>
35350
50fb7002 35351 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35352 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35353 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35354 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35355
35356 * loader/i386/efi/linux.c (acpi_guid): New variable.
35357 (acpi_guid): Likewise.
35358 (EBDA_SEG_ADDR): New constant.
35359 (LOW_MEM_ADDR): Likewise.
35360 (FAKE_EBDA_SEG): Likewise.
35361 (fake_bios_data): New function.
35362 (grub_linux_boot): Call fake_bios_data.
35363
71b9f361 353642009-03-01 Bean <bean123ch@gmail.com>
35365
35366 * commands/terminal.c: Removed.
35367
35368 * commands/handler.c: New file.
35369
35370 * include/grub/list.h: Likewise.
35371
35372 * include/grub/handler.h: Likewise.
35373
35374 * kern/list.c: Likewise.
35375
35376 * kern/handler.c: Likewise.
35377
35378 * kern/term.h: Include header file <grub/handler.h>.
35379 (grub_term_input): Move next field to the beginning.
35380 (grub_term_output): Likewise.
35381 (grub_term_input_class): New variable.
35382 (grub_term_output_class): Likewise.
35383 (grub_term_register_input): Changed to inline function.
35384 (grub_term_register_output): Likewise.
35385 (grub_term_unregister_input): Likewise.
35386 (grub_term_unregister_output): Likewise.
35387 (grub_term_set_current_input): Likewise.
35388 (grub_term_set_current_output): Likewise.
35389 (grub_term_get_current_input): Likewise.
35390 (grub_term_get_current_output): Likewise.
35391 (grub_term_iterate_input): Removed.
35392 (grub_term_iterate_output): Likewise.
35393
35394 * kern/term.c (grub_term_list_input): Removed.
35395 (grub_term_list_output): Likewise.
35396 (grub_term_input_class): New variable.
35397 (grub_term_output_class): Likewise.
50fb7002 35398 (grub_cur_term_input): Change variable as macro.
71b9f361 35399 (grub_cur_term_output): Likewise.
35400 (grub_term_register_input): Removed.
35401 (grub_term_register_output): Likewise.
35402 (grub_term_unregister_input): Likewise.
35403 (grub_term_unregister_output): Likewise.
35404 (grub_term_set_current_input): Likewise.
35405 (grub_term_set_current_output): Likewise.
35406 (grub_term_iterate_input): Likewise.
35407 (grub_term_iterate_output): Likewise.
35408 (grub_term_get_current_input): Likewise.
35409 (grub_term_get_current_output): Likewise.
35410
35411 * util/grub-editenv.c: Include header file <grub/handler.h>.
35412 (grub_term_get_current_input): Removed.
35413 (grub_term_get_current_output): Likewise.
35414 (grub_term_input_class): New variable.
50fb7002 35415 (grub_term_output_class): Likewise.
71b9f361 35416
35417 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35418 (grub_term_get_current_output): Likewise.
35419 (grub_term_input_class): New variable.
50fb7002 35420 (grub_term_output_class): Likewise.
71b9f361 35421
35422 * util/grub-probe.c (grub_term_get_current_input): Removed.
35423 (grub_term_get_current_output): Likewise.
35424 (grub_term_input_class): New variable.
50fb7002 35425 (grub_term_output_class): Likewise.
71b9f361 35426
35427 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35428 (grub_term_get_current_output): Likewise.
35429 (grub_term_input_class): New variable.
50fb7002 35430 (grub_term_output_class): Likewise.
71b9f361 35431
35432 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35433 (terminal_mod_SOURCES): Likewise.
35434 (terminal_mod_CFLAGS): Likewise.
35435 (terminal_mod_LDFLAGS): Likewise.
35436
35437 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35438 handler.c.
35439 (kernel_img_SOURCES): Add list.c and handler.c.
35440 (kernel_img_HEADERS): Add list.h and handler.h.
35441
35442 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35443 handler.c.
35444 (kernel_mod_SOURCES): Add list.c and handler.c.
35445 (kernel_mod_HEADERS): Add list.h and handler.h.
35446
35447 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35448 handler.c.
35449 (kernel_elf_SOURCES): Add list.c and handler.c.
35450 (kernel_elf_HEADERS): Add list.h and handler.h.
35451
35452 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35453 handler.c.
35454 (kernel_elf_SOURCES): Add list.c and handler.c.
35455 (kernel_elf_HEADERS): Add list.h and handler.h.
35456
35457 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35458 handler.c.
35459 (kernel_mod_SOURCES): Add list.c and handler.c.
35460 (kernel_mod_HEADERS): Add list.h and handler.h.
35461
35462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35463 handler.c.
35464 (kernel_elf_SOURCES): Add list.c and handler.c.
35465 (kernel_elf_HEADERS): Add list.h and handler.h.
35466
8a31787f 354672009-02-27 Robert Millan <rmh@aybabtu.com>
35468
35469 Factorize elf32 / elf64 code in Multiboot loader. This will
35470 prevent it from getting out of sync again.
35471
35472 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35473 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35474 grub_multiboot_load_elf64): Move from here ...
35475 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35476 grub_multiboot_load_elf): ... to here (new file).
35477
51cd3dfc 354782009-02-27 Robert Millan <rmh@aybabtu.com>
35479
35480 * util/grub.d/10_linux.in: Rename "single-user mode" to
35481 "recovery mode".
35482
6e8c9c3a 354832009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35484
35485 Don't leak in SCSI code.
35486 * disk/scsi.c (grub_scsi_close): free `scsi'.
35487
4b6bf4f9 354882009-02-27 Robert Millan <rmh@aybabtu.com>
35489
35490 * loader/i386/pc/multiboot.c: Move from here ...
35491 * loader/i386/multiboot.c: ... to here. Update all users.
35492
b9413424 354932009-02-27 Robert Millan <rmh@aybabtu.com>
35494
35495 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35496 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35497
50fb7002 354982009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35499
35500 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35501 b-tree.
35502
8cc50345 355032009-02-27 Robert Millan <rmh@aybabtu.com>
35504
35505 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35506 `0x' qualifier as 0 when base is specified as parameter).
35507
6e09b8b7 355082009-02-24 Bean <bean123ch@gmail.com>
35509
35510 * configure.ac: Check for -mcmodel=large in x86_64 target.
35511
35512 * include/grub/efi/api.h (efi_call_10): New macro.
35513 (efi_wrap_10): New function.
35514
35515 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35516 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35517 (GRUB_PE32_REL_BASED_LOW): Likewise.
35518 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35519 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35520 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35521 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35522 (GRUB_PE32_REL_BASED_REL): Likewise.
35523 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35524 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35525 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35526
35527 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35528 issue.
35529
35530 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35531 (efi_wrap_10): New function.
35532
35533 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35534
35535 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35536 MB/MBP model (NV chipset).
35537 (devdata_devs): Add devpath_5 to the list.
35538
35539 * load/i386/efi/linux.c (video_base): Remove variable.
35540 (RGB_MASK): New macro.
35541 (RGB_MAGIC): Likewise.
35542 (LINE_MIN): Likewise.
35543 (LINE_MAX): Likewise.
35544 (FBTEST_STEP): Likewise.
35545 (FBTEST_COUNT): Likewise.
35546 (fb_list): New variable.
35547 (grub_find_video_card): Remove function.
35548 (find_framebuf): New function.
35549 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35550 line length.
35551
35552 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35553 problem for x86_64.
35554
74b21bee 355552009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35556
35557 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35558
35559 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35560 coding tool name.
35561
a455f472 355622009-02-22 Robert Millan <rmh@aybabtu.com>
35563
35564 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35565 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35566 in our relocation, instead of using it directly from heap. Also
35567 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35568
6374daf3 355692009-02-21 Robert Millan <rmh@aybabtu.com>
35570
35571 Implement USB keyboard support (based on patch by Marco Gerards)
35572
35573 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35574 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35575 (usb_keyboard_mod_LDFLAGS): New variables.
35576
35577 * term/usb_keyboard.c: New file.
35578
8fa4ea70 355792009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35580
35581 Corrected wrong declaration
35582
35583 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35584
353976ac 355852009-02-14 Christian Franke <franke@computer.org>
35586
35587 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35588 (grub_lspci_iter): Print class code and programming interface byte.
35589
6aa1169b 355902009-02-14 Christian Franke <franke@computer.org>
35591
35592 * gendistlist.sh: Ignore `.svn' directories.
35593
265372ca 355942009-02-14 Felix Zielcke <fzielcke@z-51.de>
35595
35596 * fs/fat.c: Add 2009 to Copyright line.
35597
9ff516f3 355982009-02-14 Christian Franke <franke@computer.org>
35599
35600 * commands/hdparm.c: New file. Provides `hdparm' command
35601 which sends ATA commands via grub_disk_ata_pass_through ().
35602
35603 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35604
35605 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35606 and <grub/cpu/io.h> to include/grub/ata.h.
35607 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35608 (GRUB_CDROM_SECTOR_SIZE): Remove.
35609 (GRUB_ATA_*): Move to include/grub/ata.h.
35610 (GRUB_ATAPI_*): Likewise.
35611 (enum grub_ata_commands): Likewise.
35612 (enum grub_ata_timeout_milliseconds): Likewise.
35613 (struct grub_ata_device): Likewise.
35614 (grub_ata_regset): Likewise.
35615 (grub_ata_regget): Likewise.
35616 (grub_ata_regset2): Likewise.
35617 (grub_ata_regget2): Likewise.
35618 (grub_ata_check_ready): Likewise.
35619 (grub_ata_wait_not_busy): Remove static, exported in
35620 include/grub/ata.h.
35621 (grub_ata_wait_drq): Likewise.
35622 (grub_ata_pio_read): Likewise.
35623
35624 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35625 function for hdparm.mod.
35626
35627 * include/grub/ata.h: New file, contains declarations from
35628 disk/ata.c.
35629 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35630
35631 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35632 (grub_disk_ata_pass_through): New exported variable.
35633
35634 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35635
772e23da 356362009-02-13 Colin D Bennett <colin@gibibit.com>
35637
35638 Support multiple fallback entries, and provide an API to support
35639 executing default+fallback menu entries. Renamed the `terminal' menu
35640 viewer to `text'.
35641
35642 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35643 variable declaration.
35644 (grub_menu_execute_callback): New structure declaration.
35645 (grub_menu_execute_callback_t): New typedef.
35646 (grub_menu_execute_with_fallback): New function declaration.
35647 (grub_menu_get_entry): Likewise.
35648 (grub_menu_get_timeout): Likewise.
35649 (grub_menu_set_timeout): Likewise.
35650
35651 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35652
35653 * normal/menu.c (grub_wait_after_message): Moved to
35654 `normal/menu_text.c'.
35655 (draw_border): Likewise.
35656 (print_message): Likewise.
35657 (print_entry): Likewise.
35658 (print_entries): Likewise.
35659 (grub_menu_init_page): Likewise.
35660 (get_entry_number): Likewise.
35661 (print_timeout): Likewise.
35662 (run_menu): Likewise.
35663 (grub_menu_execute_entry): Likewise.
35664 (show_text_menu): Likewise.
35665 (get_and_remove_first_entry_number): New function.
35666 (grub_menu_execute_with_fallback): Likewise.
35667 (get_entry): Renamed to ...
35668 (grub_menu_get_entry): .. this and made it global.
35669 (get_timeout): Renamed to ...
35670 (grub_menu_get_timeout): ... this and made it global.
35671 (set_timeout): Renamed to ...
35672 (grub_menu_set_timeout): ... this and made it global.
35673 (grub_normal_terminal_menu_viewer): Renamed to ...
35674 (grub_normal_text_menu_viewer): ... this.
35675
35676 * normal/menu_text.c: New file. Extracted text-menu-specific code
35677 from normal/menu.c.
35678
35679 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35680 (normal_mod_SOURCES): Likewise.
35681
35682 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35683 (normal_mod_SOURCES): Likewise.
35684
35685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35686 (normal_mod_SOURCES): Likewise.
35687
35688 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35689 (normal_mod_SOURCES): Likewise.
35690
35691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35692 (normal_mod_SOURCES): Likewise.
35693
35694 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35695 (normal_mod_SOURCES): Likewise.
35696
35697 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35698 (normal_mod_SOURCES): Likewise.
35699
16ac430e 357002009-02-11 Robert Millan <rmh@aybabtu.com>
35701
35702 * util/grub.d/00_header.in: Update old reference to `font' command.
35703
06ff20fc 357042009-02-10 Felix Zielcke <fzielcke@z-51.de>
35705
35706 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35707
35708 Based on patch from Javier Martín.
35709
96da9407 357102009-02-09 Felix Zielcke <fzielcke@z-51.de>
35711
35712 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35713 to avoid false positives with FAT.
96da9407 35714 (grub_fstest_SOURCES): Likewise.
35715 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35716 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35718 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35719 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35720 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35721
6dca6fe4 357222009-02-09 Felix Zielcke <fzielcke@z-51.de>
35723
06ff20fc 35724 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35725 bpb.version_specific.fat12_or_fat16.fstype and
35726 bpb.version_specific.fat32.fstype.
35727
2550c62f 357282009-02-08 Robert Millan <rmh@aybabtu.com>
35729
be110b30 35730 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35731
56978920 357322009-02-08 Robert Millan <rmh@aybabtu.com>
35733
35734 * Makefile.in (host_os, host_cpu): New variables.
35735 (target_os): Remove. Update all users.
35736
d64399b5 357372009-02-08 Marco Gerards <marco@gnu.org>
35738
35739 * Makefile.in (enable_grub_emu_usb): New variable.
35740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35741 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35742 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35743 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35744 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35745 `usbtest.mod' and `usbms.mod'.
35746 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35747 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35748 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35749 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35750 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35751 variables.
35752
35753 * disk/usbms.c: New file.
35754
35755 * include/grub/usb.h: Likewise.
35756
35757 * include/grub/usbtrans.h: Likewise.
35758
35759 * include/grub/usbdesc.h: Likewise.
35760
35761 * bus/usb/usbtrans.c: Likewise.
35762
35763 * bus/usb/ohci.c: Likewise.
35764
35765 * bus/usb/uhci.c: Likewise.
35766
35767 * bus/usb/usbhub.c: Likewise.
35768
35769 * bus/usb/usb.c: Likewise.
35770
35771 * commands/usbtest.c: Likewise.
35772
35773 * util/usb.c: Likewise.
50fb7002 35774
d64399b5 35775 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35776
35777 * configure.ac: Test for libusb presence.
50fb7002 35778
d64399b5 35779 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35780
2b40d6bb 357812009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35782
35783 * kern/mm.c: Add more comments.
35784
73a4ce81 357852009-02-08 Robert Millan <rmh@aybabtu.com>
35786
35787 Patch from Javier Martín.
35788 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35789 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35790
f821ce59 357912009-02-08 Robert Millan <rmh@aybabtu.com>
35792
35793 * fs/cpio.c: Split tar functionality to ...
35794 * fs/tar.c: ... here (new file). Update all users.
35795
aebfc4b0 357962009-02-07 Robert Millan <rmh@aybabtu.com>
35797
35798 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35799 backward-incompatible features.
35800
35801 Based on patch from Javier Martín, with some adjustments.
35802
50fb7002 358032009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35804
35805 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35806
0bb5115e 358072009-02-07 Robert Millan <rmh@aybabtu.com>
35808
35809 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35810 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35811 after the RAID stuff.
35812
38a0f8e7 358132009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35814
50fb7002 35815 Fixes problem when running vbetest command as reported by
38a0f8e7 35816 Vladimir Serbinenko <phcoder@gmail.com>.
35817
35818 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35819
3143cc1c 358202009-02-04 Felix Zielcke <fzielcke@z-51.de>
35821
35822 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35823 /dev/md/NpN style mdraid devices.
35824
9cba6fce 358252009-02-03 Felix Zielcke <fzielcke@z-51.de>
35826
35827 * util/unifont2pff.rb: Remove.
35828
e507a2c1 358292009-02-03 Felix Zielcke <fzielcke@z-51.de>
35830
35831 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35832 `#'.
35833
d2c2b4cd 358342009-02-03 Felix Zielcke <fzielcke@z-51.de>
35835
35836 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35837 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35838 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35839 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35841 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35842 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35843
b4315fb0 358442009-02-02 Christian Franke <franke@computer.org>
35845
35846 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35847
de3aa260 358482009-02-01 Felix Zielcke <fzielcke@z-51.de>
35849
7c3ff286 35850 * INSTALL: Note that we now require at least autoconf 2.59 and
35851 that LZO is optional.
de3aa260 35852
825a182b 358532009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35854
35855 Base on patch on bug #24154 created by Tomas Tintera
35856 <trosos@seznam.cz>.
35857
35858 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35859
a69ef770 358602009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35861
7c3ff286 35862 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 35863 <bero@arklinux.org>.
35864
35865 * normal/parser.y (script_init): Add missing semicolon.
35866
6fa42fa6 358672009-01-31 Colin D Bennett <colin@gibibit.com>
35868
7c3ff286 35869 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 35870 (free_menu_entry_classes): Added.
35871 (grub_normal_menu_addentry): Added class property handling.
35872 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
35873 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
35874
35875 * normal/menu_viewer.c: New file.
35876
35877 * normal/menu.c (run_menu_entry): Renamed to ...
35878 (grub_menu_execute_entry): ... this and made it as global.
35879 (grub_menu_run): Renamed to ...
35880 (show_text_menu): ... this and made it local.
35881 (show_text_menu): Adapt to new function names.
35882 (grub_normal_terminal_menu_viewer): New global variable.
35883
35884 * include/grub/menu.h: New file.
35885
35886 * include/grub/menu_viewer.h: New file.
35887
35888 * include/grub/normal.h: Added include to grub/menu.h.
35889 (grub_menu_entry): Moved to include/grub/menu.h.
35890 (grub_menu_entry_t): Likewise.
35891 (grub_menu): Likewise.
35892 (grub_menu_t): Likewise.
35893 (grub_normal_terminal_menu_viewer): Added.
35894 (grub_menu_execute_entry): Likewise.
35895 (grub_menu_run): Removed.
35896
35897 * DISTLIST: Added include/grub/menu.h.
35898 Added include/grub/menu_viewer.h.
35899 Added normal/menu_viewer.c.
35900
359012009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
35902
35903 * normal/execute.c (grub_script_execute_menuentry): Changed to use
35904 arglist for menutitle arguments.
35905
35906 * normal/main.c (grub_normal_menu_addentry): Likewise.
35907
35908 * normal/parser.y (menuentry): Likewise.
35909
35910 * normal/script.c (grub_script_create_cmdmenu): Likewise.
35911
35912 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
35913 (grub_script_create_cmdmenu): Likewise.
35914
35915 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
35916
35917 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
35918 changes.
35919
35920 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
35921
35922 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
35923
35924 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
35925
35926 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35927
35928 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35929
35930 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35931
56192c23 359322009-01-30 Christian Franke <franke@computer.org>
35933
35934 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
35935 in option help text.
35936
d72521b3 359372009-01-27 Pavel Roskin <proski@gnu.org>
35938
35939 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
35940
994b5e84 359412009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35942
35943 * commands/lsmmap.c: Add include to grub/machine/memory.h.
35944
35945 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
35946
35947 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
35948 unregister function.
35949
6a7eab2c 359502009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35951
35952 * disk/scsi.c (grub_scsi_read): Fix sign problem.
35953
35954 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
35955
35956 * util/grub-mkfont.c (usage): Fix typo.
35957
35958 * util/elf/grub-mkimage.c (load_modules): Fix warning.
35959
1806b56e 359602009-01-26 Daniel Mierswa <impulze@impulze.org>
35961
3fb18f09 35962 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
35963
336e1fb9 35964 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
35965
1806b56e 35966 * kern/misc.c (grub_strcasecmp): New function.
35967 (grub_strcasecmp): Use grub_size_t instead of int for length.
35968 Fix return value.
35969 * include/grub/misc.h: Update function prototypes.
35970
580b2a0f 359712009-01-26 Robert Millan <rmh@aybabtu.com>
35972
35973 * configure.ac: Fix cross-compilation check.
ef257b36 35974
d31c24f1 359752009-01-22 Christian Franke <franke@computer.org>
35976
35977 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
35978 (precision) digit string. Allow `.format2' without `format1' (width).
35979 Limit input chars for `%s' output to `format2' if specified. This is
35980 compatible with standard printf ().
35981
3138b44c 359822009-01-22 Christian Franke <franke@computer.org>
35983
35984 * disk/ata.c (grub_ata_wait_status): Replace by ...
35985 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
35986 other status bits may be invalid while BSY is asserted.
35987 (grub_ata_check_ready): New function.
35988 (grub_ata_cmd): Removed.
35989 (grub_ata_wait_drq): New function.
35990 (grub_ata_strncpy): Remove inline.
35991 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
35992 and error check now done by grub_ata_wait_drq ().
35993 (grub_ata_pio_write): Likewise.
35994 (grub_atapi_identify): Set DEV before check for !BSY. Use
35995 grub_ata_wait_drq () to wait for data.
35996 (grub_ata_device_initialize): Add status register check to
35997 detect missing SATA slave devices. Add debug messages.
35998 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
35999 (grub_atapi_packet): Set DEV before check for !BSY. Replace
36000 transfer loop by grub_ata_pio_write ().
36001 (grub_ata_identify): Set DEV before check for !BSY. Use
36002 grub_ata_wait_drq () to wait for data.
ef257b36 36003 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 36004 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
36005 read/write in one loop. Fix invalid command on write. Fix incomplete
36006 command on (size % batch) == 0. Add missing error check after write of
36007 last block. Add debug messages.
36008 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
36009
59a64ef6 360102009-01-19 Christian Franke <franke@computer.org>
36011
36012 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
36013 (GRUB_ATAPI_IREASON_*): Likewise.
36014 (grub_ata_pio_write): Fix timeout error return.
36015 (grub_atapi_identify): Add grub_ata_wait () after cmd.
36016 (grub_atapi_wait_drq): New function.
36017 (grub_atapi_packet): New parameter `size'.
36018 Use grub_atapi_wait_drq () and direct write instead of
36019 grub_ata_pio_write ().
36020 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
36021 reads the number of bytes requested by the device for each DRQ
36022 assertion.
36023 (grub_atapi_write): Remove old implementation, return not
36024 implemented instead.
36025
1cfe20b3 360262009-01-19 Christian Franke <franke@computer.org>
36027
36028 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
36029 of 512 to calculate data size.
36030 (grub_scsi_read12): Likewise.
36031 (grub_scsi_write10): Likewise.
36032 (grub_scsi_write12): Likewise.
36033 (grub_scsi_read): Adjust size according to blocksize.
36034 Add checks for invalid blocksize and unaligned transfer.
36035
bee5fe5d 360362009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
36037
36038 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
36039
ef257b36 36040 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 36041 width glyphs.
36042
3e643f8c 360432009-01-19 Robert Millan <rmh@aybabtu.com>
36044
36045 * config.guess: Update to latest version from config git.
36046 * config.sub: Likewise.
36047
4fa80998 360482009-01-17 Felix Zielcke <fzielcke@z-51.de>
36049
36050 * Makefile.in: Change font compilation to use new grub-mkfont instead
36051 of java version.
36052
36053 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
36054 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
36055 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36056 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
36057 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
36058 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
36059 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
36060 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
36061 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36062
7086085b 360632009-01-16 Christian Franke <franke@computer.org>
36064
36065 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
36066 (enum grub_ata_timeout_milliseconds): New enum.
36067 (grub_ata_wait_status): Add parameter milliseconds.
36068 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
36069 recovery from timed-out commands.
36070 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
36071 return grub_errno instead of REG_ERROR.
36072 (grub_ata_pio_write): Add parameter milliseconds.
36073 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
36074 Pass milliseconds to grub_ata_wait_status () and
36075 grub_ata_pio_read ().
36076 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
36077 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
36078 grub_ata_wait_status (). Fix IDENTIFY timeout check.
36079 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
36080 It is not suitable for device detection, because DEV bit is ignored,
36081 the command may run too long, and not all devices set the signature
36082 properly.
36083 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
36084 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
36085 Fix device selection, DEV bit must be set first to address the registers
36086 of the correct device.
36087 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
36088 grub_ata_pio_read/write ().
36089 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
36090 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
36091
4a412913 360922009-01-13 Carles Pina i Estany <carles@pina.cat>
36093
36094 * util/grub-editenv.c (main): Use fseeko(), not fseek().
36095
7795c55e 360962009-01-13 Bean <bean123ch@gmail.com>
d913988c 36097
36098 * util/grub-mkfont.c (write_font): forget to remove some debug code.
36099
7795c55e 361002009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 36101
36102 * Makefile.in: (enable_grub_mkfont): New variable.
36103 (freetype_cflags): Likewise.
36104 (freetype_libs): Likewise.
36105
36106 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
36107 (grub_mkfont_SOURCES): New variable.
36108 (grub_mkfont_CFLAGS): Likewise.
36109 (grub_mkfont_LDFLAGS): Likewise.
36110
36111 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
36112 library if `--enable-grub-mkfont' is requested.
36113 (enable_grub_mkfont): New variable.
36114 (freetype_cflags): Likewise.
36115 (freetype_libs): Likewise.
36116
36117 * util/grub-mkfont.c: New file.
36118
093af1fe 361192009-01-12 Christian Franke <franke@computer.org>
36120
36121 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
36122 mode check. Fix setting of compat_use[].
36123
f36cc108 361242009-01-10 Robert Millan <rmh@aybabtu.com>
36125
36126 Update a few copyright years which we forgot to do in 2008 (only for
36127 files whose changes made in 2008 were copyright-significant)
36128
36129 * Makefile.in: Add 2008 to Copyright line.
36130 * disk/ieee1275/ofdisk.c: Likewise.
36131 * disk/efi/efidisk.c: Likewise.
36132 * kern/dl.c: Likewise.
36133 * kern/sparc64/ieee1275/init.c: Likewise.
36134 * kern/mm.c: Likewise.
36135 * kern/efi/mm.c: Likewise.
36136 * boot/i386/pc/boot.S: Likewise.
36137 * genfslist.sh: Likewise.
36138 * fs/iso9660.c: Likewise.
36139 * fs/hfs.c: Likewise.
36140 * fs/jfs.c: Likewise.
36141 * fs/minix.c: Likewise.
36142 * fs/ufs.c: Likewise.
36143 * gensymlist.sh.in: Likewise.
36144 * genkernsyms.sh.in: Likewise.
36145 * include/grub/misc.h: Likewise.
36146 * include/grub/types.h: Likewise.
36147 * include/grub/symbol.h: Likewise.
36148 * include/grub/elf.h: Likewise.
36149 * include/grub/kernel.h: Likewise.
36150 * include/grub/disk.h: Likewise.
36151 * include/grub/dl.h: Likewise.
36152 * include/grub/i386/linux.h: Likewise.
36153 * include/grub/i386/pc/biosdisk.h: Likewise.
36154 * include/grub/efi/api.h: Likewise.
36155 * include/grub/efi/pe32.h: Likewise.
36156 * include/grub/util/misc.h: Likewise.
36157 * normal/execute.c: Likewise.
36158 * normal/arg.c: Likewise.
36159 * normal/completion.c: Likewise.
36160 * normal/lexer.c: Likewise.
36161 * normal/parser.y: Likewise.
36162 * normal/misc.c: Likewise.
36163 * commands/i386/pc/vbeinfo.c: Likewise.
36164 * commands/hexdump.c: Likewise.
36165 * commands/terminal.c: Likewise.
36166 * commands/ls.c: Likewise.
36167 * commands/help.c: Likewise.
36168 * partmap/pc.c: Likewise.
36169 * loader/efi/chainloader.c: Likewise.
36170 * loader/multiboot_loader.c: Likewise.
36171 * loader/i386/pc/multiboot2.c: Likewise.
36172 * term/efi/console.c: Likewise.
36173 * term/i386/pc/serial.c: Likewise.
36174 * util/lvm.c: Likewise.
36175 * util/console.c: Likewise.
36176 * util/i386/efi/grub-mkimage.c: Likewise.
36177 * util/raid.c: Likewise.
36178
7f02114b 361792009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
36180
36181 * commands/videotest.c: Removed include to grub/machine/memory.h.
36182
36183 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
36184 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
36185 (video_mod_SOURCES): Removed.
36186 (video_mod_CFLAGS): Likewise.
36187 (video_mod_LDFLAGS): Likewise.
36188 (gfxterm_mod_SOURCES): Likewise.
36189 (gfxterm_mod_CFLAGS): Likewise.
36190 (gfxterm_mod_LDFLAGS): Likewise.
36191 (videotest_mod_SOURCES): Likewise.
36192 (videotest_mod_CFLAGS): Likewise.
36193 (videotest_mod_LDFLAGS): Likewise.
36194 (bitmap_mod_SOURCES): Likewise.
36195 (bitmap_mod_CFLAGS): Likewise.
36196 (bitmap_mod_LDFLAGS): Likewise.
36197 (tga_mod_SOURCES): Likewise.
36198 (tga_mod_CFLAGS): Likewise.
36199 (tga_mod_LDFLAGS): Likewise.
36200 (jpeg_mod_SOURCES): Likewise.
36201 (jpeg_mod_CFLAGS): Likewise.
36202 (jpeg_mod_LDFLAGS): Likewise.
36203 (png_mod_SOURCES): Likewise.
36204 (png_mod_CFLAGS): Likewise.
36205 (png_mod_LDFLAGS): Likewise.
36206
36207 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
36208 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
36209 (video_mod_SOURCES): Added.
36210 (video_mod_CFLAGS): Likewise.
36211 (video_mod_LDFLAGS): Likewise.
36212 (videotest_mod_SOURCES): Likewise.
36213 (videotest_mod_CFLAGS): Likewise.
36214 (videotest_mod_LDFLAGS): Likewise.
36215 (bitmap_mod_SOURCES): Likewise.
36216 (bitmap_mod_CFLAGS): Likewise.
36217 (bitmap_mod_LDFLAGS): Likewise.
36218 (tga_mod_SOURCES): Likewise.
36219 (tga_mod_CFLAGS): Likewise.
36220 (tga_mod_LDFLAGS): Likewise.
36221 (jpeg_mod_SOURCES): Likewise.
36222 (jpeg_mod_CFLAGS): Likewise.
36223 (jpeg_mod_LDFLAGS): Likewise.
36224 (png_mod_SOURCES): Likewise.
36225 (png_mod_CFLAGS): Likewise.
36226 (png_mod_LDFLAGS): Likewise.
36227 (gfxterm_mod_SOURCES): Likewise.
36228 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 36229 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 36230
36231 * term/gfxterm.c: Removed include to grub/machine/memory.h,
36232 grub/machine/console.h.
36233
644fff97 362342009-01-04 Jerone Young <jerone@gmail.com>
36235
36236 Make on screen instructions clearer
36237
36238 Based on patch created by Jidanni <jidanni@jidanni.org>
36239
36240 * normal/menu.c: print clearer instructions on the screen
36241
1e901a75 362422009-01-02 Colin D Bennett <colin@gibibit.com>
36243
36244 New font engine.
34c44600 36245
1e901a75 36246 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
36247 build system and fixed gfxterm.c to work with different sized fonts.
36248
36249 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 36250
1e901a75 36251 * configure: Re-generated.
34c44600 36252
1e901a75 36253 * DISTLIST: Removed font/manager.c.
36254 Added font/font.c.
36255 Added font/font_cmd.c.
34c44600 36256
1e901a75 36257 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36258 compilation.
34c44600 36259
1e901a75 36260 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36261
36262 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36263
36264 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36265
1e901a75 36266 * normal/menu.c: Likewise.
34c44600 36267
1e901a75 36268 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36269 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36270
1e901a75 36271 * include/grub/font.h: Replaced with new file.
34c44600 36272
1e901a75 36273 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36274 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36275 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36276 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36277 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36278 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36279 fg_red, fg_green, fg_blue, fg_alpha.
36280 (grub_video_adapter): Removed blit_glyph.
34c44600 36281 (grub_video_blit_glyph): Removed.
36282
1e901a75 36283 * font/manager.c: Removed file.
34c44600 36284
36285 * font/font.c: New file.
36286
1e901a75 36287 * font/font_cmd.c: Likewise.
34c44600 36288
1e901a75 36289 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36290
1e901a75 36291 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36292 (grub_video_vbe_map_rgba): Likewise.
36293 (grub_video_vbe_unmap_color_int): Likewise.
36294 (grub_video_vbe_blit_glyph): Removed.
36295 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36296
1e901a75 36297 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36298 (get_pixel): Likewise.
34c44600 36299 (set_pixel): Likewise.
36300
1e901a75 36301 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36302
1e901a75 36303 * term/gfxterm.c: Adapted to new font engine.
34c44600 36304
1e901a75 36305 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36306
1e901a75 36307 * term/i386/pc/vga.c: Likewise.
34c44600 36308
1e901a75 36309 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36310
1e901a75 36311 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36312
1e901a75 36313 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36314
1e901a75 36315 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36316
1e901a75 36317 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36318
1e901a75 36319 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36320
1e901a75 36321 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36322
1e901a75 36323 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36324
1e901a75 36325 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36326
36327 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36328
1e901a75 36329 * util/grub-mkconfig_lib.in: Changed font extension.
36330
278922e8 363312008-12-28 Felix Zielcke <fzielcke@z-51.de>
36332
36333 * util/getroot.c (grub_util_get_grub_dev): Add support for
36334 /dev/md/dNNpNN style partitionable mdraid devices.
36335
3ced05cf 363362008-12-12 Alex Smith <alex@alex-smith.me.uk>
36337
36338 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36339 at a time limit of the PXE TFTP API correctly.
36340 (grub_pxefs_close): Likewise.
36341
7fd0ee30 363422008-11-29 Robert Millan <rmh@aybabtu.com>
36343
34c44600 36344 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36345 grub_ata_device_initialize() calls.
36346
34c44600 363472008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36348
36349 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36350 iteration failed.
36351 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36352
89313780 363532008-11-28 Robert Millan <rmh@aybabtu.com>
36354
36355 Fix build on powerpc-ieee1275. Based on patch created by
36356 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36357 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36358 `kern/ieee1275/mmap.c'.
36359 * include/grub/powerpc/ieee1275/memory.h: New file.
36360
15257703 36361 Provide grub-install on coreboot.
36362 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36363 (grub_install_SOURCES): New variable.
36364 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36365 usable on coreboot.
36366
9fc5388a 363672008-11-25 Felix Zielcke <fzielcke@z-51.de>
36368
36369 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36370 to `grub_term_input_t'.
36371 (grub_term_get_current_output): Change return type to
36372 `grub_term_output_t'.
36373
bc3a2f31 363742008-11-22 Robert Millan <rmh@aybabtu.com>
36375
34c44600 36376 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36377 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36378 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36379 grub_vga_text_cls().
36380
80fc88f2 36381 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36382 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36383
cbf36fd3 36384 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36385 to 0x200000 (avoids trouble with some OFW implementations, and matches
36386 with the one in Yaboot).
36387 Reported by Manoel Abranches
36388
73e8e268 363892008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36390
36391 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36392 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36393
73e8e268 36394 * util/grub-mkconfig_lib.in (grub_warn): New function.
36395 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36396 warnings, to obtain consistent formatting.
36397 * util/grub.d/00_header.in: Likewise.
36398 * util/update-grub_lib.in: Likewise.
36399
e94045a1 36400 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36401 Move comment text to `#error' stanza.
e94045a1 36402
79d29fd7 36403 Harmonize ieee1275's grub_available_iterate() with the generic
36404 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36405 build problem on i386-ieee1275):
36406 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36407 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36408 parameter `type'. Update all users of this function.
36409 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36410 `kern/ieee1275/mmap.c'.
36411 * kern/ieee1275/init.c
36412 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36413 with ...
36414 (grub_machine_mmap_iterate): ... this.
36415 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36416 return type to `grub_err_t'. Update all implementations of this
36417 function prototype.
36418 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36419 Likewise.
36420
60d6b16e 36421 Add `lsmmap' command (lists firmware-provided memory map):
36422 * commands/lsmmap.c: New file.
36423 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36424 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36425 variables.
36426 * conf/powerpc-ieee1275.rmk: Likewise.
36427 * conf/i386-coreboot.rmk: Likewise.
36428 * conf/i386-ieee1275.rmk: Likewise.
36429
ebaaf49b 364302008-11-19 Robert Millan <rmh@aybabtu.com>
36431
36432 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36433 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36434 constraints to initrd allocation (based on code from
36435 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36436 for Linux to find it.
ebaaf49b 36437
dfab719f 364382008-11-14 Robert Millan <rmh@aybabtu.com>
36439
36440 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36441 order to cope with duplicate slashes.
36442
10fc3eb9 364432008-11-14 Robert Millan <rmh@aybabtu.com>
36444
36445 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36446 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36447 don't want to mess with lower memory, because it is used in the Linux
36448 loader.
36449
36450 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36451 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36452 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36453 is in our heap (probably as a result of it being corrupted during
2f2a3442 36454 decompression). Add #error instance with comment to explain why this
36455 loader isn't currently usable on PC/BIOS.
10fc3eb9 36456
e2e07847 364572008-11-14 Robert Millan <rmh@aybabtu.com>
36458
36459 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36460 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36461
fe8e8d69 364622008-11-12 Robert Millan <rmh@aybabtu.com>
36463
36464 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36465
36466 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36467 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36468 from here ...
36469 * include/grub/i386/pc/memory.h: ... to here.
36470
976b07d0 364712008-11-12 Robert Millan <rmh@aybabtu.com>
36472
36473 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36474 split).
36475
36476 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36477 (grub_console_cur_color, grub_console_real_putchar)
36478 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36479 (grub_console_setcolorstate, grub_console_setcolor)
36480 (grub_console_getcolor): Move from here ...
36481 * include/grub/i386/vga_common.h: ... to here (new file).
36482
36483 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36484 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36485 `<grub/i386/io.h>'.
36486 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36487 `<grub/i386/vga_common.h>'.
36488
76679cd3 364892008-11-12 Robert Millan <rmh@aybabtu.com>
36490
36491 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36492 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36493 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36494 variables.
36495 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36496 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36497
36498 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36499 grub_console_init() with call to grub_vga_text_init().
36500 (grub_machine_fini): Replace call to
36501 grub_console_fini() with call to grub_vga_text_fini() and
36502 grub_at_keyboard_fini().
36503
36504 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36505 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36506 (grub_console_setcolorstate, grub_console_setcolor)
36507 (grub_console_getcolor): New function prototypes.
36508
36509 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36510 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36511 (grub_vga_text_setcursor): Static-ize.
36512 (grub_vga_text_term): New structure.
36513 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36514
36515 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36516 (grub_console_cur_color, grub_console_standard_color)
36517 (grub_console_normal_color, grub_console_highlight_color)
36518 (map_char, grub_console_putchar, grub_console_getcharwidth)
36519 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36520 (grub_console_getcolor): Move from here ...
36521 * term/i386/vga_common.c: ... to here (same function names).
36522
95b841d3 365232008-11-12 Robert Millan <rmh@aybabtu.com>
36524
36525 Use newly-added Multiboot support in coreboot.
36526
36527 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36528 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36529
36530 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36531 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36532 (codestart): Store the MBI in `startup_multiboot_info' when we're
36533 being loaded using Multiboot.
36534
36535 * kern/i386/coreboot/init.c (grub_machine_init): Move
36536 grub_at_keyboard_init() call to beginning of function (useful for
36537 debugging). Call grub_machine_mmap_init() before attempting to use
36538 grub_machine_mmap_iterate().
36539 (grub_lower_mem, grub_upper_mem): Move from here ...
36540 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36541 here (new file).
36542
36543 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36544 function prototype.
36545
761ca975 365462008-11-12 Robert Millan <rmh@aybabtu.com>
36547
36548 Fix a regression introduced by the at_keyboard.mod split. Because
36549 some terminals are default on some platforms and non-default on
36550 others, the first terminal being registered determines which is
36551 going to be default.
36552
36553 * kern/term.c (grub_term_register_input): If this is the first
36554 terminal being registered, set it as the current one.
36555 (grub_term_register_output): Likewise.
36556
36557 * term/efi/console.c (grub_console_init): Do not call
36558 grub_term_set_current_output() or grub_term_set_current_input().
36559 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36560 * term/i386/pc/console.c (grub_console_init): Likewise.
36561 (grub_console_fini): Do not call grub_term_set_current_input()
36562 (but leave grub_term_set_current_output() to restore text mode).
36563
6c529df7 365642008-11-10 Robert Millan <rmh@aybabtu.com>
36565
36566 * util/grub.d/00_header.in: Add backward compatibility check for
36567 versions of terminal.mod that don't understand `terminal_input' or
36568 `terminal_output'.
36569
132e4113 365702008-11-09 Robert Millan <rmh@aybabtu.com>
36571
36572 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36573 `terminal_input' / `terminal_output', not `terminal'.
36574
ac293d50 365752008-11-08 Robert Millan <rmh@aybabtu.com>
36576
36577 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36578 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36579
0025933a 365802008-11-08 Robert Millan <rmh@aybabtu.com>
36581
36582 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36583 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36584 members. Update all users.
36585 * util/console.c (grub_ncurses_term): Split in ...
36586 (grub_ncurses_term_input): ... this, and ...
36587 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36588 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36589
37c86336 365902008-11-08 Robert Millan <rmh@aybabtu.com>
36591
36592 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36593 (PKGDATA): Add $(pkgdata_SRCDIR).
36594 (pkglib_BUILDDIR): New variable.
36595 (pkgdata_SRCDIR): New variable.
36596 (build_env.mk): New target.
36597 (include_DATA): New variable.
36598 (install-local): Install $(include_DATA) files in $(includedir).
36599
b6c15a2d 366002008-11-07 Pavel Roskin <proski@gnu.org>
36601
d99d46f1 36602 * gendistlist.sh: Use C locale for sorting to ensure consistent
36603 output on all systems.
36604
b6c15a2d 36605 * util/grub.d/00_header.in: Remove incorrect space before
36606 "serial".
36607
c32ee8c9 366082008-11-07 Robert Millan <rmh@aybabtu.com>
36609
36610 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36611 per specification.
36612 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36613 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36614 (based on find_multi_boot1_header).
36615 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36616 using find_multi_boot2_header(), and abort if neither Multiboot or
36617 Multiboot headers were found.
36618
651c29b7 366192008-11-07 Robert Millan <rmh@aybabtu.com>
36620
36621 Modularize at_keyboard.mod:
36622
36623 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36624 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36625 (at_keyboard_mod_LDFLAGS): New variables.
36626
36627 Actual terminal split:
36628
36629 * include/grub/term.h (struct grub_term): Split in ...
36630 (struct grub_term_input): ... this, and ...
36631 (struct grub_term_output): ... this. Update all users.
36632 (grub_term_set_current): Split in ...
36633 (grub_term_set_current_input): ... this, and ...
36634 (grub_term_set_current_output): ... this.
36635 (grub_term_get_current): Split in ...
36636 (grub_term_get_current_input): ... this, and ...
36637 (grub_term_get_current_output): ... this.
36638 (grub_term_register): Split in ...
36639 (grub_term_register_input): ... this, and ...
36640 (grub_term_register_output): ... this.
36641 (grub_term_unregister): Split in ...
36642 (grub_term_unregister_input): ... this, and ...
36643 (grub_term_unregister_output): ... this.
36644 (grub_term_iterate): Split in ...
36645 (grub_term_iterate_input): ... this, and ...
36646 (grub_term_iterate_output): ... this.
36647
36648 * kern/term.c (grub_term_list): Split in ...
36649 (grub_term_list_input): ... this, and ...
36650 (grub_term_list_output): ... this. Update all users.
36651 (grub_cur_term): Split in ...
36652 (grub_cur_term_input): ... this, and ...
36653 (grub_cur_term_output): ... this. Update all users.
36654 (grub_term_set_current): Split in ...
36655 (grub_term_set_current_input): ... this, and ...
36656 (grub_term_set_current_output): ... this.
36657 (grub_term_get_current): Split in ...
36658 (grub_term_get_current_input): ... this, and ...
36659 (grub_term_get_current_output): ... this.
36660 (grub_term_register): Split in ...
36661 (grub_term_register_input): ... this, and ...
36662 (grub_term_register_output): ... this.
36663 (grub_term_unregister): Split in ...
36664 (grub_term_unregister_input): ... this, and ...
36665 (grub_term_unregister_output): ... this.
36666 (grub_term_iterate): Split in ...
36667 (grub_term_iterate_input): ... this, and ...
36668 (grub_term_iterate_output): ... this.
36669
36670 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36671 a check for input and one for output (and only attempt to get keys
36672 from user when input works).
36673
36674 * util/grub-probe.c (grub_term_get_current): Split in ...
36675 (grub_term_get_current_input): ... this, and ...
36676 (grub_term_get_current_output): ... this.
36677 * util/grub-fstest.c: Likewise.
36678 * util/i386/pc/grub-setup.c: Likewise.
36679 * util/grub-editenv.c: Likewise.
36680
36681 Portability adjustments:
36682
36683 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36684 `term/i386/pc/at_keyboard.c'.
36685 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36686 grub_keyboard_controller_init() (now handled by terminal .init).
36687 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36688 grub_at_keyboard_init().
36689 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36690 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36691 at_keyboard.mod via input terminal interface).
36692 * include/grub/i386/coreboot/console.h: Convert into a stub for
36693 `<grub/i386/pc/console.h>'.
36694
36695 Migrate full terminals to new API:
36696
36697 * term/efi/console.c (grub_console_term): Split into ...
36698 (grub_console_term_input): ... this, and ...
36699 (grub_console_term_output): ... this. Update all users.
36700 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36701 (grub_ofconsole_init): Split into ...
36702 (grub_ofconsole_init_input): ... this, and ...
36703 (grub_ofconsole_init_output): ... this.
36704 (grub_ofconsole_term): Split into ...
36705 (grub_ofconsole_term_input): ... this, and ...
36706 (grub_ofconsole_term_output): ... this. Update all users.
36707 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36708 (grub_serial_term_input): ... this, and ...
36709 (grub_serial_term_output): ... this. Update all users.
36710 * term/i386/pc/console.c (grub_console_term): Split into ...
36711 (grub_console_term_input): ... this, and ...
36712 (grub_console_term_output): ... this. Update all users.
36713 (grub_console_term_input): Only enable it on PC/BIOS platform.
36714 (grub_console_init): Remove grub_keyboard_controller_init() call.
36715
36716 Migrate input terminals to new API:
36717
36718 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36719 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36720 i386-specific anyway).
36721 (grub_console_checkkey): Rename to ...
36722 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36723 users.
36724 (grub_keyboard_controller_orig): New variable.
36725 (grub_console_getkey): Rename to ...
36726 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36727 users.
36728 (grub_keyboard_controller_init): Static-ize. Save original
36729 controller value so that it can be restored ...
36730 (grub_keyboard_controller_fini): ... here (new function).
36731 (grub_at_keyboard_term): New structure.
36732 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36733 functions.
36734
36735 Migrate output terminals to new API:
36736
36737 * term/i386/pc/vga.c (grub_vga_term): Change type to
36738 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36739 members. Update all users.
36740 * term/gfxterm.c (grub_video_term): Change type to
36741 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36742 members. Update all users.
36743 * include/grub/i386/pc/console.h (grub_console_checkkey)
36744 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36745 etc).
36746
36747 Migrate `terminal' command and userland tools to new API:
36748
36749 * commands/terminal.c (grub_cmd_terminal): Split into ...
36750 (grub_cmd_terminal_input): ... this, and ...
36751 (grub_cmd_terminal_output): ... this.
36752 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36753 `terminal_input' and `terminal_output'.
36754 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36755 `terminal_input' / `terminal_output' API.
36756 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36757 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36758 provided ${GRUB_TERMINAL}, convert it).
36759
96e5d876 367602008-11-04 Robert Millan <rmh@aybabtu.com>
36761
36762 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36763 for FreeBSD.
36764 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36765
556f3775 367662008-11-03 Bean <bean123ch@gmail.com>
36767
36768 * kern/elf.c (grub_elf32_load): Revert to previous code.
36769 (grub_elf64_load): Likewise.
36770
36771 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36772
926b9823 367732008-11-01 Robert Millan <rmh@aybabtu.com>
36774
36775 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36776 (TARGET_CPPFLAGS): Likewise.
36777 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36778
1432e958 367792008-11-01 Carles Pina i Estany <carles@pina.cat>
36780
36781 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36782
dba3f844 367832008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36784
36785 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36786 addition of objects until the code is not going to be able to fail.
36787
dba3f844 367882008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36789
36790 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36791 (add a missing NULL check, and correct them by moving the pointer
36792 operations after the actual check).
36793
7ab28c21 367942008-10-29 Robert Millan <rmh@aybabtu.com>
36795
36796 * util/i386/pc/grub-install.in: Handle empty string as output from
36797 make_system_path_relative_to_its_root().
36798
1b7748eb 367992008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36800
36801 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36802 circular metadata worst case scenario. If the metadata is circular
36803 then copy the wrap in place.
36804 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36805 project lib/format_text/layout.h
36806 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36807
c9618ab2 368082008-10-03 Felix Zielcke <fzielcke@z-51.de>
36809
7a36edca 36810 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36811
bf981c62 368122008-10-03 Felix Zielcke <fzielcke@z-51.de>
36813
36814 * util/update-grub_lib.in: Mention filename in warning message.
36815
6d994591 368162008-09-29 Felix Zielcke <fzielcke@z-51.de>
36817
36818 * NEWS: Update for rename of update-grub to grub-mkconfig.
36819
18ade780 368202008-09-29 Felix Zielcke <fzielcke@z-51.de>
36821
36822 * util/update-grub_lib.in: Copy to ...
36823 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36824 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36825 * util/update-grub.in: Rename to ...
36826 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36827 option. Add `--output' option to allow users to specify the generated
36828 configuration file. Default to stdout.
36829 (update_grub_dir): Rename to ...
36830 (grub_mkconfig_dir): ... this.
36831 (grub_cfg): Default to an empty string.
36832 * conf/common.rmk (update-grub): Rename to ...
36833 (grub-mkconfig): ... this.
36834 (update-grub_lib): Copy to ...
36835 (grub-mkconfig_lib): ... this.
36836 (update-grub_SCRIPTS): Copy to ...
36837 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36838 (update-grub_DATA): Rename to ...
36839 (grub-mkconfig_DATA): ... this.
36840
556ce6ac 368412008-09-28 Robert Millan <rmh@aybabtu.com>
36842
36843 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36844 to `modified'. Add the real `created' field.
36845 (grub_iso9660_uuid): Use `modified' rather than `created' for
36846 constructing the UUID.
36847
368482008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36849
36850 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36851 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36852
92274e85 368532008-09-28 Bean <bean123ch@gmail.com>
36854
36855 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36856 Thanks to Christian Franke for finding this bug.
36857
add6f17a 368582008-09-25 Robert Millan <rmh@aybabtu.com>
36859
36860 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36861 instances of grub_util_get_disk_name() (see previous commit).
36862
d2a367b8 368632008-09-25 Robert Millan <rmh@aybabtu.com>
36864
36865 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
36866 `util/i386/get_disk_name.c'.
36867 * conf/i386-efi.rmk: Likewise.
36868 * conf/x86_64-efi.rmk: Likewise.
36869 * conf/i386-coreboot.rmk: Likewise.
36870 * conf/i386-ieee1275.rmk: Likewise.
36871 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
36872 `util/ieee1275/get_disk_name.c'.
36873 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
36874 * util/ieee1275/get_disk_name.c: Remove file.
36875 * util/i386/get_disk_name.c: Remove file.
36876 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
36877 "hd%d" for device.map entries, rather than using
36878 grub_util_get_disk_name().
36879
81a06771 368802008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 36881
36882 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
36883 warning.
36884 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
36885
5a004279 368862008-09-24 Carles Pina i Estany <carles@pina.cat>
36887
36888 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
36889 Changed to 0x5100.
36890 (GRUB_TERM_PPAGE): Changed to 0x4900.
36891
397093d3 368922008-09-24 Robert Millan <rmh@aybabtu.com>
36893
36894 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
36895 macros (they were i386-pc specific).
36896 * include/grub/sparc64/ieee1275/console.h: Likewise.
36897 * include/grub/efi/console.h: Likewise.
36898
a91b6c7c 368992008-09-22 Bean <bean123ch@gmail.com>
36900
36901 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
36902 resident and in attribute list.
36903
36904 * include/grub/ntfs.h (BMP_LEN): Removed.
36905
c40fd116 369062008-09-22 Bean <bean123ch@gmail.com>
36907
81a06771 36908 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 36909 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
36910
36911 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
36912 error occurs, as grub_disk_open will call grub_disk_close, which will
36913 call p->close (scsi).
36914
81a06771 369152008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 36916
36917 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
36918 (AC_PREREQ): Bumped to 2.59.
36919 (AC_TRY_COMPILE): Replace obsolete macro with ...
36920 (AC_COMPILE_IFELSE): ... this.
36921 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
36922 (AC_LINK_IFELSE): ... this.
36923
5dc43410 369242008-09-21 Felix Zielcke <fzielcke@z-51.de>
36925
36926 * autogen.sh: Add a call to `gendistlist.sh'.
36927
9035dce4 369282008-09-19 Christian Franke <franke@computer.org>
36929
36930 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
36931 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
36932 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
36933 Export __enable_execute_stack() to modules.
36934 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
36935 New function.
36936
7fd75377 369372008-09-09 Felix Zielcke <fzielcke@z-51.de>
36938
040030b3 36939 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
36940 Sort the list.
36941
369422008-09-09 Felix Zielcke <fzielcke@z-51.de>
36943
36944 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 36945 #include <grub/util/hostdisk.h>.
36946
89d5ffcf 369472008-09-08 Robert Millan <rmh@aybabtu.com>
36948
36949 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
36950 segments when their filesz is zero (grub_file_read() interprets
81a06771 36951 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 36952 Use `lowest_segment' rather than 0 for calculating the current
36953 segment load address.
36954
40da438f 369552008-09-08 Robert Millan <rmh@aybabtu.com>
36956
36957 * util/hostdisk.c (open_device): Replace a grub_util_info() call
36958 with grub_dprintf("hostdisk", ...), as it was so verbose that it
36959 clobbered useful information.
36960
ddbf5556 369612008-09-08 Robert Millan <rmh@aybabtu.com>
36962
36963 * include/grub/util/biosdisk.h: Move to ...
36964 * include/grub/util/hostdisk.h: ... here. Update all users.
36965 * util/biosdisk.c: Move to ...
36966 * util/hostdisk.c: ... here. Update all users.
36967
783d0f48 369682008-09-07 Robert Millan <rmh@aybabtu.com>
36969
36970 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
36971 variables.
36972 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
36973 and length can be stored directly in the `mbi->mmap_addr' and
36974 `mbi->mmap_length' struct fields.
36975
548e2ea5 369762008-09-07 Robert Millan <rmh@aybabtu.com>
36977
36978 * conf/i386.rmk: New file. Provides declaration for building
36979 `cpuid.mod'.
36980 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
36981 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
36982 variables.
36983 Include `conf/i386.mk'.
36984 * conf/i386-efi.rmk: Likewise.
36985 * conf/x86_64-efi.rmk: Likewise.
36986 * conf/i386-coreboot.rmk: Likewise.
36987 * conf/i386-ieee1275.rmk: Likewise.
36988
0ea85a37 369892008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
36990
36991 Based on patch created by Colin D Bennett <colin@gibibit.com>.
36992 Adds optimization support for BGR based modes.
36993
36994 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
36995 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36996 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36997 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36998 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36999 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37000 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37001 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37002 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37003 (grub_video_i386_vbeblit_index_index): Likewise.
37004 (grub_video_i386_vbeblit_replace_directN): Added.
37005 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37006 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37007 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37008 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37009 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37010 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 37011 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 37012 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37013 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37014 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37015 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37016 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37017 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
37018
37019 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
37020 (grub_video_i386_vbefill_R8G8B8): Likewise.
37021 (grub_video_i386_vbefill_index): Likewise.
37022 (grub_video_i386_vbefill_direct32): Added.
37023 (grub_video_i386_vbefill_direct24): Likewise.
37024 (grub_video_i386_vbefill_direct16): Likewise.
37025 (grub_video_i386_vbefill_direct8): Likewise.
37026
81a06771 37027 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 37028 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
37029 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
37030 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
37031 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
37032 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 37033
0ea85a37 37034 * video/video.c (grub_video_get_blit_format): Updated to use new
37035 blit formats. Added handling for 16 bit color modes.
81a06771 37036
37037 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 37038 fillers.
37039 (common_blitter): Updated to use new blitters.
37040
37041 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
37042 Removed.
37043 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
37044 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37045 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37046 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37047 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37048 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37049 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37050 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37051 (grub_video_i386_vbeblit_index_index): Likewise.
37052 (grub_video_i386_vbeblit_replace_directN): Added.
37053 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
37054 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
37055 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
37056 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
37057 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
37058 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
37059 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
37060 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
37061 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
37062 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
37063 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
37064 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
37065 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 37066
0ea85a37 37067 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
37068 (grub_video_i386_vbefill_R8G8B8): Likewise.
37069 (grub_video_i386_vbefill_index): Likewise.
37070 (grub_video_i386_vbefill_direct32): Added.
37071 (grub_video_i386_vbefill_direct24): Likewise.
37072 (grub_video_i386_vbefill_direct16): Likewise.
37073 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 37074
0ea85a37 37075 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
37076 types.
81a06771 37077
0ea85a37 37078 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
37079 types.
81a06771 37080
0ea85a37 37081 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
37082 blitter types.
81a06771 37083
0ea85a37 37084 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
37085 types.
37086
e8a83df6 370872008-09-06 Felix Zielcke <fzielcke@z-51.de>
37088
37089 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
37090 RAID level 1.
37091
6bcd8ee5 370922008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 37093
6bcd8ee5 37094 * fs/iso9660.c (grub_iso9660_date): New structure.
37095 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
37096 (grub_iso9660_uuid): New function.
c375ae58 37097
59261157 370982008-09-05 Bean <bean123ch@gmail.com>
37099
37100 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
37101
37102 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
37103 insensitive bit for names in Win32 and Win32 & DOS namespace.
37104
37105 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
37106
37107 * include/grub/types.h (LONG_MAX): Likewise.
37108
58b6645a 371092008-09-04 Felix Zielcke <fzielcke@z-51.de>
37110
4ee55921 37111 * util/getroot.c: Include <config.h>.
37112 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
37113 add support for /dev/md/N devices and handle LVM double dash escaping.
37114
371152008-09-04 Felix Zielcke <fzielcke@z-51.de>
37116
37117 * config.guess: Update to latest version from config git.
37118 * config.sub: Likewise.
58b6645a 37119
9124f65d 371202008-09-03 Robert Millan <rmh@aybabtu.com>
37121
37122 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
37123 `disk->total_sectors'.
37124
81a06771 371252008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 37126
37127 * include/grub/normal.h: Fixed incorrect comment for
37128 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
37129
81a06771 371302008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 37131
37132 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
37133 values with defines.
37134
37135 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
37136 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
37137 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
37138 (GRUB_VBE_MODEATTR_COLOR): Likewise.
37139 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
37140 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
37141 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
37142 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
37143 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
37144 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
37145 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
37146 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
37147 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
37148 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
37149 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
37150 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
37151 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
37152 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
37153 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
37154
93d5cbf8 371552008-08-31 Robert Millan <rmh@aybabtu.com>
37156
37157 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
37158 declaration.
37159 (grub_multiboot): Fix a few warnings.
37160
21751d50 371612008-08-31 Robert Millan <rmh@aybabtu.com>
37162
37163 * loader/i386/pc/multiboot.c: Update comment not to say that
37164 boot_device support is unimplemented.
37165
e27a75c5 371662008-08-31 Robert Millan <rmh@aybabtu.com>
37167
37168 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
37169 or memory map support are unimplemented.
37170
81a06771 371712008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 37172
37173 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
37174
81a06771 371752008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 37176
37177 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
37178 total video memory in 'vbeinfo' output; show color format details for
37179 each video mode.
37180
7c5d8d95 371812008-08-30 Pavel Roskin <proski@gnu.org>
37182
37183 * util/genmoddep.c: Remove for real this time.
37184 * DISTLIST: Remove util/genmoddep.c.
37185
4cebd25a 371862008-08-30 Robert Millan <rmh@aybabtu.com>
37187
37188 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
37189 as required by Multiboot spec (it was already 4-byte aligned, but
37190 only by chance).
37191
b497a269 371922008-08-29 Pavel Roskin <proski@gnu.org>
37193
e3925185 37194 * kern/powerpc/ieee1275/crt0.S: Rename to ...
37195 * kern/powerpc/ieee1275/startup.S: ... this.
37196 * conf/powerpc-ieee1275.rmk: Adjust for the above.
37197 * DISTLIST: Likewise.
37198
b497a269 37199 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
37200 grub/cpu/kernel.h. Add start label for consistency with other
37201 platforms. Add grub_prefix immediately after start. Add jump
37202 to the code after grub_prefix.
37203 * include/grub/powerpc/kernel.h: Provide valid values for
37204 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
37205
6e5a42fe 372062008-08-29 Bean <bean123ch@gmail.com>
37207
37208 * configure.ac: Change host_os to cygwin for mingw.
37209 (asprintf): New check for function.
37210
37211 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
37212 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
37213
37214 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 37215 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 37216 sync, sleep and grub_util_get_disk_size for mingw.
37217
37218 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
37219 to get size in mingw.
37220 (open_device): Use flag O_BINARY if it's defined.
37221 (find_root_device): Add dummy code for mingw.
37222
37223 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
37224 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
37225 (get_scsi_disk_name): Return 0 for mingw.
37226
37227 * util/hostfs.c: #include <grub/util/misc.h>.
37228 (grub_hostfs_open): Use "rb" flag to open file, use
37229 grub_util_get_disk_size to get disk size for mingw.
37230
37231 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
37232 (asprintf): New function if HAVE_ASPRINTF is not set.
37233 (sync): New function for mingw.
37234 (sleep): Likewise.
37235 (grub_util_get_disk_size): Likewise.
37236
ab3f2673 372372008-08-28 Pavel Roskin <proski@gnu.org>
37238
37239 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37240 kern/time.c.
37241
1c282483 372422008-08-28 Robert Millan <rmh@aybabtu.com>
37243
37244 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
37245
678e849c 372462008-08-28 Robert Millan <rmh@aybabtu.com>
37247
37248 Change find_grub_drive() syntax so it doesn't prevent it from
37249 detecting NULL names as errors.
37250
37251 * util/biosdisk.c (find_grub_drive): Move free slot search code
37252 from here ...
37253 (find_free_slot): ... to here.
37254 (read_device_map): Use find_free_slot() to search for free slots.
37255
965c75ca 372562008-08-27 Marco Gerards <marco@gnu.org>
37257
37258 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37259 (scsi_mod_SOURCES): New variable.
37260 (scsi_mod_CFLAGS): Likewise
37261 (scsi_mod_LDFLAGS): Likewise.
37262
37263 * disk/scsi.c: New file.
37264
37265 * include/grub/scsi.h: Likewise.
37266
37267 * include/grub/scsicmd.h: Likewise.
37268
37269 * disk/ata.c: Include <grub/scsi.h>.
37270 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37271 instead.
37272 (grub_ata_iterate): Skip ATAPI devices.
37273 (grub_ata_open): Only handle ATAPI devices.
37274 (struct grub_atapi_read): Removed.
37275 (grub_atapi_readsector): Likewise.
37276 (grub_ata_read): No longer handle ATAPI devices.
37277 (grub_ata_write): Likewise.
37278 (grub_atapi_iterate): New function.
37279 (grub_atapi_read): Likewise.
37280 (grub_atapi_write): Likewise.
37281 (grub_atapi_open): Likewise.
37282 (grub_atapi_close): Likewise.
37283 (grub_atapi_dev): New variable.
37284 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37285 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37286
37287 * include/grub/disk.h (enum grub_disk_dev_id): Add
37288 `GRUB_DISK_DEVICE_SCSI_ID'.
37289
c07ae501 372902008-08-26 Robert Millan <rmh@aybabtu.com>
37291
37292 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37293 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37294 descriptive.
37295
5ed20adc 372962008-08-23 Bean <bean123ch@gmail.com>
37297
37298 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37299 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37300 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37301 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37302 dm_nv.mod.
37303 (raid5rec_mod_SOURCES): New macro.
37304 (raid5rec_mod_CFLAGS): Likewise.
37305 (raid5rec_mod_LDFLAGS): Likewise.
37306 (raid6rec_mod_SOURCES): Likewise.
37307 (raid6rec_mod_CFLAGS): Likewise.
37308 (raid6rec_mod_LDFLAGS): Likewise.
37309 (mdraid_mod_SOURCES): Likewise.
37310 (mdraid_mod_CFLAGS): Likewise.
37311 (mdraid_mod_LDFLAGS): Likewise.
37312 (dm_nv_mod_SOURCES): Likewise.
37313 (dm_nv_mod_CFLAGS): Likewise.
37314 (dm_nv_mod_LDFLAGS): Likewise.
37315
37316 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37317 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37318 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37319
37320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37321 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37322
37323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37324
37325 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37326
37327 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37328
37329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37330
37331 * disk/raid5_recover.c: New file.
37332
37333 * disk/raid6_recover.c: Likewise.
37334
37335 * disk/mdraid_linux.c: Likewise.
37336
37337 * disk/dmraid_nvidia.c: Likewise.
37338
37339 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37340 ULONG_MAX.
37341
37342 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37343 calculate the size of raid device.
37344 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37345 different layout of raid5.
37346 (grub_raid_scan_device): Remove code specific to mdraid.
37347 (grub_raid_list): New variable.
37348 (free_array): New function.
37349 (grub_raid_register): Likewise.
37350 (grub_raid_unregister): Likewise.
37351 (grub_raid_rescan): Likewise.
37352 (GRUB_MOD_INIT): Don't iterate device here.
37353 (GRUB_MOD_FINI): Use free_array to release resource.
37354
37355 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37356 (grub_raid5_recover_func_t): New function variable type.
37357 (grub_raid6_recover_func_t): Likewise.
37358 (grub_raid5_recover_func): New variable.
37359 (grub_raid6_recover_func): Likewise.
37360 (grub_raid_register): New function.
37361 (grub_raid_unregister): Likewise.
37362 (grub_raid_rescan): Likewise.
37363 (grub_raid_block_xor): Likewise.
37364
37365 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37366 (CMD_CRC): New macro.
37367 (part): Removed.
37368 (read_file): Handle device as well as file.
37369 (cmd_crc): New function.
37370 (fstest): Handle multiple disks.
37371 (options): Remove part, raw and long, add root and diskcount.
37372 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37373 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37374 add handling for the new options, support multiple disks.
37375
37376 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37377
29c18915 373782008-08-23 Bean <bean123ch@gmail.com>
37379
37380 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37381
37382 * genfslist.sh: Ignore kernel.mod.
37383
37384 * genpartmaplist.sh: Likewise.
37385
8415f261 373862008-08-23 Robert Millan <rmh@aybabtu.com>
37387
37388 * util/getroot.c (find_root_device): Skip anything that starts with
37389 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37390
d5a7dc5b 373912008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37392
d5a7dc5b 37393 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37394 * util/grub.d/00_header.in: Allow the administrator to change default
37395 gfxmode via ${GRUB_GFXMODE}.
37396
380cfbb4 373972008-08-21 Felix Zielcke <fzielcke@z-51.de>
37398
37399 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37400
c9baafe7 374012008-08-21 Robert Millan <rmh@aybabtu.com>
37402
37403 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37404 loader.
37405 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37406 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37407
e290bef2 374082008-08-20 Carles Pina i Estany <carles@pina.cat>
37409
37410 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37411 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37412
f9dbfc96 374132008-08-19 Robert Millan <rmh@aybabtu.com>
37414
37415 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37416 (struct grub_virtual_screen): Remove `cursor_color'.
37417 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37418 initialization.
37419 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37420
dd6bd6ab 374212008-08-18 Robert Millan <rmh@aybabtu.com>
37422
37423 Unify (identical) linux_normal.c files.
37424 * loader/i386/efi/linux_normal.c: Move from here ...
37425 * loader/linux_normal.c: ... to here. Update all users.
37426 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37427 * loader/i386/ieee1275/linux_normal.c: Likewise.
37428
7f42f83e 374292008-08-18 Robert Millan <rmh@aybabtu.com>
37430
37431 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37432 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37433 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37434 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37435 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37436 New macros.
37437 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37438 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37439 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37440 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37441 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37442 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37443 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37444 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37445 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37446 portably using grub_getxy().
37447 Replace `-EFI' with `-bzImage' in boot message.
37448
38487ddb 374492008-08-17 Robert Millan <rmh@aybabtu.com>
37450
37451 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37452
deceb3ec 374532008-08-17 Robert Millan <rmh@aybabtu.com>
37454
37455 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37456
37457 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37458 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37459 (grub_machine_mmap_iterate): New function declaration.
37460 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37461 structure.
37462 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37463 macros.
37464
37465 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37466 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37467 Move e820 parsing from here ...
37468 * kern/i386/pc/mmap.c: New file.
37469 (grub_machine_mmap_iterate): ... to here.
37470
37471 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37472 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37473 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37474 (grub_available_iterate): Redeclare to return `void', and redeclare
37475 its hook to use grub_uint64_t as addr and size parameters, and rename
37476 to ...
37477 (grub_machine_mmap_iterate): ... this. Update all users.
37478
37479 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37480 to make it more readable. Rename to ...
37481 (grub_machine_mmap_iterate): ... this.
37482
37483 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37484 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37485 (grub_multiboot): Allocate an extra region after the payload, and fill
37486 it with a Multiboot memory map. Adjust a.out loader to calculate size
37487 with the extra space.
37488 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37489 with the extra space.
37490
f8aa0f43 374912008-08-17 Carles Pina i Estany <carles@pina.cat>
37492
9807deb9 37493 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37494
605f5bb6 374952008-08-17 Felix Zielcke <fzielcke@z-51.de>
37496
37497 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37498 mdate-sh to the list `find' searches for.
37499 * DISTLIST: Regenerated.
37500
210db6c6 375012008-08-16 Felix Zielcke <fzielcke@z-51.de>
37502
37503 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37504 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37505 genmoddep.awk, gensymlist.sh.in.
37506 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37507 * DISTLIST: Regenerated.
48cdbfd4 37508 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37509
1082b929 375102008-08-16 Robert Millan <rmh@aybabtu.com>
37511
37512 * disk/raid.c (grub_raid_init): Handle/report errors set by
37513 grub_device_iterate().
37514 * disk/lvm.c (grub_lvm_init): Likewise.
37515
42ce5170 375162008-08-15 Bean <bean123ch@gmail.com>
37517
37518 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37519 and datehook.mod.
37520 (datetime_mod_SOURCES): New macro.
37521 (datetime_mod_CFLAGS): Likewise.
37522 (datetime_mod_LDFLAGS): Likewise.
37523 (date_mod_SOURCES): Likewise.
37524 (date_mod_CFLAGS): Likewise.
37525 (date_mod_LDFLAGS): Likewise.
37526 (datehook_mod_SOURCES): Likewise.
37527 (datehook_mod_CFLAGS): Likewise.
37528 (datehook_mod_LDFLAGS): Likewise.
37529
37530 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37531 and datehook.mod.
37532 (datetime_mod_SOURCES): New macro.
37533 (datetime_mod_CFLAGS): Likewise.
37534 (datetime_mod_LDFLAGS): Likewise.
37535 (date_mod_SOURCES): Likewise.
37536 (date_mod_CFLAGS): Likewise.
37537 (date_mod_LDFLAGS): Likewise.
37538 (datehook_mod_SOURCES): Likewise.
37539 (datehook_mod_CFLAGS): Likewise.
37540 (datehook_mod_LDFLAGS): Likewise.
37541
37542 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37543 and datehook.mod.
37544 (datetime_mod_SOURCES): New macro.
37545 (datetime_mod_CFLAGS): Likewise.
37546 (datetime_mod_LDFLAGS): Likewise.
37547 (date_mod_SOURCES): Likewise.
37548 (date_mod_CFLAGS): Likewise.
37549 (date_mod_LDFLAGS): Likewise.
37550 (datehook_mod_SOURCES): Likewise.
37551 (datehook_mod_CFLAGS): Likewise.
37552 (datehook_mod_LDFLAGS): Likewise.
37553
37554 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37555 and datehook.mod.
37556 (datetime_mod_SOURCES): New macro.
37557 (datetime_mod_CFLAGS): Likewise.
37558 (datetime_mod_LDFLAGS): Likewise.
37559 (date_mod_SOURCES): Likewise.
37560 (date_mod_CFLAGS): Likewise.
37561 (date_mod_LDFLAGS): Likewise.
37562 (datehook_mod_SOURCES): Likewise.
37563 (datehook_mod_CFLAGS): Likewise.
37564 (datehook_mod_LDFLAGS): Likewise.
37565
37566 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37567 and datehook.mod.
37568 (datetime_mod_SOURCES): New macro.
37569 (datetime_mod_CFLAGS): Likewise.
37570 (datetime_mod_LDFLAGS): Likewise.
37571 (date_mod_SOURCES): Likewise.
37572 (date_mod_CFLAGS): Likewise.
37573 (date_mod_LDFLAGS): Likewise.
37574 (datehook_mod_SOURCES): Likewise.
37575 (datehook_mod_CFLAGS): Likewise.
37576 (datehook_mod_LDFLAGS): Likewise.
37577
37578 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37579
37580 * commands/date.c: New file.
37581
37582 * hook/datehook.c: Likewise.
37583
37584 * include/grub/lib/datetime.h: Likewise.
37585
37586 * include/grub/i386/cmos.h: Likewise.
37587
37588 * lib/datetime.c: Likewise.
37589
37590 * lib/i386/datetime.c: Likewise.
37591
37592 * lib/efi/datetime.c: Likewise.
37593
0e9242da 375942008-08-14 Robert Millan <rmh@aybabtu.com>
37595
37596 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37597 (grub_mkelfimage_SOURCES): New variable.
37598 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37599
37600 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37601 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37602 * conf/powerpc-ieee1275.rmk: Likewise.
37603 * conf/i386-ieee1275.rmk: Likewise.
37604
37605 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37606 * kern/i386/coreboot/init.c: Likewise.
37607
37608 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37609 with `<grub/cpu/kernel.h>'.
37610 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37611 to ...
37612 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37613 * kern/i386/coreboot/startup.S: Likewise.
37614
37615 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37616 (GRUB_MOD_GAP): Remove.
37617 * include/grub/powerpc/kernel.h: New file.
37618 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37619 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37620 * include/grub/i386/kernel.h: New file.
37621 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37622 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37623 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37624
37625 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37626 `grub-mkelfimage'.
37627 Use --directory when invoking grub_mkimage.
37628
37629 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37630 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37631 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37632 and GRUB_KERNEL_CPU_PREFIX.
37633
b86408f8 376342008-08-14 Felix Zielcke <fzielcke@z-51.de>
37635
d5e619ca 37636 * include/grub/err.h (grub_err_printf): New function prototype.
37637 * util/misc.c (grub_err_printf): New function.
37638 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37639 grub_printf.
37640 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37641
7161f0e0 376422008-08-13 Robert Millan <rmh@aybabtu.com>
37643
37644 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37645
a1967522 376462008-08-13 Robert Millan <rmh@aybabtu.com>
37647
37648 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37649 boot entry.
37650
371458b5 376512008-08-12 Robert Millan <rmh@aybabtu.com>
37652
37653 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37654 of the relocation code from here ...
37655 (grub_multiboot): ... to here.
37656 (forward_relocator, backward_relocator): Move from here ...
37657 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37658 (grub_multiboot_backward_relocator): ... to here.
37659 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37660 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37661 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37662 (grub_multiboot_forward_relocator_end)
37663 (grub_multiboot_backward_relocator)
37664 (grub_multiboot_backward_relocator_end): New variables.
37665
05f9452b 376662008-08-12 Bean <bean123ch@gmail.com>
37667
37668 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37669
20024ab0 376702008-08-11 Robert Millan <rmh@aybabtu.com>
37671
37672 * kern/i386/linuxbios/startup.S: Move from here ...
37673 * kern/i386/coreboot/startup.S: ... to here.
37674
37675 * kern/i386/linuxbios/init.c: Move from here ...
37676 * kern/i386/coreboot/init.c: ... to here.
37677
37678 * kern/i386/linuxbios/table.c: Move from here ...
37679 * kern/i386/coreboot/mmap.c: ... to here.
37680
37681 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37682
e352e9cd 376832008-08-11 Robert Millan <rmh@aybabtu.com>
37684
37685 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37686 errors. Leave it to the upper layer to handle them.
37687
2d05bc6a 376882008-08-09 Christian Franke <franke@computer.org>
37689
37690 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37691 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37692 Install `grub.d/10_windows' only on Cygwin.
37693 * configure.ac: Add subst of `target_os'.
37694 Check `target_os' also before setting TARGET_OBJ2ELF.
37695 Add `--enable-grub-pe2elf'.
37696
042bd419 376972008-08-08 Robert Millan <rmh@aybabtu.com>
37698
37699 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37700 (grub_last_time): Change type to grub_uint64_t.
37701 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37702 (grub_disk_close): Likewise.
37703
37704 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37705 (run_menu): Migrate code from to using grub_get_time_ms().
37706
37707 * util/misc.c (grub_get_time_ms): New function.
37708
7f280db5 377092008-08-08 Marco Gerards <marco@gnu.org>
37710
37711 * disk/ata.c (grub_ata_regget): Change return type to
37712 `grub_uint8_t'.
37713 (grub_ata_regget2): Likewise.
37714 (grub_ata_wait_status): New function.
37715 (grub_ata_wait_busy): Removed function, updated all users to use
37716 `grub_ata_wait_status'.
37717 (grub_ata_wait_drq): Likewise.
37718 (grub_ata_cmd): New function.
37719 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37720 error handling.
37721 (grub_ata_pio_write): Add error handling.
37722 (grub_atapi_identify): Likewise.
37723 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37724 handling.
37725 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37726 handling. Actually use the detected registers. Reorder the
37727 detection logic such that it is easier to read.
37728 (grub_ata_pciinit): Do not assign the same ID to each controller.
37729 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37730 handling.
37731 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37732
37733 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37734
1fbc5e66 377352008-08-08 Marco Gerards <marco@gnu.org>
37736
37737 * NEWS: Update.
37738
819ce6c0 377392008-08-07 Bean <bean123ch@gmail.com>
37740
37741 * include/grub/x86_64/pci.h: New file.
37742
5c41d44d 377432008-08-07 Christian Franke <franke@computer.org>
37744
37745 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37746 (TIMER2_GATE): Likewise.
37747 (grub_pit_wait): Add enable/disable of the timer2 gate
37748 bit of port 0x61. This fixes a possible infinite loop.
37749
5ebc275d 377502008-08-07 Bean <bean123ch@gmail.com>
37751
37752 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37753 kern/i386/tsc.c and kern/i386/pit.c.
37754
37755 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37756 x86_64 platform.
37757
37758 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37759 <grub/i386/tsc.h>.
37760
37761 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37762
e383b3d0 377632008-08-07 Bean <bean123ch@gmail.com>
37764
37765 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37766
37767 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37768
37769 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37770 multiple inclusion. Add #include <grub/types.h>.
37771
1cbb58ac 377722008-08-06 Christian Franke <franke@computer.org>
37773
37774 * conf/common.rmk: Build and install `10_windows'.
37775 * util/grub.d/10_windows.in: New script.
37776
337f5a1e 377772008-08-06 Pavel Roskin <proski@gnu.org>
37778
37779 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37780
057bc4ac 377812008-08-06 Robert Millan <rmh@aybabtu.com>
37782
37783 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37784 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37785
2b99f123 377862008-08-06 Bean <bean123ch@gmail.com>
37787
37788 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37789 (grub_pxefs_fs_int): Remove dummy definition.
37790 (grub_pxefs_open): Use data->block_size to store the current block
37791 size setting.
37792 (grub_pxefs_read): Use block size stored in data->block_size. As the
37793 value of grub_pxe_blksize can be changed after the file is opened.
37794
9f0234cb 377952008-08-06 Bean <bean123ch@gmail.com>
37796
37797 * fs/i386/pc/pxe.c (curr_file): new variable.
37798 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37799 require the dummy internal file system anymore.
37800 (grub_pxefs_read): Removed.
37801 (grub_pxefs_close): Likewise.
37802 (grub_pxefs_fs_int): Likewise.
37803 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37804 connection when we switch file.
37805 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37806
a55d42e0 378072008-08-06 Robert Millan <rmh@aybabtu.com>
37808
37809 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37810 `halt.mod'.
37811 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37812 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37813
37814 * kern/i386/halt.c: New file.
37815 * kern/i386/reboot.c: Likewise.
37816 * include/grub/i386/reboot.h: Likewise.
37817 * include/grub/i386/halt.h: Likewise.
37818
37819 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37820 Include `<grub/cpu/halt.h>'.
37821 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37822 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37823
37824 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37825 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37826 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37827 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37828 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37829 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37830 from here ...
37831 * include/grub/i386/at_keyboard.h: ... to here.
37832
24371d26 378332008-08-05 Robert Millan <rmh@aybabtu.com>
37834
37835 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37836 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37837 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37838 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37839 `kern/generic/millisleep.c'.
37840
37841 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37842 instead of grub_get_rtc().
37843 (grub_tsc_init): Initialize `tsc_boot_time'.
37844
37845 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37846 (grub_machine_init): Use grub_tsc_init() rather than
37847 installing an RTC-based handler via grub_install_get_time_ms().
37848
37849 * kern/i386/pit.c: New file.
37850 * include/grub/i386/pit.h: Likewise.
37851
9e7007b3 378522008-08-05 Bean <bean123ch@gmail.com>
37853
37854 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37855
37856 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37857 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37858 (pxe_mod_SOURCES): New macro.
37859 (pxe_mod_CFLAGS): Likewise.
37860 (pxe_mod_LDFLAGS): Likewise.
37861 (pxecmd_mod_SOURCES): Likewise.
37862 (pxecmd_mod_CFLAGS): Likewise.
37863 (pxecmd_mod_LDFLAGS): Likewise.
37864
37865 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
37866 (grub_pxe_call): Likewise.
37867
37868 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
37869
37870 * commands/i386/pc/pxecmd.c: New file.
37871
9f0234cb 37872 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 37873
37874 * include/grub/i386/pc/pxe.h: Likewise.
37875
6977d49f 378762008-08-05 Bean <bean123ch@gmail.com>
37877
37878 * util/console.c (grub_console_cur_color): New variable.
37879 (grub_console_standard_color): Likewise.
37880 (grub_console_normal_color): Likewise.
37881 (grub_console_highlight_color): Likewise.
37882 (color_map): Likewise.
37883 (use_color): Likewise.
37884 (NUM_COLORS): New macro.
37885 (grub_ncurses_setcolorstate): Handle color properly.
37886 (grub_ncurses_setcolor): Don't change color here, just remember the
37887 settings, color will be set in grub_ncurses_setcolorstate.
37888 (grub_ncurses_getcolor): New function.
37889 (grub_ncurses_init): Initialize color pairs.
37890 (grub_ncurses_term): New member grub_ncurses_getcolor.
37891
9c2ff3ee 378922008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 37893
9c2ff3ee 37894 High resolution timer support. Implemented for x86 CPUs using TSC.
37895 Extracted generic grub_millisleep() so it's linked in only as needed.
37896 This requires a Pentium compatible CPU; if the RDTSC instruction is
37897 not supported, then it falls back on the generic grub_get_time_ms()
37898 implementation that uses the machine's RTC.
37899
37900 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
37901 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37902 `kern/generic/millisleep.c'.
37903
37904 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
37905 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
37906
37907 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
37908 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
37909
37910 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37911
37912 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37913 `kern/generic/millisleep.c'.
37914
37915 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37916
37917 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
37918
37919 * kern/generic/rtc_get_time_ms.c: New file.
37920
37921 * kern/generic/millisleep.c: New file.
337f5a1e 37922
9c2ff3ee 37923 * kern/misc.c: Don't include
37924 <kern/time.h> anymore.
37925 (grub_millisleep_generic): Removed.
37926
37927 * commands/sleep.c (grub_interruptible_millisleep): Uses
37928 grub_get_time_ms() instead of grub_get_rtc().
37929
37930 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
37931 function.
37932 (grub_cpu_is_cpuid_supported): New inline function.
37933 (grub_cpu_is_tsc_supported): New inline function.
37934 (grub_tsc_init): New function prototype.
37935 (grub_tsc_get_time_ms): New function prototype.
37936
37937 * kern/i386/tsc.c (grub_get_time_ms): New file.
37938
37939 * include/grub/time.h: Include <grub/types.h.
37940 (grub_millisleep_generic): Removed.
37941 (grub_get_time_ms): New prototype.
37942 (grub_install_get_time_ms): New prototype.
37943 (grub_rtc_get_time_ms): New prototype.
37944
37945 * kern/time.c (grub_get_time_ms): New function.
37946 (grub_install_get_time_ms): New function.
37947
37948 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
37949 <grub/time.h> anymore.
37950 (grub_millisleep): Removed.
37951 (grub_machine_init): Call grub_tsc_init.
37952
37953 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
37954 get_time_ms() implementation.
37955
37956 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
37957 (ieee1275_get_time_ms): New function.
37958 (grub_machine_init): Install get_time_ms() implementation.
37959
37960 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
37961 (grub_machine_init): Call grub_tsc_init().
37962 (grub_millisleep): Removed.
bf06a93f 37963
9c2ff3ee 37964 * kern/ieee1275/init.c (grub_millisleep): Removed.
37965 (grub_machine_init): Install ieee1275_get_time_ms()
37966 implementation.
37967 (ieee1275_get_time_ms): New function.
37968 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
37969 real work.
37970
9ec92aaf 379712008-08-05 Marco Gerards <marco@gnu.org>
37972
37973 * disk/ata.c: Include <grub/pci.h>.
37974 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
37975 (grub_ata_initialize): Rewritten.
37976 (grub_ata_device_initialize): New function.
37977
8d23f507 379782008-08-04 Pavel Roskin <proski@gnu.org>
37979
37980 * kern/main.c: Include grub/mm.h.
37981
5e15ee3d 379822008-08-04 Robert Millan <rmh@aybabtu.com>
37983
37984 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
37985 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
37986 corruption problem).
37987
a9053f8f 379882008-08-04 Robert Millan <rmh@aybabtu.com>
37989
37990 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
37991 warnings introduced in my last commit.
37992
dd19c7d7 379932008-08-03 Robert Millan <rmh@aybabtu.com>
37994
37995 Make PCI available on all i386 architectures.
37996
37997 * include/grub/i386/pc/pci.h: Move from here ...
37998 * include/grub/i386/pci.h: ... to here.
37999
38000 * include/grub/i386/pc/pci.h: Remove.
38001 * include/grub/i386/efi/pci.h: Remove.
38002 * include/grub/x86_64/efi/pci.h: Remove.
38003
38004 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
38005 `<grub/cpu/pci.h>'.
38006
38007 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
38008 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
38009 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
38010
38011 * conf/i386-ieee1275.rmk: Likewise.
38012
e14a6184 380132008-08-03 Robert Millan <rmh@aybabtu.com>
38014
38015 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
38016 (grub_console_setcursor): Make it possible to set cursor off.
38017
52768e37 380182008-08-03 Robert Millan <rmh@aybabtu.com>
38019
38020 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
38021 of modules instead of assuming which platform provides what.
38022 * util/update-grub.in: Likewise.
38023
2d52f57f 380242008-08-03 Robert Millan <rmh@aybabtu.com>
38025
38026 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
38027 instead of `grub_install_dos_part' to determine whether a drive needs
38028 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 38029 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 38030
2a5cd121 380312008-08-02 Robert Millan <rmh@aybabtu.com>
38032
38033 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
38034
93808428 380352008-08-02 Robert Millan <rmh@aybabtu.com>
38036
38037 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
38038 of informational grub_dprintf() calls.
38039
3bd0a12a 380402008-08-02 Robert Millan <rmh@aybabtu.com>
38041
38042 * disk/memdisk.c (memdisk_size): Don't initialize.
38043 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
38044
38045 * include/grub/i386/pc/kernel.h
38046 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
38047 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
38048 (grub_memdisk_image_size, grub_arch_memdisk_addr)
38049 (grub_arch_memdisk_size): Remove.
38050
38051 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
38052 field (was only used to transfer a constant). Add `type' field to
38053 support multiple module types.
38054 (grub_module_iterate): New function.
38055
38056 * kern/device.c (grub_device_open): Do not hide error messages
38057 when grub_disk_open() fails. Use grub_print_error() instead.
38058
38059 * kern/i386/pc/init.c (grub_arch_modules_addr)
38060 (grub_arch_memdisk_size): Remove functions.
38061 (grub_arch_modules_addr): Return the module address in high memory
38062 (now that it isn't copied anymore).
38063
38064 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
38065 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
38066 decompression routine (grub_total_module_size already includes that
38067 now). Don't copy modules back to low memory.
38068
38069 * kern/main.c: Include `<grub/mm.h>'.
38070 (grub_load_modules): Split out (and use) ...
38071 (grub_module_iterate): ... this function, which iterates through
38072 module objects and runs a hook.
38073 Comment out grub_mm_init_region() call, as it would cause non-ELF
38074 modules to be overwritten.
38075
38076 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
38077 the memdisk image in its own region, make it part of the module list.
38078 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
38079 (main): Parse --memdisk|-m option, and pass user-provided path as
38080 parameter to generate_image().
38081 (add_segments): Pass `memdisk_path' down to load_modules().
38082 (load_modules): Embed memdisk image in module section when requested.
38083 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
38084 `header.type' instead of `header.offset'.
38085
38086 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
38087 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
38088 (memdisk_mod_LDFLAGS): New variables.
38089 * conf/i386-coreboot.rmk: Likewise.
38090 * conf/i386-ieee1275.rmk: Likewise.
38091
a927cc73 380922008-08-02 Robert Millan <rmh@aybabtu.com>
38093
38094 * loader/i386/pc/multiboot.c (playground, forward_relocator)
38095 (backward_relocator): New variables. Used to allocate and relocate
38096 the payload, respectively.
38097 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 38098 address, install the appropriate relocator code in each bound of
a927cc73 38099 the payload, and set the entry point such that
38100 grub_multiboot_real_boot() will jump to one of them.
38101
38102 * kern/i386/loader.S (grub_multiboot_payload_size)
38103 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38104 (grub_multiboot_payload_entry_offset): New variables.
38105 (grub_multiboot_real_boot): Set cpu context to what the relocator
38106 expects, and jump to the relocator instead of the payload.
38107
38108 * include/grub/i386/loader.h (grub_multiboot_payload_size)
38109 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
38110 (grub_multiboot_payload_entry_offset): Export.
38111
b15d8a0c 381122008-08-01 Bean <bean123ch@gmail.com>
38113
38114 * normal/menu_entry.c (editor_getline): Don't return the original
38115 string as result, as it will be released by lexer once it has done
38116 using it.
38117
cdfb3d22 381182008-08-01 Robert Millan <rmh@aybabtu.com>
38119
38120 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
38121 within menuentries, not before them.
38122 util/grub.d/10_hurd.in: Likewise.
38123
9175e93d 381242008-08-01 Bean <bean123ch@gmail.com>
38125
38126 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
38127 (bufio_mod_SOURCES): New macro.
38128 (bufio_mod_CFLAGS): Likewise.
38129 (bufio_mod_LDFLAGS): Likewise.
38130
38131 * include/grub/bufio.h: New file.
38132
38133 * io/bufio.c: Likewise.
38134
38135 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
38136 (grub_video_reader_png): Use grub_buffile_open to open file.
38137
38138 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
38139 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
38140
38141 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
38142 (grub_video_reader_tga): Use grub_buffile_open to open file.
38143
38144 * font/manager.c: Include <grub/bufio.h>.
38145 (add_font): Use grub_buffile_open to open file.
38146
3d8383e7 381472008-07-31 Robert Millan <rmh@aybabtu.com>
38148
38149 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
38150 ELF segments, use a macro for arbitrarily accessing any of them instead
38151 of preparing a pointer that allows access to one at a time.
38152 (grub_multiboot_load_elf64): Likewise.
38153
16e641b6 381542008-07-31 Bean <bean123ch@gmail.com>
38155
38156 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
38157 GRUB_KERNEL_MACHINE_DATA_END.
38158
59198b72 381592008-07-30 Robert Millan <rmh@aybabtu.com>
38160
38161 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
38162 Increase from 0x50 to 0x60.
38163 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
38164 use UUIDs to identify the root drive for them. If that's not
38165 possible, abort.
38166 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
38167 check, for cross-disk installs.
38168
ae88bca3 381692008-07-30 Robert Millan <rmh@aybabtu.com>
38170
38171 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
38172 is non-empty, use it to set the `prefix' environment variable instead
38173 of the usual approach.
38174 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
38175 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
38176 environment variable instead of dummy make_install_device().
38177
38178 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
38179 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 38180 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 38181
38182 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
38183 New variable reference.
38184 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
38185 New macro. Defines offset of `grub_prefix' within startup.S (relative
38186 to `start').
38187 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
38188 section within startup.S (relative to `start').
38189 * include/grub/i386/coreboot/kernel.h: Likewise.
38190
38191 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
38192 Overwrite grub_prefix with its contents, at the beginning of the
38193 first segment.
38194 (main): Understand -p|--prefix.
38195
14f41dd1 381962008-07-30 Robert Millan <rmh@aybabtu.com>
38197
38198 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
38199
4ca049a3 382002008-07-30 Robert Millan <rmh@aybabtu.com>
38201
38202 * term/i386/pc/vga_text.c (grub_console_cls): Use
38203 grub_console_gotoxy() to go back to beginning of the screen.
38204 Found by Patrick Georgi <patrick.georgi@coresystems.de>
38205
2921d337 382062008-07-29 Christian Franke <franke@computer.org>
38207
38208 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38209 Add conversion of emulated mount points on Cygwin.
38210
b609876d 382112008-07-29 Christian Franke <franke@computer.org>
38212
38213 * util/update-grub.in: Add a check for admin
38214 group on Cygwin.
38215 Remove old `grub.cfg.new' before creation.
38216 Add `-f' to `mv' to handle the different filesystem
38217 semantics of Windows.
38218
e93e4679 382192008-07-29 Bean <bean123ch@gmail.com>
38220
38221 * normal/main.c (get_line): Fix buffer overflow bug.
38222
41694fd0 382232008-07-28 Robert Millan <rmh@aybabtu.com>
38224
38225 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
38226 (struct grub_apple_header): New struct. Describes the layout of
38227 the partmap header.
38228 (apple_partition_map_iterate): Check the header magic as well as the
38229 partition magic (which was already being checked).
38230
cfd0b4e6 382312008-07-28 Pavel Roskin <proski@gnu.org>
38232
38233 * genmk.rb: Add a warning to the beginning of the output that
38234 it's a generated file and should not be edited.
38235
93cce016 382362008-07-28 Robert Millan <rmh@aybabtu.com>
38237
38238 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38239 with the same number are found, just use issue a warning with
38240 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 38241
cd1df915 382422008-07-27 Robert Millan <rmh@aybabtu.com>
38243
38244 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
38245 information.
38246
b70a8427 382472008-07-27 Bean <bean123ch@gmail.com>
38248
38249 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
38250 (grub_fat_find_dir): Ignore case when comparing filename.
38251
8f5e379f 382522008-07-27 Bean <bean123ch@gmail.com>
38253
38254 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
38255 smallino, as it's more descriptive, and i8count can be confused with
38256 the other field count.
38257 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38258 inode type.
38259
a85cd5a0 382602008-07-27 Bean <bean123ch@gmail.com>
38261
38262 * commands/crc.c: New file.
38263
38264 * lib/crc.c: Likewise.
38265
38266 * include/grub/lib/crc.h: Likewise.
38267
38268 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38269
38270 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38271 (hexdump): Move this function to ...
38272
38273 * lib/hexdump.c: ... here.
38274
38275 * include/grub/hexdump.h: Renamed to ...
38276
38277 * include/grub/lib/hexdump.h: ... this.
38278
38279 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38280
38281 * util/grub-editenv.c: Likewise.
38282
38283 * include/envblk.h: Renamed to ...
38284
38285 * include/lib/envblk.h: ... this.
38286
38287 * util/envblk.c: Renamed to ...
38288
38289 * lib/envblk.c: ... this.
38290
38291 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38292 lib/hexdump.c.
38293 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38294 (pkglib_MODULES): Add crc.mod.
38295 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38296 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38297 (crc_mod_SOURCES): New macro.
38298 (crc_mod_CFLAGS): Likewise.
38299 (crc_mod_LDFLAGS): Likewise.
38300
38301 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38302
38303 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38304
38305 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38306
38307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38308
38309 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38310
c298def0 383112008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38312
38313 * commands/help.c: Include <grub/term.h>.
38314 (TERM_WIDTH): Removed. Updated all users.
38315
cc349fb3 383162008-07-27 Pavel Roskin <proski@gnu.org>
38317
38318 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38319 spurious warnings about a comment within a comment.
38320
9051607e 383212008-07-25 Robert Millan <rmh@aybabtu.com>
38322
38323 * util/getroot.c (find_root_device): Skip devices that match
38324 /dev/dm-[0-9]. This lets the real device be found for any type of
38325 abstraction (LVM, EVMS, RAID..).
38326 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38327 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38328 device is found first, find_root_device() will now skip it.
38329
01453bfc 383302008-07-24 Pavel Roskin <proski@gnu.org>
38331
38332 * include/grub/types.h: Use __builtin_bswap32() and
38333 __builtin_bswap64() with gcc 4.3 and newer.
38334
6af9849f 383352008-07-24 Christian Franke <franke@computer.org>
38336
3a0fa256 38337 * util/i386/pc/grub-install.in: If `--debug' is specified,
38338 pass `--verbose' to grub-setup.
38339 Abort script if make_system_path_relative_to_its_root() fails.
38340
7810e747 383412008-07-24 Bean <bean123ch@gmail.com>
38342
38343 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38344 variable `target_platform' should be `platform'.
38345
42290e17 383462008-07-24 Bean <bean123ch@gmail.com>
38347
51cc5193 38348 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38349 (grub_png_init_fixed_block): New function.
38350 (grub_png_decode_image_data): Handle fixed huffman code compression.
38351
2a8a80e4 383522008-07-24 Bean <bean123ch@gmail.com>
38353
38354 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38355 (grub_pe2elf_SOURCES): New macro.
38356 (CLEANFILES): Add grub-pe2elf.
38357
38358 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38359 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38360 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38361 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38362 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38363 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38364 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38365 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38366 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38367 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38368 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38369 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38370 (GRUB_PE32_DT_FUNCTION): Likewise.
38371 (GRUB_PE32_REL_I386_DIR32): Likewise.
38372 (GRUB_PE32_REL_I386_REL32): Likewise.
38373 (grub_pe32_symbol): New structure.
38374 (grub_pe32_reloc): Likewise.
38375
38376 * util/grub-pe2elf.c: New file.
38377
38378 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38379 start symbol in non pc platform.
38380
38381 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38382
38383 The following patches are from Christian Franke.
38384
38385 * include/grub/dl.h: Remove .previous, gas supports this only
38386 for ELF format.
38387
38388 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38389 Remove .type, gas supports this only for ELF format.
38390
38391 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38392 nullbytes in symbol table. This fixes an infinite loop if table is
38393 zero filled.
38394
38395 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38396 TARGET_IMG_LDFLAGS and EXEEXT.
38397
38398 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38399 TARGET_IMG_LDFLAGS_AC.
38400 (grub_CHECK_STACK_ARG_PROBE): New function.
38401
38402 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38403
38404 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38405
38406 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38407 to set TARGET_IMG_LD* accordingly.
38408 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38409 Add call to grub_CHECK_STACK_ARG_PROBE.
38410 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38411
38412 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38413
38414 * genmk.rb: Add EXEEXT to CLEANFILES.
38415
12ccdb75 384162008-07-23 Robert Millan <rmh@aybabtu.com>
38417
38418 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38419 define the codes for arrows and lines used for the menu).
38420 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38421 as well.
38422
38423 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38424 fonts, because the latter are too slow.
38425
18eeaf04 384262008-07-21 Bean <bean123ch@gmail.com>
38427
38428 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38429 a20. Run keyboard test last, as it will cause macbook to halt.
38430
b095e2ad 384312008-07-18 Pavel Roskin <proski@gnu.org>
38432
38433 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38434 load foreign architecture modules correctly anyway. Keep
38435 support for loading host architecture modules, whether we
38436 compile them or not.
38437
737feb35 384382008-07-17 Pavel Roskin <proski@gnu.org>
38439
3f4ce737 38440 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38441 change target_cpu. The compiler default can mismatch target_cpu
38442 in any case.
38443
4ad2d049 38444 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38445 * kern/efi/efi.c: Likewise.
38446
f6130a12 38447 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38448 target compiler is functional.
38449 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38450 are set up.
38451
58393a2d 38452 * configure.ac: Default to efi platform for x86_64-apple. Allow
38453 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38454 adjustments from the rest, only do them if target is not
38455 explicitly given. Merge other adjustments with the final sanity
38456 check. Remove an extraneous check for supported CPU. Be
38457 specific which CPU and which platform is not supported.
38458
737feb35 38459 * configure.ac: Default to pc platform for x86_64.
38460
546f966a 384612008-07-17 Robert Millan <rmh@aybabtu.com>
38462
38463 Partial LinuxBIOS -> Coreboot rename.
38464
38465 * conf/i386-linuxbios.rmk: Renamed to ...
38466 * conf/i386-coreboot.rmk: ... this.
38467 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38468 * configure.ac: Accept "coreboot" as input platform (but maintain
38469 compatibility with "linuxbios").
38470 * include/grub/i386/linuxbios: Renamed to ...
38471 * include/grub/i386/coreboot: ... this.
38472
20011694 384732008-07-17 Bean <bean123ch@gmail.com>
38474
38475 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38476 (appleldr_mod_SOURCE): New variable.
20011694 38477 (appleldr_mod_CFLAGS): Likewise.
38478 (appleldr_mod_LDFLAGS): Likewise.
38479 (pci_mod_SOURCES): Likewise.
38480 (pci_mod_CFLAGS): Likewise.
38481 (pci_mod_LDFLAGS): Likewise.
38482 (lspci_mod_SOURCES): Likewise.
38483 (lspci_mod_CFLAGS): Likewise.
38484 (lspci_mod_LDFLAGS): Likewise.
38485
38486 * conf/x86_64-efi.rmk: New file.
38487
38488 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38489 macro.
38490 (grub_efidisk_write): Likewise.
38491
38492 * include/efi/api.h (efi_call_0): New macro.
38493 (efi_call_1): Likewise.
38494 (efi_call_2): Likewise.
38495 (efi_call_3): Likewise.
38496 (efi_call_4): Likewise.
38497 (efi_call_5): Likewise.
38498 (efi_call_6): Likewise.
38499
38500 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38501 grub_rescue_cmd_chainloader.
38502
38503 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38504 (grub_pe32_optional_header): Change some fields based on i386 or
38505 x86_64 platform.
38506 (GRUB_PE32_PE32_MAGIC): Likewise.
38507
38508 * include/grub/efi/uga_draw.h: New file.
38509
38510 * include/grub/elf.h (STN_ABS): New constant.
38511 (R_X86_64_NONE): Relocation constant for x86_64.
38512 (R_X86_64_64): Likewise.
38513 (R_X86_64_PC32): Likewise.
38514 (R_X86_64_GOT32): Likewise.
38515 (R_X86_64_PLT32): Likewise.
38516 (R_X86_64_COPY): Likewise.
38517 (R_X86_64_GLOB_DAT): Likewise.
38518 (R_X86_64_JUMP_SLOT): Likewise.
38519 (R_X86_64_RELATIVE): Likewise.
38520 (R_X86_64_GOTPCREL): Likewise.
38521 (R_X86_64_32): Likewise.
38522 (R_X86_64_32S): Likewise.
38523 (R_X86_64_16): Likewise.
38524 (R_X86_64_PC16): Likewise.
38525 (R_X86_64_8): Likewise.
38526 (R_X86_64_PC8): Likewise.
38527
38528 * include/grub/i386/efi/pci.h: New file.
38529
38530 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38531 Change it value based on platform.
38532 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38533 (GRUB_E820_RAM): Likewise.
38534 (GRUB_E820_RESERVED): Likewise.
38535 (GRUB_E820_ACPI): Likewise.
38536 (GRUB_E820_NVS): Likewise.
38537 (GRUB_E820_EXEC_CODE): Likewise.
38538 (GRUB_E820_MAX_ENTRY): Likewise.
38539 (grub_e820_mmap): New structure.
38540 (linux_kernel_header): Change the efi field according to different
38541 kernel version, also field from linux_kernel_header.
38542
38543 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38544
38545 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38546 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38547 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38548 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38549 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38550 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38551 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38552 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38553 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38554 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38555
38556 * include/grub/x86_64/efi/kernel.h: New file.
38557
38558 * include/grub/x86_64/efi/loader.h: Likewise.
38559
38560 * include/grub/x86_64/efi/machine.h: Likewise.
38561
38562 * include/grub/x86_64/efi/pci.h: Likewise.
38563
38564 * include/grub/x86_64/efi/time.h: Likewise.
38565
38566 * include/grub/x86_64/linux.h: Likewise.
38567
38568 * include/grub/x86_64/setjmp.h: Likewise.
38569
38570 * include/grub/x86_64/time.h: Likewise.
38571
38572 * include/grub/x86_64/types.h: Likewise.
38573
38574 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38575 GRUB_TARGET_SIZEOF_VOID_P.
38576
38577 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38578 (grub_efi_locate_handle): Likewise.
38579 (grub_efi_open_protocol): Likewise.
38580 (grub_efi_set_text_mode): Likewise.
38581 (grub_efi_stall): Likewise.
38582 (grub_exit): Likewise.
38583 (grub_reboot): Likewise.
38584 (grub_halt): Likewise.
38585 (grub_efi_exit_boot_services): Likewise.
38586 (grub_get_rtc): Likewise.
38587
38588 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38589 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38590 (grub_efi_allocate_pages): Wrap efi calls.
38591 (grub_efi_free_pages): Wrap efi calls.
38592 (grub_efi_get_memory_map): Wrap efi calls.
38593
38594 * kern/x86_64/dl.c: New file.
38595
38596 * kern/x86_64/efi/callwrap.S: Likewise.
38597
38598 * kern/x86_64/efi/startup.S: Likewise.
38599
38600 * loader/efi/appleloader.c: Likewise.
38601
38602 * loader/efi/chainloader.c (cmdline): New variable.
38603 (grub_chainloader_unload): Wrap efi calls.
38604 (grub_chainloader_boot): Likewise.
38605 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38606 command line.
38607
38608 * loader/efi/chainloader_normal.c (chainloader_command):
38609 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38610 command line.
38611
38612 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38613 method.
38614 (grub_e820_add_region): New function.
38615 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38616 booting.
38617 (grub_find_video_card): New function.
38618 (grub_linux_setup_video): New function.
38619 (grub_rescue_cmd_linux): Probe for video information.
38620
38621 * normal/x86_64/setjmp.S: New file.
38622
38623 * term/efi/console.c (map_char): New function.
38624 (grub_console_putchar): Map unicode char.
38625 (grub_console_checkkey): Wrap efi calls.
38626 (grub_console_getkey): Likewise.
38627 (grub_console_getwh): Likewise.
38628 (grub_console_gotoxy): Likewise.
38629 (grub_console_cls): Likewise.
38630 (grub_console_setcolorstate): Likewise.
38631 (grub_console_setcursor): Likewise.
38632
38633 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38634
59652a20 386352008-07-16 Pavel Roskin <proski@gnu.org>
38636
ef294055 38637 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38638 format strings.
38639
59652a20 38640 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38641 pointer, not an integer. This fixes a warning and prevents
38642 precision loss on 64-bit systems.
38643 (relocate_addresses): Remove unneeded cast.
38644
afc3b5d7 386452008-07-15 Pavel Roskin <proski@gnu.org>
38646
506b2b3e 38647 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38648
62ead89c 38649 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38650
c4cd51d7 38651 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38652 Fix comparison between signed and unsigned.
38653
0d3d8f28 38654 * include/grub/i386/ieee1275/console.h: Declare
38655 grub_console_init() and grub_console_fini().
38656
8804b286 38657 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38658 It's empty and unused.
38659
ee01cf35 38660 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38661 beginning to avoid warnings with some compilers.
38662
afc3b5d7 38663 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38664 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38665
e4e8eaa5 386662008-07-14 Pavel Roskin <proski@gnu.org>
38667
407aceb4 38668 * kern/env.c (grub_register_variable_hook): Don't copy empty
38669 string, it leaks memory. Pass "" to grub_env_set(), it should
38670 handle constant strings.
38671
e4e8eaa5 38672 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38673 * commands/cmp.c (grub_cmd_cmp): Likewise.
38674 * kern/dl.c (grub_dl_flush_cache): Likewise.
38675 (grub_dl_load_core): Likewise.
38676 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38677 (grub_elf64_load_phdrs): Likewise.
38678
d4e2dad3 386792008-07-13 Pavel Roskin <proski@gnu.org>
38680
38681 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38682 between signed and unsigned.
38683 (LzmaEnc_Finish): Fix warning about an unused parameter.
38684
aa24b516 386852008-07-13 Bean <bean123ch@gmail.com>
38686
38687 * Makefile.in (enable_lzo): New rule.
38688
38689 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38690
38691 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38692
38693 * boot/i386/pc/lnxboot.S: #include <config.h>.
38694
38695 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38696 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38697
38698 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38699 compression algorithm according to configure macro.
38700
38701 * kern/i386/pc/startup.S (codestart): Likewise.
38702
38703 * kern/i386/pc/lzma_decode.S: New file.
38704
38705 * include/grub/lib/LzFind.h: Likewise.
38706
38707 * include/grub/lib/LzHash.h: Likewise.
38708
38709 * include/grub/lib/LzmaDec.h: Likewise.
38710
38711 * include/grub/lib/LzmaEnc.h: Likewise.
38712
38713 * include/grub/lib/LzmaTypes.h: Likewise.
38714
38715 * lib/LzFind.c: Likewise.
38716
38717 * lib/LzmaDec.c: Likewise.
38718
38719 * lib/LzmaEnc.c: Likewise.
38720
4ae821ac 387212008-07-13 Bean <bean123ch@gmail.com>
38722
38723 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38724 (grub_ext4_extent_header): New structure.
38725 (grub_ext4_extent): Likewise.
38726 (grub_ext4_extent_idx): Likewise.
38727 (grub_ext4_find_leaf): New function.
38728 (grub_ext2_read_block): Handle extents.
38729
9a745147 387302008-07-12 Robert Millan <rmh@aybabtu.com>
38731
38732 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38733
d49a4cf6 387342008-07-11 Robert Millan <rmh@aybabtu.com>
38735
38736 * util/grub.d/40_custom.in: New file. Example on how to add custom
38737 entries to /etc/grub.d.
38738 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38739 40_custom (implicitly, by merging all the grub.d rules).
38740
947414b4 387412008-07-11 Pavel Roskin <proski@gnu.org>
38742
0059cf6f 38743 * commands/read.c (grub_getline): Fix invalid memory access.
38744 Don't add newline to the variable value.
38745
947414b4 38746 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38747 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38748 (serial_hw_get_port): Check validity of the port number.
38749 (grub_cmd_serial): Check return value of serial_hw_get_port().
38750
62a02d00 387512008-07-07 Pavel Roskin <proski@gnu.org>
38752
38753 * boot/i386/pc/diskboot.S (notification_string): Replace
38754 "Loading kernel" with just "loading". This is shorter, less
38755 confusing and saves a few bytes for possible future changes.
38756
3e5581b0 387572008-07-05 Pavel Roskin <proski@gnu.org>
38758
ea387a48 38759 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38760 size for ATAPI devices, they are undefined. Output sector
38761 number in decimal form.
38762
3e5581b0 38763 * disk/ata.c: Use named constants for status bits.
38764
fdecb8fd 387652008-07-04 Pavel Roskin <proski@gnu.org>
38766
bcd35b90 38767 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38768 grub_addr_t before casting it to the void pointer to fix a
38769 warning. Non-addressable regions are discarded earlier.
38770 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38771 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38772 (check_signature): Don't shadow table_header.
38773 (grub_linuxbios_table_iterate): Cast numeric constants to
38774 grub_linuxbios_table_header_t.
38775 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38776 grub_stop().
38777
af58ab3d 38778 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38779 prevent warnings.
38780
1759aa57 38781 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38782 pointer, which can cause warnings. Support 64-bit addresses.
38783
fdecb8fd 38784 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38785 of sizeof(long). This fixes PowerPC image generation on x86_64.
38786
8516d2a8 387872008-07-04 Robert Millan <rmh@aybabtu.com>
38788
38789 This fixes a performance issue when pc & gpt partmap iterators
38790 didn't abort iteration even after our hook found what it was
fe987087 38791 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38792
38793 Some callers relied on previous buggy behaviour, since they would
34c44600 38794 raise an error when their own hooks caused early abortion of its
8516d2a8 38795 iteration.
38796
38797 * kern/device.c (grub_device_open): Improve error message.
38798 * disk/lvm.c (grub_lvm_open): Likewise.
38799 * disk/raid.c (grub_raid_open): Likewise.
38800
38801 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38802 when hook requests it, independently of grub_errno.
38803 (pc_partition_map_probe): Do not fail when find_func() caused
38804 early abortion of pc_partition_map_iterate().
38805
38806 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38807 when hook requests it, independently of grub_errno.
38808 (gpt_partition_map_probe): Do not fail when find_func() caused
38809 early abortion of gpt_partition_map_iterate().
38810
38811 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38812 when hook requests it, independently of grub_errno. Do not fail when
38813 part_map_iterate_hook() caused early abortion of p->iterate().
38814
38815 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38816 when grub_partition_iterate() returned with non-zero.
38817
277d0de9 388182008-07-03 Pavel Roskin <proski@gnu.org>
38819
38820 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38821 like we do in grub_ata_pio_read().
38822 (grub_ata_readwrite): Always write individual sectors. Fix the
38823 sector count for the remainder.
38824 (grub_ata_write): Enable writing to ATA devices. Correctly
38825 report error for ATAPI devices.
38826
d4c9b428 388272008-07-02 Pavel Roskin <proski@gnu.org>
38828
e43fc690 38829 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38830 warning.
38831
f707af42 38832 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38833 for every read sector, we already increment it for the whole
38834 batch. This fixes reading more than 256 sectors at once.
38835
11e16b15 38836 * util/grub-editenv.c (cmd_info): Cast argument to long
38837 explicitly. ptrdiff_t reduces to int on i386.
38838
cbabfdd4 38839 * util/grub-editenv.c (main): Be specific which parameter is
38840 missing.
38841
b8fbce0a 38842 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38843 (memdisk): Make memdisk_orig_addr a pointer.
38844
c9c8e606 38845 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38846 for file offsets, use grub_off_t instead. Fix printf format
38847 warnings.
38848
ca62e598 38849 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38850 there. Real unexpected warnings should not drown in the noise
38851 about known problems.
38852
ce8d1766 38853 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38854 grub_disk_addr_t for memory addresses.
38855
00c7a56a 38856 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38857 explicitly to fix a warning.
38858
08d3ef09 38859 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38860
cb71ba20 38861 * Makefile.in (MODULE_LDFLAGS): New variable.
38862 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
38863 the linker accepts --build-id=none.
38864 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
38865 MODULE_LDFLAGS.
38866 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
38867
d4c9b428 38868 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
38869 those in Linux XFS code. Provide a way to access 64-bit parent
38870 inode.
38871 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
38872 the end of struct grub_xfs_dir_header.
38873
d4156eee 388742008-07-02 Bean <bean123ch@gmail.com>
38875
38876 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
38877 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38878 and GRUB_IEEE1275_FLAG_NO_ANSI.
38879
38880 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
38881 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38882 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
38883
38884 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
38885 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
38886
38887 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
38888 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
38889
38890 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
38891 esc sequence on non ANSI terminal.
38892 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
38893
38894 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
38895 beginning of file.
38896
2270f77b 388972008-07-02 Bean <bean123ch@gmail.com>
38898
38899 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
38900 (grub_editenv_SOURCES): New variable.
38901 (pkglib_MODULES): Add loadenv.mod.
38902 (loadenv_mod_SOURCES): New variable.
38903 (loadenv_mod_CFLAGS): Likewise.
38904 (loadenv_mod_LDFLAGS): Likewise.
38905
38906 * include/grub/envblk.h: New file.
38907
38908 * util/envblk.c: New file.
38909
38910 * util/grub-editenv.c: New file.
38911
38912 * commands/loadenv.c: New file.
38913
0e9e51ec 389142008-07-01 Pavel Roskin <proski@gnu.org>
38915
d89b7634 38916 * include/multiboot2.h (struct multiboot_tag_module): Use char,
38917 not unsigned char. This fixes warnings and is consistent with
38918 other tags.
38919
bf1835b1 38920 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
38921
8222a04b 38922 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
38923
6a42d99d 38924 * term/tparm.c (analyze): Always set *popcount.
38925
10b159d1 38926 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
38927 cast to fix a warning.
38928
b8789f6c 38929 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
38930 cast to suppress a warning.
38931
29d7e38a 38932 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
38933 grub_fshelp_read_file() expects.
38934
f341f669 38935 * fs/fat.c: Fix UUID calculation on big-endian systems. We
38936 write uuid as a 32-bit value in CPU byte order, so declare and
38937 use it as such.
38938
0e9e51ec 38939 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
38940 long if the format specifier expects it.
38941 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
38942 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38943 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
38944 long to fix a warning.
38945 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
38946 grub_dprintf() arguments to fix warnings.
38947
3aefa857 389482008-06-30 Pavel Roskin <proski@gnu.org>
38949
56c7668b 38950 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
38951 install_bsd_part immediately before core.img is embedded or
38952 modified on disk. This fixes core.img verification if core.img
38953 cannot be embedded.
38954
3aefa857 38955 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
38956 core_path to calculate the blocklist.
38957 Patch from Javier Martín <lordhabbit@gmail.com>
38958
5444088d 389592008-06-29 Robert Millan <rmh@aybabtu.com>
38960
38961 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
38962 block to disk block.
38963 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
38964 Patch from Niels Böhm <bitbucket@arcor.de>
38965
674835c8 389662008-06-29 Robert Millan <rmh@aybabtu.com>
38967
38968 * util/update-grub_lib.in (font_path): Search for fonts in
38969 /boot/grub first, which is more likely to be readable (we aren't
38970 deciding where fonts live, just looking for them).
38971
f527dbc8 389722008-06-26 Pavel Roskin <proski@gnu.org>
38973
6c2d8df6 38974 * util/biosdisk.c (read_device_map): Don't leave dead map
38975 entries for devices failing stat() check.
38976
f527dbc8 38977 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
38978 core_path_dev for the core.img path on the target device.
38979
aebe3d13 389802008-06-26 Robert Millan <rmh@aybabtu.com>
38981
38982 * disk/fs_uuid.c: New file.
38983 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
38984 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
38985 (fs_uuid_mod_LDFLAGS): New variables.
38986 * include/grub/disk.h (grub_disk_dev_id): Add
38987 `GRUB_DISK_DEVICE_UUID_ID'.
38988 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
38989 implement iterate().
38990
37aaf354 389912008-06-26 Robert Millan <rmh@aybabtu.com>
38992
38993 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
38994 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
38995 Linux image includes no initrd.
38996
25ff262a 389972008-06-21 Javier Martín <lordhabbit@gmail.com>
38998
38999 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
39000 call to resolve the core image location that effectively appended the
39001 name twice.
39002
76a2bd44 390032008-06-21 Robert Millan <rmh@aybabtu.com>
39004
39005 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
39006 call from here ...
39007
39008 * util/grub.d/10_hurd.in: ... to here ...
39009 * util/grub.d/10_linux.in: ... and here.
39010
650e1c79 390112008-06-19 Robert Millan <rmh@aybabtu.com>
39012
fe987087 39013 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 39014 after it has been set by grub_machine_set_prefix().
39015
6ce63911 390162008-06-19 Robert Millan <rmh@aybabtu.com>
39017
39018 * commands/search.c (search_label, search_fs_uuid, search_file): Print
39019 search result when not saving to variable, not the other way around.
39020 When saving to variable, abort iteration as soon as a match is found.
39021
73940cec 390222008-06-19 Robert Millan <rmh@aybabtu.com>
39023
39024 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
39025 check for partition that provides /boot/grub. Its logic is flawed,
39026 as it prevents prepare_grub_to_access_device() from being called
39027 multiple times.
39028
3c62a39d 390292008-06-19 Robert Millan <rmh@aybabtu.com>
39030
39031 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
39032 "insmod" command directly when abstraction modules are needed,
fe987087 39033 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 39034 since it had already been processed).
39035
47395a42 390362008-06-19 Pavel Roskin <proski@gnu.org>
39037
39038 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
39039 changed. This is needed in case GRUB_LIBDIR changes.
39040 * conf/i386-ieee1275.rmk: Likewise.
39041 * conf/i386-linuxbios.rmk: Likewise.
39042 * conf/i386-pc.rmk: Likewise.
39043 * conf/powerpc-ieee1275.rmk: Likewise.
39044
a145ac2d 390452008-06-18 Pavel Roskin <proski@gnu.org>
39046
39047 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
39048 kernel_elf_symlist.c to symlist.c for consistency with other
39049 architectures. Update all users.
39050 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39051
7847c51e 390522008-06-18 Robert Millan <rmh@aybabtu.com>
39053
39054 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
39055 it in prefix.
39056
39057 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
39058 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
39059 a RAID device, run setup() for all members independently on whether
39060 LVM abstraction is being used.
39061 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
39062 If grub-mkimage has set `*install_dos_part == -2', don't override this
39063 value.
39064 Perform *install_dos_part adjustments independently on whether
39065 we're embedding or not.
39066 Clarify error message when image is too big for embedding.
39067 Remove duplicate *install_dos_part stanza.
39068
b23e5644 390692008-06-17 Robert Millan <rmh@aybabtu.com>
39070
39071 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
39072 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
39073 variables.
39074 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
39075 values in grub_ofconsole_normal_color and
39076 grub_ofconsole_highlight_color (they're not directly related to
39077 background and foreground).
39078 (grub_ofconsole_setcolorstate): Extract background and foreground
39079 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
39080
0aac2f79 390812008-06-17 Robert Millan <rmh@aybabtu.com>
39082
39083 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
39084 /boot/grub for the check in last commit, not /boot (they could be
39085 different partitions).
39086
3cca7ef3 390872008-06-16 Robert Millan <rmh@aybabtu.com>
39088
39089 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
39090 asked to setup access for the same partition that provides /boot,
39091 don't bother using UUIDs since our root already has the value we
39092 want.
39093
347396d8 390942008-06-16 Robert Millan <rmh@aybabtu.com>
39095
39096 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
39097 I2O devices.
39098 Patch from Sven Mueller <sven@debian.org>.
39099
991477f8 391002008-06-16 Robert Millan <rmh@aybabtu.com>
39101
39102 * util/update-grub.in: Check for $EUID instead of $UID.
39103 Reported by Vincent Zweije.
39104
d31a32a1 391052008-06-16 Bean <bean123ch@gmail.com>
39106
fe987087 39107 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 39108 (grub_ext2_read_block): Likewise.
39109 (grub_ext2_read_inode): Likewise.
39110 (grub_ext2_mount): Likewise.
39111 (grub_ext2_close): Likewise.
39112 (grub_ext3_get_journal): Removed.
39113
fe987087 39114 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 39115 (grub_reiserfs_read_symlink): Likewise.
39116 (grub_reiserfs_mount): Likewise.
39117 (grub_reiserfs_open): Likewise.
39118 (grub_reiserfs_read): Likewise.
39119 (grub_reiserfs_close): Likewise.
39120 (grub_reiserfs_get_journal): Removed.
39121
39122 * fs/fshelp.c (grub_fshelp_read): Removed.
39123 (grub_fshelp_map_block): Likewise.
39124
39125 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
39126 (grub_fshelp_journal): Likewise.
39127 (grub_fshelp_read): Likewise.
39128 (grub_fshelp_map_block): Likewise.
39129
3540a760 391302008-06-16 Pavel Roskin <proski@gnu.org>
39131
39132 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
39133 floating point anymore.
39134 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
39135
95614c84 391362008-06-15 Pavel Roskin <proski@gnu.org>
39137
39138 * commands/ls.c (grub_ls_list_files): Use integer calculations
39139 for human readable format, avoid floating point use.
39140 * kern/misc.c (grub_ftoa): Remove.
39141 (grub_vsprintf): Remove floating point support.
39142
50465dd6 391432008-06-15 Robert Millan <rmh@aybabtu.com>
39144
fe6b695a 39145 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 39146 devices.
39147 Reported by Max Vozeler.
39148
a9207284 391492008-06-15 Robert Millan <rmh@aybabtu.com>
39150
39151 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
39152 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
39153 skipped later.
39154 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
39155 the beginning of the prefix.
39156
39157 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
39158 It is assumed that if we have a memdisk, grub-mkimage has set
39159 grub_prefix to include the "(memdisk)" drive in it.
39160
a7cbd45a 391612008-06-15 Robert Millan <rmh@aybabtu.com>
39162
39163 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
39164 Initialize keyboard controller after registering the terminal, so that
39165 grub_printf() can be called from grub_keyboard_controller_init().
39166
21cf716a 391672008-06-15 Robert Millan <rmh@aybabtu.com>
39168
39169 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
39170 extent-btree which is written as big endian on disk.
39171 Reported by Alain Greppin <al@chilibi.org>.
39172
23a64d8e 391732008-06-14 Robert Millan <rmh@aybabtu.com>
39174
39175 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
39176 * util/i386/pc/grub-install.in (modules): Likewise.
39177
d687651c 391782008-06-13 Pavel Roskin <proski@gnu.org>
39179
39180 * commands/ls.c (grub_ls_list_files): Fix format warnings.
39181
dfe9ddd4 391822008-06-13 Bean <bean123ch@gmail.com>
39183
39184 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
39185
39186 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
39187
39188 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
39189 to indicate sparse block.
39190
16ae7781 391912008-06-12 Pavel Roskin <proski@gnu.org>
39192
e6d1a308 39193 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
39194 number, grub_fshelp_read() does it for us.
39195
16ae7781 39196 * fs/fshelp.c (grub_fshelp_read): New function. Implement
39197 linear disk read with journal translation.
39198 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
39199 * include/grub/fshelp.h: Declare grub_fshelp_read().
39200
40fd3a2b 392012008-06-09 Pavel Roskin <proski@gnu.org>
39202
39203 * fs/minix.c (grub_minix_mount): Handle error reading
39204 superblock.
39205
f5679726 392062008-06-08 Robert Millan <rmh@aybabtu.com>
39207
39208 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
39209 don't append the RAID prefix afterwards.
39210 Reported by Clint Adams.
39211
ce525529 392122008-06-08 Robert Millan <rmh@aybabtu.com>
39213
39214 Based on description from Pavel:
39215 * kern/disk.c (grub_disk_check_range): Rename to ...
39216 (grub_disk_adjust_range): ... this. Add a comment explaining the
39217 tasks performed by this function.
39218
ad4936a0 392192008-06-08 Robert Millan <rmh@aybabtu.com>
39220
39221 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
39222 `num_serial' (for consistency with other variables).
39223 (struct grub_ntfs_data): Add `uuid' member.
39224 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
39225 (grub_ntfs_uuid): New function.
39226 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
39227
dc20b0f9 392282008-06-07 Pavel Roskin <proski@gnu.org>
39229
39230 * util/biosdisk.c (open_device): Revert last change to the
39231 function, it broke installation. The sector needs to be
39232 different dependent on which device is opened.
39233
c5e3cfba 392342008-06-06 Robert Millan <rmh@aybabtu.com>
39235
39236 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
39237 rest of GRUB, and breakage doesn't happen if its value were modified.
39238
39239 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39240 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
39241 a constant (same value).
39242 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
39243 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
39244
26a1f8c4 392452008-06-06 Robert Millan <rmh@aybabtu.com>
39246
39247 * util/biosdisk.c (open_device): Do not modify sector offset when
39248 accessing a partition. kern/disk.c already handles this for us.
39249
25d6b327 392502008-06-06 Robert Millan <rmh@aybabtu.com>
39251
39252 * util/grub-emu.c (grub_machine_init): Move code in this function from
39253 here ...
39254 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
39255 segfault in case grub_printf() is called).
39256
39257 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39258 grub_probe. Update all users not to explicitly add it again.
39259 (grub_device): New variable; contains corresponding device for grubdir.
39260 (fs_module, partmap_module, devabstraction_module): Pass
39261 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39262 every time.
39263
9ece62fb 392642008-06-05 Robert Millan <rmh@aybabtu.com>
39265
39266 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39267 is found, print it (same layout as with labels).
39268
1ad36d37 392692008-06-04 Robert Millan <rmh@aybabtu.com>
39270
39271 * util/biosdisk.c (get_drive): Rename to ...
39272 (find_grub_drive): ... this. Update all users.
39273
39274 (get_os_disk): Rename to ...
39275 (convert_system_partition_to_system_disk): ... this. Update all users.
39276
39277 (find_drive): Rename to ...
39278 (find_system_device): ... this. Update all users.
39279
e6a30859 392802008-06-04 Robert Millan <rmh@aybabtu.com>
39281
39282 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39283 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39284 (make_device_map): Likewise.
39285
00c108a4 392862008-06-01 Robert Millan <rmh@aybabtu.com>
39287
39288 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39289 before dereferencing it.
39290
39291 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39292 union with fat12/fat16-specific ones. Add some new fields, including
39293 `num_serial' for both versions.
39294 (struct grub_fat_data): Add `uuid' member.
39295 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39296 names. Initialize `data->uuid' using `num_serial'.
39297 (grub_fat_uuid): New function.
39298 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39299
39300 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39301 (grub_reiserfs_uuid): New function.
39302 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39303 member.
39304
39305 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39306 (grub_xfs_uuid): New function.
39307 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39308
1385c5bb 393092008-06-01 Robert Millan <rmh@aybabtu.com>
39310
39311 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39312 code that is backward compatible with pre-uuid search command.
39313
c682dfd7 393142008-05-31 Robert Millan <rmh@aybabtu.com>
39315
39316 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39317 floppies after everything else, to ensure floppy drive isn't accessed
39318 unnecessarily (patch from Bean).
39319
b7db5d47 393202008-05-31 Robert Millan <rmh@aybabtu.com>
39321
39322 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39323 not print device names when we were asked to set a variable.
39324
6e037aa9 393252008-05-31 Robert Millan <rmh@aybabtu.com>
39326
39327 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39328 using "cursor-on" and "cursor-off" commands (understood at least by
39329 the Open Firmware flavour on OLPC).
39330
41305bc8 393312008-05-31 Michael Gorven <michael@gorven.za.net>
39332
39333 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39334 on and off sequences.
39335
69ba137e 393362008-05-31 Robert Millan <rmh@aybabtu.com>
39337
39338 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39339 * util/update-grub.in: Likewise.
39340
520ae21b 393412008-05-30 Pavel Roskin <proski@gnu.org>
39342
39343 * util/biosdisk.c (linux_find_partition): Simplify logic and
39344 make the code more universal. Keep special processing for
39345 devfs, but use a simple rule for all other devices. If the
39346 device ends with a number, append 'p' and the partition number.
39347 Otherwise, append only the partition number.
39348
5786569b 393492008-05-30 Robert Millan <rmh@aybabtu.com>
39350
39351 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39352 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39353 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39354 the `root' parameter to Linux.
39355
51500452 393562008-05-30 Robert Millan <rmh@aybabtu.com>
39357
39358 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39359 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39360 --fs_uuid with --fs-uuid.
39361 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39362 all filesystems support them).
39363
811d3878 393642008-05-30 Robert Millan <rmh@aybabtu.com>
39365
39366 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39367 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39368
cab63c95 393692008-05-30 Robert Millan <rmh@aybabtu.com>
39370
39371 * util/grub.d/00_header.in: Remove obsolete comment referencing
39372 convert_system_path_to_grub_path().
39373 * util/update-grub.in: Likewise.
39374 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39375 (convert_system_path_to_grub_path): Add a warning message explaining
39376 that this function is deprecated. Rely on is_path_readable_by_grub()
39377 for the readability checks.
39378 (font_path): Use is_path_readable_by_grub() for the readability
39379 check rather than convert_system_path_to_grub_path().
39380
972e2f7a 393812008-05-30 Robert Millan <rmh@aybabtu.com>
39382
39383 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39384 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39385 converting it first.
39386 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39387 grub.cfg for access to font file, and afterwards call it again to set
39388 the root device.
39389
62191274 393902008-05-30 Robert Millan <rmh@aybabtu.com>
39391
39392 * commands/search.c (options): Add --fs_uuid option.
39393 (search_fs_uuid): New function.
39394 (grub_cmd_search): Fix --set argument passing.
39395 Use search_fs_uuid() when requested via --fs_uuid.
39396 (grub_search_init): Update help message.
39397 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39398 and redeclare it as an array of 16-bit words.
39399 (grub_ext2_uuid): New function.
39400 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39401 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39402 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39403 (GRUB_DEVICE_BOOT_UUID): New variables.
39404 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39405 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39406 whenever possible.
39407 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39408 just assume `root' variable has the right value.
39409 * util/grub.d/10_linux.in: Likewise.
39410 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39411 via PRINT_FS_UUID.
39412 (main): Recognise `-t fs_uuid' argument.
39413
01b73ec8 394142008-05-30 Robert Millan <rmh@aybabtu.com>
39415
39416 * util/biosdisk.c (map): Redefine structure to hold information
39417 about GRUB drive name.
fe6b695a 39418 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39419 drive names.
39420 (call_hook): Remove.
39421 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39422 member. Assume drive has partitions.
39423 (grub_util_biosdisk_open): Access device names via `.device' struct
39424 member.
39425 (open_device): Likewise.
39426 (find_drive): Likewise.
39427 (read_device_map): Adjust map[] usage to match the new struct
39428 definition. Don't check for duplicates (still possible, but not cheap
39429 anymore).
39430 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39431 (make_device_name): Remove assumption of BIOS-like drive names.
39432
22f16596 394332008-05-30 Pavel Roskin <proski@gnu.org>
39434
39435 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39436 compiling execute.c doesn't need grub_script.tab.h anymore.
39437 (normal/command.c_DEPENDENCIES): Likewise.
39438 (normal/function.c_DEPENDENCIES): Likewise.
39439 * conf/i386-ieee1275.rmk: Likewise.
39440 * conf/i386-linuxbios.rmk: Likewise.
39441 * conf/i386-pc.rmk: Likewise.
39442 * conf/powerpc-ieee1275.rmk: Likewise.
39443 * conf/sparc64-ieee1275.rmk: Likewise.
39444
528ad8f2 394452008-05-29 Pavel Roskin <proski@gnu.org>
39446
d1dff95d 39447 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39448 when scanning metadata for volume group name.
39449
528ad8f2 39450 * include/grub/script.h: Don't include grub_script.tab.h. It's
39451 a generated file, which may only be included from the files with
39452 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39453 use union YYSTYPE, as the later allows forward declaration.
39454 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39455
47248e08 394562008-05-29 Robert Millan <rmh@aybabtu.com>
39457
39458 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39459 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39460 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39461 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39462 scan codes.
39463
ee632529 394642008-05-29 Robert Millan <rmh@aybabtu.com>
39465
39466 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39467 control key combinations.
39468
eee96e08 394692008-05-29 Robert Millan <rmh@aybabtu.com>
39470
39471 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39472 * util/ieee1275/grub-install.in: ... to here.
39473 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39474 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39475 (grub_install_SOURCES): Likewise.
39476
da9a6a94 394772008-05-29 Robert Millan <rmh@aybabtu.com>
39478
39479 * fs/affs.c: Update copyright year.
39480 * fs/ext2.c: Likewise.
39481 * fs/fshelp.c: Likewise.
39482 * fs/hfsplus.c: Likewise.
39483 * fs/ntfs.c: Likewise.
39484 * fs/xfs.c: Likewise.
39485 * include/grub/fshelp.h: Likewise.
39486 * util/grub-mkdevicemap.c: Likewise.
39487
12e65f3a 394882008-05-28 Robert Millan <rmh@aybabtu.com>
39489
39490 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39491 might need to be fatfs to support some firmware implementations
39492 (e.g. OFW or EFI).
39493
23023641 394942008-05-28 Robert Millan <rmh@aybabtu.com>
39495
39496 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39497 devices.
39498 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39499 (make_device_map): Likewise.
39500
887d2619 395012008-05-20 Bean <bean123ch@gmail.com>
39502
39503 * fs/fshelp.c (grub_fshelp_map_block): New function.
39504 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39505 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39506
39507 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39508 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39509 (grub_fshelp_journal): New structure.
39510 (grub_fshelp_map_block): New function prototype.
39511 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39512 (grub_fshelp_map_block): Likewise.
39513
39514 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39515 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39516 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39517 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39518 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39519 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39520 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39521 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39522 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39523 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39524 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39525 (grub_ext2_sblock): New members for journal support.
39526 (grub_ext3_journal_header): New structure.
39527 (grub_ext3_journal_revoke_header): Likewise.
39528 (grub_ext3_journal_block_tag): Likewise.
39529 (grub_ext3_journal_sblock): Likewise.
39530 (grub_fshelp_node): New members logfile and journal.
39531 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39532 grub_fshelp_map_block to get real block number.
39533 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39534 number.
39535 (grub_ext2_read_inode): Likewise.
39536 (grub_ext3_get_journal): New function.
39537 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39538 (grub_ext2_close): Release memory used by journal.
39539
39540 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39541 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39542 (grub_reiserfs_transaction_header): Renamed to
39543 grub_reiserfs_description_block, replace field data with real_blocks.
39544 (grub_reiserfs_commit_block): New structure.
39545 (grub_reiserfs_data): New member journal.
39546 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39547 number.
39548 (grub_reiserfs_read_symlink): Likewise.
39549 (grub_reiserfs_iterate_dir): Likewise.
39550 (grub_reiserfs_open): Likewise.
39551 (grub_reiserfs_read): Likewise.
39552 (grub_reiserfs_get_journal): New function.
39553 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39554 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39555 using grub_reiserfs_get_journal.
39556 (grub_reiserfs_close): Release memory used by journal.
39557
39558 * fs/affs.c (grub_affs_read_block): Change block type to
39559 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39560
39561 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39562
39563 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39564
39565 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39566
39567 * fs/udf.c (grub_udf_read_block): Change block type to
39568 grub_disk_addr_t. Use type cast to avoid warning.
39569
39570 * fs/xfs.c (grub_xfs_read_block): Likewise.
39571
b7c6bed5 395722008-05-16 Christian Franke <franke@computer.org>
39573
39574 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39575 to ensure that break with ESC will always work.
39576 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39577 Remove ESC from keyboard queue.
39578
eedf167f 395792008-05-16 Christian Franke <franke@computer.org>
39580
39581 * util/biosdisk.c: [__CYGWIN__] Add includes.
39582 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39583 (get_os_disk): Move variable declarations to OS specific
39584 parts to avoid warning.
39585 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39586 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39587 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39588 Cygwin.
39589 * util/getroot.c: [__CYGWIN__] Add includes.
39590 (strip_extra_slashes): Fix "/" case.
39591 [__CYGWIN__] (get_win32_path): New function.
39592 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39593 [__CYGWIN__] (find_root_device): Disable.
39594 [__CYGWIN__] (get_bootsec_serial): New function.
39595 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39596 [__linux__] (grub_guess_root_device): Add early returns to simplify
39597 structure.
39598 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39599 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39600 check for Linux only.
39601
a079699e 396022008-05-15 Bean <bean123ch@gmail.com>
39603
39604 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39605 keyboard hang problem in apple's intel mac.
39606
1cf4059a 396072008-05-09 Robert Millan <rmh@aybabtu.com>
39608
39609 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39610 devices.
39611 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39612 (make_device_map): Likewise.
39613 Reported by Aurelien Jarno <aurel32@debian.org>
39614
ed759390 396152008-05-07 Ian Campbell <ijc@hellion.org.uk>
39616
39617 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39618 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39619 (make_device_map): Output entries for xvd type disks.
39620
b56c4eaa 396212008-05-07 Robert Millan <rmh@aybabtu.com>
39622
39623 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39624 devices.
39625 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39626 (make_device_map): Likewise.
39627 Reported by Roland Dreier <rdreier@cisco.com>
39628
7f8866ed 396292008-05-07 Robert Millan <rmh@aybabtu.com>
39630
39631 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39632 grub_strstr() call. Correct a few mistakes in failure path handling.
39633
b0346e0f 396342008-05-06 Robert Millan <rmh@aybabtu.com>
39635
39636 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39637 Do not print a trailing slash (therefore, the root directory is an
39638 empty string).
39639 (convert_system_path_to_grub_path): Do not remove trailing slash
39640 from make_system_path_relative_to_its_root() output.
39641
39642 * util/i386/pc/grub-install.in: Add trailing slash to output from
39643 make_system_path_relative_to_its_root().
39644
6cf12cbd 396452008-05-06 Robert Millan <rmh@aybabtu.com>
39646
39647 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39648 ensures that output lines aren't intermangled with those sent to
39649 stderr (via grub_util_info()).
39650 * util/grub-probe.c (grub_refresh): Likewise.
39651 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39652
0fbb3117 396532008-05-05 Christian Franke <franke@computer.org>
39654
39655 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39656 Add Cygwin device names.
39657 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39658 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39659 (check_device): Return error instead of success on empty name.
39660 (make_device_map): Move label inside linux specific code to
39661 prevent compiler warning.
39662
8124cdb7 396632008-04-30 Robert Millan <rmh@aybabtu.com>
39664
39665 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39666 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39667 first boot option.
39668 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39669
094c01d0 396702008-04-29 Robert Millan <rmh@aybabtu.com>
39671
39672 * docs/grub.cfg: New file (example GRUB configuration).
39673
f4b1fc02 396742008-04-26 Robert Millan <rmh@aybabtu.com>
39675
329ce2a5 39676 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39677 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39678 and `disk/ieee1275/nand.c'.
f4b1fc02 39679
25f16ec1 396802008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39681
25f16ec1 39682 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39683 i386-linuxbios.
39684
39685 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39686 change the buffer size to 4096 for cdrom device.
39687
39688 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39689 and nand.mod.
39690 (_linux_mod_SOURCES): New variable.
39691 (_linux_mod_CFLAGS): Likewise.
39692 (_linux_mod_LDFLAGS): Likewise.
39693 (linux_mod_SOURCES): Likewise.
39694 (linux_mod_CFLAGS): Likewise.
39695 (linux_mod_LDFLAGS): Likewise.
39696 (nand_mod_SOURCES): Likewise.
39697 (nand_mod_CFLAGS): Likewise.
39698 (nand_mod_LDFLAGS): Likewise.
39699
39700 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39701 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39702 type property. (nand device in olpc don't have this property)
39703
39704 * include/grub/disk.h (grub_disk_dev_id): New macro
39705 GRUB_DISK_DEVICE_NAND_ID.
39706
39707 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39708 function prototype.
39709 (grub_rescue_cmd_initrd): Likewise.
39710
39711 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39712 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39713 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39714
25f16ec1 39715 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39716 GRUB_MACHINE_IEEE1275 is defined.
39717
39718 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39719 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39720
39721 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39722 on nested function heap_init.
39723 (grub_upper_mem): New variable for i386-ieee1275.
39724 (grub_get_extended_memory): New function for i386-ieee1275.
39725 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39726
39727 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39728 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39729 property.
f19dbdb7 39730
25f16ec1 39731 * loader/i386/ieee1275/linux.c: New file.
39732
39733 * loader/i386/ieee1275/linux_normal.c: New file.
39734
39735 * disk/ieee1275/nand.c: New file.
39736
e89d61e9 397372008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39738
39739 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39740 value.
39741 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39742
602566f6 397432008-04-18 Robert Millan <rmh@aybabtu.com>
39744
39745 Restructures early code path on ieee1275 to unify grub_main() as
39746 the first C function that is executed in every platform.
39747
39748 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39749 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39750 cmain().
39751 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39752 * kern/ieee1275/cmain.c (cmain): Rename to ...
39753 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39754 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39755 at the beginning.
39756
57490c2b 397572008-04-18 Robert Millan <rmh@aybabtu.com>
39758
39759 * util/update-grub.in: Fix syntax error when setting
39760 `GRUB_PRELOAD_MODULES'.
39761 Reported by Stephane Chazelas <stephane@artesyncp.com>
39762
1977517d 397632008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39764
39765 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39766 section into account, newer toolchains generate unique build ids
39767 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39768 we want build ids to be preserved
1977517d 39769 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39770 far from other sections don't cause the raw binary images grow
39771 size
39772
bfb1f1a2 397732008-04-15 Robert Millan <rmh@aybabtu.com>
39774
39775 * disk/lvm.c: Update copyright year.
39776 * kern/misc.c: Likewise.
39777
01979850 397782008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39779
39780 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39781 there is no memory left for physical volume name.
01979850 39782
0a1150e2 397832008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39784
39785 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39786 volume name mapping to support bigger than 9 character names properly.
39787
82ead3fe 397882008-04-13 Robert Millan <rmh@aybabtu.com>
39789
39790 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39791 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39792
e54a72f5 397932008-04-13 Christian Franke <franke@computer.org>
39794
39795 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39796 to create a floppy emulation boot CD when non emulation mode
39797 does not work.
39798 Enable Joliet CD filesystem extension.
39799
9fe86034 398002008-04-13 Robert Millan <rmh@aybabtu.com>
39801
39802 * kern/misc.c (grub_strncat): Fix off-by-one error.
39803 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39804
39805 * kern/env.c (grub_env_context_close): Clear current context, not
39806 previous one.
39807 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39808
39809 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39810
7ceeee39 398112008-04-13 Robert Millan <rmh@aybabtu.com>
39812
39813 Improve robustness when handling LVM.
39814
39815 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39816 (and leave `*p' unmodified).
7ceeee39 39817 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39818 through it.
39819 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39820 iterating through it.
39821 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39822 through it.
fe6b695a 39823 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39824 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39825 Don't assume `vg->pvs != NULL' when iterating through it.
39826
58cd3d85 398272008-04-13 Robert Millan <rmh@aybabtu.com>
39828
39829 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39830 * genmk.rb (partmap): New variable.
39831 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39832 (#{partmap}): New target rule.
39833 * genpartmaplist.sh: New file.
39834 * Makefile.in (pkglib_DATA): Add partmap.lst.
39835 (partmap.lst): New target rule.
39836 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39837 modules (including all partition maps), instead of preloading them.
39838
78b51059 398392007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39840
39841 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39842 `linux-boot-prober' (if installed) to detect other operating
39843 systems which are installed on the computer and add them to
39844 the boot menu.
39845 * conf/common.rmk: Build and install 30_os-prober.
39846
a91627b4 398472008-04-12 Robert Millan <rmh@aybabtu.com>
39848
39849 * kern/powerpc/ieee1275/init.c: Move from here ...
39850 * kern/ieee1275/init.c: ... to here. Update all users.
39851
39852 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39853 * kern/ieee1275/cmain.c: ... to here. Update all users.
39854
39855 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39856 * kern/ieee1275/openfw.c: ... to here. Update all users.
39857
39858 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39859 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39860
322562ea 398612008-04-10 Pavel Roskin <proski@gnu.org>
39862
39863 * configure.ac: Always use "_cv_" in cache variables for
39864 compatibility with Autoconf 2.62.
39865
a02a73c5 398662008-04-07 Robert Millan <rmh@aybabtu.com>
39867
39868 Revert grub/machine/init.h addition by Pavel (since it breaks on
39869 i386-ieee1275 and others):
39870 * util/i386/pc/misc.c: Remove grub/machine/init.h.
39871 * util/powerpc/ieee1275/misc.c: Likewise.
39872
25c024b1 398732008-04-07 Robert Millan <rmh@aybabtu.com>
39874
39875 * util/grub-probe.c (probe): Improve error message.
39876
3cbd2f98 398772008-04-07 Robert Millan <rmh@aybabtu.com>
39878
39879 * util/biosdisk.c (read_device_map): Skip devices that don't exist
39880 (this prevents the presence of a bogus entry from ruining the whole
39881 thing).
39882
87a297bf 398832008-04-06 Pavel Roskin <proski@gnu.org>
39884
36747a62 39885 * util/biosdisk.c: Include grub/util/biosdisk.h.
39886 * util/grub-fstest.c (execute_command): Make static.
39887 * util/grub-mkdevicemap.c (check_device): Likewise.
39888 * util/i386/pc/misc.c: Include grub/machine/init.h.
39889 * util/powerpc/ieee1275/misc.c: Likewise.
39890 * util/lvm.c: Include grub/util/lvm.h.
39891 * util/misc.c: Include grub/kernel.h, grub/misc.h and
39892 grub/cache.h.
39893 * util/raid.c: Include grub/util/raid.h.
39894 (grub_util_getdiskname): Make static.
39895
87a297bf 39896 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
39897 grub_hostfs_fini(), as they are called from grub_init_all() and
39898 grub_fini_all() respectively. This fixes an infinite loop in
39899 grub-fstest due to double registration of hostfs.
39900 Reported by Christian Franke <Christian.Franke@t-online.de>
39901
f6ce7629 399022008-04-05 Pavel Roskin <proski@gnu.org>
39903
39904 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
39905 all 8 functions. Otherwise, probe function 0 only.
39906
070e49e4 399072008-04-04 Pavel Roskin <proski@gnu.org>
39908
8b088a4c 39909 * commands/lspci.c (grub_lspci_iter): Print the bus number
39910 correctly.
39911
4f657021 39912 * commands/lspci.c (grub_pci_classes): Fix typos.
39913 (grub_lspci_iter): Don't print func twice. Print vendor ID
39914 before device ID, as it's normally done.
39915
070e49e4 39916 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39917 Fix signedness warnings.
39918 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
39919 Likewise.
39920 * util/ieee1275/get_disk_name.c: Include config.h so that
39921 _GNU_SOURCE is defined and getline() is declared. Mark an
39922 unused argument as such. Fix a signedness warning.
39923
ba7328dc 399242008-04-02 Pavel Roskin <proski@gnu.org>
39925
26887f22 39926 * genkernsyms.sh.in: Use more robust assignments for CC and
39927 srcdir. Quote srcdir.
39928 * gensymlist.sh.in: Likewise. Assert at the compile time that
39929 the symbol table is not empty.
39930
ba7328dc 39931 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
39932 * fs/cpio.c (grub_cpio_read): Likewise.
39933
0f582c6b 399342008-04-01 Pavel Roskin <proski@gnu.org>
39935
4b6e1995 39936 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
39937 * disk/host.c (grub_host_open): Likewise.
39938 * disk/loopback.c (grub_loopback_open): Likewise.
39939 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
39940 disk->id as in disk/host.c, not a multi-character constant.
39941
828a2768 39942 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
39943 later is obsolete, potentially dangerous and sets a bad example.
39944 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
39945 * util/misc.c (grub_util_get_image_size): Likewise.
39946
2bb4fb47 39947 * disk/loopback.c (options): Improve help for "--partitions".
39948
0f582c6b 39949 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
39950 options to align them with the short options, e.g. "echo -e".
39951
a33224e0 399522008-03-31 Bean <bean123ch@gmail.com>
39953
39954 * video/reader/png.c (grub_png_data): New member is_16bit and
39955 image_data.
39956 (grub_png_decode_image_header): Detect 16 bit png image.
39957 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
39958 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
39959 (grub_video_reader_png): Release memory occupied by image_data.
39960
39961 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
39962 4096 bytes.
39963 (grub_nfs_mount): Skip the test for sector per cluster.
39964
39965 * include/grub/ntfs.h (MAX_SPC): Removed.
39966
86cb4f54 399672008-03-31 Bean <bean123ch@gmail.com>
39968
39969 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
39970 (grub_probe_SOURCES): Add fs/afs.c.
39971 (grub_fstest_SOURCES): Likewise.
39972 (afs_mod_SOURCES): New variable.
39973 (afs_mod_CFLAGS): Likewise.
39974 (afs_mod_LDFLAGS): Likewise.
39975
39976 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
39977 (grub_emu_SOURCES): Likewise.
39978
39979 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39980
39981 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39982
39983 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39984
39985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39986
39987 * fs/afs.c: New file.
39988
17c74c21 399892008-03-30 Pavel Roskin <proski@gnu.org>
39990
4cb68e89 39991 * disk/host.c: Include grub/misc.h to fix a warning.
39992 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
39993 warnings about implicit declarations.
39994
8790bb04 39995 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
39996 variable.
39997 * include/grub/i386/loader.h: Change declaration of
39998 grub_linux_boot() to match what grub_loader_set() expects.
39999 * util/getroot.c (grub_guess_root_device): Return const char* to
40000 fix a warning.
40001 * util/grub-probe.c (probe): Fix a warning about uninitialized
40002 abstraction_name variable.
40003 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
40004 second argument as unused to fix a warning.
40005
9a3f3296 40006 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
40007 missing grub_error() call.
40008
0ecef90d 40009 * util/update-grub_lib.in: Define datarootdir, since Autoconf
40010 2.60 and newer uses it to define datadir.
40011
0bf6d401 40012 * commands/sleep.c: Fix warning about implicit declaration.
40013 * disk/memdisk.c: Likewise.
40014 * loader/aout.c: Likewise.
40015 * loader/i386/bsd_normal.c: Likewise.
40016 * util/grub-probe.c: Likewise.
40017
7cdacf97 40018 * commands/i386/cpuid.c (has_longmode): Make static.
40019 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
40020 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
40021
17c74c21 40022 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
40023 GDT. This is more robust, as %ds can change.
40024 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
40025 calling real_to_prot().
40026 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
40027
80a3e68b 400282008-03-28 Pavel Roskin <proski@gnu.org>
40029
40030 * kern/i386/pc/startup.S: Assert that uncompressed functions
40031 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
40032 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
40033 code, as they push parts of the code (error handlers) beyond
40034 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
40035 code as correctness and size.
40036
77bcd272 400372008-03-28 Pavel Roskin <proski@gnu.org>
40038
40039 * kern/i386/pc/startup.S
40040 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
40041 data block address to the real mode, keep offset minimal. This
40042 works around a bug in AWARD BIOS on old Athlon systems, which
40043 makes CD detection hang.
40044
c5dfd43b 400452008-03-26 Pavel Roskin <proski@gnu.org>
40046
40047 * normal/color.c (grub_parse_color_name_pair): Make `name' a
40048 const.
40049 * include/grub/normal.h: Add grub_parse_color_name_pair()
40050 declaration.
40051
bf962df2 400522008-03-24 Bean <bean123ch@gmail.com>
40053
40054 * disk/i386/pc/biosdisk.c (cd_start): Removed.
40055 (cd_count): Removed.
40056 (cd_drive): New variable.
40057 (grub_biosdisk_get_drive): Don't check for (cdN) device.
40058 (grub_biosdisk_call_hook): Likewise.
40059 (grub_biosdisk_iterate): Change cdrom detection method.
40060 (grub_biosdisk_open): Replace cd_start with cd_drive.
40061 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
40062 detect cdrom device.
40063
40064 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
40065 Removed.
40066 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
40067 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
40068 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
40069 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
40070 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
40071 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
40072 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
40073 (grub_biosdisk_cdrp): New structure.
40074 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
40075
40076 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
40077
40078 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
40079 device.
40080
40081 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
40082 New function.
40083
68e7fc7a 400842008-03-20 Robert Millan <rmh@aybabtu.com>
40085
40086 Remove 2 TiB limit in ata.mod.
40087 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
40088 (grub_ata_dumpinfo): Print sector count with 0x%llx.
40089 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
40090 grub_uint64_t instead of grub_uint32_t.
40091
38ad2cf5 400922008-03-05 Bean <bean123ch@gmail.com>
40093
40094 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
40095 (grub_multiboot): Set boot device.
40096
40097 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
40098
2b89344e 400992008-03-02 Bean <bean123ch@gmail.com>
40100
40101 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
40102 symlink_buffer.
40103
87a95d1f 401042008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
40105
40106 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
40107 texinfo.tex.
40108
40109 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
40110 modified.
40111
40112 * docs/fdl.texi: New file.
f19dbdb7 40113
87a95d1f 40114 * docs/mdate-sh: New file. Copied from gnulib.
40115 * docs/texinfo.tex: Likewise.
40116
40117 * config.guess: Updated from gnulib.
40118 * install-sh: Likewise.
40119
7dc15d8e 401202008-02-28 Robert Millan <rmh@aybabtu.com>
40121
40122 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
40123 (aout_mod_SOURCES): New variable.
40124 (aout_mod_CFLAGS): Likewise.
40125 (aout_mod_LDFLAGS): Likewise.
40126
40127 * conf/i386-ieee1275.rmk: Likewise.
40128
b00ab696 401292008-02-28 Robert Millan <rmh@aybabtu.com>
40130
40131 * util/update-grub.in: Reorganise terminal validity check. Accept
40132 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
40133 Based on suggestion by Franklin PIAT.
40134
79ca2d78 401352008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
40136
40137 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
40138 function.
40139 * util/getroot.c (grub_util_check_block_device): New function that
40140 returns the given argument if it is a block device and returns NULL else.
40141 * util/grub-probe.c (argument_is_device): New variable.
40142 (probe): Promote device_name from a variable to an argument. Receive
40143 device_name from grub_util_check_block_device() if path is NULL and from
40144 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 40145 (options): Introduce new parameter '-d, --device'.
79ca2d78 40146 (main): Add description of the new parameter to the help screen.
40147 Rename path variable to argument. Set argument_is_device if the '-d'
40148 option is given. Pass argument to probe() depending on
40149 argument_is_device.
40150
0d16e571 401512008-02-24 Bean <bean123ch@gmail.com>
40152
40153 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
40154 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
40155 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
40156 (GRUB_ISO9660_VOLDESC_PART): Likewise.
40157 (GRUB_ISO9660_VOLDESC_END): Likewise.
40158 (grub_iso9660_primary_voldesc): New member escape.
40159 (grub_iso9660_data): New member joliet.
40160 (grub_iso9660_convert_string): New function.
40161 (grub_iso9660_mount): Detect joliet extension.
40162 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
40163 (grub_iso9660_iso9660_label): Likewise.
40164
40165 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
40166 (grub_setup_SOURCES): Add fs/udf.c.
40167 (grub_fstest_SOURCES): Likewise.
40168 (udf_mod_SOURCES): New variable.
40169 (udf_mod_CFLAGS): Likewise.
40170 (udf_mod_LDFLAGS): Likewise.
40171
40172 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
40173 (grub_emu_SOURCES): Likewise.
40174
40175 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40176
40177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40178
40179 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40180
40181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40182
40183 * fs/udf.c: New file.
40184
8a594a17 401852008-02-24 Robert Millan <rmh@aybabtu.com>
40186
40187 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
40188 (normal/lexer.c_DEPENDENCIES): New variables.
40189 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40190 (normal/lexer.c_DEPENDENCIES): Likewise.
40191 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
40192 (normal/lexer.c_DEPENDENCIES): Likewise.
40193 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
40194 (normal/lexer.c_DEPENDENCIES): Likewise.
40195 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40196 (normal/lexer.c_DEPENDENCIES): Likewise.
40197 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
40198 (normal/lexer.c_DEPENDENCIES): Likewise.
40199
2dc33c03 402002008-02-23 Robert Millan <rmh@aybabtu.com>
40201
40202 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
40203 since they were intended to be in hex. This didn't break previously
40204 because of a bug in gpt_partition_map_iterate() (see below).
40205
40206 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
40207 when checking the validity of GPT header.
40208 Remove `partno', since it always provides the same information as `i'.
40209
f6f4cfb0 402102008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
40211
40212 * include/grub/efi/time.h: Fix a wrong comment.
40213
79ff665f 402142008-02-19 Pavel Roskin <proski@gnu.org>
40215
40216 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
40217 message.
40218
d38e24c2 402192008-02-19 Bean <bean123ch@gmail.com>
40220
40221 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
40222 (aout_mod_SOURCES): New variable.
40223 (aout_mod_CFLAGS): Likewise.
40224 (aout_mod_LDFLAGS): Likewise.
40225 (_bsd_mod_SOURCES): New variable.
40226 (_bsd_mod_CFLAGS): Likewise.
40227 (_bsd_mod_LDFLAGS): Likewise.
40228 (bsd_mod_SOURCES): New variable.
40229 (bsd_mod_CFLAGS): Likewise.
40230 (bsd_mod_LDFLAGS): Likewise.
40231
40232 * include/grub/aout.h: New file.
40233
40234 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
40235
40236 * include/grub/i386/bsd.h: New file.
40237
40238 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
40239 to make it public.
40240
40241 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
40242 function is called, so that it's possible to change it inside the hook.
40243 (grub_elf64_load): Likewise.
40244 (grub_elf_file): Don't close the file if elf header is not found.
40245 (grub_elf_close): Close the file if grub_elf_file fails (The new
40246 grub_elf_file won't close it).
40247 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
40248 (grub_elf64_size): Likewise.
40249
40250 * kern/i386/loader.S (grub_unix_real_boot): New function.
40251
40252 * loader/aout.c: New file.
40253
40254 * loader/i386/bsd.c: New file.
40255
40256 * loader/i386/bsd_normal.c: New file.
40257
40258 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40259
40260 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40261 can test other formats.
d38e24c2 40262
b93bdb0f 402632008-02-19 Robert Millan <rmh@aybabtu.com>
40264
40265 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40266 (grub_gpt_partition_type_empty): Redefine with macro from
40267 `<grub/gpt_partition.h>'.
40268 (gpt_partition_map_iterate): Adjust partition type comparison.
40269
40270 Export `entry' as partmap-specific `part.data' struct.
40271 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40272
40273 * include/grub/gpt_partition.h (grub_gpt_header)
40274 (grub_gpt_partentry): ... to here (new file).
40275
40276 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40277
40278 (grub_gpt_partition_type_bios_boot): New const variable, defined
40279 with macro from `<grub/gpt_partition.h>'.
40280
40281 (setup): Replace `first_start' with `embed_region', which keeps
40282 track of the embed region (and is partmap-agnostic).
40283
40284 Replace find_first_partition_start() with find_usable_region(),
40285 which finds a usable region for embedding using partmap-specific
40286 knowledge (supports PC/MSDOS and GPT).
40287
40288 Fix all assumptions that the embed region start at sector 1, using
40289 `embed_region.start' from now on. Similarly, use `embed_region.end'
40290 rather than `first_start' to calculate available size.
40291
40292 In grub_util_info() message, replace "into after the MBR" with an
40293 indication of the specific sector our embed region starts at.
40294
66cb40f6 402952008-02-19 Robert Millan <rmh@aybabtu.com>
40296
40297 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40298 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40299 `commands/reboot.c'.
40300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40301 (halt_mod_SOURCES): Likewise.
40302 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40303 (halt_mod_SOURCES): Likewise.
40304
b7202015 403052008-02-17 Christian Franke <franke@computer.org>
40306
40307 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40308
32b0fc49 403092008-02-17 Robert Millan <rmh@aybabtu.com>
40310
40311 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40312 set `first_start' to 0 for non-PC/MSDOS partition maps.
40313
aca63502 403142008-02-16 Robert Millan <rmh@aybabtu.com>
40315
40316 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40317 do not assume partition map is PC/MSDOS before performing checks that
40318 are specific to that layout.
40319
0de8be86 403202008-02-13 Robert Millan <rmh@aybabtu.com>
40321
40322 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40323 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40324 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40325
c3db8364 403262008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40327
40328 * configure.ac: Only a cosmetic change on the handling of
40329 -fno-stack-protector.
40330
f714229e 403312008-02-12 Alexandre Boeglin <alex@boeglin.org>
40332
c3db8364 40333 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40334 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40335 reboot.c.
f714229e 40336 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40337 (halt_mod_SOURCES): New variable.
40338 (halt_mod_CFLAGS): Likewise.
40339 (halt_mod_LDFLAGS): Likewise.
40340 (reboot_mod_SOURCES): Likewise.
40341 (reboot_mod_CFLAGS): Likewise.
40342 (reboot_mod_LDFLAGS): Likewise.
40343
c3db8364 40344 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40345 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40346 reboot.c.
f714229e 40347 (halt_mod_SOURCES): Likewise.
40348 (reboot_mod_SOURCES): Likewise.
40349
c3db8364 40350 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40351 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40352 (reboot_mod_SOURCES): Likewise.
40353
40354 * commands/i386/pc/reboot.c: merge this file ...
40355
40356 * commands/ieee1275/reboot.c: ... and this file ...
40357
40358 * commands/reboot.c: ... to this file.
c3db8364 40359 Add some precompiler directive to include the correct header for
40360 each machine.
f714229e 40361
40362 * commands/ieee1275/halt.c: move this file ...
40363
40364 * commands/halt.c: ... to here.
c3db8364 40365 Add some precompiler directive to include the correct header for
40366 each machine.
f714229e 40367
40368 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40369 (grub_halt): Likewise.
40370
40371 * kern/efi/efi.c (grub_reboot): New function.
40372 (grub_halt): Likewise.
40373
c74493e0 403742008-02-12 Robert Millan <rmh@aybabtu.com>
40375
40376 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40377 /dev (like it is done for /dev/mapper). This doesn't provide support
40378 for EVMS, but at least it is now easy to identify the problem when it
40379 arises.
40380
d0db4b04 403812008-02-11 Robert Millan <rmh@aybabtu.com>
40382
40383 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40384 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40385 comparing it with -1, not 0.
40386
bf748642 403872008-02-10 Robert Millan <rmh@aybabtu.com>
40388
40389 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40390 `disk/lvm.c'.
40391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40392 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40393
40394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40395 `disk/lvm.c' to the end of the list.
40396 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40397 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40398
b5db202a 403992008-02-10 Robert Millan <rmh@aybabtu.com>
40400
40401 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40402 grub_print_error() instead. This will let user know why we're entering
40403 rescue mode.
40404 Based on suggestions from Sam Morris.
40405
83abee31 404062008-02-10 Alexandre Boeglin <alex@boeglin.org>
40407
40408 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40409 on remaining N args, instead of "--" arg N times.
40410
78d5a08b 404112008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40412
40413 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40414 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40415 pattern for unknown glyphs.
40416
68807e5f 404172008-02-09 Robert Millan <rmh@aybabtu.com>
40418
40419 * configure.ac: Probe for `help2man'.
40420 * Makefile.in (builddir): New variable.
40421 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40422 or otherwise add a few flags/options to it.
40423 (install-local): For every executable utility or script that is
40424 installed, invoke $(HELP2MAN) to install a manpage based on --help
40425 output.
40426
40427 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40428 that it doesn't prevent --help from working in build tree.
40429
40430 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40431 with `bug-grub@gnu.org'.
40432 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40433 * util/update-grub.in (usage): New function.
40434 Implement proper argument check, with support for --help and --version
40435 (as well as existing -y).
40436
404372008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40438
40439 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40440 avoid overwriting previous output.
40441 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40442
c1962162 404432008-02-09 Robert Millan <rmh@aybabtu.com>
40444
40445 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40446 drawing the menu.
40447
3dac2e3f 404482008-02-09 Robert Millan <rmh@aybabtu.com>
40449
40450 * commands/sleep.c: New file.
40451 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40452 (sleep_mod_SOURCES): New variable.
40453 (sleep_mod_CFLAGS): Likewise.
40454 (sleep_mod_LDFLAGS): Likewise.
40455
7a634e08 404562008-02-09 Robert Millan <rmh@aybabtu.com>
40457
40458 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40459 situations in which we can deduce the RAID size and the superblock
40460 doesn't match it.
40461
b92f0c18 404622008-02-09 Robert Millan <rmh@aybabtu.com>
40463
40464 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40465 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40466 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40467
40468 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40469 and return a grub_diskmemberlist_t composed of physical array members.
40470 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40471
40472 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40473 prototype.
40474 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40475 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40476 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40477
40478 * util/grub-probe.c (probe): Move partmap probing code from here ...
40479 (probe_partmap): ... to here.
40480 (probe): Use probe_partmap() once for the disk we're probing, and
40481 additionally, when such disk contains a memberlist() struct member,
40482 once for each disk that is contained in the structure returned by
40483 memberlist().
40484
91a4bf68 404852008-02-09 Robert Millan <rmh@aybabtu.com>
40486
40487 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40488 environment variable to 'all' in order to obtain debug output from
40489 non-util/ code.
40490 * util/i386/pc/grub-setup.c (main): Likewise.
40491
a96f9caa 404922008-02-08 Robert Millan <rmh@aybabtu.com>
40493
40494 * disk/raid.c (grub_raid_scan_device): Check for
40495 `array->device[sb.this_disk.number]' rather than for
40496 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40497 guaranteed to be accessible.
a96f9caa 40498
b37a9222 404992008-02-08 Robert Millan <rmh@aybabtu.com>
40500
40501 * disk/raid.c: Update copyright.
40502 * fs/cpio.c: Likewise.
40503 * include/grub/raid.h: Likewise.
40504 * loader/i386/pc/multiboot.c: Likewise.
40505 * util/hostfs.c: Likewise.
40506
5626aee1 405072008-02-08 Robert Millan <rmh@aybabtu.com>
40508
40509 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40510 to a grub_disk_t array.
40511 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40512 `device[x]'.
40513 (grub_raid_scan_device): Replace `device[x].name' accesses with
40514 `device[x]->name'. Simplify initialization of `array->device[x]'.
40515
554f0187 405162008-02-08 Robert Millan <rmh@aybabtu.com>
40517
40518 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40519 grub_dprintf() calls.
40520 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40521 error message.
40522
1ec8425d 405232008-02-07 Christian Franke <franke@computer.org>
40524
40525 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40526 instead of fseek and ftell to support large files.
40527 (grub_hostfs_read): Likewise.
40528
f2156fda 405292008-02-07 Robert Millan <rmh@aybabtu.com>
40530
40531 Patch from Jeroen Dekkers.
40532 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40533 failure, since successfully reading all array members might not be
f2156fda 40534 required.
40535
9216e0e7 405362008-02-06 Robert Millan <rmh@aybabtu.com>
40537
40538 * util/grub-probe.c (probe): Simplify partmap probing (with the
40539 assumption that the first word up to the underscore equals to
40540 the module name).
40541
b0dfd29a 405422008-02-06 Christian Franke <franke@computer.org>
40543
40544 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40545 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40546 last block of a cpio or tar stream.
40547 Check for "TRAILER!!!" instead of any empty data
40548 block to detect last block of a cpio stream.
40549 (grub_cpio_dir): Fix constness of variable np.
40550 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40551 cpio or tar trailer is detected. This fixes a crash
40552 on open of a non existing file.
40553
c32865bf 405542008-02-05 Bean <bean123ch@gmail.com>
40555
40556 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40557 address of entry.
40558 (grub_multiboot_load_elf64): Likewise.
40559 (grub_multiboot): Initialize mbi structure.
40560
40561 * util/grub-fstest.c: Don't include unused header file script.h.
40562
fe6b695a 40563 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40564 of file.
40565 (grub_fstest_SOURCES): Likewise.
40566
409480b7 405672008-02-05 Robert Millan <rmh@aybabtu.com>
40568
40569 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40570 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40571 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40572 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40573
40574 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40575 (translation_table): Replace hardcoded values with macros
40576 provided by `<grub/term.h>'.
40577
40578 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40579 (keyboard_map): Correct/add a few values, with macros provided
40580 by `<grub/term.h>'.
40581 (keyboard_map_shift): Zero values that don't differ from their
40582 `keyboard_map' equivalents.
40583 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40584 Discard the second scan code that is always sent by Caps lock.
40585 Only use `keyboard_map_shift' when it provides a non-zero value,
40586 otherwise fallback to `keyboard_map'.
40587
99fadbaa 405882008-02-04 Bean <bean123ch@gmail.com>
40589
40590 * Makefile.in (enable_grub_fstest): New variable.
40591
40592 * conf/common.rmk (grub_fstest_init.lst): New rule.
40593 (grub_fstest_init.h): Likewise.
40594 (grub_fstest_init.c): Likewise.
40595 (util/grub-fstest.c_DEPENDENCIES): New variable.
40596 (grub_fstest_SOURCES): Likewise.
40597
40598 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40599
40600 * util/grub-fstest.c: New file.
40601
bf567c50 406022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40603
40604 Make grub-setup handle a separate root device.
f19dbdb7 40605
bf567c50 40606 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40607 so that the root device can be compared with the destination
40608 device.
40609 When embedding the core image, if the root and destination devices
40610 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40611 0xFF.
40612 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40613
9be6b98b 406142008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40615
40616 Add support for having a grub directory in a different drive. This
40617 is still only the data handling part.
f19dbdb7 40618
9be6b98b 40619 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40620 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40621 (grub_root_drive): New variable.
40622
40623 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40624 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40625 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40626 as it was.
40627
40628 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40629
40630 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40631 macro.
40632 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40633
40634 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40635 is bogus, because PXE booting does not specify any drive
40636 correctly.
40637
40638 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40639 am not sure if this is really correct.
40640
40641 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40642 is always identical to the boot drive when booting from a CD.
40643
40644 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40645 longer.
40646 (root_drive): New variable.
40647 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40648 (setup_sectors): Push %dx right after popping it, because %dh will
40649 be modified later.
40650 (copy_buffer): Restore %dx.
40651
e0ca0677 406522008-02-03 Robert Millan <rmh@aybabtu.com>
40653
40654 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40655 use `cdboot.img' for cdrom images.
40656
3b3f6629 406572008-02-03 Robert Millan <rmh@aybabtu.com>
40658
40659 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40660 only setup gfxterm when `font' command has succeeded.
40661
d42b3672 406622008-02-03 Robert Millan <rmh@aybabtu.com>
40663
40664 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40665 (grub_rescue_cmd_multiboot_loader)
40666 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40667
fa370ea6 406682008-02-03 Pavel Roskin <proski@gnu.org>
40669
e0c5dacb 40670 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40671 %edx and %esi from stack only after grub_gate_a20() is called.
40672 grub_gate_a20() clobbers %edx.
40673
f2a76e1d 406742008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40675
40676 * configure.ac (AC_INIT): Bumped to 1.96.
40677
40678 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40679 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40680 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40681 video/readers/png.c.
40682
90fd32d1 406832008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40684
40685 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40686 (cdboot_img_SOURCES): New variable.
40687 (cdboot_img_ASFLAGS): New variable.
40688 (cdboot_img_LDFLAGS): New variable.
40689
40690 * boot/i386/pc/cdboot.S: New file.
40691
40692 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40693 (cd_count): Likewise.
40694 (grub_biosdisk_get_drive): Add support for cd device.
40695 (grub_biosdisk_call_hook): Likewise.
40696 (grub_biosdisk_iterate): Likewise.
40697 (grub_biosdisk_open): Likewise.
40698 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40699 (grub_biosdisk_rw): Support reading from cd device.
40700 (GRUB_MOD_INIT): Iterate cd devices.
40701
40702 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40703 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40704 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40705
40706 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40707
4020aa53 407082008-02-02 Robert Millan <rmh@aybabtu.com>
40709
40710 * commands/read.c: New file.
40711 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40712 (read_mod_SOURCES): New variable.
40713 (read_mod_CFLAGS): Likewise.
40714 (read_mod_LDFLAGS): Likewise.
40715
e03a1132 407162008-02-02 Robert Millan <rmh@aybabtu.com>
40717
40718 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40719 determining whether menu has to be displayed.
40720
58c69220 407212008-02-02 Marco Gerards <marco@gnu.org>
40722
40723 * bus/pci.c: New file.
40724
40725 * include/grub/pci.h: Likewise.
40726
40727 * include/grub/i386/pc/pci.h: Likewise.
40728
40729 * commands/lspci.c: Likewise.
40730
40731 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40732 `lspci.mod'.
40733 (pci_mod_SOURCES): New variable.
40734 (pci_mod_CFLAGS): Likewise.
40735 (pci_mod_LDFLAGS): Likewise.
40736 (lspci_mod_SOURCES): Likewise.
40737 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40738 (lspci_mod_LDFLAGS): Likewise.
58c69220 40739
c004e1b4 407402008-02-02 Bean <bean123ch@gmail.com>
40741
40742 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40743 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40744
40745 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40746 (grub_xfs_btree_node): New structure.
40747 (grub_xfs_btree_root): New structure.
40748 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40749 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40750 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40751 (GRUB_XFS_EXTENT_SIZE): Likewise.
40752 (grub_xfs_read_block): Support btree format type.
40753 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40754 Use directory block as basic unit.
40755
40756 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40757
40758 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40759 __attribute__ ((__regparm__ (1))).
40760
f95562bf 407612008-02-01 Robert Millan <rmh@aybabtu.com>
40762
40763 Correct a mistake in previous commit.
40764
40765 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40766 top.
40767 (normal/command.c_DEPENDENCIES): New variable.
40768
7d31f41f 407692008-02-01 Robert Millan <rmh@aybabtu.com>
40770
40771 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40772 top.
40773 (normal/command.c_DEPENDENCIES): New variable.
40774 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40775 * conf/i386-ieee1275.rmk: Likewise.
40776 * conf/i386-linuxbios.rmk: Likewise.
40777 * conf/i386-pc.rmk: Likewise.
40778 * conf/sparc64-ieee1275.rmk: Likewise.
40779 * conf/powerpc-ieee1275.rmk: Likewise.
40780 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40781
40782 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40783
60b6be74 407842008-02-01 Robert Millan <rmh@aybabtu.com>
40785
40786 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40787 call at beginning of function.
40788
078522ab 407892008-01-31 Pavel Roskin <proski@gnu.org>
40790
40791 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40792 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40793 (grub_mkrescue_SOURCES): Likewise.
078522ab 40794 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40795
ccaa8a5f 407962008-01-30 Robert Millan <rmh@aybabtu.com>
40797
40798 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40799 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40800 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40801 (grub_probe_SOURCES): ... to here.
40802
40803 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40804 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40805 * conf/i386-ieee1275.rmk: Likewise.
40806 * conf/i386-linuxbios.rmk: Likewise.
40807 * conf/powerpc-ieee1275.rmk: Likewise.
40808
ae5a9cd7 408092008-01-30 Tristan Gingold <gingold@free.fr>
40810
40811 * kern/rescue.c: Silently accept empty lines.
40812
70bc2ef2 408132008-01-29 Bean <bean123ch@gmail.com>
40814
40815 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40816 (real_code_2): Code cleanup and change comment style.
40817 (move_memory): Avoid using 32-bit address mode.
40818
6a4d50ea 408192008-01-29 Bean <bean123ch@gmail.com>
40820
40821 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40822 (png_mod_SOURCES): New variable.
40823 (png_mod_CFLAGS): Likewise.
40824 (png_mod_LDFLAGS): Likewise.
40825
40826 * video/readers/png.c: New file.
40827
11cc30ac 408282008-01-28 Robert Millan <rmh@aybabtu.com>
40829
40830 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40831 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40832 `ifndef GRUB_MOD_GAP' hack.
40833 * util/elf/grub-mkimage.c (add_segments): Likewise.
40834
3abc589f 408352008-01-27 Robert Millan <rmh@aybabtu.com>
40836
40837 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40838 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40839 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40840
e1907778 408412008-01-27 Robert Millan <rmh@aybabtu.com>
40842
40843 Get grub-emu to build again (including parallel builds).
40844
40845 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40846 Split into ...
40847 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40848 (normal/execute.c_DEPENDENCIES): ... this, ...
40849 (grub-emu_DEPENDENCIES): ... and this.
40850
40851 * conf/i386-efi.rmk: Likewise.
40852 * conf/i386-linuxbios.rmk: Likewise.
40853 * conf/i386-ieee1275.rmk: Likewise.
40854 * conf/powerpc-ieee1275.rmk: Likewise.
40855 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40856
2216b101 408572008-01-27 Robert Millan <rmh@aybabtu.com>
40858
40859 * NEWS: Add a few items.
40860
f75172d9 408612008-01-27 Robert Millan <rmh@aybabtu.com>
40862
40863 Fix parallel builds with grub-emu. Based on earlier commit for
40864 grub-probe and grub-setup.
40865
40866 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40867 (util/grub-emu.c_DEPENDENCIES): ... this.
40868 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40869 (util/grub-emu.c_DEPENDENCIES): ... this.
40870 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40871 (util/grub-emu.c_DEPENDENCIES): ... this.
40872 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40873 (util/grub-emu.c_DEPENDENCIES): ... this.
40874 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40875 (util/grub-emu.c_DEPENDENCIES): ... this.
40876
3f51de77 408772008-01-27 Pavel Roskin <proski@gnu.org>
40878
40879 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
40880 to create a gap between _end and the modules added to the image
40881 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
40882 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
40883 * util/elf/grub-mkimage.c (add_segments): Likewise.
40884
2033f53e 408852008-01-26 Pavel Roskin <proski@gnu.org>
40886
40887 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
40888 just return an error.
40889
22da1f6f 408902008-01-26 Bean <bean123ch@gmail.com>
40891
40892 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
40893 (grub_reiserfs_get_item): Save offset of the next item.
40894 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
40895
2a9525e6 408962008-01-25 Robert Millan <rmh@aybabtu.com>
40897
40898 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
40899 make all filesystem sources appear together (possibly fixing omissions
40900 while at it).
40901 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40903 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40905
40906 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
40907 add `kern/file.c'.
40908 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
40909 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40910 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
40911 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40912
40913 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
40914 (probe): Add a sanity check to make sure of our ability to read
40915 requested files when probing for filesystem type.
40916
40917 * genmk.rb: Update copyright year (2007).
40918
40919 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
40920 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
40921 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
40922 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
40923 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
40924 : Remove function prototypes.
40925
b95f71b5 409262008-01-25 Robert Millan <rmh@aybabtu.com>
40927
40928 Revert my previous commits (based on wrong assumption of how grub_errno
40929 works).
40930
fe6b695a 40931 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 40932 * kern/file.c (grub_file_open): Likewise.
40933
d08bbb49 409342008-01-24 Pavel Roskin <proski@gnu.org>
40935
40936 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
40937 that hang if GRUB tries to setup colors.
40938 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
40939 colors for firmwares that don't support it.
40940 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
40941 Recognize Open Hack'Ware, set flags to work around its
40942 limitations.
40943
605e36ed 409442008-01-24 Robert Millan <rmh@aybabtu.com>
40945
40946 * kern/file.c (grub_file_open): Do not account previous failures of
40947 unrelated functions when grub_errno is checked for.
40948 Reported by Oleg Strikov.
40949
bac332a1 409502008-01-24 Bean <bean123ch@gmail.com>
40951
40952 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
40953 (grub_ufs_sblock): New member volume name.
40954 (grub_ufs_find_file): Fix string copy bug.
40955 (grub_ufs_label): Implement this function properly.
40956
40957 * fs/hfs.c (grub_hfs_cnid_type): New enum.
40958 (grub_hfs_iterate_records): Use the correct file number for extents
40959 and catalog file. Fix problem in next index calculation.
40960 (grub_hfs_find_node): Replace recursive function call with loop.
40961 (grub_hfs_iterate_dir): Replace recursive function call with loop.
40962
15c80c09 409632008-01-23 Robert Millan <rmh@aybabtu.com>
40964
40965 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
40966 `<grub/symbol.h>' and `<grub/multiboot.h>'.
40967 (grub_multiboot2_real_boot): New function prototype.
40968
40969 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
40970 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
40971
40972 * kern/i386/ieee1275/init.c (grub_os_area_addr)
40973 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
40974
305338fd 409752008-01-23 Robert Millan <rmh@aybabtu.com>
40976
40977 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
40978 #ifdef'ed out grub_printf().
40979
3ea52685 409802008-01-23 Robert Millan <rmh@aybabtu.com>
40981
40982 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
40983 grub_dprintf calls, since they make "debug=all" mode unusable.
40984 (grub_console_checkkey): Likewise.
40985
5882ae4b 409862008-01-23 Robert Millan <rmh@aybabtu.com>
40987
40988 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40989 `term/i386/pc/at_keyboard.c'.
40990 (pkglib_MODULES): Add `serial.mod'.
40991 (serial_mod_SOURCES): New variable.
40992 (serial_mod_CFLAGS): Likewise.
40993 (serial_mod_LDFLAGS): Likewise.
40994
40995 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
40996 `<grub/powerpc/ieee1275/console.h>'.
40997 (grub_keyboard_controller_init): New function prototype.
40998 (grub_console_checkkey): Likewise.
40999 (grub_console_getkey): Likewise.
41000
41001 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
41002 keyboard on i386.
41003
41004 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
41005 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
41006
06ab5303 410072008-01-23 Robert Millan <rmh@aybabtu.com>
41008
41009 * kern/i386/pc/init.c (make_install_device): When memdisk image is
41010 present, "(memdisk)/boot/grub" becomes the default prefix.
41011
41012 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
41013 a memdisk tarball with all the modules. Add --overlay=DIR option that
41014 allows users to overlay additional files into the image.
41015
dbb475a4 410162008-01-23 Robert Millan <rmh@aybabtu.com>
41017
41018 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
41019 and `machine/memory.h'.
41020 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
41021 (_multiboot_mod_SOURCES): New variable.
41022 (_multiboot_mod_CFLAGS): Likewise.
41023 (_multiboot_mod_LDFLAGS): Likewise.
41024 (multiboot_mod_SOURCES): Likewise.
41025 (multiboot_mod_CFLAGS): Likewise.
41026 (multiboot_mod_LDFLAGS): Likewise.
41027
41028 * include/grub/i386/ieee1275/loader.h: New file.
41029
41030 * include/grub/i386/ieee1275/machine.h: Likewise.
41031
41032 * include/grub/i386/ieee1275/memory.h: Likewise.
41033
41034 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
41035 variable declaration.
41036 (grub_os_area_size): Likewise.
41037
41038 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
41039 (grub_lower_mem, grub_upper_mem): New variables.
41040 (grub_stop_floppy): New function (just to make
41041 grub_multiboot2_real_boot() happy).
41042
41043 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
41044 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
41045 (grub_stop): New function.
41046 Include `"../realmode.S"' and `"../loader.S"'.
41047
41048 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
41049 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
41050
41051 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
41052 rely on grub_multiboot2_real_boot() for final boot.
41053
25638629 410542008-01-22 Robert Millan <rmh@aybabtu.com>
41055
41056 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
41057 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
41058 device that doesn't look like an SD card.
41059 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41060 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
41061 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
41062 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
41063 found.
41064
9dad816d 410652008-01-22 Robert Millan <rmh@aybabtu.com>
41066
41067 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
41068 avoid claiming over our own code.
41069
34842f2d 410702008-01-22 Bean <bean123ch@gmail.com>
41071
41072 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
41073 (jpeg_mod_SOURCES): New variable.
41074 (jpeg_mod_CFLAGS): Likewise.
41075 (jpeg_mod_LDFLAGS): Likewise.
41076
41077 * video/readers/jpeg.c : New file.
41078
44023a28 410792008-01-22 Bean <bean123ch@gmail.com>
41080
41081 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
41082 there are no more items.
41083
bc2d8ac6 410842008-01-21 Robert Millan <rmh@aybabtu.com>
41085
41086 * kern/mm.c (grub_mm_init_region): Improve debug message.
41087
261bd4bc 410882008-01-21 Robert Millan <rmh@aybabtu.com>
41089
41090 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
41091 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
41092 address.
41093 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
41094 a C macro.
41095 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
41096 Indicates start of upper memory.
41097 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
41098 (generate_image): Abort when image size is big enough to corrupt
41099 upper memory.
41100
41101 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
41102 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
41103 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41104 instead of hardcoding 0xA0000.
41105 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
41106 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
41107 instead of hardcoding 0xA0000.
41108
f970b55e 411092008-01-21 Robert Millan <rmh@aybabtu.com>
41110
41111 * disk/memdisk.c (memdisk_size): New variable.
41112 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
41113 `memdisk_size'.
41114 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
41115 image to dynamic memory.
41116 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
41117 `memdisk_size'. Free memdisk block.
41118
1a8b0526 411192008-01-21 Robert Millan <rmh@aybabtu.com>
41120
41121 Fix detection of very small filesystems (like tar).
41122
41123 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
41124 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
41125 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
41126 a problem with this disk).
41127
6e9b4aab 411282008-01-21 Robert Millan <rmh@aybabtu.com>
41129
41130 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
41131 on grub_biosdisk_rw_standard() error.
41132
0d8837b2 411332008-01-21 Robert Millan <rmh@aybabtu.com>
41134
41135 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
41136 recent changes.
41137 * kern/elf.c: Likewise.
41138 * kern/ieee1275/ieee1275.c: Likewise.
41139 * kern/powerpc/ieee1275/openfw.c: Likewise.
41140 * term/ieee1275/ofconsole.c: Likewise.
41141
ffd36e34 411422008-01-21 Robert Millan <rmh@aybabtu.com>
41143
41144 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
41145
3f0093d0 41146 * include/grub/kernel.h (grub_arch_memdisk_addr)
41147 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 41148
3f0093d0 41149 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
41150 (grub_arch_memdisk_size): ... to here.
ffd36e34 41151
6c391b21 411522008-01-21 Robert Millan <rmh@aybabtu.com>
41153
41154 Mostly based on bugfix from Bean.
41155
41156 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
41157 attribute with hook() parameter.
41158 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
41159 declaration.
41160 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
41161 attribute with hook() parameter.
41162 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
41163 declaration.
41164
55a581dc 411652008-01-21 Robert Millan <rmh@aybabtu.com>
41166
41167 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
41168 (pkglib_MODULES): Add `memdisk.mod'.
41169 (memdisk_mod_SOURCES): New variable.
41170 (memdisk_mod_CFLAGS): Likewise.
41171 (memdisk_mod_LDFLAGS): Likewise.
41172
41173 * disk/memdisk.c: New file.
41174
41175 * include/grub/disk.h (grub_disk_dev_id): Add
41176 `GRUB_DISK_DEVICE_MEMDISK_ID'.
41177
41178 * include/grub/i386/pc/kernel.h
41179 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
41180 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
41181 (grub_kernel_image_size): New variable declaration.
41182 (grub_total_module_size): Likewise.
41183 (grub_memdisk_image_size): Likewise.
41184
41185 * include/grub/i386/pc/memory.h
41186 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
41187
41188 * include/grub/kernel.h: Include `<grub/symbol.h>'.
41189 (grub_arch_memdisk_addr): New variable declaration.
41190 (grub_arch_memdisk_size): Likewise.
41191
41192 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
41193 (grub_arch_memdisk_size): Likewise.
41194
41195 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
41196 (codestart): Replace hardcoded `0x100000' with
41197 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
41198
41199 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
41200 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
41201 not NULL, append the contents of the file it refers to, at the end of
41202 the compressed kernel image. Initialize `grub_memdisk_image_size'
41203 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
41204 (options): Add "memdisk"|'m' option.
41205 (main): Parse --memdisk|-m option, and pass user-provided path as
41206 parameter to generate_image().
41207
3d7f54c9 412082008-01-20 Robert Millan <rmh@aybabtu.com>
41209
41210 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
41211 grub_dprintf() calls from here ...
41212 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
41213
0bf74728 412142008-01-20 Robert Millan <rmh@aybabtu.com>
41215
41216 Fix detection of "real mode" when /options/real-mode? doesn't exist.
41217
41218 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
41219 declaration.
41220 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
41221 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
41222 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 41223 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 41224 property).
41225 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
41226 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
41227
33bf70a7 412282008-01-19 Robert Millan <rmh@aybabtu.com>
41229
fe6b695a 41230 Get rid of confusing function (superseded by
33bf70a7 41231 `grub_ieee1275_get_integer_property')
41232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
41233 prototype.
41234 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
41235 function.
41236 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
41237 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 41238 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 41239
e2da7d26 412402008-01-19 Robert Millan <rmh@aybabtu.com>
41241
41242 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
41243 command after "shut-down", since implementations differ on which
41244 the command for halt is.
41245
59f1fd8d 412462008-01-19 Robert Millan <rmh@aybabtu.com>
41247
41248 * include/grub/i386/linuxbios/console.h: Add header protection.
41249 (grub_keyboard_controller_init): New function prototype.
41250 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
41251 (KEYBOARD_COMMAND_READ): Likewise.
41252 (KEYBOARD_COMMAND_WRITE): Likewise.
41253 (KEYBOARD_SCANCODE_SET1): Likewise.
41254 (grub_keyboard_controller_write): New function.
41255 (grub_keyboard_controller_read): Likewise.
41256 (grub_keyboard_controller_init): Likewise.
41257
41258 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41259 (grub_console_init): On coreboot/LinuxBIOS, call
41260 grub_keyboard_controller_init().
41261
5f5a7c15 412622008-01-19 Robert Millan <rmh@aybabtu.com>
41263
41264 PowerPC changes provided by Pavel Roskin.
41265
41266 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41267 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41268 don't rely on cmain() doing it.
41269 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41270 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41271
1210e168 412722008-01-16 Robert Millan <rmh@aybabtu.com>
41273
41274 * include/grub/i386/linuxbios/memory.h
41275 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41276 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41277 receive `table_header' as argument. Instead, probe for it in the
41278 known memory ranges where it can be present.
41279 (grub_available_iterate): Do not pass a fixed `table_header' address
41280 to grub_linuxbios_table_iterate().
41281
3d04eab8 412822008-01-15 Robert Millan <rmh@aybabtu.com>
41283
41284 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41285 * conf/i386-ieee1275.rmk: New file.
41286 * include/grub/i386/ieee1275/console.h: Likewise.
41287 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41288 * include/grub/i386/ieee1275/kernel.h: Likewise.
41289 * include/grub/i386/ieee1275/time.h: Likewise.
41290 * kern/i386/ieee1275/init.c: Likewise.
41291 * kern/i386/ieee1275/startup.S: Likewise.
41292
d1bc1b73 412932008-01-15 Robert Millan <rmh@aybabtu.com>
41294
41295 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41296 when pointers are 32-bit (but still do set it to one when they are
41297 64-bit).
41298
66a65807 412992008-01-15 Robert Millan <rmh@aybabtu.com>
41300
41301 * include/grub/ieee1275/ieee1275.h
41302 (grub_ieee1275_get_integer_property): New function prototype.
41303
41304 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41305 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41306 grub_ieee1275_get_property() to handle endianness.
66a65807 41307
41308 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41309 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41310 where appropriate.
66a65807 41311 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41312 (grub_map): Likewise.
41313 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41314
a83ccafd 413152008-01-15 Bean <bean123ch@gmail.com>
41316
41317 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41318 (grub_script_execute_cmdline): Reset grub_errno.
41319
41320 * normal/main.c (read_config_file): Reset grub_errno.
41321
41322 * normal/parse.y (script_init): New.
41323 (script): Move function and menuentry here.
41324 (delimiter): New.
41325 (command): Add delimiter at the end of command.
41326 (commands): Adjust to match the new command.
41327 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41328 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41329 (if): Use the new commands.
41330
41331 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41332
df6ecfc6 413332008-01-15 Robert Millan <rmh@aybabtu.com>
41334
41335 * normal/menu.c (run_menu): Move timeout message from here ...
41336 (print_timeout): ... to here.
41337 (run_menu): Use print_timeout() once during initial draw to print
41338 the whole message, and again in every clock tick to update only
41339 the number of seconds.
41340
87ae25eb 413412008-01-15 Robert Millan <rmh@aybabtu.com>
41342
41343 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41344 actual size of `available' from grub_ieee1275_get_property(), and
41345 restrict parsing to that bound.
41346
47bf09a4 413472008-01-15 Christian Franke <franke@computer.org>
41348
41349 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41350 (argp_program_version): Remove variable.
41351 (argp_program_bug_address): Likewise.
41352 (options): Convert from struct argp_option to struct option.
41353 (struct arguments): Remove.
41354 (parse_opt): Remove.
41355 (usage): New function.
41356 (main): Replace struct args members by simple variables.
41357 Replace argp_parse() by getopt_long().
41358 Add switch to evaluate options.
41359 Add missing "(...)" around root_dev in prefix string.
41360
c86f1469 413612008-01-14 Robert Millan <rmh@aybabtu.com>
41362
41363 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41364 for grub_ieee1275_exit(), in order to improve portability.
41365
e622c559 413662008-01-14 Robert Millan <rmh@aybabtu.com>
41367
41368 * util/grub.d/10_linux.in (prefix): Define.
41369 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41370
44cb1ec8 413712008-01-13 Pavel Roskin <proski@gnu.org>
41372
41373 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41374 grub_errno if no errors have been detected.
41375
1eb8c802 413762008-01-12 Robert Millan <rmh@aybabtu.com>
41377
41378 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41379 (grub_util_get_dev_abstraction): New function prototype.
41380
41381 * util/getroot.c: Include `<grub/util/getroot.h>'
41382 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41383 (grub_util_get_dev_abstraction): ... here (new function).
41384
41385 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41386 `PRINT_ABSTRACTION'.
41387 (probe): Probe for abstraction type when requested.
41388 (main): Understand `--target=abstraction'.
41389
41390 * util/i386/efi/grub-install.in: Add abstraction module to core
41391 image when it is found to be necessary.
41392 * util/i386/pc/grub-install.in: Likewise.
41393 * util/powerpc/ieee1275/grub-install.in: Likewise.
41394
41395 * util/update-grub_lib.in (font_path): Return system path without
41396 converting to GRUB path.
41397 * util/update-grub.in: Convert system path returned by font_path()
41398 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41399 abstraction module is needed for loading fonts (if any). Export
41400 that as `GRUB_PRELOAD_MODULES'.
41401 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41402 insmod commands).
41403
52bd3de9 414042008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41405
41406 Remove some unused code from reiserfs.
f19dbdb7 41407
52bd3de9 41408 * fs/reiserfs.c (struct grub_reiserfs_key)
41409 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41410 (struct grub_reiserfs_node_body): Removed.
41411 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41412 Likewise.
41413 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41414 Likewise.
41415 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41416 Likewise.
41417 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41418 Likewise.
41419 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41420 Likewise.
41421 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41422 Likewise.
41423 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41424 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41425 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41426
2f80039d 414272008-01-10 Robert Millan <rmh@aybabtu.com>
41428
41429 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41430 Determines if a file is garbage left by packaging systems, etc.
41431 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41432 for processing /etc/grub.d scripts.
41433 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41434 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41435 as a condition for processing Linux images.
41436
87888032 414372008-01-10 Pavel Roskin <proski@gnu.org>
41438
41439 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41440 to compile reiserfs.c on PowerPC.
41441
7e54fced 414422008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41443
41444 * kern/device.c (grub_device_iterate): Do not abort device iteration
41445 when one of the devices cannot be opened.
41446 * kern/disk.c (grub_disk_open): Do not account previous failures of
41447 unrelated functions when grub_errno is checked for.
41448
5aa541e6 414492008-01-08 Robert Millan <rmh@aybabtu.com>
41450
41451 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41452 `! grub_linux_is_bzimage', change order of address comparison to make
41453 it more intuitive, and improve "too big zImage" error message.
41454
7076340d 414552008-01-08 Robert Millan <rmh@aybabtu.com>
41456
41457 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41458 `$(update-grub_DATA)'.
41459 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41460 targets.
41461
9ca70333 414622008-01-07 Robert Millan <rmh@aybabtu.com>
41463
41464 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41465 which instruction is modified by grub-setup during installation
41466 (since it wasn't obvious by only looking at this file).
41467
38ccf575 414682008-01-07 Robert Millan <rmh@aybabtu.com>
41469
41470 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41471 listing actual TODO items.
41472
f5db4291 414732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41474
868967cf 41475 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41476 correctly.
41477 (grub_reiserfs_get_key_offset): Likewise.
41478 (grub_reiserfs_set_key_offset): Likewise.
41479 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41480 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41481
41482 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41483 better to remove the bitfield version completely.
f19dbdb7 41484
868967cf 414852008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41486
f5db4291 41487 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41488 allocated from the heap, due to the fshelp implementation.
41489 (grub_reiserfs_dir): Free NODE, due to the same reason.
41490
492e6d9d 414912008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41492
41493 Mostly from Vincent Pelletier:
f19dbdb7 41494
492e6d9d 41495 * fs/reiserfs.c: New file.
f19dbdb7 41496
492e6d9d 41497 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41498 (reiserfs_mod_SOURCES): New variable.
41499 (reiserfs_mod_CFLAGS): Likewise.
41500 (reiserfs_mod_LDFLAGS): Likewise.
41501
41502 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41503 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41504 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41505 normal/color.c.
41506
9ce3e7c1 415072008-01-06 Robert Millan <rmh@aybabtu.com>
41508
41509 * normal/color.c: Remove `<grub/env.h>'.
41510
f3b58148 415112008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41512
41513 * include/grub/normal.h: Include <grub/env.h>.
41514
7ac3bcfa 415152008-01-05 Robert Millan <rmh@aybabtu.com>
41516
41517 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41518 usage example with `(hd0,1)'.
fb358190 41519 Reported by Samuel Thibault.
7ac3bcfa 41520
c8ee99d7 415212008-01-05 Robert Millan <rmh@aybabtu.com>
41522
41523 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41524 (grub_linux_boot_zimage): Rename to ...
41525 (grub_linux_boot): ... this.
41526 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41527 (grub_linux_boot_zimage): Conditionalize zImage copy.
41528
41529 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41530 (grub_linux_boot_bzimage): Remove prototype.
41531 (grub_linux_boot_zimage): Rename to ...
41532 (grub_linux_boot): ... this.
41533
41534 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41535 (grub_linux_boot): Remove function.
41536
0ece25b1 415372008-01-05 Robert Millan <rmh@aybabtu.com>
41538
41539 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41540 (grub_env_write_color_highlight): Likewise.
41541 (grub_wait_after_message): Likewise.
41542
41543 * normal/color.c: New file.
41544
41545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41546 (normal_mod_DEPENDENCIES): Likewise.
41547
41548 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41549 (normal_mod_DEPENDENCIES): Likewise.
41550
41551 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41552 (normal_mod_DEPENDENCIES): Likewise.
41553
41554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41555 (normal_mod_DEPENDENCIES): Likewise.
41556
41557 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41558 for waiting after a message is printed.
41559 * normal/main.c (read_config_file): Likewise.
41560 (grub_normal_init): Register grub_env_write_color_normal() and
41561 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41562 `color_highlight' variables as global.
41563
41564 * normal/menu.c (grub_wait_after_message): New function.
41565 (grub_color_menu_normal): New variable. Replaces ...
41566 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41567 (grub_color_menu_highlight): New variable. Replaces ...
41568 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41569 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41570 `GRUB_TERM_COLOR_STANDARD'.
41571 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41572 `normal_code' and `highlight_code' to `old_color_normal' and
41573 `old_color_highlight', respectively.
41574 (grub_menu_init_page): Update colors when drawing the menu, based on
41575 `menu_color_normal' and `menu_color_highlight' variables.
41576 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41577 a message is printed.
41578
182dd4e5 415792008-01-05 Robert Millan <rmh@aybabtu.com>
41580
41581 * kern/env.c (grub_env_context_open): Propagate hooks for global
41582 variables to new context.
41583
41584 * kern/main.c (grub_set_root_dev): Export `root' variable.
41585
ddf8f6ad 415862008-01-05 Robert Millan <rmh@aybabtu.com>
41587
41588 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41589 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41590 them.
41591
d8b43d9b 415922008-01-05 Robert Millan <rmh@aybabtu.com>
41593
41594 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41595
2bff2de3 415962008-01-04 Christian Franke <franke@computer.org>
41597
41598 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41599 of eisa_mmap.
41600
97eab917 416012008-01-03 Pavel Roskin <proski@gnu.org>
41602
41603 * kern/i386/linuxbios/init.c: Put "void" to all function
41604 declarations with no arguments.
41605 * kern/powerpc/ieee1275/init.c: Likewise.
41606 * term/i386/pc/at_keyboard.c: Likewise.
41607 * term/i386/pc/vga_text.c: Likewise.
41608 * util/grub-mkdevicemap.c: Likewise.
41609
b9416d00 416102008-01-02 Robert Millan <rmh@aybabtu.com>
41611
41612 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41613 message when loaded image is out of bounds.
41614 (grub_multiboot_load_elf64): Likewise.
41615
92695df9 416162008-01-02 Pavel Roskin <proski@gnu.org>
41617
41618 * util/grub.d/10_linux.in: Try version without ".old" when
41619 looking for initrd. It's better to use initrd from the newer
41620 kernel of the same version than no initrd at all.
41621
d98d9cad 416222008-01-01 Robert Millan <rmh@aybabtu.com>
41623
41624 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41625
dbfdce36 416262008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41627
f19dbdb7 41628 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41629 grub_video_get_active_render_target.
41630 (grub_video_adapter): Added unmap_color and get_active_render_target.
41631
f19dbdb7 41632 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41633 grub_video_get_active_render_target.
41634 (grub_video_get_info): Changed method to accept NULL pointer as an
41635 argument to allow detection of active video adapter.
41636
41637 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41638 grub_video_vbe_unmap_color_int.
41639 Added grub_video_vbe_unmap_color and
41640 grub_video_vbe_get_active_render_target.
41641 (grub_video_vbe_adapter): Added unmap_color and
41642 get_active_render_target.
41643
f19dbdb7 41644 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41645 with grub_video_vbe_unmap_color_int.
41646
41647 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41648 (DEFAULT_NORMAL_COLOR): Likewise.
41649 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41650 (DEFAULT_FG_COLOR): Removed.
41651 (DEFAULT_BG_COLOR): Likewise.
41652 (DEFAULT_CURSOR_COLOR): Changed value.
41653 (grub_virtual_screen): Added standard_color_setting,
41654 normal_color_setting, highlight_color_setting and term_color.
41655 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41656 (bitmap_width): Added.
41657 (bitmap_height): Likewise.
41658 (bitmap): Likewise.
41659 (set_term_color): Likewise.
41660 (grub_virtual_screen_setup): Changed to use new terminal coloring
41661 settings.
41662 (grub_gfxterm_init): Added init for bitmap.
41663 (grub_gfxterm_fini): Added destroy for bitmap.
41664 (redraw_screen_rect): Updated to use background bitmap and new
41665 terminal coloring.
41666 (scroll_up): Added optimization for case when there is no bitmap.
41667 (grub_gfxterm_cls): Fixed to use correct background color.
41668 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41669 coloring.
41670 (grub_virtual_screen_setcolor): Likewise.
41671 (grub_virtual_screen_getcolor): Added.
41672 (grub_gfxterm_background_image_cmd): Likewise.
41673 (grub_video_term): Added setcolor and getcolor.
41674 (MOD_INIT): Added registration of background_image command.
41675 (MOD_TERM): Added unregistration for background_image command.
41676
c3c20931 416772007-12-30 Pavel Roskin <proski@gnu.org>
41678
41679 * loader/multiboot_loader.c: Fix multiboot command
41680 unregistration. Fix all typos in the word "multiboot".
41681
df266716 416822007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41683
41684 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41685 support for initrd names used in Fedora.
41686
fc6e896c 416872007-12-26 Bean <bean123ch@gmail.com>
41688
41689 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41690 (cpio_mod_SOURCES): New variable.
41691 (cpio_mod_CFLAGS): Likewise.
41692 (cpio_mod_LDFLAGS): Likewise.
41693
41694 * fs/cpio.c: New file.
41695
41696 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41697
41698 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41699
41700 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41701
41702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41703
533110ad 417042007-12-25 Robert Millan <rmh@aybabtu.com>
41705
41706 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41707 (grub_getcolor): New function.
41708
41709 * kern/term.c (grub_getcolor): New function.
41710 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41711 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41712 (print_entry): Set normal and highlight colors to
41713 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41714 respectively, before printing and restore them to old
41715 values afterwards.
41716 (grub_menu_init_page): Likewise. Fill an additional colored space
41717 that would otherwise be left blank.
41718
41719 * term/efi/console.c (grub_console_getcolor): New function.
41720 (struct grub_console_term.getcolor): New variable.
41721 * term/i386/pc/console.c (grub_console_getcolor): New function.
41722 (struct grub_console_term.getcolor): New variable.
41723 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41724 (struct grub_console_term.getcolor): New variable.
41725
41726 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41727 (struct grub_console_term.setcolor): Remove variable.
41728 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41729 (struct grub_console_term.setcolor): Remove variable.
41730 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41731 (struct grub_console_term.setcolor): Remove variable.
41732 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41733 (struct grub_console_term.setcolor): Remove variable.
41734
4931827f 417352007-12-25 Robert Millan <rmh@aybabtu.com>
41736
41737 * configure.ac: Search for possible unifont.hex locations, and
41738 define UNIFONT_HEX if found.
41739
41740 * Makefile.in (UNIFONT_HEX): Define variable.
41741 (DATA): Rename to ...
41742 (PKGLIB): ... this. Update all users.
41743 (PKGDATA): New variable.
41744 (pkgdata_IMAGES): Rename to ...
41745 (pkglib_IMAGES): ... this. Update all users.
41746 (pkgdata_MODULES): Rename to ...
41747 (pkglib_MODULES): ... this. Update all users.
41748 (pkgdata_PROGRAMS): Rename to ...
41749 (pkglib_PROGRAMS): ... this. Update all users.
41750 (pkgdata_DATA): Rename to ...
41751 (pkglib_DATA): ... this. Update all users.
41752 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41753 (unicode.pff, ascii.pff): New rules.
41754 (all-local): Add `$(PKGDATA)' dependency.
41755 (install-local): Process `$(PKGDATA)'.
41756
41757 * util/update-grub_lib.in (font_path): Search for *.pff files in
41758 a few more locations, including `${pkgdata}'.
41759
57e57e31 417602007-12-23 Robert Millan <rmh@aybabtu.com>
41761
41762 Patch from Bean <bean123ch@gmail.com>:
41763 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41764 `size'.
41765
4bc72aa9 417662007-12-21 Bean <bean123ch@gmail.com>
41767
41768 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41769 (ntfscomp_mod_SOURCES): New variable.
41770 (ntfscomp_mod_CFLAGS): Likewise.
41771 (ntfscomp_mod_LDFLAGS): Likewise.
41772
41773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41774 (grub_probe_SOURCES): Likewise.
41775 (grub_emu_SOURCES): Likewise.
41776
41777 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41778 (grub_emu_SOURCES): Likewise.
41779
41780 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41781 (grub_emu_SOURCES): Likewise.
41782
41783 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41784 (grub_emu_SOURCES): Likewise.
41785
41786 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41787 (read_run_list): Renamed to grub_ntfs_read_run_list.
41788 (decomp_nextvcn): Moved to ntfscomp.c.
41789 (decomp_getch): Likewise.
41790 (decomp_get16): Likewise.
41791 (decomp_block): Likewise.
41792 (read_block): Likewise.
41793 (read_data): Partially moved to ntfscomp.c.
41794 (fixup): Change unsigned to grub_uint16_t.
41795 (read_mft): Change unsigned long to grub_uint32_t.
41796 (read_attr): Likewise.
41797 (read_data): Likewise.
41798 (read_run_data): Likewise.
41799 (read_run_list): Likewise.
41800 (read_mft): Likewise.
41801
41802 * fs/ntfscomp.c: New file.
41803
41804 * include/grub/ntfs.h: New file.
41805
af680a87 418062007-12-16 Robert Millan <rmh@aybabtu.com>
41807
41808 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41809 IDE disk check, since Linux is known to support 20 IDE disks.
41810 Reported by Colin Watson.
41811
84be7599 418122007-12-15 Bean <bean123ch@gmail.com>
41813
41814 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41815 (lnxboot_img_SOURCES): New variable.
41816 (lnxboot_img_ASFLAGS): Likewise.
41817 (lnxboot_img_LDFLAGS): Likewise.
41818
41819 * boot/i386/pc/lnxboot.S: New file.
41820
6af9db01 418212007-11-24 Pavel Roskin <proski@gnu.org>
41822
41823 * configure.ac: Test if '--build-id=none' is supported by the
41824 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41825 objcopy to generate incorrect binary files (binutils
41826 2.17.50.0.18-1 as shipped by Fedora 8).
41827 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41828 linking, so that build ID doesn't break the test.
41829
7361cfe6 418302007-11-24 Pavel Roskin <proski@gnu.org>
41831
41832 * include/grub/i386/time.h: use "void" in the argument list
41833 of grub_cpu_idle().
41834 * include/grub/powerpc/time.h: Likewise.
41835 * include/grub/sparc64/time.h: Likewise.
41836
1593e10c 418372007-11-18 Christian Franke <franke@computer.org>
41838
41839 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41840 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41841 This fixes the problem that function keys did not work in grub-emu.
41842
3b8db1a8 418432007-11-18 Christian Franke <franke@computer.org>
41844
41845 * disk/host.c (grub_host_open): Remove attribute unused from
41846 name parameter. Add check for "host". This fixes the problem
41847 that grub-emu does not find partitions.
41848
2e29408d 418492007-11-18 Christian Franke <franke@computer.org>
41850
41851 * util/hostfs.c (is_dir): New function.
41852 (grub_hostfs_dir): Handle missing dirent.d_type case.
41853 (grub_hostfs_read): Add missing fseek().
41854 (grub_hostfs_label): Clear label pointer. This fixes a crash
41855 of grub-emu on "ls (host)".
41856
398cd047 418572007-11-18 Christian Franke <franke@computer.org>
41858
41859 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41860 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41861 to 64 bit boundary by default.
41862
c405c391 418632007-11-18 Bean <bean123ch@gmail.com>
41864
41865 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
41866 (hexdump_mod_SOURCES): New variable.
41867 (hexdump_mod_CFLAGS): Likewise.
41868 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 41869
c405c391 41870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41871
41872 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41873
41874 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41875
41876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41877
41878 * include/grub/hexdump.h: New file.
41879
41880 * commands/hexdump.c: New file.
41881
5cced7fd 418822007-11-10 Robert Millan <rmh@aybabtu.com>
41883
41884 * commands/i386/pc/play.c (beep_off): Switch order of arguments
41885 in grub_outb() calls.
41886 (beep_on): Likewise.
41887
8b714eb0 418882007-11-10 Christian Franke <franke@computer.org>
41889
41890 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
41891 (grub_menu_run): Likewise.
41892
ce0f1839 418932007-11-10 Robert Millan <rmh@aybabtu.com>
41894
41895 * include/grub/i386/efi/machine.h: New file.
41896 * include/grub/i386/linuxbios/machine.h: Likewise.
41897 * include/grub/i386/pc/machine.h: Likewise.
41898 * include/grub/powerpc/ieee1275/machine.h: Likewise.
41899 * include/grub/sparc64/ieee1275/machine.h: Likewise.
41900
41901 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
41902 (serial_hw_io_addr): New variable.
41903 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
41904 instead of `(unsigned short *) 0x400'.
41905
270c237d 419062007-11-10 Bean <bean123ch@gmail.com>
41907
41908 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
41909
a87783bf 419102007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41911
41912 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
41913 (vga_mod_SOURCES): Added.
41914 (vga_mod_CFLAGS): Likewise.
41915 (vga_mod_LDFLAGS): Likewise.
41916
41917 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
41918 grub_outb() calls.
41919 (set_map_mask): Likewise.
41920 (set_read_map): Likewise.
41921 (set_read_address): Likewise.
41922 (vga_font): Removed variable.
41923 (get_vga_glyph): Removed function.
41924 (invalidate_char): Likewise.
41925 (write_char): Changed to use grub_font_get_glyph() for font
41926 information.
41927 (grub_vga_putchar): Likewise.
41928 (grub_vga_getcharwidth): Likewise.
41929
6433b448 419302007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41931
41932 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
41933 flags.
41934 (pxeboot_img_LDFLAGS): Likewise.
41935 (diskboot_img_LDFLAGS): Likewise.
41936 (kernel_img_LDFLAGS): Likewise.
41937
49178511 419382007-11-06 Robert Millan <rmh@aybabtu.com>
41939
41940 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
41941 in grub_outb() calls.
41942 (serial_hw_init): Likewise.
41943
53b052de 419442007-11-05 Robert Millan <rmh@aybabtu.com>
41945
41946 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
41947 spaces. Skip non-regular files.
41948
5ab33bba 419492007-11-05 Robert Millan <rmh@aybabtu.com>
41950
41951 * kern/disk.c (grub_disk_firmware_fini)
41952 (grub_disk_firmware_is_tainted): New variables.
41953
41954 * include/grub/disk.h (grub_disk_firmware_fini)
41955 (grub_disk_firmware_is_tainted): Likewise.
41956
41957 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
41958 (grub_disk_biosdisk_fini): ... to here.
41959 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
41960 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
41961 is set. Register grub_disk_biosdisk_fini() in
41962 `grub_disk_firmware_fini'.
41963
41964 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
41965 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
41966 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
41967 to finish existing firmware disk interface.
41968
41969 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
41970 (ata_mod_SOURCES): New variable.
41971 (ata_mod_CFLAGS): Likewise.
41972 (ata_mod_LDFLAGS): Likewise.
41973
0149ab7c 419742007-11-05 Robert Millan <rmh@aybabtu.com>
41975
41976 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
41977 (grub_ata_wait): Reimplement using grub_millisleep().
41978
41979 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
41980 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
41981
be7ac41e 419822007-11-03 Marco Gerards <marco@gnu.org>
41983
41984 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
41985 (CRTC_ADDR_PORT): New macro.
41986 (CRTC_DATA_PORT): Likewise.
41987 (CRTC_CURSOR): Likewise.
41988 (CRTC_CURSOR_ADDR_HIGH): Likewise.
41989 (CRTC_CURSOR_ADDR_LOW): Likewise.
41990 (update_cursor): New function.
41991 (grub_console_real_putchar): Call `update_cursor'.
41992 (grub_console_gotoxy): Likewise.
41993 (grub_console_cls): Set the default color when clearing the
41994 screen.
41995 (grub_console_setcursor): Implemented.
41996
bb06ab2e 419972007-11-03 Marco Gerards <marco@gnu.org>
41998
41999 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
42000 become activate.
42001 (grub_ata_pio_write): Likewise.
42002
42003 (grub_atapi_identify): Wait after issuing an ATA command.
42004 (grub_atapi_packet): Likewise.
42005 (grub_ata_identify): Likewise.
42006 (grub_ata_readwrite): Likewise.
42007
cf8f780b 420082007-11-03 Marco Gerards <marco@gnu.org>
42009
42010 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
42011 (grub_ata_pio_write): Likewise.
42012 (grub_ata_readwrite): Use `grub_error', instead of
42013 returning `grub_errno'.
42014
ed649e54 420152007-11-03 Marco Gerards <marco@gnu.org>
42016
42017 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
42018 grub_ata_pio_write once for every single sector, instead of for
42019 multiple sectors.
42020
ca25d8f0 420212007-10-31 Robert Millan <rmh@aybabtu.com>
42022
42023 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
42024
42025 * conf/i386-linuxbios.rmk: New file.
42026
42027 * kern/i386/pc/hardware.c: Likewise.
42028 * term/i386/pc/at_keyboard.c: Likewise.
42029 * term/i386/pc/vga_text.c: Likewise.
42030
42031 * include/grub/i386/linuxbios/boot.h: Likewise.
42032 * include/grub/i386/linuxbios/console.h: Likewise.
42033 * include/grub/i386/linuxbios/init.h: Likewise.
42034 * include/grub/i386/linuxbios/kernel.h: Likewise.
42035 * include/grub/i386/linuxbios/loader.h: Likewise.
42036 * include/grub/i386/linuxbios/memory.h: Likewise.
42037 * include/grub/i386/linuxbios/serial.h: Likewise.
42038 * include/grub/i386/linuxbios/time.h: Likewise.
42039
42040 * kern/i386/linuxbios/init.c: Likewise.
42041 * kern/i386/linuxbios/startup.S: Likewise.
42042 * kern/i386/linuxbios/table.c: Likewise.
42043
e911ecc1 420442007-10-31 Marco Gerards <marco@gnu.org>
42045
42046 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
42047 (ata_mod_SOURCES): New variable.
42048 (ata_mod_CFLAGS): Likewise.
42049 (ata_mod_LDFLAGS): Likewise.
42050
42051 * disk/ata.c: New file.
42052
42053 * include/grub/disk.h (grub_disk_dev_id): Add
42054 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 42055
7f66d0e0 420562007-10-31 Robert Millan <rmh@aybabtu.com>
42057
42058 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
42059 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
42060
42061 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
42062 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
42063
42064 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
42065 `<grub/types.h>'.
42066
42067 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
42068
5cd7dd46 420692007-10-27 Robert Millan <rmh@aybabtu.com>
42070
3236ca65 42071 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 42072
2ebfc90f 420732007-10-22 Robert Millan <rmh@aybabtu.com>
42074
42075 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
42076 `"../realmode.S"'.
42077 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
42078
73fcb0f3 420792007-10-22 Robert Millan <rmh@aybabtu.com>
42080
42081 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
42082 (pkgdata_MODULES): Add `biosdisk.mod'.
42083 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
42084 variables.
42085
42086 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
42087 (grub_biosdisk_init): Replace with ...
42088 (GRUB_MOD_INIT(biosdisk)): ... this.
42089 (grub_biosdisk_fini): Replace with ...
42090 (GRUB_MOD_FINI(biosdisk)): ... this.
42091
42092 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
42093 (grub_machine_init): Remove call to grub_biosdisk_init().
42094 (grub_machine_fini): Remove call to grub_machine_fini().
42095
42096 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
42097
3381d274 420982007-10-22 Robert Millan <rmh@aybabtu.com>
42099
42100 * include/grub/time.h: New file.
42101 * include/grub/i386/time.h: Likewise.
42102 * include/grub/powerpc/time.h: Likewise.
42103 * include/grub/sparc64/time.h: Likewise.
42104
42105 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
42106 instances to ...
42107 (KERNEL_MACHINE_TIME_HEADER): ... this.
42108 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42109 instances to ...
42110 (KERNEL_MACHINE_TIME_HEADER): ... this.
42111 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
42112 instances to ...
42113 (KERNEL_MACHINE_TIME_HEADER): ... this.
42114
42115 * kern/i386/efi/init.c: Include `<grub/time.h>'.
42116 (grub_millisleep): New function.
42117 * kern/i386/pc/init.c: Include `<grub/time.h>'.
42118 (grub_millisleep): New function.
42119 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
42120 Remove `grub/machine/time.h' include.
42121 (grub_millisleep): New function.
42122 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
42123 Remove `grub/machine/time.h' include.
42124 (grub_millisleep): New function.
42125
42126 * include/grub/misc.h (grub_div_roundup): New function.
42127
42128 * kern/misc.c: Include `<grub/time.h>'.
42129 (grub_millisleep_generic): New function.
42130
42131 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
42132 Add `time.h'.
42133 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
42134 Add `time.h'.
42135 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
42136 `machine/time.h'. Add `time.h'.
42137 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42138
a39a0312 421392007-10-21 Robert Millan <rmh@aybabtu.com>
42140
42141 * include/grub/misc.h (grub_max): New function.
42142
2aad70e2 421432007-10-21 Robert Millan <rmh@aybabtu.com>
42144
42145 * util/misc.c (grub_util_info): Call fflush() before returning.
42146
54b71c4b 421472007-10-20 Robert Millan <rmh@aybabtu.com>
42148
42149 * genmk.rb (Image): Copy `extra_flags' from here ...
42150 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
42151
42152 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
42153 to `argc' and `args' arguments.
42154
a979f513 421552007-10-17 Robert Millan <rmh@aybabtu.com>
42156
42157 * kern/i386/loader.S: New file.
42158
42159 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
42160 * kern/i386/loader.S (grub_linux_prot_size)... to here.
42161 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
42162 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
42163 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
42164 * kern/i386/loader.S (grub_linux_real_addr)... to here.
42165 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
42166 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
42167 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
42168 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
42169 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
42170 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
42171 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
42172 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
42173
42174 * kern/i386/realmode.S: New file.
42175
42176 * kern/i386/pc/startup.S (protstack): Moved from here ...
42177 * kern/i386/realmode.S (protstack)... to here.
42178 * kern/i386/pc/startup.S (gdt): Moved from here ...
42179 * kern/i386/realmode.S (gdt)... to here.
42180 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
42181 * kern/i386/realmode.S (prot_to_real)... to here.
42182
42183 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
42184 `kern/i386/realmode.S'.
42185
825fc8fd 421862007-10-17 Robert Millan <rmh@aybabtu.com>
42187
42188 * include/grub/i386/loader.h: New file.
42189
42190 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
42191 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42192 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42193 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42194 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
42195 * include/grub/i386/loader.h (grub_linux_prot_size)
42196 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
42197 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
42198 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
42199 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
42200
42201 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
42202
e179b2f4 422032007-10-15 Robert Millan <rmh@aybabtu.com>
42204
42205 * normal/misc.c (grub_normal_print_device_info): Do not probe for
42206 filesystem when dev->disk is unset.
42207 Do probe for filesystem even when dev->disk->has_partitions is set.
42208 In case a filesystem is found, always report it.
42209 In case it isn't, if dev->disk->has_partitions is set, report that
42210 a partition table was found instead of reporting that no filesystem
42211 could be identified.
42212
5db82af6 422132007-10-12 Robert Millan <rmh@aybabtu.com>
42214
42215 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
42216 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
42217
68f6ac74 42218 * include/grub/types.h (grub_host_to_target16): New macro.
42219 (grub_host_to_target32): Likewise.
42220 (grub_host_to_target64): Likewise.
42221 (grub_target_to_host16): Likewise.
42222 (grub_target_to_host32): Likewise.
42223 (grub_target_to_host64): Likewise.
5db82af6 42224
42225 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42226 Renamed from to ...
42227 (GRUB_MOD_ALIGN): ...this. Update all users.
42228
68f6ac74 42229 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
42230 grub_host_to_target32.
42231 Replace grub_be_to_cpu32 with grub_target_to_host32.
42232 (load_modules): Likewise.
42233 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
42234 Replace grub_be_to_cpu32 with grub_target_to_host32.
42235 Replace grub_cpu_to_be16 with grub_host_to_target16.
42236 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 42237
3cf497cc 422382007-10-12 Robert Millan <rmh@aybabtu.com>
42239
42240 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
42241 * util/elf/grub-mkimage.c: ... here.
42242
42243 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
42244 `util/powerpc/ieee1275/grub-mkimage.c'.
42245
c8cc3692 422462007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 42247
c8cc3692 42248 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
42249 and make it easier to figure out.
42250 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
42251 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
42252 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
42253 leave us with less than HEAP_MIN_SIZE total heap.
42254 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 42255
5c58b791 422562007-10-03 Robert Millan <rmh@aybabtu.com>
42257
42258 * include/grub/i386/io.h: New file.
42259 * commands/i386/pc/play.c (inb): Removed.
42260 (outb): Removed.
42261 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42262 with grub_outb().
afcd2ef8 42263 * term/i386/pc/serial.c (inb): Removed.
42264 (outb): Removed.
42265 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42266 with grub_outb().
42267 * term/i386/pc/vga.c (inb): Removed.
42268 (outb): Removed.
42269 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42270 with grub_outb().
5c58b791 42271
1a477ed6 422722007-10-02 Robert Millan <rmh@aybabtu.com>
42273
42274 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42276 Reported by Marcin Kurek.
42277
6b5d80fa 422782007-09-07 Robert Millan <rmh@aybabtu.com>
42279
42280 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42281 SmartFirmware version updates (as released by Sven Luther), and avoid
42282 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42283 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42284 known broken.
42285
5618afbf 422862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42287
42288 From Hitoshi Ozeki:
42289 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42290 when merging two regions.
42291
6139dcd9 422922007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42293
508e39ee 42294 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42295 * normal/completion.c (grub_normal_do_completion): Likewise.
42296 Reported by Hitoshi Ozeki.
42297
422982007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42299
6139dcd9 42300 Do not use devices at boot in chainloading.
f19dbdb7 42301
6139dcd9 42302 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42303 (boot_part_addr): Likewise.
42304 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42305 with BOOT_DRIVE and BOOT_PART_ADDR.
42306 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42307 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42308
38da6516 423092007-08-29 Robert Millan <rmh@aybabtu.com>
42310
42311 Patch from Simon Peter <dn.tlp@gmx.net>:
42312 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42313 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42314 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42315 util/i386/pc/grub-setup.c_DEPENDENCIES.
42316 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42317 util/grub-probe.c_DEPENDENCIES.
42318 * conf/powerpc-ieee1275.rmk: Likewise.
42319
29d0928c 423202007-08-28 Robert Millan <rmh@aybabtu.com>
42321
42322 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42323 to tell grub-mkdevicemap how to name devices.
42324 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42325 feature).
42326
42327 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42328 util/i386/get_disk_name.c.
42329 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42330 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42331 util/ieee1275/get_disk_name.c.
42332
42333 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42334
42335 * DISTLIST: Add util/i386/get_disk_name.c and
42336 util/ieee1275/get_disk_name.c.
42337
42338 * util/grub-mkdevicemap.c: Replace device naming logic with
42339 grub_util_get_disk_name() calls.
42340
5a0d3cca 423412007-08-20 Robert Millan <rmh@aybabtu.com>
42342
42343 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42344 (so that it works for both plural and singular quantities).
42345
8b72db2f 423462007-08-05 Robert Millan <rmh@aybabtu.com>
42347
42348 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42349 so that [xz] isn't taken into account when determining order.
42350
352466bf 423512007-08-02 Marco Gerards <marco@gnu.org>
42352
42353 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42354 `include/multiboot2.h', `include/grub/elfload.h',
42355 `include/multiboot.h', `include/grub/multiboot.h',
42356 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42357 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42358 `kern/elf.c', `loader/multiboot_loader.c',
42359 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42360 `loader/i386/pc/multiboot2.c',
42361 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42362 `util/i386/pc/grub-mkrescue.in'. Remove
42363 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42364 `include/grub/i386/pc/util/biosdisk.h' and
42365 `include/grub/powerpc/ieee1275/multiboot.h'.
42366
8f096014 423672007-08-02 Bean <bean123ch@gmail.com>
42368
42369 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42370 (ntfs_mod_SOURCES): New variable.
42371 (ntfs_mod_CFLAGS): Likewise.
42372 (ntfs_mod_LDFLAGS): Likewise.
42373
42374 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42375 (grub_probe_SOURCES): Likewise.
42376 (grub_emu_SOURCES): Likewise.
42377
42378 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42379 (grub_emu_SOURCES): Likewise.
42380
42381 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42382 (grub_emu_SOURCES): Likewise.
f19dbdb7 42383
8f096014 42384 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42385
42386 * fs/ntfs.c: New file.
42387
9959f7db 423882007-08-02 Bean <bean123ch@gmail.com>
42389
42390 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42391
42392 * file.h (grub_file): Likewise.
42393
42394 * fshelp.h (grub_fshelp_read_file): Likewise.
42395
42396 * util/i386/pc/grub-setup.c (setup): Likewise.
42397 (save_first_sector): Likewise.
42398 (save_blocklists): Likewise.
f19dbdb7 42399
9959f7db 42400 * fs/affs.c (grub_affs_read_file): Likewise.
42401
42402 * fs/ext2.c (grub_ext2_read_file): Likewise.
42403
42404 * fs/fat.c (grub_fat_read_data): Likewise.
42405
42406 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42407
42408 * fs/hfs.c (grub_hfs_read_file): Likewise.
42409
42410 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42411
42412 * fs/jfs.c (grub_jfs_read_file): Likewise.
42413
42414 * fs/minix.c (grub_minix_read_file): Likewise.
42415
42416 * fs/sfs.c (grub_sfs_read_file): Likewise.
42417
42418 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42419
9959f7db 42420 * fs/xfs.c (grub_xfs_read_file): Likewise.
42421
42422 * command/blocklist.c (read_blocklist): Likewise.
42423 (print_blocklist): Likewise.
42424
0a203f83 424252007-08-02 Marco Gerards <marco@gnu.org>
42426
42427 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42428 `util/hostfs.c'.
42429
42430 * disk/host.c: New file.
42431
42432 * util/hostfs.c: Likewise.
42433
42434 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42435 return `GRUB_ERR_BAD_FS'.
42436 * fs/sfs.c (grub_sfs_mount): Likewise.
42437 * fs/xfs.c (grub_xfs_mount): Likewise.
42438
42439 * include/grub/disk.h (enum grub_disk_dev_id): Add
42440 `GRUB_DISK_DEVICE_HOST_ID'.
42441
42442 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42443
e5dfe777 424442007-07-24 Jerone Young <jerone@gmail.com>
42445
f19dbdb7 42446 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42447 modules for compilation.
42448 * conf/powerpc-ieee1275.rmk: Likewise.
42449
42450 * include/multiboot.h: Move multiboot definitions to one file. Rename
42451 many definitions to not get grub specific.
42452 * include/multiboot2.h: Create header with multiboot 2 definitions.
42453 * include/grub/multiboot.h: Header for grub specific function
42454 prototypes and definitions.
42455 * include/grub/multiboot2.h: Likewise.
42456 * include/grub/multiboot_loader.h: Likewise.
42457 * include/grub/i386/pc/multiboot.h: Removed.
42458 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42459
42460 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42461 and 2 to allow for one multiboot and module commands.
42462 * loader/multiboot2.c: Add multiboot2 functionality.
42463 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42464 and definition names.
42465 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42466 2 functions.
42467 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42468 ieee1275 specific multiboot2 code.
42469
42470 * kern/i386/pc/startup.S: Change headers and definition names for
42471 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42472
daf0f0ba 424732007-07-22 Robert Millan <rmh@aybabtu.com>
42474
42475 * geninitheader.sh: Process file specified in first parameter rather
42476 than hardcoding grub_modules_init.lst.
fe6b695a 42477 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42478 than hardcoding grub_modules_init.h.
42479
42480 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42481 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42482 grub_probe_init.[ch] and grub_setup_init.[ch].
42483
42484 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42485 grub_modules_init.h with grub_emu_init.h.
42486 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42487 grub_probe_init.[ch] files.
42488 * conf/i386-efi.rmk: Likewise.
42489 * conf/i386-pc.rmk: Likewise.
42490 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42491 grub_setup_init.[ch] files.
42492
42493 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42494 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42495 to initialize modules rather than a list of hardcoded functions.
42496 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42497 grub_init_all() to initialize modules rather than a list of hardcoded
42498 functions.
42499
54cdc1cc 425002007-07-22 Robert Millan <rmh@aybabtu.com>
42501
42502 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42503 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42504
ad0686cc 425052007-07-22 Robert Millan <rmh@aybabtu.com>
42506
42507 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42508 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42509 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42510 flag when running on SmartFirmware.
42511 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42512 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42513 was set.
42514
42515 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42516 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42517 rather than decreasing it.
42518
42519 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42520 there's not enough space to do it, fail in the same way as when it
42521 can't be done because there are no partitions.
42522
42523 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42524 when nvsetenv failed.
42525
969c02ec 425262007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42527
42528 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42529 because this rule is automatically generated.
42530 (grub-mkrescue): Removed for the same reason as above.
42531
5a79f472 425322007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42533
42534 Migrate to GNU General Public License Version 3.
f19dbdb7 42535
5a79f472 42536 * COPYING: Replaced with the plain text version of GPLv3.
42537
42538 * config.guess: Updated from gnulib.
42539 * config.sub: Likewise.
42540
42541 * geninit.sh: Output a GPLv3 copyright notice.
42542 * geninitheader.sh: Likewise.
42543 * genmodsrc.sh: Likewise.
42544 * gensymlist.sh.in: Likewise.
42545
42546 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42547 * boot/i386/pc/diskboot.S: Likewise.
42548 * boot/i386/pc/pxeboot.S: Likewise.
42549 * commands/blocklist.c: Likewise.
42550 * commands/boot.c: Likewise.
42551 * commands/cat.c: Likewise.
42552 * commands/cmp.c: Likewise.
42553 * commands/configfile.c: Likewise.
42554 * commands/echo.c: Likewise.
42555 * commands/help.c: Likewise.
42556 * commands/ls.c: Likewise.
42557 * commands/search.c: Likewise.
42558 * commands/terminal.c: Likewise.
42559 * commands/test.c: Likewise.
42560 * commands/videotest.c: Likewise.
42561 * commands/i386/cpuid.c: Likewise.
42562 * commands/i386/pc/halt.c: Likewise.
42563 * commands/i386/pc/play.c: Likewise.
42564 * commands/i386/pc/reboot.c: Likewise.
42565 * commands/i386/pc/vbeinfo.c: Likewise.
42566 * commands/i386/pc/vbetest.c: Likewise.
42567 * commands/ieee1275/halt.c: Likewise.
42568 * commands/ieee1275/reboot.c: Likewise.
42569 * commands/ieee1275/suspend.c: Likewise.
42570 * disk/loopback.c: Likewise.
42571 * disk/lvm.c: Likewise.
42572 * disk/raid.c: Likewise.
42573 * disk/efi/efidisk.c: Likewise.
42574 * disk/i386/pc/biosdisk.c: Likewise.
42575 * disk/ieee1275/ofdisk.c: Likewise.
42576 * font/manager.c: Likewise.
42577 * fs/affs.c: Likewise.
42578 * fs/ext2.c: Likewise.
42579 * fs/fat.c: Likewise.
42580 * fs/fshelp.c: Likewise.
42581 * fs/hfs.c: Likewise.
42582 * fs/hfsplus.c: Likewise.
42583 * fs/iso9660.c: Likewise.
42584 * fs/jfs.c: Likewise.
42585 * fs/minix.c: Likewise.
42586 * fs/sfs.c: Likewise.
42587 * fs/ufs.c: Likewise.
42588 * fs/xfs.c: Likewise.
42589 * hello/hello.c: Likewise.
42590 * include/grub/acorn_filecore.h: Likewise.
42591 * include/grub/arg.h: Likewise.
42592 * include/grub/bitmap.h: Likewise.
42593 * include/grub/boot.h: Likewise.
42594 * include/grub/cache.h: Likewise.
42595 * include/grub/device.h: Likewise.
42596 * include/grub/disk.h: Likewise.
42597 * include/grub/dl.h: Likewise.
42598 * include/grub/elfload.h: Likewise.
42599 * include/grub/env.h: Likewise.
42600 * include/grub/err.h: Likewise.
42601 * include/grub/file.h: Likewise.
42602 * include/grub/font.h: Likewise.
42603 * include/grub/fs.h: Likewise.
42604 * include/grub/fshelp.h: Likewise.
42605 * include/grub/gzio.h: Likewise.
42606 * include/grub/hfs.h: Likewise.
42607 * include/grub/kernel.h: Likewise.
42608 * include/grub/loader.h: Likewise.
42609 * include/grub/lvm.h: Likewise.
42610 * include/grub/misc.h: Likewise.
42611 * include/grub/mm.h: Likewise.
42612 * include/grub/net.h: Likewise.
42613 * include/grub/normal.h: Likewise.
42614 * include/grub/parser.h: Likewise.
42615 * include/grub/partition.h: Likewise.
42616 * include/grub/pc_partition.h: Likewise.
42617 * include/grub/raid.h: Likewise.
42618 * include/grub/rescue.h: Likewise.
42619 * include/grub/script.h: Likewise.
42620 * include/grub/setjmp.h: Likewise.
42621 * include/grub/symbol.h: Likewise.
42622 * include/grub/term.h: Likewise.
42623 * include/grub/terminfo.h: Likewise.
42624 * include/grub/tparm.h: Likewise.
42625 * include/grub/types.h: Likewise.
42626 * include/grub/video.h: Likewise.
42627 * include/grub/efi/api.h: Likewise.
42628 * include/grub/efi/chainloader.h: Likewise.
42629 * include/grub/efi/console.h: Likewise.
42630 * include/grub/efi/console_control.h: Likewise.
42631 * include/grub/efi/disk.h: Likewise.
42632 * include/grub/efi/efi.h: Likewise.
42633 * include/grub/efi/pe32.h: Likewise.
42634 * include/grub/efi/time.h: Likewise.
42635 * include/grub/i386/linux.h: Likewise.
42636 * include/grub/i386/setjmp.h: Likewise.
42637 * include/grub/i386/types.h: Likewise.
42638 * include/grub/i386/efi/kernel.h: Likewise.
42639 * include/grub/i386/efi/loader.h: Likewise.
42640 * include/grub/i386/efi/time.h: Likewise.
42641 * include/grub/i386/pc/biosdisk.h: Likewise.
42642 * include/grub/i386/pc/boot.h: Likewise.
42643 * include/grub/i386/pc/chainloader.h: Likewise.
42644 * include/grub/i386/pc/console.h: Likewise.
42645 * include/grub/i386/pc/init.h: Likewise.
42646 * include/grub/i386/pc/kernel.h: Likewise.
42647 * include/grub/i386/pc/loader.h: Likewise.
42648 * include/grub/i386/pc/memory.h: Likewise.
42649 * include/grub/i386/pc/multiboot.h: Likewise.
42650 * include/grub/i386/pc/serial.h: Likewise.
42651 * include/grub/i386/pc/time.h: Likewise.
42652 * include/grub/i386/pc/vbe.h: Likewise.
42653 * include/grub/i386/pc/vbeblit.h: Likewise.
42654 * include/grub/i386/pc/vbefill.h: Likewise.
42655 * include/grub/i386/pc/vbeutil.h: Likewise.
42656 * include/grub/i386/pc/vga.h: Likewise.
42657 * include/grub/ieee1275/ieee1275.h: Likewise.
42658 * include/grub/ieee1275/ofdisk.h: Likewise.
42659 * include/grub/powerpc/libgcc.h: Likewise.
42660 * include/grub/powerpc/setjmp.h: Likewise.
42661 * include/grub/powerpc/types.h: Likewise.
42662 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42663 * include/grub/powerpc/ieee1275/console.h: Likewise.
42664 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42665 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42666 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42667 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42668 * include/grub/powerpc/ieee1275/time.h: Likewise.
42669 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42670 * include/grub/sparc64/libgcc.h: Likewise.
42671 * include/grub/sparc64/setjmp.h: Likewise.
42672 * include/grub/sparc64/types.h: Likewise.
42673 * include/grub/sparc64/ieee1275/console.h: Likewise.
42674 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42675 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42676 * include/grub/sparc64/ieee1275/time.h: Likewise.
42677 * include/grub/util/biosdisk.h: Likewise.
42678 * include/grub/util/getroot.h: Likewise.
42679 * include/grub/util/lvm.h: Likewise.
42680 * include/grub/util/misc.h: Likewise.
42681 * include/grub/util/raid.h: Likewise.
42682 * include/grub/util/resolve.h: Likewise.
42683 * io/gzio.c: Likewise.
42684 * kern/device.c: Likewise.
42685 * kern/disk.c: Likewise.
42686 * kern/dl.c: Likewise.
42687 * kern/elf.c: Likewise.
42688 * kern/env.c: Likewise.
42689 * kern/err.c: Likewise.
42690 * kern/file.c: Likewise.
42691 * kern/fs.c: Likewise.
42692 * kern/loader.c: Likewise.
42693 * kern/main.c: Likewise.
42694 * kern/misc.c: Likewise.
42695 * kern/mm.c: Likewise.
42696 * kern/parser.c: Likewise.
42697 * kern/partition.c: Likewise.
42698 * kern/rescue.c: Likewise.
42699 * kern/term.c: Likewise.
42700 * kern/efi/efi.c: Likewise.
42701 * kern/efi/init.c: Likewise.
42702 * kern/efi/mm.c: Likewise.
42703 * kern/i386/dl.c: Likewise.
42704 * kern/i386/efi/init.c: Likewise.
42705 * kern/i386/efi/startup.S: Likewise.
42706 * kern/i386/pc/init.c: Likewise.
42707 * kern/i386/pc/lzo1x.S: Likewise.
42708 * kern/i386/pc/startup.S: Likewise.
42709 * kern/ieee1275/ieee1275.c: Likewise.
42710 * kern/powerpc/cache.S: Likewise.
42711 * kern/powerpc/dl.c: Likewise.
42712 * kern/powerpc/ieee1275/cmain.c: Likewise.
42713 * kern/powerpc/ieee1275/crt0.S: Likewise.
42714 * kern/powerpc/ieee1275/init.c: Likewise.
42715 * kern/powerpc/ieee1275/openfw.c: Likewise.
42716 * kern/sparc64/cache.S: Likewise.
42717 * kern/sparc64/dl.c: Likewise.
42718 * kern/sparc64/ieee1275/init.c: Likewise.
42719 * kern/sparc64/ieee1275/openfw.c: Likewise.
42720 * loader/efi/chainloader.c: Likewise.
42721 * loader/efi/chainloader_normal.c: Likewise.
42722 * loader/i386/efi/linux.c: Likewise.
42723 * loader/i386/efi/linux_normal.c: Likewise.
42724 * loader/i386/pc/chainloader.c: Likewise.
42725 * loader/i386/pc/chainloader_normal.c: Likewise.
42726 * loader/i386/pc/linux.c: Likewise.
42727 * loader/i386/pc/linux_normal.c: Likewise.
42728 * loader/i386/pc/multiboot.c: Likewise.
42729 * loader/i386/pc/multiboot_normal.c: Likewise.
42730 * loader/powerpc/ieee1275/linux.c: Likewise.
42731 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42732 * normal/arg.c: Likewise.
42733 * normal/cmdline.c: Likewise.
42734 * normal/command.c: Likewise.
42735 * normal/completion.c: Likewise.
42736 * normal/execute.c: Likewise.
42737 * normal/function.c: Likewise.
42738 * normal/lexer.c: Likewise.
42739 * normal/main.c: Likewise.
42740 * normal/menu.c: Likewise.
42741 * normal/menu_entry.c: Likewise.
42742 * normal/misc.c: Likewise.
42743 * normal/parser.y: Likewise.
42744 * normal/script.c: Likewise.
42745 * normal/i386/setjmp.S: Likewise.
42746 * normal/powerpc/setjmp.S: Likewise.
42747 * normal/sparc64/setjmp.S: Likewise.
42748 * partmap/acorn.c: Likewise.
42749 * partmap/amiga.c: Likewise.
42750 * partmap/apple.c: Likewise.
42751 * partmap/gpt.c: Likewise.
42752 * partmap/pc.c: Likewise.
42753 * partmap/sun.c: Likewise.
42754 * term/gfxterm.c: Likewise.
42755 * term/terminfo.c: Likewise.
42756 * term/efi/console.c: Likewise.
42757 * term/i386/pc/console.c: Likewise.
42758 * term/i386/pc/serial.c: Likewise.
42759 * term/i386/pc/vesafb.c: Likewise.
42760 * term/i386/pc/vga.c: Likewise.
42761 * term/ieee1275/ofconsole.c: Likewise.
42762 * util/biosdisk.c: Likewise.
42763 * util/console.c: Likewise.
42764 * util/genmoddep.c: Likewise.
42765 * util/getroot.c: Likewise.
42766 * util/grub-emu.c: Likewise.
42767 * util/grub-mkdevicemap.c: Likewise.
42768 * util/grub-probe.c: Likewise.
42769 * util/lvm.c: Likewise.
42770 * util/misc.c: Likewise.
42771 * util/raid.c: Likewise.
42772 * util/resolve.c: Likewise.
42773 * util/update-grub.in: Likewise.
42774 * util/update-grub_lib.in: Likewise.
42775 * util/grub.d/00_header.in: Likewise.
42776 * util/grub.d/10_hurd.in: Likewise.
42777 * util/grub.d/10_linux.in: Likewise.
42778 * util/i386/efi/grub-install.in: Likewise.
42779 * util/i386/efi/grub-mkimage.c: Likewise.
42780 * util/i386/pc/grub-install.in: Likewise.
42781 * util/i386/pc/grub-mkimage.c: Likewise.
42782 * util/i386/pc/grub-mkrescue.in: Likewise.
42783 * util/i386/pc/grub-setup.c: Likewise.
42784 * util/i386/pc/misc.c: Likewise.
42785 * util/powerpc/ieee1275/grub-install.in: Likewise.
42786 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42787 * util/powerpc/ieee1275/misc.c: Likewise.
42788 * video/bitmap.c: Likewise.
42789 * video/video.c: Likewise.
42790 * video/i386/pc/vbe.c: Likewise.
42791 * video/i386/pc/vbeblit.c: Likewise.
42792 * video/i386/pc/vbefill.c: Likewise.
42793 * video/i386/pc/vbeutil.c: Likewise.
42794 * video/readers/tga.c: Likewise.
42795
3572d015 427962007-07-02 Robert Millan <rmh@aybabtu.com>
42797
42798 * conf/i386-efi.rmk: Replace obsolete reference to
42799 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42800 with util/getroot.c.
42801 * conf/powerpc-ieee1275.rmk: Likewise.
42802 * conf/sparc64-ieee1275.rmk: Likewise.
42803
42804 * util/grub-emu.c (main): Fix unchecked pointer handling.
42805
2c2a681b 428062007-07-02 Robert Millan <rmh@aybabtu.com>
42807
42808 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42809 invocation to fail, in order to support partition-less media.
42810
42811 * util/i386/pc/grub-install.in: Likewise.
42812
42813 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42814 which fs or partmap modules are needed (akin to its sister scripts).
42815
42816 Also use grub-probe to get rid of unportable /proc/mounts check.
42817
42818 Print the same informational message that the other scripts do, before
fe6b695a 42819 exiting.
2c2a681b 42820
6193defe 428212007-06-23 Robert Millan <rmh@aybabtu.com>
42822
fe6b695a 42823 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42824 a font file can be found and, if so, echo the GRUB path to it.
42825
42826 * util/update-grub.in: Handle multiple terminals depending on user
42827 input, platform availability and font file presence. Propagate
42828 variables of our findings to /etc/grub.d/ children.
42829
42830 * util/grub.d/00_header.in: Handle multiple terminals, based on
42831 environment setup by update-grub.
42832
eface1dc 428332007-06-23 Robert Millan <rmh@aybabtu.com>
42834
ba50d28f 42835 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42836
bf697e28 428372007-06-21 Robert Millan <rmh@aybabtu.com>
42838
42839 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42840 indicate end of data section in kernel image.
42841 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42842 GRUB_KERNEL_MACHINE_DATA_END.
42843
42844 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42845 space for it.
42846 * kern/i386/efi/startup.S: Likewise.
42847
42848 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42849 during image generation. Implement --prefix option to override this
42850 patch.
42851 * util/i386/efi/grub-mkimage.c: Likewise.
42852
42853 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42854 code to make path relative to its root into a separate function.
42855
42856 * util/i386/pc/grub-install.in: Use newly provided
42857 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42858 pass the result to grub-install --prefix.
42859
baa574b4 428602007-06-13 Robert Millan <rmh@aybabtu.com>
42861
42862 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
42863 DEFAULT_DEVICE_MAP.
42864 * util/grub-emu.c: Use above definitions from misc.h instead of
42865 defining them.
42866 * util/grub-mkdevicemap.c: Likewise.
42867 * util/i386/pc/grub-setup.c: Likewise.
42868 * util/grub-probe.c: Likewise.
42869 (probe): Abort with grub_util_error() when either
42870 grub_guess_root_device or grub_util_get_grub_dev fails.
42871
0215dcbf 428722007-06-12 Robert Millan <rmh@aybabtu.com>
42873
42874 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
42875 "pager" assignment.
42876 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
42877 "pcdata".
42878 * util/grub-probe.c (probe): Likewise for "drive_name".
42879
8af2ab7b 428802007-06-11 Robert Millan <rmh@aybabtu.com>
42881
42882 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
42883 not just the cdrom one.
42884
59d31694 428852007-06-11 Robert Millan <rmh@aybabtu.com>
42886
42887 * util/i386/pc/grub-mkrescue.in: Add "set -e".
42888 Add --pkglibdir=DIR option to override pkglibdir.
42889 Mention --image-type=TYPE in help output.
42890 Fix --grub-mkimage (it was a no-op).
fe6b695a 42891 Abort gracefully when no parameter is given.
59d31694 42892
7ee367e4 428932007-06-11 Robert Millan <rmh@aybabtu.com>
42894
42895 * util/i386/pc/grub-mkrescue.in: New file.
42896 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
42897 * Makefile.in: Handle bin_SCRIPTS.
42898
29b0ed46 428992007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
42900
42901 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
42902 list of video modes.
42903
c0f90770 429042007-06-06 Robert Millan <rmh@aybabtu.com>
42905
42906 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
42907 file doesn't exist, or if it is in a filesystem grub can't read.
42908
42909 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
42910 not abort if GRUB_DRIVE could not be defined. Rearrange generated
42911 header comment to fit in 80 columns when the variables are resolved.
42912
42913 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
42914 could be identified by update-grub. Remove redundant check for
fe6b695a 42915 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 42916 handles that).
42917
fb36dc26 429182007-06-04 Robert Millan <rmh@aybabtu.com>
42919
42920 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
42921
42922 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
42923
42924 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
42925
0c68c93e 429262007-06-04 Robert Millan <rmh@aybabtu.com>
42927
42928 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
42929
42930 * include/grub/partition.h: Declare grub_apple_partition_map_init and
42931 grub_apple_partition_map_fini.
42932
42933 * util/biosdisk.c
42934 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
42935 to access >2 TiB disks).
42936
42937 Print disk->total_sectors with %llu instead of %lu, since this
42938 variable is always 64-bit (prevents wrong disk size from being displayed
42939 on either >2 TiB disk or big-endian CPU).
42940
42941 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
42942 into a generic case that supports all (sane) partition maps.
42943
42944 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
42945 breaks big-endian.
42946
42947 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
42948 and grub_apple_partition_map_fini() after that.
42949
0f23eb74 429502007-06-01 Robert Millan <rmh@aybabtu.com>
42951
42952 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
42953
42954 * util/grub.d/00_header.in: Only enable gfxterm when
42955 convert_system_path_to_grub_path() succeeds.
42956
42c71976 429572007-05-20 Robert Millan <rmh@aybabtu.com>
42958
42959 * util/update-grub_lib.in: New file.
42960 * DISTLIST: Add update-grub_lib.in.
42961 * conf/common.rmk: Generate update-grub_lib and install it in
42962 $(lib_DATA).
42963 * Makefile.in: Add install routine for $(lib_DATA).
42964
42965 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
42966 function provided by update-grub_lib to support arbitrary paths of
42967 unifont.pff.
42968 * util/update-grub.in: Use convert_system_path_to_grub_path() to
42969 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
42970
5beb2291 429712007-05-19 Robert Millan <rmh@aybabtu.com>
42972
42973 * commands/i386/cpuid.c: New module.
42974 * DISTLIST: Add it.
42975 * conf/i386-efi.rmk: Enable cpuid.mod.
42976 * conf/i386-pc.rmk: Likewise.
42977
7262eca1 429782007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42979
42980 * kern/disk.c (grub_disk_read): Check return value of
42981 grub_realloc().
42982
260ba823 429832007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42984
42985 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
42986 arrays.
42987 * disk/raid.c (grub_raid_open): Likewise.
42988
1ecb6cf2 429892007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42990
42991 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
42992 stack instead of on the heap.
42993
42994 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
42995 before doing a read on it.
42996
42997 * configure.ac: Only use -fno-stack-protector for the target
42998 environment.
f19dbdb7 42999
21c8cbb1 430002007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
43001
43002 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
43003 __attribute_ ((unused)) to mode_type argument.
43004
43005 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 43006
21c8cbb1 43007 * kern/misc.c (memcmp): Fix prototype.
43008
43009 * include/grub/partition.h [GRUB_UTIL]
43010 (grub_gpt_partition_map_init): Add prototype.
43011 (grub_gpt_partition_map_fini): Likewise.
43012
43013 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
43014 at the right place.
43015
43016 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
43017 (grub_fat_read_data): Likewise.
43018 (grub_fat_find_dir): Likewise.
43019
43020 * font/manager.c (find_glyph): Make table a const.
43021 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 43022
849d55d3 430232007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
43024
43025 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
43026 code, first search for device in /dev/mapper, then in /dev.
43027 (grub_util_get_grub_dev): New function.
43028 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
43029 prototype.
43030 * util/grub-probe.c (probe): Remove check for RAID, call
43031 grub_util_get_grub_dev() instead of
43032 grub_util_biosdisk_get_grub_dev().
43033 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
43034 grub_util_biosdisk_get_grub_dev().
43035 * util/i386/pc/grub-setup.c (main): Likewise.
43036
8fff7c2f 430372007-05-16 Robert Millan <rmh@aybabtu.com>
43038
43039 * DISTLIST: Update for the latest changes.
43040 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
43041 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
43042 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
43043 grub/util/biosdisk.h.
43044 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
43045 grub/util/biosdisk.h.
43046
48e12b52 430472007-05-16 Robert Millan <rmh@aybabtu.com>
43048
43049 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
43050
46b9d128 430512007-05-16 Robert Millan <rmh@aybabtu.com>
43052
43053 * util/i386/efi/grub-install.in: New.
43054 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
43055 newly added grub-install.
43056 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
43057 include.
43058 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
43059 grub/util/biosdisk.h.
43060 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
43061 grub/util/biosdisk.h.
43062
2d1a40a9 430632007-05-16 Robert Millan <rmh@aybabtu.com>
43064
43065 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
43066 * include/grub/util/biosdisk.h: ... here.
43067 * util/i386/pc/biosdisk.c: Moved to ...
43068 * util/biosdisk.c: ... here.
43069 * util/i386/pc/getroot.c: Moved to ...
43070 * util/getroot.c: ... here.
43071 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
43072 * util/grub-mkdevicemap.c: ... here.
43073 * util/i386/pc/grub-probe.c: Moved to ...
43074 * util/grub-probe.c: ... here.
43075
9e26e3bc 430762007-05-15 Robert Millan <rmh@aybabtu.com>
43077
43078 * util/update-grub.in: Remove duplicated line in grub.cfg header
43079 message.
43080
57f96397 430812007-05-13 Robert Millan <rmh@aybabtu.com>
43082
43083 * util/update-grub.in: Fix a few assumptions about the devices holding
43084 /, /boot and /boot/grub being the same.
43085 * util/grub.d/00_header.in: Likewise.
43086 * util/grub.d/10_hurd.in: Likewise.
43087 * util/grub.d/10_linux.in: Likewise.
43088
43089 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
43090 patterns. Use that to define the `.old' suffix as older than `'.
43091
43092 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
43093
43094 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
43095 the grub.cfg header message.
43096
2e610d62 430972007-05-11 Robert Millan <rmh@aybabtu.com>
43098
43099 * util/update-grub.in: Create device.map if it doesn't already exist,
43100 before attempting to run grub-probe.
43101 Check for grub-probe and grub-mkdevicemap with the same code
43102 grub-install is using.
43103 Remove test mode.
43104
3f6a10ef 431052007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
43106
43107 * Makefile.in: Add the datarootdir autoconf variable.
43108
02e7b75e 431092007-05-09 Robert Millan <rmh@aybabtu.com>
43110
43111 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 43112 fail gracefully if dev->disk->partition == NULL.
02e7b75e 43113
75f396cc 431142007-05-07 Robert Millan <rmh@aybabtu.com>
43115
43116 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
43117 determine partition map module.
43118 * util/i386/pc/grub-install.in: Use this feature to decide which
43119 partition module to load, instead of hardcoding pc and gpt.
43120
da65cb36 431212007-05-07 Robert Millan <rmh@aybabtu.com>
43122
43123 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
43124 source directory differs from build directory.
43125
b57d6a91 431262007-05-05 Robert Millan <rmh@aybabtu.com>
43127
43128 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
43129 initialisation.
43130
509d00f1 431312007-05-05 Robert Millan <rmh@aybabtu.com>
43132
43133 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
43134
c48f23ef 431352007-05-05 Robert Millan <rmh@aybabtu.com>
43136
43137 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
43138 command-line arguments via ${GRUB_CMDLINE_LINUX}.
43139
20b97658 431402007-05-05 Robert Millan <rmh@aybabtu.com>
43141
43142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
43143 (grub_probe_SOURCES): Likewise.
43144 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
43145 GPT and initialize dos_part and bsd_part accordingly.
43146 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
43147 install_bsd_part.
43148 (main): Activate gpt module for use during partition identification,
43149 and deactivate it afterwards.
43150 * util/i386/pc/grub-install.in: Add gpt module to core.img.
43151 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
43152 partition identification, and deactivate it afterwards.
43153
99123174 431542007-05-05 Robert Millan <rmh@aybabtu.com>
43155
43156 * term/i386/pc/console.c (grub_console_fini): Call
43157 grub_term_set_current() before grub_term_unregister().
43158
ebd97f6e 431592007-05-04 Robert Millan <rmh@aybabtu.com>
43160
43161 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
43162 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
43163 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
43164 and update-grub_DATA.
43165 * conf/common.rmk: Build and install update-grub components.
43166 * conf/common.mk: Regenerate.
43167 * util/update-grub.in: New. Core of update-grub.
43168 * util/grub.d/00_header.in: New. Generates grub.cfg header.
43169 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
43170 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
43171 * util/grub.d/README: New. Document grub.d directory layout.
43172
b06a264d 431732007-05-01 Robert Millan <rmh@aybabtu.com>
43174
43175 * util/grub-emu.c: Move initialization functions
43176 grub_util_biosdisk_init() and grub_init_all() before
43177 grub_util_biosdisk_get_grub_dev(), which relies on them.
43178
41f0050e 431792007-04-19 Robert Millan <rmh@aybabtu.com>
43180
43181 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
43182 it is used later.
43183
04582bb3 431842007-04-18 Jerone Young <jerone@gmail.com>
43185
f19dbdb7 43186 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 43187 stanza.
43188
08db4632 431892007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 43190
08db4632 43191 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
43192 continue on and look for device node with real device name.
43193
801b76be 431942007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 43195
fe6b695a 43196 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 43197 ability.
43198 * Makefile.in: Add autoconf package transformation code.
43199 * util/i386/pc/grub-install.in: Likewise.
43200 * util/powerpc/ieee1275/grub-install.in: Likewise.
43201
6795c4e1 432022007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43203
43204 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
43205 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
43206 (EXT2_REVISION): Likewise.
43207 (EXT2_INODE_SIZE): Likewise.
43208 (struct grub_ext2_block_group): Added a missing member
43209 "used_dirs".
43210 (grub_ext2_read_inode): Divide by the inode size in a superblock
43211 instead of 128 to obtain INODES_PER_BLOCK.
43212 Use the macro EXT2_INODE_SIZE instead of directly using
43213 SBLOCK->INODE_SIZE.
43214
d70af616 432152007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43216
43217 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
43218 superblock instead of the structure size to compute an
43219 offset. This fixes the problem that GRUB could not read a
43220 filesystem when inode size is different from 128-byte.
43221
3b801603 432222007-03-05 Marco Gerards <marco@gnu.org>
43223
43224 * normal/main.c (read_config_file): When "menu" is not set, create
43225 an initial context.
43226
4785bfe4 432272007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43228
43229 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
43230 (HEAP_LIMIT): New macro.
43231 (grub_claim_heap): Claim memory up to `heaplimit'.
43232
a0cbb023 432332007-02-21 Hollis Blanchard <hollis@penguinppc.org>
43234
43235 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
43236 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
43237 (_start): Likewise.
43238 (grub_arch_modules_addr): Return address after `_end'.
43239 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
43240 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
43241 (add_segments): Calculate `_end' from phdr size and location.
43242 (ALIGN_UP): Moved to ...
43243 * include/grub/misc.h: here.
43244 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43245 New macro.
43246 (GRUB_IEEE1275_MODULE_BASE): Removed.
43247
fd7d8eba 432482007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43249
43250 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
43251 loop boundary.
43252
9b09e6fc 432532007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43254
43255 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43256 All users updated.
43257 (grub_elf64_load_hook_t): Likewise.
43258 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43259 debug output.
43260
3ce27299 432612007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43262
43263 * kern/mm.c: Update copyright.
43264 (grub_mm_debug): Correct syntax error.
43265 (grub_mm_dump_free): New function.
43266 (grub_debug_free): Call `grub_free'.
43267 * include/grub/mm.h: Update copyright.
43268 (grub_mm_dump_free): Add declaration.
43269
077d5fee 432702007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43271
43272 * include/grub/ieee1275/ieee1275.h: Update copyright.
43273 * kern/powerpc/ieee1275/init.c: Likewise.
43274 * kern/powerpc/ieee1275/openfw.c: Likewise.
43275
43276 * loader/powerpc/ieee1275/linux.c: Likewise.
43277 * include/grub/elfload.h: Likewise.
43278 * kern/elf.c: Likewise.
43279 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43280 callers.
43281 (grub_elf64_load): Likewise.
43282 (grub_elf32_load_segment): Move to a nested function.
43283 (grub_elf64_load_segment): Likewise.
43284
dc946850 432852007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43286
43287 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43288 prototype.
43289 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43290 (grub_heap_len): Likewise.
43291 (HEAP_SIZE): New macro.
43292 (grub_claim_heap): New function.
43293 (grub_machine_init): Don't claim heap directly. Call
43294 `grub_claim_heap'.
43295 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43296 (grub_available_iterate): New function.
43297
baa2a121 432982007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43299
43300 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43301 * configure.ac: Use it for testing the HOST and TARGET compilers.
43302
4fe9862e 433032006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43304
43305 * Makefile.in (enable_grub_emu): New variable.
43306 * configure.ac (--enable-grub-emu): New option.
43307 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43308 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43309 * conf/i386-pc.rmk: Likewise.
43310 * conf/powerpc-ieee1275.rmk: Likewise.
43311 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43312
a8aa5762 433132006-12-12 Marco Gerards <marco@gnu.org>
43314
43315 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43316
43317 * kern/env.c (grub_env_unset): Don't free the member `value' when
43318 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43319 pointer.
43320
43321 * normal/main.c (current_menu): Removed.
43322 (free_menu): Unset the `menu' environment variable.
43323 (grub_normal_menu_addentry): Make use of the environment variable
43324 `menu', instead of using the global `current_menu'. Allocate
43325 memory for the sourcecode of this entry.
43326 (read_config_file): New argument `nested', changed all callers.
43327 Only in the case of a new context, initialize a new menu. Set the
43328 `menu' environment variable.
43329 (grub_normal_execute): Don't set and unset the environment
43330 variable `menu' here anymore. Only free the menu when leaving the
43331 context.
43332
43333 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43334 leak.
43335
957b3a3e 433362006-12-11 Marco Gerards <marco@gnu.org>
43337
43338 * normal/menu_entry.c (run): Fix off by one bug so the last line
43339 is executed. Move the loader check to outside the loop.
43340
ef875714 433412006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43342
43343 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43344
4e739985 433452006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43346
43347 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43348 the number of sectors. Reported by Andrey Shuvikov
43349 <mr_hyro@yahoo.com>.
f19dbdb7 43350
790707f2 433512006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43352
43353 * kern/disk.c (grub_disk_read): When there is a read error, always
43354 try to read only the necessary data.
f19dbdb7 43355
790707f2 43356 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43357 disk/raid.c.
43358 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43359 prototype.
43360 [GRUB_UTIL] (grub_raid_fini): Likewise.
43361 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43362 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43363 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43364 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43365 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43366 and grub_raid_fini().
f19dbdb7 43367
03e58196 433682006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43369
43370 * include/grub/types.h (__unused): Rename to UNUSED.
43371 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43372 (grub_elf64_size): Likewise.
f19dbdb7 43373
ae4f23bf 433742006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43375
43376 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43377 grub_error_push and grub_error_pop in the error-handling path.
43378 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43379 length.
43380
2166cc83 433812006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43382
43383 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43384 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43386 (kernel_elf_SOURCES): Likewise.
43387 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43388 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43389 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43390 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43391 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43392 (elf_mod_SOURCES): New variable.
43393 (elf_mod_CFLAGS): Likewise.
43394 (elf_mod_LDFLAGS): Likewise.
43395 * include/grub/types.h (__unused): New macro.
43396 * include/grub/elfload.h: New file.
43397 * kern/elf.c: Likewise.
43398 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43399 (ELF32_LOADMASK): New macro.
43400 (ELF64_LOADMASK): Likewise.
43401 (vmlinux): Removed.
43402 (grub_linux_load32): New function.
43403 (grub_linux_load64): Likewise.
43404 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43405 Use grub_elf_t instead of grub_file_t.
43406
a09d5aa5 434072006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43408
43409 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43410 `catch_result' to struct set_color_args.
43411
d976fc51 434122006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43413
43414 * normal/menu.c: Include grub/script.h.
43415 * normal/menu_entry.c: Likewise.
43416 * include/grub/normal.h: Do not include grub/script.h.
43417
67507549 434182006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43419
43420 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43421
69203a99 434222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43423
43424 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43425 disk.
43426 (grub_disk_close): Print debug messages when closing a disk.
43427 (grub_disk_read): Print debug messages when disk read fails.
43428 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43429 filesystem type.
43430 * kern/partition.c: Include misc.h.
43431 (grub_partition_iterate): Print debug messages when detecting
43432 partition type.
43433
e2b8278c 434342006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43435
43436 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43437 is negative.
43438 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43439
97b2f2ff 434402006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43441
43442 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43443 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43444
6555d655 434452006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43446
43447 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43448 instead of sizeof(lv). Patch by Michael Guntsche.
43449
4d42b77f 434502006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43451
43452 * disk/lvm.c: Rename VGS to VG_LIST.
43453 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43454 (grub_lvm_open): Likewise.
43455 Thanks to Michael Guntsche for finding this bug.
43456
5d74d927 434572006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43458
43459 * configure.ac (AC_INIT): Bumped to 1.95.
43460
a1bb27e4 434612006-10-14 Robert Millan <rmh@aybabtu.com>
43462
43463 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43464 with "/dev/.static/dev/md".
43465
e0994b8b 434662006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43467
43468 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43469 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43470 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43471 DRIVE_NAME are always freed.
43472
43473 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43474 DOS_PART, as a DOS partition is counted from one instead of zero
43475 now. Reported by Robert Millan.
43476
ddd5cee9 434772006-10-14 Robert Millan <rmh@aybabtu.com>
43478
43479 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43480 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43481 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43482 string returned by grub_guess_root_device.
43483 * util/i386/pc/grub-setup.c: Likewise.
43484 * util/i386/pc/grub-probefs.c: Likewise.
43485
43486 * util/i386/pc/grub-probefs.c: Rename to ...
43487 * util/i386/pc/grub-probe.c: ... this.
43488 * DISTLIST: Remove grub-probefs, add grub-probe.
43489 * conf/i386-efi.rmk: Likewise.
43490 * conf/i386-pc.rmk: Likewise.
43491 * util/i386/pc/grub-install.in: Likewise.
43492
43493 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43494 choose which information we want to print.
43495
2b002173 434962006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43497
43498 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43499 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43500 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43501 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43502 video/readers/tga.c and video/i386/pc/vbeutil.c.
43503
435042006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43505
43506 Added support for RAID and LVM.
f19dbdb7 43507
2b002173 43508 * disk/lvm.c: New file.
43509 * disk/raid.c: Likewise.
43510 * include/grub/lvm.h: Likewise.
f19dbdb7 43511 * include/grub/raid.h: Likewise.
2b002173 43512 * include/grub/util/lvm.h: Likewise.
43513 * include/grub/util/raid.h: Likewise.
43514 * util/lvm.c: Likewise.
43515 * util/raid.c: Likewise.
43516
43517 * include/grub/disk.h (grub_disk_dev_id): Add
43518 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43519 (grub_disk_get_size): New prototype.
43520 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43521 returns a partition.
43522 (grub_disk_get_size): New function.
f19dbdb7 43523
2b002173 43524 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43525 verbatim if grub_install_dos_part is -2.
43526
43527 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43528 and LVM devices.
43529
43530 * util/i386/pc/grub-setup.c (setup): New argument
43531 MUST_EMBED. Force embedding of GRUB when the argument is
43532 true. Close FILE before returning.
43533 (main): Add support for RAID and LVM.
f19dbdb7 43534
2b002173 43535 * conf/common.rmk: Add RAID and LVM modules.
43536 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43537 util/lvm.c.
43538 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43539
43540 * kern/misc.c (grub_strstr): New function.
43541 * include/grub/misc.h (grub_strstr): New prototype.
43542
050548d0 435432006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43544
43545 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43546
da849d2d 435472006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43548
43549 * kern/misc.c (grub_strtoull): Guess the base only if not
43550 specified.
43551
97b2f2ff 435522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43553
43554 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43555 PowerMac support.
43556
97b2f2ff 435572006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43558
43559 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43560
43561 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43562 Remove `flags' argument. All callers changed.
43563 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43564 (IEEE1275_IHANDLE_INVALID): New variable.
43565 (IEEE1275_CELL_INVALID): New variable.
43566 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43567 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43568 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43569 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43570 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43571 codes from Open Firmware. All callers updated.
43572 (grub_ieee1275_next_property): Directly return Open Firmware return
43573 code.
43574 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43575 Standardize error checking from `grub_ieee1275_get_property'.
43576 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43577 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43578
97b2f2ff 435792006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43580
43581 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43582 `instance_to_package_args' to `instance_to_path_args'.
43583
43584 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43585 `grub_ieee1275_chosen'.
43586
43587 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43588 `grub_ieee1275_interpret'.
43589
97b2f2ff 435902006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43591
43592 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43593
97b2f2ff 435942006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43595
43596 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43597 (__cmpdi): Likewise.
43598
43599 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43600 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43601 `grub_ssize_t'.
43602
02bb8acc 43603 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43604
43605 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43606 to type `grub_ssize_t'.
43607 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43608
7f9a8531 436092006-09-22 Marco Gerards <marco@gnu.org>
43610
43611 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43612 newlines.
43613
b5ef1102 436142006-09-22 Marco Gerards <marco@gnu.org>
43615
43616 * commands/echo.c: New file.
43617
43618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43619
43620 * conf/common.rmk (echo_mod_SOURCES): New variable.
43621 (echo_mod_CFLAGS): Likewise.
43622 (echo_mod_LDFLAGS): Likewise.
43623
2cff3677 436242006-09-22 Marco Gerards <marco@gnu.org>
43625
43626 * normal/main.c (get_line): Malloc memory instead of using
43627 preallocated memory. Removed the arguments `cmdline' and
43628 `max_len'. Updated all callers.
43629
6ba4688b 436302006-09-22 Marco Gerards <marco@gnu.org>
43631
43632 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43633 (normal_mod_DEPENDENCIES): Likewise.
43634
43635 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43636 (normal_mod_DEPENDENCIES): Likewise.
43637
43638 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43639
e02ac02c 436402006-09-22 Johan Rydberg <jrydberg@gnu.org>
43641
43642 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43643 programs.
43644 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43645 (normal_mod_DEPENDENCIES): Likewise.
43646 * conf/i386-pc.mk: Regenerate.
43647 * conf/i386-efi.mk: Likewise
43648 * conf/common.mk: Likewise.
43649 * conf/powerpc-ieee1275.mk: Likewise.
43650 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43651
8d252e44 436522006-09-22 Robert Millan <rmh@aybabtu.com>
43653
43654 Sync with i386 version.
43655 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43656 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43657
209bf7ac 436582006-09-21 Robert Millan <rmh@aybabtu.com>
43659
43660 Import from GRUB Legacy (lib/device.c):
43661 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43662 (init_device_map) [__linux__]: Add support for I2O devices.
43663
6b146090 436642006-09-14 Marco Gerards <marco@gnu.org>
43665
43666 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43667 `-melf_i386'.
43668
e38600a8 436692006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43670
43671 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43672 /boot/grub/*.lst.
78fa1790 43673
2952da5d 43674 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43675
2952da5d 43676 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43677 before adding it to device.map.
43678
01b82a64 436792006-08-15 Johan Rydberg <jrydberg@gnu.org>
43680
fe6b695a 43681 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43682 compiles a file; using the -MD option.
43683 * conf/common.mk: Regenerate.
43684 * conf/i386-pc.mk: Likewise.
43685 * conf/i386-efi.mk: Likewise.
43686 * conf/powerpc-ieee1275.mk: Likewise.
43687 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43688
1064790d 436892006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43690
43691 Move the prototypes of grub_setjmp and grub_longjmp to
43692 cpu/setjmp.h, so that each architecture may specify different
43693 attributes.
f19dbdb7 43694
1064790d 43695 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43696 (grub_longjmp): Likewise.
43697 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43698 (grub_longjmp): Likewise.
43699 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43700 (grub_longjmp): Likewise.
43701
43702 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43703 [!GRUB_UTIL] (grub_longjmp): Removed.
43704
29dda3ed 437052006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43706
43707 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43708 "color!" method does not return any value.
43709
ad2a06ed 437102006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43711
43712 * include/grub/bitmap.h: New file.
43713
43714 * include/grub/i386/pc/vbeutil.h: Likewise.
43715
43716 * video/bitmap.c: Likewise.
43717
43718 * video/readers/tga.c: Likewise.
43719
43720 * video/i386/pc/vbeutil.c: Likewise.
43721
43722 * commands/videotest.c: Code cleanup and updated to reflect to new
43723 video API.
43724
43725 * term/gfxterm.c: Likewise.
43726
43727 * video/video.c: Likewise.
43728
43729 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43730 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43731 (bitmap_mod_SOURCES): New entry.
43732 (bitmap_mod_CFLAGS): Likewise.
43733 (bitmap_mod_LDFLAGS): Likewise.
43734 (tga_mod_SOURCES): Likewise.
43735 (tga_mod_CFLAGS): Likewise.
43736 (tga_mod_LDFLAGS): Likewise.
43737
43738 * include/grub/video.h (grub_video_blit_operators): New enum type.
43739 (grub_video_render_target): Changed as forward declaration and moved
43740 actual definition to be video driver specific.
43741 (grub_video_adapter.blit_bitmap): Added blitting operator.
43742 (grub_video_adapter.blit_render_target): Likewise.
43743 (grub_video_blit_bitmap): Likewise.
43744 (grub_video_blit_render_target): Likewise.
43745
43746 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43747 driver specific render target definition.
43748 (grub_video_vbe_map_rgba): Added driver internal helper.
43749 (grub_video_vbe_unmap_color): Updated to use
43750 grub_video_i386_vbeblit_info.
43751 (grub_video_vbe_get_video_ptr): Likewise.
43752
43753 * include/grub/i386/pc/vbeblit.h
43754 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43755 grub_video_i386_vbeblit_info.
43756 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43757 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43758 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43759 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43760 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43761 (grub_video_i386_vbeblit_index_index): Likewise.
43762 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43763 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43764 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43765 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43766 operator.
43767 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43768 operator.
43769
43770 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43771 include/grub/i386/pc/vbeblit.h.
43772
43773 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43774 Updated to use grub_video_i386_vbeblit_info.
43775 (grub_video_i386_vbefill_R8G8B8): Likewise.
43776 (grub_video_i386_vbefill_index): Likewise.
43777 (grub_video_i386_vbefill): Added generic filler.
43778
43779 * video/i386/pc/vbefill.c: Updated to reflect changes on
43780 include/grub/i386/pc/vbefill.h.
43781
43782 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43783 grub_video_i386_vbeblit_info.
43784 (grub_video_vbe_unmap_color): Likewise.
43785 (grub_video_vbe_blit_glyph): Likewise.
43786 (grub_video_vbe_scroll): Likewise.
43787 (grub_video_vbe_draw_pixel): Removed function.
43788 (grub_video_vbe_get_pixel): Likewise.
43789 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43790 updated code to use it.
43791 (common_blitter): Added common blitter for render target and bitmap.
43792 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43793 (grub_video_vbe_blit_render_target): Likewise.
43794
bc8c036d 437952006-07-30 Johan Rydberg <jrydberg@gnu.org>
43796
43797 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43798 is in text mode if there is no console control protocol instance
43799 available.
43800
684a8eff 438012006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43802
43803 * include/grub/video.h: Code cleanup.
43804
43805 * include/grub/i386/pc/vbe.h: Likewise.
43806
43807 * video/i386/pc/vbe.c: Likewise.
43808
43809 * video/i386/pc/vbeblit.c: Likewise.
43810
43811 * video/i386/pc/vbefill.c: Likewise.
43812
43813 * video/video.c: Likewise. Also added more comments.
43814
5915059b 438152006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43816
43817 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43818 (struct grub_biosdisk_dap): Likewise.
43819
43820 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43821 linkage settings for all functions.
43822
90ce5d56 438232006-07-12 Marco Gerards <marco@gnu.org>
43824
43825 * configure.ac (--enable-mm-debug): Fix typo.
43826
43827 * genkernsyms.sh.in: Use proper quoting for `CC'.
43828
43e7f879 438292006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43830
43831 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43832 (normal_mod_ASFLAGS): Remove "-m32".
43833
4889bdec 438342006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43835
43836 * util/misc.c: Include config.h.
43837 [!HAVE_MEMALIGN]: Do not include malloc.h.
43838 (grub_memalign): Use posix_memalign, if present. Then, use
43839 memalign, if present. Otherwise, emit an error.
43840
43841 * util/grub-emu.c: Do not include malloc.h.
43842
43843 * include/grub/util/misc.h: Include unistd.h. This is required for
43844 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43845 D. Eades III <hde@foobar-qux.org>.
43846
43847 * configure.ac (AC_GNU_SOURCE): Added.
43848 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43849 type.
43850
fd39d4da 438512006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43852
43853 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43854 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43855
b786f3b5 438562006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43857
43858 * include/grub/types.h (grub_host_addr_t): Rename to
43859 grub_target_addr_t.
43860 (grub_host_off_t): Rename to grub_target_off_t.
43861 (grub_host_size_t): Rename to grub_target_size_t.
43862 (grub_host_ssize_t): Rename to grub_target_ssize_t.
43863 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
43864
43865 * include/grub/kernel.h (struct grub_module_header): Change type
43866 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
43867 (grub_module_info): Likewise.
f19dbdb7 43868
051988bb 438692006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43870
43871 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
43872 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
43873 Velazquez <jesus.velazquez@gmail.com>.
43874
deae281b 438752006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43876
43877 Count partitions from 1 instead of 0 in the string representation
43878 of partitions. Still use 0-based internally.
f19dbdb7 43879
deae281b 43880 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
43881 (sun_partition_map_iterate): Use grub_partition_t instead of
43882 struct grub_partition *. Cast DESC->START_CYLINDER to
43883 grub_uint64_t after converting the endian.
43884 (sun_partition_map_probe): Subtract 1 for PARTNUM.
43885 (sun_partition_map_get_name): Add 1 to P->INDEX.
43886
43887 * partmap/pc.c (grub_partition_parse): Subtract 1 for
43888 PCDATA->DOS_PART.
43889 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
43890
43891 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
43892 zero instead of one.
43893 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
43894 (gpt_partition_map_get_name): Add 1 into P->INDEX.
43895
43896 * partmap/apple.c (apple_partition_map_iterate): Change the type
43897 of POS to unsigned.
43898 (apple_partition_map_probe): Subtract 1 for PARTNUM.
43899 (apple_partition_map_get_name): Add 1 into P->INDEX.
43900
43901 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
43902 of POS to unsigned.
43903 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
43904 calculate the offset of a partition.
43905 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
43906 (amiga_partition_map_get_name): Add 1 into P->INDEX.
43907
43908 * partmap/acorn.c (acorn_partition_map_find): Change the type of
43909 SECTOR to grub_disk_addr_t.
43910 (acorn_partition_map_iterate): Likewise.
43911 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
43912 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
43913 top.
43914 (acorn_partition_map_get_name): Add 1 into P->INDEX.
43915
43916 * kern/i386/pc/init.c (make_install_device): Add 1 into
43917 GRUB_INSTALL_DOS_PART.
43918
43919 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
43920 conditional.
43921
524a1e6a 439222006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43923
43924 Clean up the code to support 64-bit addressing in disks and
43925 files. This change is not enough for filesystems yet.
f19dbdb7 43926
524a1e6a 43927 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
43928 type of "start" to grub_uint64_t.
43929 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
43930 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
43931 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
43932 convert addresses.
43933
43934 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
43935 to grub_disk_addr_t.
43936
43937 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
43938 string.
43939
43940 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43941
43942 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
43943 to char *.
43944
43945 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
43946
43947 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
43948
43949 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
43950
43951 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
43952 to grub_off_t, to detect an error from grub_file_seek.
43953 (grub_multiboot_load_elf32): Likewise.
43954
43955 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
43956 maximum unsigned long value when an overflow is detected.
43957 (grub_strtoull): New function.
43958 (grub_divmod64): Likewise.
43959 (grub_lltoa): use grub_divmod64.
43960
43961 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
43962 grub_disk_addr_t.
43963 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
43964 the pointer to next character. Use grub_strtoull instead of
43965 grub_strtoul.
43966 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
43967 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
43968 respectively.
43969
fe6b695a 43970 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 43971 return value is signed.
43972 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
43973 test if OFFSET is less than zero, as OFFSET is unsigned now.
43974
43975 * kern/disk.c (struct grub_disk_cache): Change the type of
43976 "sector" to grub_disk_addr_t.
43977 (grub_disk_cache_get_index): Change the type of SECTOR to
43978 grub_disk_addr_t. Calculate the hash with SECTOR casted to
43979 unsigned after shifting.
43980 (grub_disk_cache_invalidate): Change the type of SECTOR to
43981 grub_disk_addr_t.
43982 (grub_disk_cache_unlock): Likewise.
43983 (grub_disk_cache_store): Likewise.
43984 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
43985 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
43986 grub_disk_addr_t and grub_uint64_t, respectively.
43987 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
43988 body, as the value of OFFSET is tweaked by
43989 grub_disk_check_range. Change the types of START_SECTOR, LEN and
43990 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
43991 respectively.
43992 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
43993 body, as the value of OFFSET is tweaked by
43994 grub_disk_check_range. Change the types of LEN and N to
43995 grub_size_t.
43996
43997 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
43998 and "saved_offset" to grub_off_t.
43999 (test_header): Cast BUF to char *.
44000 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
44001 to char *.
44002 (grub_gzio_read): Change the types of OFFSET and SIZE to
44003 grub_off_t and grub_size_t, respectively.
44004
44005 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
44006 Removed.
44007 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
44008 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
44009 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
44010 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
44011 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
44012
44013 * include/grub/types.h (grub_off_t): Unconditionally set to
44014 grub_uint64_t.
44015 (grub_disk_addr_t): Changed to grub_uint64_t.
44016
44017 * include/grub/partition.h (struct grub_partition): Change the
44018 types of "start", "len" and "offset" to grub_disk_addr_t,
44019 grub_uint64_t and grub_disk_addr_t, respectively.
44020 (grub_partition_get_start): Return grub_disk_addr_t.
44021 (grub_partition_get_len): Return grub_uint64_t.
44022
44023 * include/grub/misc.h (grub_strtoull): New prototype.
44024 (grub_divmod64): Likewise.
44025
44026 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
44027 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
44028 grub_off_t, respectively.
44029 All callers and references changed.
44030
44031 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
44032 grub_size_t in "read".
44033 All callers and references changed.
44034
44035 * include/grub/file.h (struct grub_file): Change the types of
44036 "offset" and "size" to grub_off_t and grub_off_t,
44037 respectively. Change the type of SECTOR to grub_disk_addr_t in
44038 "read_hook".
44039 (grub_file_read): Change the type of LEN to grub_size_t.
44040 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
44041 grub_off_t.
44042 (grub_file_size): Return grub_off_t.
44043 (grub_file_tell): Likewise.
44044 All callers and references changed.
44045
44046 * include/grub/disk.h (struct grub_disk_dev): Change the types of
44047 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
44048 "write".
44049 (struct grub_disk): Change the type of "total_sectors" to
44050 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 44051 "read_hook".
524a1e6a 44052 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
44053 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
44054 (grub_disk_write): Likewise.
44055 All callers and references changed.
44056
44057 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
44058 char * for grub_strncmp to silence gcc.
44059 (grub_iso9660_mount): Likewise.
44060 (grub_iso9660_mount): Likewise.
44061 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
44062 return statement.
44063 (grub_iso9660_iterate_dir): Likewise.
44064 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
44065
44066 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
44067 LEN to grub_disk_addr_t and grub_size_t, respectively.
44068
44069 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
44070
44071 * fs/jfs.c (grub_jfs_read_file): Likewise.
44072
44073 * fs/minix.c (grub_jfs_read_file): Likewise.
44074
44075 * fs/sfs.c (grub_jfs_read_file): Likewise.
44076
44077 * fs/ufs.c (grub_jfs_read_file): Likewise.
44078
44079 * fs/xfs.c (grub_jfs_read_file): Likewise.
44080
44081 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
44082 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
44083 respectively.
44084
44085 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
44086 BLKNR to -1 instead of returning GRUB_ERRNO.
44087 (grub_ext2_read_file): Change the types of SECTOR and
44088 LEN to grub_disk_addr_t and grub_size_t, respectively.
44089
44090 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
44091 LEN to grub_disk_addr_t and grub_size_t, respectively.
44092
44093 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
44094 grub_file_read.
44095
44096 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
44097 string. Do not cast SECTOR explicitly.
44098
44099 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
44100 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
44101 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
44102 grub_disk_addr_t and grub_size_t, respectively. If the sector is
44103 over 2TB and LBA mode is not supported, raise an error.
44104 (get_safe_sectors): New function.
44105 (grub_biosdisk_read): Use get_safe_sectors.
44106 (grub_biosdisk_write): Likewise.
44107
44108 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
44109 (grub_efidisk_write): Likewise.
44110
44111 * disk/loopback.c (delete_loopback): Cosmetic changes.
44112 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
44113 correctly.
44114 (grub_loopback_open): Likewise.
44115 (grub_loopback_read): Likewise. Also, change the type of POS to
44116 grub_off_t, and fix the usage of grub_memset.
44117
44118 * commands/i386/pc/play.c: Include grub/machine/time.h.
44119
44120 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
44121 print FILE->SIZE.
44122
44123 * commands/configfile.c: Include grub/env.h.
44124
44125 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
44126 GRUB_ERRNO directly instead. Change the type of POS to
44127 grub_off_t. Follow the coding standard.
44128
44129 * commands/blocklist.c: Include grub/partition.h.
44130 (grub_cmd_blocklist): Return an error if the underlying device is
44131 not a disk. Take the starting sector of a partition into account,
44132 if a partition is used.
44133
44134 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
44135 a length field.
44136 (lba_mode): Support 64-bit addresses.
44137 (chs_mode): Likewise.
44138 (copy_buffer): Adapted to the new offsets of a length field and a
44139 segment field.
44140 (blocklist_default_start): Allocate 64-bit space.
44141
44142 * boot/i386/pc/boot.S (force_lba): Removed.
44143 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 44144 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 44145 space.
44146 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
44147 is useless.
44148 (lba_mode): Refactored to support a 64-bit address. More size
44149 optimization.
44150 (setup_sectors): Likewise.
44151
53af98ad 441522006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44153
44154 * DISTLIST: Added include/grub/i386/linux.h. Removed
44155 include/grub/i386/pc/linux.h
44156
44157 * configure.ac (AC_INIT): Bumped to 1.94.
44158
44159 * config.guess: Updated from gnulib.
44160 * config.sub: Likewise.
44161 * install-sh: Likewise.
44162 * mkinstalldirs: Likewise.
44163
b4c1940a 441642006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44165
44166 * conf/common.rmk (grub_modules_init.lst): Depended on
44167 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
44168 MODSRCFILES.
44169
44170 * genmk.rb (PModule::rule): Reverted the previous change.
44171
cfca1cfd 441722006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
44173
44174 * conf/common.rmk (grub_modules_init.lst): Depends on
44175 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
44176 that the target does not exist before producing.
44177 (grub_modules_init.h): Remove the target before generating.
44178 (grub_emu_init.c): Likewise.
44179
44180 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
44181
aa6d7826 441822006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
44183
44184 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
44185 for the target-specific tests. Make sure that we also have the
44186 up-to-date target variables for those tests.
44187
26c607b9 441882006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44189
44190 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
44191 (PModule::rule): Likewise.
44192
0162321a 441932006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
44194
44195 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
44196 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
44197 target-specific flags should be prefixed.
44198 (PModule::rule): Likewise.
44199
6c826348 442002006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
44201
44202 * configure.ac (CMP): Check if cmp is available explicitly.
44203
b977bf01 442042006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
44205
44206 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
44207 (target_cpu): New variable.
44208 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 44209
b977bf01 44210 * util/i386/pc/grub-install.in (host_cpu): Removed.
44211 (target_cpu): New variable.
44212 (pkglibdir): Use target_cpu instead of host_cpu.
44213
44214 * util/genmoddep.c: Removed.
f19dbdb7 44215
b977bf01 44216 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
44217 instead of GRUB_HOST_SIZEOF_VOID_P.
44218 * kern/dl.c: Likewise.
44219
44220 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
44221 ...
44222 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44223 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44224 (GRUB_TARGET_SIZEOF_LONG): ... this.
44225 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44226 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44227 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44228 to ...
44229 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44230 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44231 (GRUB_TARGET_SIZEOF_LONG): ... this.
44232 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44233 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44234 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
44235 to ...
44236 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
44237 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
44238 (GRUB_TARGET_SIZEOF_LONG): ... this.
44239 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
44240 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
44241
44242 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
44243 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
44244 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
44245 instead of GRUB_HOST_SIZEOF_LONG.
44246 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
44247 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
44248 GRUB_CPU_WORDS_BIGENDIAN.
44249 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
44250 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
44251 grub_host_ssize_t.
44252
44253 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
44254 (genmoddep_SOURCES): Likewise.
44255 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44256 (genmoddep_SOURCES): Likewise.
44257 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44258 (genmoddep_SOURCES): Likewise.
44259 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44260 Likewise.
44261 (genmoddep_SOURCES): Likewise.
44262
44263 * genmoddep.awk: New file.
44264
44265 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44266 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44267 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44268 (PModule::rule): Likewise.
44269 (Program::rule): Likewise.
44270 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44271 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44272 respectively.
44273
44274 * configure.ac: Rewritten intensively to use host and target
44275 instead of build and host, respectively.
44276
44277 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44278 (host_cpu): Removed.
44279 (target_cpu): New variable.
44280 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44281 (BUILD_CC): Removed.
44282 (BUILD_CFLAGS): Likewise.
44283 (BUILD_CPPFLAGS): Likewise.
44284 (TARGET_CC): New variable.
44285 (TARGET_CFLAGS): Likewise.
44286 (TARGET_CPPFLAGS): Likewise.
44287 (TARGET_LDFLAGS): Likewise.
44288 (AWK): Likewise.
44289 (include): Use target_cpu instead of host_cpu.
44290 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44291
b977bf01 44292 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44293
f09771a1 442942006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44295
44296 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44297 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44298 field 'false' to 'exec_on_false'.
44299 (grub_script_create_cmdif): Renamed argument names to reflect above
44300 changes.
44301
44302 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44303
44304 * normal/script.c (grub_script_create_cmdif): Likewise.
44305
118f4fb3 443062006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44307
44308 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44309 top.
44310 (grub_hfsplus_btree_recptr): Likewise.
44311 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44312 FILEBLOCK both to pass a block number and store next block
44313 number.
44314 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44315 overflow file correctly. Specify errors appropriately, because
44316 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44317 grub_hfsplus_btree_recptr to get the pointer to a found key.
44318 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44319 is found.
44320
44321 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44322 linux.mod.
44323 (_linux_mod_SOURCES): New variable.
44324 (_linux_mod_CFLAGS): Likewise.
44325 (_linux_mod_LDFLAGS): Likewise.
44326 (linux_mod_SOURCES): Likewise.
44327 (linux_mod_CFLAGS): Likewise.
44328 (linux_mod_LDFLAGS): Likewise.
44329
44330 * DISTLIST: Added loader/i386/efi/linux.c,
44331 loader/i386/efi/linux_normal.c and
44332 include/grub/i386/efi/loader.h.
44333
44334 * loader/i386/efi/linux.c: New file.
44335 * loader/i386/efi/linux_normal.c: Likewise.
44336 * include/grub/i386/efi/loader.h: Likewise.
44337
89a7d726 443382006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44339
44340 * commands/blocklist.c: New file.
44341
44342 * DISTLIST: Added commands/blocklist.c.
44343
44344 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44345 color for the background, and a darker color for the foreground.
89a7d726 44346 (grub_console_checkkey): Return READ_KEY.
44347 (grub_console_cls): Set the background to
44348 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44349
44350 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44351
44352 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44353 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44354
44355 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44356 prototype.
44357
44358 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44359 BG. The spec is wrong again.
44360
44361 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44362 prototype.
44363 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44364
44365 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44366 commands/blocklist.c.
44367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44368
89a7d726 44369 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44370 (blocklist_mod_SOURCES): New variable.
44371 (blocklist_mod_CFLAGS): Likewise.
44372 (blocklist_mod_LDFLAGS): Likewise.
44373
75c8f258 443742006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44375
44376 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44377 duplication.
44378 (lba_mode): Use %eax more intensively to reduce the code size.
44379
da2eb181 443802006-05-20 Marco Gerards <marco@gnu.org>
44381
44382 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44383
44384 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44385 for `menuentry'.
44386 (script): Accept leading newlines.
44387 (newlines): New rule to describe 0 or more newlines.
44388 (commands): Accept `command' with trailing newline. Fixed the
44389 order in which arguments were passed to `grub_script_add_cmd'.
44390 Accept commands separated by newlines.
44391 (function): Changed to accept newlines.
44392 (menuentry) Rewritten.
44393
44394 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44395 front of the list, instead of to the end.
44396
577b4050 443972006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44398
44399 * util/i386/pc/grub-install.in (bindir): New variable.
44400 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44401 Shaver <lbgwjl@gmail.com>.
44402
0d6e1189 444032006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44404
44405 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44406 grub/machine/linux.h
44407 * loader/i386/pc/linux.c: Likewise.
44408
44409 * include/grub/i386/pc/linux.h: Moved to ...
44410 * include/grub/i386/linux.h: ... here.
44411
44412 * include/grub/i386/linux.h (struct linux_kernel_params): New
44413 struct.
f19dbdb7 44414
31b86e9f 444152006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44416
44417 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44418 checking.
44419 (grub_video_vbe_blit_glyph): Likewise.
44420 (grub_video_vbe_blit_bitmap): Likewise.
44421 (grub_video_vbe_blit_render_target): Likewise.
44422
83b984de 444232006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44424
44425 * configure.ac (--with-platform): Properly quote the square
44426 brackets.
44427
5f0413bd 444282006-05-08 Marco Gerards <marco@gnu.org>
44429
44430 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44431 this...
44432 (kernel_elf_HEADERS): ...to this. Updated all users.
44433 (grubof_symlist.c): Renamed from this...
44434 (kernel_elf_symlist.c): ...to this. Updated all users.
44435 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44436 (grubof_SOURCES): Renamed from this...
44437 (kernel_elf_SOURCES): ...to this.
44438 (grubof_HEADERS): Renamed from this...
44439 (kernel_elf_HEADERS): ...to this.
44440 (grubof_CFLAGS): Renamed from this...
44441 (kernel_elf_CFLAGS): ...to this.
44442 (grubof_ASFLAGS): Renamed from this...
44443 (kernel_elf_ASFLAGS): ...to this.
44444 (grubof_LDFLAGS): Renamed from this...
44445 (kernel_elf_LDFLAGS): ...to this.
44446
44447 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44448 this...
44449 (kernel_elf_HEADERS): ...to this. Updated all users.
44450 (grubof_symlist.c): Renamed from this...
44451 (kernel_elf_symlist.c): ...to this. Updated all users.
44452 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44453 (grubof_SOURCES): Renamed from this...
44454 (kernel_elf_SOURCES): ...to this.
44455 (grubof_HEADERS): Renamed from this...
44456 (kernel_elf_HEADERS): ...to this.
44457 (grubof_CFLAGS): Renamed from this...
44458 (kernel_elf_CFLAGS): ...to this.
44459 (grubof_ASFLAGS): Renamed from this...
44460 (kernel_elf_ASFLAGS): ...to this.
44461 (grubof_LDFLAGS): Renamed from this...
44462 (kernel_elf_LDFLAGS): ...to this.
44463
44464 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44465 `kernel.elf' instead of `grubof'.
44466
05568c2e 444672006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44468
44469 Add --with-platform to configure. Use pkglibdir instead of
44470 pkgdatadir. This is reported by Roger Leigh.
44471
44472 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44473 (host_vendor): Likewise.
44474 (host_os): Likewise.
44475 (pkgdatadir): Likewise.
44476 (platform): New variable.
44477 (pkglibdir): Likewise.
44478 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44479
05568c2e 44480 * util/i386/pc/grub-install.in (datadir): Removed.
44481 (host_vendor): Likewise.
44482 (host_os): Likewise.
44483 (pkgdatadir): Likewise.
44484 (platform): New variable.
44485 (pkglibdir): Likewise.
44486 Use PKGLIBDIR instead of PKGDATADIR.
44487
44488 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44489 instead of GRUB_DATADIR.
44490 (main): Likewise.
44491 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44492 (main): Likewise.
44493 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44494 (main): Likewise.
44495
44496 * configure.ac (--with-platform): New option.
44497 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44498
44499 * Makefile.in: Include a makefile based on PLATFORM instead of
44500 HOST_VENDOR.
44501 (pkgdatadir): Not appended by the machine type.
44502 (pkglibdir): Appended by the machine type.
44503 (host_vendor): Removed.
44504 (platform): New variable.
44505 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44506 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44507 (uninstall): Likewise.
44508
4e93851c 445092006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44510
44511 Use the environment context in the menu. Remove the commands
44512 "default" and "timeout", and use variables instead.
f19dbdb7 44513
4e93851c 44514 * normal/menu.c: Include grub/env.h.
44515 (print_entry): Cast TITLE to silence gcc.
44516 (get_timeout): New function.
44517 (set_timeout): Likewise.
44518 (get_entry_number): Likewise.
44519 (run_menu): Use a default entry, a fallback entry and a timeout
44520 in the environment variables "default", "fallback" and
44521 "timeout". Also, tweak the default entry if it is not within the
44522 current menu entries.
44523 (grub_menu_run): Use a fallback entry in the environment variable
44524 "fallback".
44525
44526 * normal/main.c (read_config_file): Do not initialize
44527 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44528 NEWMENU->TIMEOUT.
44529 (grub_normal_execute): Use a data slot to store the menu.
44530
44531 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44532 fallback_entry and timeout.
44533 (struct grub_menu_list): Removed.
44534 (grub_menu_list_t): Likewise.
44535 (struct grub_context): Likewise.
44536 (grub_context_t): Likewise.
44537 (grub_context_get): Likewise.
44538 (grub_context_get_current_menu): Likewise.
44539 (grub_context_push_menu): Likewise.
44540 (grub_context_pop_menu): Likewise.
44541 (grub_default_init): Likewise.
44542 (grub_default_fini): Likewise.
44543 (grub_timeout_init): Likewise.
44544 (grub_timeout_fini): Likewise.
44545
44546 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44547 and timeout.mod.
44548 (normal_mod_SOURCES): Removed normal/context.c.
44549
44550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44551 commands/default.c, commands/timeout.c and normal/context.c.
44552 (normal_mod_SOURCES): Removed normal/context.c.
44553
44554 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44555 commands/timeout.c and normal/context.c.
44556 (normal_mod_SOURCES): Removed normal/context.c.
44557
44558 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44559 commands/default.c, commands/timeout.c and normal/context.c.
44560 (normal_mod_SOURCES): Removed normal/context.c.
44561
44562 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44563 timeout.mod.
44564 (default_mod_SOURCES): Removed.
44565 (default_mod_CFLAGS): Likewise.
44566 (default_mod_LDFLAGS): Likewise.
44567 (timeout_mod_SOURCES): Removed.
44568 (timeout_mod_CFLAGS): Likewise.
44569 (timeout_mod_LDFLAGS): Likewise.
44570
44571 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44572 normal/context.c.
44573
44574 * commands/default.c: Removed.
44575 * commands/timeout.c: Likewise.
44576 * normal/context.c: Likewise.
44577
1eb9cc1d 445782006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44579
44580 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44581
385bd9c1 445822006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44583
44584 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44585 "next" to "prev" for readability.
44586 (struct grub_env_sorted_var): New struct.
44587 (grub_env_context): Renamed to ...
44588 (initial_context): ... this.
44589 (grub_env_var_context): Renamed to ...
44590 (current_context): ... this.
44591 (grub_env_find): Look only at CURRENT_CONTEXT.
44592 (grub_env_context_open): Rewritten to copy exported variables from
44593 previous context.
44594 (grub_env_context_close): Rewritten according to the new
44595 scheme. Also, add an assertion to prevent the initial context from
44596 removed.
44597 (grub_env_insert): Removed the code for the sorted list.
44598 (grub_env_remove): Likewise.
44599 (grub_env_export): Simply mark the variable with
44600 GRUB_ENV_VAR_GLOBAL.
44601 (grub_env_set): A cosmetic change for naming consistency.
44602 (grub_env_get): Likewise.
44603 (grub_env_unset): Likewise.
44604 (grub_env_iterate): Rewritten to sort variables within this
44605 function.
44606 (grub_register_variable_hook): Fixed for naming consistency. Call
44607 grub_env_find again, only if NAME is not found at the first time.
44608 (mangle_data_slot_name): New function.
44609 (grub_env_set_data_slot): Likewise.
44610 (grub_env_get_data_slot): Likewise.
44611 (grub_env_unset_data_slot): Likewise.
44612
44613 * include/grub/env.h (grub_env_var_type): New enum.
44614 (GRUB_ENV_VAR_LOCAL): New constant.
44615 (GRUB_ENV_VAR_GLOBAL): Likewise.
44616 (GRUB_ENV_VAR_DATA): Likewise.
44617 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44618 "type".
44619 (grub_env_set): Replace VAR with NAME for consistency.
44620 (grub_register_variable_hook): Likewise.
44621 (grub_env_export): Specify the name of the argument.
44622 (grub_env_set_data_slot): New prototype.
44623 (grub_env_get_data_slot): Likewise.
44624 (grub_env_unset_data_slot): Likewise.
44625
7f362539 446262006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44627
44628 Extend the loader so that GRUB can accept a loader which comes
44629 back to GRUB when a loaded image exits. Also, this change adds
44630 support for a chainloader on EFI.
f19dbdb7 44631
7f362539 44632 * term/efi/console.c: Include grub/misc.h.
44633 (grub_console_checkkey): Display a scan code on the top for
44634 debugging. This will be removed once the EFI port gets stable.
44635 Correct the scan code mapping.
44636
44637 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44638 allocate memory from larger regions, in order to reduce the number
44639 of allocated regions. Otherwise, the MacOSX loader panics.
44640 (filter_memory_map): Avoid less than 1MB for compatibility with
44641 other loaders.
44642 (add_memory_regions): Allocate from the tail of a region, if
44643 possible, to avoid allocating a region near to 1MB, for the MacOSX
44644 loader.
44645
44646 * kern/efi/init.c (grub_efi_set_prefix): Specify
44647 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44648
44649 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44650 argument IMAGE_HANDLE and specify it to get a loaded image.
44651 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44652 grub_efi_get_loaded_image.
fe6b695a 44653 (grub_efi_get_filename): Divide the length by the size of
7f362539 44654 grub_efi_char16_t.
44655 (grub_efi_get_device_path): New function.
44656 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44657 the length by the size of grub_efi_char16_t for a file path device
44658 path node.
44659
44660 * kern/loader.c (grub_loader_noreturn): New variable.
44661 (grub_loader_set): Accept a new argument NORETURN. Set
44662 GRUB_LOADER_NORETURN to NORETURN.
44663 All callers changed.
44664 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44665 grub_machine_fini.
44666
44667 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44668 prototype.
44669 (grub_efi_get_loaded_image): Take an argument to specify an image
44670 handle.
44671
44672 * include/grub/loader.h (grub_loader_set): Added one more argument
44673 NORETURN.
44674
44675 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44676 instead of grub_efi_open_protocol.
44677 (grub_efidisk_get_device_name): Likewise.
44678 (grub_efidisk_close): Print a newline.
44679 (grub_efidisk_get_device_handle): Fixed to use
44680 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44681 GRUB_EFI_DEVICE_PATH_TYPE.
44682
44683 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44684 * kern/efi/efi.c (device_path_guid): ... here.
44685
44686 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44687 chain.mod.
44688 (kernel_mod_HEADERS): Added efi/disk.h.
44689 (_chain_mod_SOURCES): New variable.
44690 (_chain_mod_CFLAGS): Likewise.
44691 (_chain_mod_LDFLAGS): Likewise.
44692 (chain_mod_SOURCES): Likewise.
44693 (chain_mod_CFLAGS): Likewise.
44694 (chain_mod_LDFLAGS): Likewise.
44695
44696 * DISTLIST: Added include/grub/efi/chainloader.h,
44697 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44698
44699 * include/grub/efi/chainloader.h: New file.
44700 * loader/efi/chainloader.c: Likewise.
44701 * loader/efi/chainloader_normal.c: Likewise.
44702
c0111d6e 447032006-04-30 Marco Gerards <marco@gnu.org>
44704
44705 * commands/configfile.c (grub_cmd_source): New function.
44706 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44707 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44708
df5341da 447092006-04-30 Marco Gerards <marco@gnu.org>
44710
44711 * normal/execute.c (grub_script_execute_cmd): Change the return
44712 type to `grub_err_t'. Correctly return the error.
44713 (grub_script_execute_cmdline): In case a command line is not a
44714 command or a function, try to interpret it as an assignment.
44715
f85934bd 447162006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44717
44718 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44719 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44720 skip a node whose name is obviously invalid as UTF-16,
44721 i.e. contains a NUL character. Stop the iteration when the last
44722 directory entry is found. Instead of using the return value of
44723 grub_hfsplus_btree_iterate_node, store the value in RET and use
44724 it, because the iterator can be stopped by the last directory
44725 entry.
44726
8f8a2cf8 447272006-04-30 Marco Gerards <marco@gnu.org>
44728
44729 * include/grub/env.h (grub_env_export): New prototype. Reported
44730 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44731
a27e84ce 447322006-04-30 Marco Gerards <marco@gnu.org>
44733
44734 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44735 size of the extents in a catalog file record.
44736
eaef0553 447372006-04-29 Marco Gerards <marco@gnu.org>
44738
44739 * commands/configfile.c (grub_cmd_configfile): Execute the
44740 configfile within its own context.
44741
44742 * include/grub/env.h (grub_env_context_open): New prototype.
44743 (grub_env_context_close): Likewise.
44744
44745 * kern/env.c (grub_env): Removed.
44746 (grub_env_sorted): Likewise.
44747 (grub_env_context): New variable.
44748 (grub_env_var_context): Likewise.
44749 (grub_env_find): Search both the active context and the global
44750 context.
44751 (grub_env_context_open): New function.
44752 (grub_env_context_close): Likewise.
44753 (grub_env_insert): Likewise.
44754 (grub_env_remove): Likewise.
44755 (grub_env_export): Likewise.
44756 (grub_env_set): Changed to use helper functions to avoid code
44757 duplication.
44758 (grub_env_iterate): Rewritten so both the current context and the
44759 global context are being used.
44760
44761 * normal/command.c (export_command): New function.
44762 (grub_command_init): Register the `export' function.
44763
7b455f4d 447642006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44765
44766 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44767 explicitly to suppress gcc's warnings.
44768 * fs/fat.c (grub_fat_find_dir): Likewise.
44769 (grub_fat_label): Likewise.
44770 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44771 (grub_xfs_mount): Likewise.
44772 (grub_xfs_label): Likewise.
44773 * fs/affs.c (grub_affs_mount): Likewise.
44774 (grub_affs_label): Likewise.
44775 (grub_affs_iterate_dir): Likewise.
44776 * fs/sfs.c (grub_sfs_mount): Likewise.
44777 (grub_sfs_iterate_dir): Likewise.
44778 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44779 * fs/hfs.c (grub_hfs_mount): Likewise.
44780 (grub_hfs_cmp_catkeys): Likewise.
44781 (grub_hfs_find_dir): Likewise.
44782 (grub_hfs_dir): Likewise.
44783 (grub_hfs_label): Likewise.
44784 * fs/jfs.c (grub_jfs_mount): Likewise.
44785 (grub_jfs_opendir): Likewise.
44786 (grub_jfs_getent): Likewise.
44787 (grub_jfs_lookup_symlink): Likewise.
44788 (grub_jfs_label): Likewise.
44789 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44790 (grub_hfsplus_iterate_dir): Likewise.
44791 (grub_hfsplus_btree_iterate_node): Made static.
44792
44793 * util/grub-emu.c (prefix): New variable.
44794 (grub_machine_set_prefix): New function.
44795 (main): Do not set the environment variable "prefix" here. Only
44796 set PREFIX, which is used later by grub_machine_set_prefix.
44797
44798 * include/grub/video.h: Do not include grub/symbol.h.
44799 (grub_video_register): Not exported. This symbol is not defined in
44800 the kernel.
44801 (grub_video_unregister): Likewise.
44802 (grub_video_iterate): Likewise.
44803 (grub_video_setup): Likewise.
44804 (grub_video_restore): Likewise.
44805 (grub_video_get_info): Likewise.
44806 (grub_video_get_blit_format): Likewise.
44807 (grub_video_set_palette): Likewise.
44808 (grub_video_get_palette): Likewise.
44809 (grub_video_set_viewport): Likewise.
44810 (grub_video_get_viewport): Likewise.
44811 (grub_video_map_color): Likewise.
44812 (grub_video_map_rgb): Likewise.
44813 (grub_video_map_rgba): Likewise.
44814 (grub_video_fill_rect): Likewise.
44815 (grub_video_blit_glyph): Likewise.
44816 (grub_video_blit_bitmap): Likewise.
44817 (grub_video_blit_render_target): Likewise.
44818 (grub_video_scroll): Likewise.
44819 (grub_video_swap_buffers): Likewise.
44820 (grub_video_create_render_target): Likewise.
44821 (grub_video_delete_render_target): Likewise.
44822 (grub_video_set_active_render_target): Likewise.
44823
44824 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44825 Undefined.
44826 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44827
44828 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44829 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44830 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44831 instead of $(srcdir)/genkernsyms.sh.
44832
44833 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44834 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44835 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44836 instead of $(srcdir)/genkernsyms.sh.
44837
44838 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44839 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44840 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44841 instead of $(srcdir)/genkernsyms.sh.
44842
44843 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44844 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44845 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44846 instead of $(srcdir)/genkernsyms.sh.
44847
44848 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44849 genkernsyms.sh.
44850
44851 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44852 genkernsyms.sh.
44853 (gensymlist.sh): New target.
44854 (genkernsyms.sh): Likewise.
44855
44856 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44857 genkernsyms.sh.in and gensymlist.sh.in.
44858
44859 * genkernsyms.sh: Removed.
44860 * gensymlist.sh: Likewise.
f19dbdb7 44861
7b455f4d 44862 * genkernsyms.sh.in: New file.
44863 * gensymlist.sh.in: Likewise.
44864
1885bb27 448652006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44866
44867 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
44868 clobber "prefix", since we may have already set it manually.
44869
71538dff 448702006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44871
44872 * kern/misc.c (abort): New alias for grub_abort.
44873
2965c7cc 448742006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
44875
44876 A new machine-specific function "grub_machine_set_prefix" is
44877 defined. This is called after loading modules, so that a prefix
44878 initialization can use modules. Also, this change adds an
44879 intensive debugging feature for the memory manager via the
44880 configure option "--enable-mm-debug".
f19dbdb7 44881
2965c7cc 44882 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
44883 PART.LEN.
44884
44885 * kern/sparc64/ieee1275/init.c (abort): Removed.
44886 (grub_stop): Likewise.
44887 (grub_exit): New function.
44888 (grub_set_prefix): Renamed to ...
44889 (grub_machine_set_prefix): ... this.
44890 (grub_machine_init): Do not call grub_set_prefix.
44891
44892 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
44893 (grub_machine_set_prefix): ... this.
44894 (grub_machine_init): Do not call grub_set_prefix.
44895
44896 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
44897 (grub_machine_init): Do not set the prefix here.
44898
44899 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
44900
44901 * kern/efi/init.c: Include grub/mm.h.
44902 (grub_efi_set_prefix): New function.
44903
44904 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
44905 (grub_efi_get_filename): New function.
44906 (grub_print_device_path): Renamed to ...
44907 (grub_efi_print_device_path): ... this.
44908
44909 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
44910 [MM_DEBUG] (grub_realloc): Likewise.
44911 [MM_DEBUG] (grub_free): Likewise.
44912 [MM_DEBUG] (grub_memalign): Likewise.
44913 [MM_DEBUG] (grub_mm_debug): New variable.
44914 [MM_DEBUG] (grub_debug_malloc): New function.
44915 [MM_DEBUG] (grub_debug_free): New function.
44916 [MM_DEBUG] (grub_debug_realloc): New function.
44917 [MM_DEBUG] (grub_debug_memalign): New function.
44918
44919 * kern/misc.c (grub_abort): Print a newline to distinguish
44920 the message.
44921
44922 * kern/main.c (grub_main): Call grub_machine_set_prefix and
44923 grub_set_root_dev after loading modules. This is necessary when
44924 setting a prefix depends on modules.
44925
44926 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
44927 (grub_efi_print_device_path): ... this.
44928 (grub_efi_get_filename): New prototype.
44929 (grub_efi_set_prefix): Likewise.
44930
44931 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
44932 and grub/disk.h.
44933 (grub_efidisk_get_device_handle): New prototype.
44934 (grub_efidisk_get_device_name): Likewise.
44935
44936 * include/grub/mm.h: Include config.h.
44937 (MM_DEBUG): Removed.
44938 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
44939 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
44940 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
44941 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
44942 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
44943 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
44944 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
44945 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
44946 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
44947
44948 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
44949
44950 * disk/efi/efidisk.c: Include grub/partition.h.
44951 (iterate_child_devices): New function.
44952 (add_device): First, compare only last device path nodes, so that
44953 devices are sorted by the types.
44954 (grub_efidisk_get_device_handle): New function.
44955 (grub_efidisk_get_device_name): Likewise.
44956
44957 * configure.ac (--enable-mm-debug): New option to enable the
44958 memory manager debugging feature. This makes the binary much
44959 bigger, so is disabled by default.
44960
9cacaa17 449612006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
44962
44963 Use grub_abort instead of grub_stop, and grub_exit must be
44964 define in each architecture now. Also, this change adds support
44965 for EFI disks.
f19dbdb7 44966
9cacaa17 44967 * util/i386/pc/grub-probefs.c: Include grub/term.h.
44968 (grub_getkey): New function.
44969 (grub_term_get_current): Likewise.
44970
44971 * util/i386/pc/grub-setup.c: Include grub/term.h.
44972 (grub_getkey): New function.
44973 (grub_term_get_current): Likewise.
44974
44975 * util/misc.c (grub_stop): Renamed to ...
44976 (grub_exit): ... this.
44977
44978 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
44979 (grub_exit): ... this.
44980 (grub_machine_init): Use grub_abort instead of abort.
44981 (grub_stop): Removed.
44982
44983 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
44984 abort.
44985
44986 * kern/i386/pc/startup.S (grub_exit): New function.
44987 (cold_reboot): New label.
44988
44989 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
44990 (grub_efi_init): Call grub_efidisk_init.
44991 (grub_efi_fini): Call grub_efidisk_fini.
44992
44993 * kern/efi/efi.c: Include grub/mm.h.
44994 (grub_efi_console_control_guid): Renamed to ...
44995 (console_control_guid): ... this.
44996 (grub_efi_loaded_image_guid): Renamed to ...
44997 (loaded_image_guid): ... this.
44998 (grub_efi_locate_handle): New function.
44999 (grub_efi_open_protocol): Likewise.
45000 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
45001 GRUB_EFI_CONSOLE_CONTROL_GUID.
45002 (grub_efi_exit): Removed.
45003 (grub_stop): Likewise.
45004 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
45005 (grub_exit): New function.
45006 (grub_print_device_path): Likewise.
45007
45008 * kern/rescue.c (grub_rescue_cmd_exit): New function.
45009 (grub_enter_rescue_mode): Register "exit".
45010
45011 * kern/misc.c (grub_real_dprintf): A cosmetic change.
45012 (grub_abort): New function.
45013
45014 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
45015
45016 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
45017
45018 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
45019
45020 * include/grub/efi/efi.h (grub_efi_exit): Removed.
45021 (grub_print_device_path): New prototype.
45022 (grub_efi_locate_handle): Likewise.
45023 (grub_efi_open_protocol): Likewise.
45024
45025 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
45026 * disk/efi/efidisk.c: Likewise.
45027
45028 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
45029
45030 * include/grub/efi/console_control.h
45031 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
45032
45033 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
45034 last 8 bytes as an array.
45035 (GRUB_EFI_DISK_IO_GUID): New macro.
45036 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
45037 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
45038 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
45039 grub_uint8_t.
45040 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
45041 (struct grub_efi_device_path): Rename the member "sub_type" to
45042 "subtype".
45043 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
45044 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
45045 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
45046 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
45047 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
45048 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
45049 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
45050 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
45051 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
45052 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
45053 (struct grub_efi_pci_device_path): New structure.
45054 (grub_efi_pci_device_path_t): New type.
45055 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
45056 (struct grub_efi_pccard_device_path): New structure.
45057 (grub_efi_pccard_device_path_t): New type.
45058 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
45059 (struct grub_efi_memory_mapped_device_path): New structure.
45060 (grub_efi_memory_mapped_device_path_t): New type.
45061 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
45062 (struct grub_efi_vendor_device_path): New structure.
45063 (grub_efi_vendor_device_path_t): New type.
45064 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
45065 (struct grub_efi_controller_device_path): New structure.
45066 (grub_efi_controller_device_path_t): New type.
45067 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
45068 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
45069 (struct grub_efi_acpi_device_path): New structure.
45070 (grub_efi_acpi_device_path_t): New type.
45071 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
45072 (struct grub_efi_expanded_acpi_device_path): New structure.
45073 (grub_efi_expanded_acpi_device_path_t): New type.
45074 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
45075 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
45076 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
45077 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
45078 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
45079 (struct grub_efi_atapi_device_path): New structure.
45080 (grub_efi_atapi_device_path_t): New type.
45081 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
45082 (struct grub_efi_fibre_channel_device_path): New structure.
45083 (grub_efi_fibre_channel_device_path_t): New type.
45084 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
45085 (struct grub_efi_1394_device_path): New structure.
45086 (grub_efi_1394_device_path_t): New type.
45087 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
45088 (struct grub_efi_usb_device_path): New structure.
45089 (grub_efi_usb_device_path_t): New type.
45090 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
45091 (struct grub_efi_usb_class_device_path): New structure.
45092 (grub_efi_usb_class_device_path_t): New type.
45093 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
45094 (struct grub_efi_i2o_device_path): New structure.
45095 (grub_efi_i2o_device_path_t): New type.
45096 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
45097 (struct grub_efi_mac_address_device_path): New structure.
45098 (grub_efi_mac_address_device_path_t): New type.
45099 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
45100 (struct grub_efi_ipv4_device_path): New structure.
45101 (grub_efi_ipv4_device_path_t): New type.
45102 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
45103 (struct grub_efi_ipv6_device_path): New structure.
45104 (grub_efi_ipv6_device_path_t): New type.
45105 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
45106 (struct grub_efi_infiniband_device_path): New structure.
45107 (grub_efi_infiniband_device_path_t): New type.
45108 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
45109 (struct grub_efi_uart_device_path): New structure.
45110 (grub_efi_uart_device_path_t): New type.
45111 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
45112 (struct grub_efi_vendor_messaging_device_path): New structure.
45113 (grub_efi_vendor_messaging_device_path_t): New type.
45114 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
45115 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
45116 (struct grub_efi_hard_drive_device_path): New structure.
45117 (grub_efi_hard_drive_device_path_t): New type.
45118 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
45119 (struct grub_efi_cdrom_device_path): New structure.
45120 (grub_efi_cdrom_device_path_t): New type.
45121 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
45122 (struct grub_efi_vendor_media_device_path): New structure.
45123 (grub_efi_vendor_media_device_path_t): New type.
45124 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
45125 (struct grub_efi_file_path_device_path): New structure.
45126 (grub_efi_file_path_device_path_t): New type.
45127 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
45128 (struct grub_efi_protocol_device_path): New structure.
45129 (grub_efi_protocol_device_path_t): New type.
45130 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
45131 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
45132 (struct grub_efi_bios_device_path): New structure.
45133 (grub_efi_bios_device_path_t): New type.
45134 (struct grub_efi_disk_io): New structure.
45135 (grub_efi_disk_io_t): New type.
45136 (struct grub_efi_block_io_media): New structure.
45137 (grub_efi_block_io_media_t): New type.
45138 (struct grub_efi_block_io): New structure.
45139 (grub_efi_block_io_t): New type.
45140
45141 * include/grub/misc.h (grub_stop): Removed.
45142 (grub_exit): New prototype.
45143 (grub_abort): Likewise.
45144
45145 * include/grub/disk.h (enum grub_disk_dev_id): Added
45146 GRUB_DISK_DEVICE_EFIDISK_ID.
45147
45148 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
45149 disk/efi/efidisk.c.
45150 (kernel_syms.lst): Remove the target if an error occurs.
45151
49986a9f 451522006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
45153
45154 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
45155 as it was simply too buggy.
45156
970d3b8a 451572006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
45158
45159 * kern/misc.c (grub_lltoa): New function.
45160 (grub_vsprintf): Added support for the long long suffix,
45161 i.e. "ll".
45162
ff04ec24 451632006-04-20 Hollis Blanchard <hollis@penguinppc.org>
45164
45165 * Makefile.in (LDFLAGS): Add variable.
45166 (LD): Remove variable.
45167 * configure.ac: Add -m32 to LDFLAGS.
45168 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
45169 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
45170 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
45171 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
45172 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
45173 variables.
45174 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
45175 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
45176 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
45177
37e5e1a4 451782006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
45179
45180 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
45181 length for unknown glyph.
45182
c352d8dd 451832006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
45184
2eab1c0d 45185 Add support for pre-loaded modules into the EFI port.
f19dbdb7 45186
2eab1c0d 45187 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
45188 completely. Accept one more argument DIR. The caller has changed.
45189
45190 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
45191
45192 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
45193 (grub_efi_loaded_image_guid): New variable.
45194 (grub_efi_get_loaded_image): New function.
45195 (grub_arch_modules_addr): Likewise.
45196
45197 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
45198 prototype.
45199
45200 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
45201 (struct grub_efi_loaded_image): New structure.
45202 (grub_efi_loaded_image_t): New type.
45203
452042006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45205
c352d8dd 45206 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
45207 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
45208 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
45209
6d01d6b4 452102006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
45211
45212 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
45213
976a4ea0 452142006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
45215
45216 * DISTLIST: Added include/grub/efi/console.h,
45217 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
45218 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45219
45220 * include/grub/efi/console.h: New file.
45221 * include/grub/efi/time.h: Likewise.
45222 * include/grub/i386/efi/kernel.h: Likewise.
45223 * kern/efi/init.c: Likewise.
45224 * kern/efi/mm.c: Likewise.
45225 * term/efi/console.c: Likewise.
f19dbdb7 45226
976a4ea0 45227 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
45228 (grub_stop): Removed.
45229 (grub_get_rtc): Likewise.
45230 (grub_machine_init): Simply call grub_efi_init.
45231 (grub_machine_fini): Call grub_efi_fini.
45232
45233 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
45234 (grub_efi_output_string): Removed.
45235 (grub_efi_stall): New function.
45236 (grub_stop): Likewise.
45237 (grub_get_rtc): Likewise.
45238
45239 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
45240 (grub_efi_stall): New prototype.
45241 (grub_efi_allocate_pages): Likewise.
45242 (grub_efi_free_pages): Likewise.
45243 (grub_efi_get_memory_map): Likewise.
45244 (grub_efi_mm_init): Likewise.
45245 (grub_efi_mm_fini): Likewise.
45246 (grub_efi_init): Likewise.
45247 (grub_efi_fini): Likewise.
45248
45249 * include/grub/i386/efi/time.h: Do not include
45250 grub/symbol.h. Include grub/efi/time.h.
45251 (GRUB_TICKS_PER_SECOND): Removed.
45252 (grub_get_rtc): Likewise.
45253
45254 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
45255 Added padding. The EFI spec is buggy.
45256 (GRUB_EFI_BLACK): New macro.
45257 (GRUB_EFI_BLUE): Likewise.
45258 (GRUB_EFI_GREEN): Likewise.
45259 (GRUB_EFI_CYAN): Likewise.
45260 (GRUB_EFI_RED): Likewise.
45261 (GRUB_EFI_MAGENTA): Likewise.
45262 (GRUB_EFI_BROWN): Likewise.
45263 (GRUB_EFI_LIGHTGRAY): Likewise.
45264 (GRUB_EFI_BRIGHT): Likewise.
45265 (GRUB_EFI_DARKGRAY): Likewise.
45266 (GRUB_EFI_LIGHTBLUE): Likewise.
45267 (GRUB_EFI_LIGHTGREEN): Likewise.
45268 (GRUB_EFI_LIGHTCYAN): Likewise.
45269 (GRUB_EFI_LIGHTRED): Likewise.
45270 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45271 (GRUB_EFI_YELLOW): Likewise.
45272 (GRUB_EFI_WHITE): Likewise.
45273 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45274 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45275 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45276 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45277 (GRUB_EFI_BACKGROUND_RED): Likewise.
45278 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45279 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45280 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45281 (GRUB_EFI_TEXT_ATTR): Likewise.
45282
45283 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45284 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45285 (kernel_mod_HEADERS): Added efi/time.h.
45286
83709125 452872006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45288
45289 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45290 include/grub/efi/api.h, include/grub/efi/console_control.h,
45291 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45292 include/grub/i386/efi/time.h, kern/efi/efi.c,
45293 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45294 and util/i386/efi/grub-mkimage.c.
45295
45296 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45297
45298 * genmk.rb (PModule#rule): Do not export symbols if
45299 #{prefix}_EXPORTS is set to "no".
45300
45301 * conf/i386-efi.mk: New file.
45302 * conf/i386-efi.rmk: Likewise.
45303 * include/grub/efi/api.h: Likewise.
45304 * include/grub/efi/console_control.h: Likewise.
45305 * include/grub/efi/efi.h: Likewise.
45306 * include/grub/efi/pe32.h: Likewise.
45307 * include/grub/i386/efi/time.h: Likewise.
45308 * kern/efi/efi.c: Likewise.
45309 * kern/i386/efi/init.c: Likewise.
45310 * kern/i386/efi/startup.S: Likewise.
45311 * util/i386/efi/grub-mkimage.c: Likewise.
45312
453132006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45314
45315 * include/grub/script.h: Include <grub/parser.h> and
45316 "grub_script.tab.h".
45317 (struct grub_lexer_param): New struct.
45318 (struct grub_parser_param): Likewise.
45319 (grub_script_create_arglist): Pass the state in an argument.
45320 (grub_script_add_arglist): Likewise.
45321 (grub_script_create_cmdline): Likewise.
45322 (grub_script_create_cmdblock): Likewise.
45323 (grub_script_create_cmdif): Likewise.
45324 (grub_script_create_cmdmenu): Likewise.
45325 (grub_script_add_cmd): Likewise.
45326 (grub_script_arg_add): Likewise.
45327 (grub_script_lexer_ref): Likewise.
45328 (grub_script_lexer_deref): Likewise.
45329 (grub_script_lexer_record_start): Likewise.
45330 (grub_script_lexer_record_stop): Likewise.
45331 (grub_script_mem_record): Likewise.
45332 (grub_script_mem_record_stop): Likewise.
45333 (grub_script_malloc): Likewise.
45334 (grub_script_yylex): Likewise.
45335 (grub_script_yyparse): Likewise.
45336 (grub_script_yyerror): Likewise.
45337 (grub_script_yylex): Likewise.
45338 (grub_script_lexer_init): Return the state.
45339
45340 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45341 (grub_script_lexer_done): Likewise.
45342 (grub_script_lexer_getline): Likewise.
45343 (grub_script_lexer_refs): Likewise.
45344 (script): Likewise.
45345 (newscript): Likewise.
45346 (record): Likewise.
45347 (recording): Likewise.
45348 (recordpos): Likewise.
45349 (recordlen): Likewise.
45350 (grub_script_lexer_init): Return the state instead of setting
45351 global variables.
45352 (grub_script_lexer_ref): Use the newly added argument for state
45353 instead of globals.
45354 (grub_script_lexer_deref): Likewise.
45355 (grub_script_lexer_record_start): Likewise.
45356 (grub_script_lexer_record_stop): Likewise.
45357 (recordchar): Likewise.
45358 (nextchar): Likewise.
45359 (grub_script_yylex2): Likewise.
45360 (grub_script_yylex): Likewise.
45361 (grub_script_yyerror): Likewise.
45362
45363 * normal/parser.y (func_mem): Removed variable.
45364 (menu_entry): Likewise.
45365 (err): Likewise.
45366 (%lex-param): New parser option.
45367 (%parse-param): Likewise.
45368 (script): Always return the AST.
45369 (argument): Pass the state around.
45370 (arguments): Likewise.
45371 (grubcmd): Likewise.
45372 (commands): Likewise.
45373 (function): Likewise.
45374 (menuentry): Likewise.
45375 (if_statement): Likewise.
45376 (if): Likewise.
45377
45378 * normal/script.c (grub_script_memused): Removed variable.
45379 (grub_script_parsed): Likewise.
45380 (grub_script_malloc): Added a state argument. Use that instead of
45381 global variables.
45382 (grub_script_mem_record): Likewise.
45383 (grub_script_mem_record_stop): Likewise.
45384 (grub_script_arg_add): Likewise.
45385 (grub_script_add_arglist): Likewise.
45386 (grub_script_create_cmdline): Likewise.
45387 (grub_script_create_cmdif): Likewise.
45388 (grub_script_create_cmdmenu): Likewise.
45389 (grub_script_add_cmd): Likewise.
45390 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45391
e2a8c904 453922006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45393
45394 * normal/command.c (grub_command_init): Remove the title command.
45395
45396 * normal/lexer.c (grub_script_yylex): Renamed from this...
45397 (grub_script_yylex2): ... to this.
45398 (grub_script_yylex): New function. Temporary
45399 introduced to filter some tokens.
45400 (grub_script_yyerror): Print a newline.
45401
45402 * normal/main.c (read_config_file): Output information about the
45403 lines that contain errors. Wait for a key after all lines have
45404 been processed. Don't return an empty menu.
45405
45406 * normal/parser.y (func_mem): Don't initialize.
45407 (menu_entry): Likewise.
45408 (err): New variable.
45409 (script): Don't return anything when an error was encountered.
45410 (ws, returns): Removed rules.
45411 (argument): Disabled concatenated variable support.
45412 (arguments): Remove explicit separators.
45413 (grubcmd): Likewise.
45414 (function): Likewise.
45415 (menuentry): Likewise.
45416 (if): Likewise.
45417 (commands): Likewise. Add error handling.
45418
45419 * normal/script.c (grub_script_create_cmdline): If
45420 `grub_script_parsed' is 0, assume the parser encountered an error.
45421
c9a86192 454222006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45423
45424 * configure.ac: Add support for EFI. Fix the typo
45425 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45426
70f3b243 454272006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45428
45429 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45430 foreign multibyte characters should be shown correctly.
45431
65f201ad 454322006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45433
45434 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45435 calculation.
45436 (read_config_file): Made it to close file before returning.
45437
b4b93674 454382006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45439
45440 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45441 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45442 video/i386/pc/vbefill.c.
45443
45444 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45445 video/i386/pc/vbefill.c.
45446
45447 * include/grub/video.h (grub_video_blit_format): New enum.
45448 (grub_video_mode_info): Added new member blit_format.
45449 (grub_video_get_blit_format): New function prototype.
45450
45451 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45452 function prototype.
45453 (grub_video_vbe_map_rgb): Likewise.
45454 (grub_video_vbe_unmap_color): Likewise.
45455
45456 * include/grub/i386/pc/vbeblit.h: New file.
45457
45458 * include/grub/i386/pc/vbefill.h: New file.
45459
45460 * video/video.c (grub_video_get_blit_format): New function.
45461 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45462 (grub_video_vbe_map_rgb): Likewise.
45463 (grub_video_vbe_unmap_color): Likewise.
45464
45465 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45466 optimized fills.
45467 (grub_video_vbe_blit_render_target): Changed to use more optimized
45468 blits.
45469 (grub_video_vbe_setup): Added detection for optimized settings.
45470 (grub_video_vbe_create_render_target): Likewise.
45471
45472 * video/i386/pc/vbeblit.c: New file.
45473
45474 * video/i386/pc/vbefill.c: New file.
45475
c2379b9c 454762006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45477
45478 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45479 here...
45480
45481 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45482 parsing to support both hex and dec ranges. If filename was missing
45483 show usage information.
45484
bd0d7896 454852006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45486
45487 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45488 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45489
45490 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45491 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45492 (video_mod_SOURCES): Added.
45493 (video_mod_CFLAGS): Likewise.
45494 (video_mod_LDFLAGS): Likewise.
45495 (gfxterm_mod_SOURCES): Likewise.
45496 (gfxterm_mod_CFLAGS): Likewise.
45497 (gfxterm_mod_LDFLAGS): Likewise.
45498 (videotest_mod_SOURCES): Likewise.
45499 (videotest_mod_CFLAGS): Likewise.
45500 (videotest_mod_LDFLAGS): Likewise.
45501 (vesafb_mod_SOURCES): Removed.
45502 (vesafb_mod_CFLAGS): Likewise.
45503 (vesafb_mod_LDFLAGS): Likewise.
45504 (vga_mod_SOURCES): Likewise.
45505 (vga_mod_CFLAGS): Likewise.
45506 (vga_mod_LDFLAGS): Likewise.
45507
45508 * commands/videotest.c: New file.
45509
45510 * font/manager.c (fill_with_default_glyph): Modified to use
45511 grub_font_glyph.
45512 (grub_font_get_glyph): Likewise.
45513 (fontmanager): Renamed from this...
45514 (font_manager): ... to this.
45515
45516 * include/grub/font.h (grub_font_glyph): Added new structure.
45517 (grub_font_get_glyph): Modified to use grub_font_glyph.
45518
45519 * include/grub/misc.h (grub_abs): Added as inline function.
45520
45521 * include/grub/video.h: New file.
45522
45523 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45524 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45525 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45526 (grub_vbe_get_controller_info): Renamed from this...
45527 (grub_vbe_bios_get_controller_info): ... to this.
45528 (grub_vbe_get_mode_info): Renamed from this...
45529 (grub_vbe_bios_get_mode_info): ... to this.
45530 (grub_vbe_set_mode): Renamed from this...
45531 (grub_vbe_bios_set_mode): ... to this.
45532 (grub_vbe_get_mode): Renamed from this...
45533 (grub_vbe_bios_get_mode): ... to this.
45534 (grub_vbe_set_memory_window): Renamed from this...
45535 (grub_vbe_bios_set_memory_window): ... to this.
45536 (grub_vbe_get_memory_window): Renamed from this...
45537 (grub_vbe_bios_get_memory_window): ... to this.
45538 (grub_vbe_set_scanline_length): Renamed from this...
45539 (grub_vbe_set_scanline_length): ... to this.
45540 (grub_vbe_get_scanline_length): Renamed from this...
45541 (grub_vbe_bios_get_scanline_length): ... to this.
45542 (grub_vbe_set_display_start): Renamed from this...
45543 (grub_vbe_bios_set_display_start): ... to this.
45544 (grub_vbe_get_display_start): Renamed from this...
45545 (grub_vbe_bios_get_display_start): ... to this.
45546 (grub_vbe_set_palette_data): Renamed from this...
45547 (grub_vbe_bios_set_palette_data): ... to this.
45548 (grub_vbe_set_pixel_rgb): Removed.
45549 (grub_vbe_set_pixel_index): Likewise.
45550
45551 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45552 from this...
45553 (grub_vbe_bios_get_controller_info): ... to this.
45554 (grub_vbe_get_mode_info): Renamed from this...
45555 (grub_vbe_bios_get_mode_info): ... to this.
45556 (grub_vbe_set_mode): Renamed from this...
45557 (grub_vbe_bios_set_mode): ... to this.
45558 (grub_vbe_get_mode): Renamed from this...
45559 (grub_vbe_bios_get_mode): ... to this.
45560 (grub_vbe_set_memory_window): Renamed from this...
45561 (grub_vbe_bios_set_memory_window): ... to this.
45562 (grub_vbe_get_memory_window): Renamed from this...
45563 (grub_vbe_bios_get_memory_window): ... to this.
45564 (grub_vbe_set_scanline_length): Renamed from this...
45565 (grub_vbe_set_scanline_length): ... to this.
45566 (grub_vbe_get_scanline_length): Renamed from this...
45567 (grub_vbe_bios_get_scanline_length): ... to this.
45568 (grub_vbe_set_display_start): Renamed from this...
45569 (grub_vbe_bios_set_display_start): ... to this.
45570 (grub_vbe_get_display_start): Renamed from this...
45571 (grub_vbe_bios_get_display_start): ... to this.
45572 (grub_vbe_set_palette_data): Renamed from this...
45573 (grub_vbe_bios_set_palette_data): ... to this.
45574 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45575 getting corrupted after calling it. Added more pushes and pops.
45576 (grub_vbe_bios_set_mode): Likewise.
45577 (grub_vbe_bios_get_mode): Likewise.
45578 (grub_vbe_bios_get_memory_window): Likewise.
45579 (grub_vbe_bios_set_scanline_length): Likewise.
45580 (grub_vbe_bios_get_scanline_length): Likewise.
45581 (grub_vbe_bios_get_display_start): Likewise.
45582 (grub_vbe_bios_set_palette_data): Likewise.
45583
45584 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45585 (cl_insert): Likewise.
45586 (cl_delete): Likewise.
45587
45588 * term/gfxterm.c: New file.
45589
45590 * term/i386/pc/vesafb.c: Removed file.
45591
45592 * video/video.c: New file.
45593
45594 * video/i386/pc/vbe.c (real2pm): Added new function.
45595 (grub_video_vbe_draw_pixel): Likewise.
45596 (grub_video_vbe_get_video_ptr): Likewise.
45597 (grub_video_vbe_get_pixel): Likewise
45598 (grub_video_vbe_init): Likewise.
45599 (grub_video_vbe_fini): Likewise.
45600 (grub_video_vbe_setup): Likewise.
45601 (grub_video_vbe_get_info): Likewise.
45602 (grub_video_vbe_set_palette): Likewise.
45603 (grub_video_vbe_get_palette): Likewise.
45604 (grub_video_vbe_set_viewport): Likewise.
45605 (grub_video_vbe_get_viewport): Likewise.
45606 (grub_video_vbe_map_color): Likewise.
45607 (grub_video_vbe_map_rgb): Likewise.
45608 (grub_video_vbe_map_rgba): Likewise.
45609 (grub_video_vbe_unmap_color): Likewise.
45610 (grub_video_vbe_fill_rect): Likewise.
45611 (grub_video_vbe_blit_glyph): Likewise.
45612 (grub_video_vbe_blit_bitmap): Likewise.
45613 (grub_video_vbe_blit_render_target): Likewise.
45614 (grub_video_vbe_scroll): Likewise.
45615 (grub_video_vbe_swap_buffers): Likewise.
45616 (grub_video_vbe_create_render_target): Likewise.
45617 (grub_video_vbe_delete_render_target): Likewise.
45618 (grub_video_vbe_set_active_render_target): Likewise.
45619 (grub_vbe_set_pixel_rgb): Remove function.
45620 (grub_vbe_set_pixel_index): Likewise.
45621 (index_color_mode): Remove static variable.
45622 (active_mode): Likewise.
45623 (framebuffer): Likewise.
45624 (bytes_per_scan_line): Likewise.
45625 (grub_video_vbe_adapter): Added new static variable.
45626 (framebuffer): Likewise.
45627 (render_target): Likewise.
45628 (initial_mode): Likewise.
45629 (mode_in_use): Likewise.
45630 (mode_list): Likewise.
45631
5f97350b 456322006-03-10 Marco Gerards <marco@gnu.org>
45633
45634 * configure.ac (AC_INIT): Bumped to 1.93.
45635
45636 * DISTLIST: Added `include/grub/hfs.h'.
45637
a3c5c6f8 456382006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45639
45640 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45641 18H, which might help the BIOS falling back to next boot media.
45642
6de53d26 456432006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45644
45645 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45646 Poe Chen <poe.poechen@gmail.com>.
45647
77c4a393 456482006-01-17 Marco Gerards <marco@gnu.org>
45649
45650 * include/grub/normal.h: Include <grub/script.h>.
45651 (grub_command_list): Removed struct.
45652 (grub_command_list_t): Removed type.
45653 (grub_menu_entry): Remove members `num' and `command_list'. Add
45654 members `commands' and `sourcecode'.
45655 * include/grub/script.h: Add inclusion guards.
45656 (grub_script_cmd_menuentry): New struct.
45657 (grub_script_execute_menuentry): New prototype.
45658 (grub_script_lexer_record_start): Likewise.
45659 (grub_script_lexer_record_stop): Likewise.
45660 * normal/execute.c (grub_script_execute_menuentry): New function.
45661 * normal/lexer.c (record, recording, recordpos, recordlen): New
45662 variables.
45663 (grub_script_lexer_record_start): New function.
45664 (grub_script_lexer_record_stop): Likewise.
45665 (recordchar): Likewise.
45666 (nextchar): Likewise.
45667 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45668 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45669 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45670 (current_menu): New variable.
45671 (free_menu): Mainly rewritten.
45672 (grub_normal_menu_addentry): New function.
45673 (read_config_file): Rewritten.
45674 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45675 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45676 the menu entry.
45677 (run): Mainly rewritten.
45678 * normal/parser.y (menu_entry): New variable.
45679 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45680 (menuentry): New rule.
45681 (command): Add `menuentry'.
45682 (if_statement): Allow additional returns before `fi'.
45683 * normal/script.c (grub_script_create_cmdmenu): New function.
45684
144f1f98 456852006-01-03 Marco Gerards <marco@gnu.org>
45686
45687 * INSTALL: GNU Bison is required.
45688 * configure.ac: Rewritten the test to detect Bison.
45689 * Makefile.in (YACC): New variable. Reported by Xun Sun
45690 <xun.sun.cn@gmail.com>.
45691
af4b2d89 456922006-01-03 Marco Gerards <marco@gnu.org>
45693
45694 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45695 the HFS+ filesystem to filesystem blocks.
45696 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45697 GCC warning is silenced.
45698
15643b71 456992006-01-03 Marco Gerards <marco@gnu.org>
45700
45701 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45702 read from disk from big endian to host byte order.
45703
00905879 457042006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45705
45706 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45707 documentation.
45708 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45709 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45710 embedded HFS+ filesystem.
45711 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45712 (grub_hfs_sblock): Move from here...
45713 * include/grub/hfs.h: To here... New file.
45714 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45715 documentation.
45716 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45717 New macros.
45718 (grub_hfsplus_volheader): Change type of member `magic' to
45719 `grub_uint16_t'.
45720 (grub_hfsplus_data): Add new member `embedded_offset'.
45721 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45722 returned block.
45723 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45724 Calculate the offset.
45725
8899bc3e 457262005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45727
45728 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45729 Removed.
45730 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45731
ae8c0277 457322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45733
45734 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45735 ENV->NAME is NULL after allocating ENV->VALUE.
45736
07084456 457372005-12-25 Marco Gerards <marco@gnu.org>
45738
45739 * kern/env.c (grub_env_set): Rewritten the error handling code.
45740
4750f5f1 457412005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45742
45743 * geninit.sh: Made more robust, and more portable.
45744
50214199 457452005-12-25 Marco Gerards <marco@gnu.org>
45746
45747 Add support for Apple HFS+ filesystems.
f19dbdb7 45748
50214199 45749 * fs/hfsplus.c: New file.
45750
45751 * DISTLIST: Added `fs/hfsplus.c'.
45752
45753 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45754 (hfsplus_mod_SOURCES): New variable.
45755 (hfsplus_mod_CFLAGS): Likewise.
45756 (hfsplus_mod_LDFLAGS): Likewise.
45757 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45758 (grub_setup_SOURCES): Likewise.
45759 (grub_mkdevicemap_SOURCES): Likewise.
45760 (grub_emu_SOURCES): Likewise.
45761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45762
45763 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45764
45765 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45766
befaed6c 457672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45768
45769 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45770 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45771 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45772 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45773 normal/lexer.c, normal/parser.y, normal/script.c, and
45774 partmap/gpt.c.
45775 Removed kern/sparc64/cache.c.
45776
45777 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45778 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45779 grub_emu_init.c.
45780
45781 * configure.ac (AC_INIT): Bumped to 1.92.
45782
6a124103 457832005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45784
45785 * kern/err.c (grub_error_push): Added new function to support error
45786 stacks.
45787 (grub_error_pop): Likewise.
45788 (grub_error_stack_items): New local variable to support error stacks.
45789 (grub_error_stack_pos): Likewise.
45790 (grub_error_stack_assert): Likewise.
45791 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45792 stack depth.
45793 (grub_print_error): Added support to print errors from error stack.
45794
45795 * include/grub/err.h (grub_error_push): Added function prototype.
45796 (grub_error_pop): Likewise.
45797
be973c1b 457982005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45799
45800 * configure.ac: Accept `powerpc64' as host_cpu.
45801 (amd64): Rename to `biarch32'.
45802
45803 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45804 non-cacheline-aligned addresses.
45805
45806 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45807 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45808 if `size' is non-zero.
45809
b04216ab 458102005-12-03 Marco Gerards <mgerards@xs4all.nl>
45811
45812 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45813 and `cd' to make sure the filename is not prefixed with a
45814 directory name.
45815 (pkgdata_MODULES): Add `gpt.mod'.
45816 (gpt_mod_SOURCES): New variable.
45817 (gpt_mod_CFLAGS): Likewise.
45818 (gpt_mod_LDFLAGS): Likewise.
45819
45820 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45821
45822 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45823 New macro.
45824
45825 * partmap/gpt.c: New file.
45826
45827 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45828 GPT partition map is detected.
45829
41730ed9 458302005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45831
45832 * commands/i386/pc/play.c: New file.
45833 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45834 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45835 macros.
f19dbdb7 45836
95dc3643 458372005-11-27 Marco Gerards <mgerards@xs4all.nl>
45838
45839 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45840 ((unused))' to silence gcc warning.
45841
1569ec51 458422005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45843
45844 * configure.ac: Correct `AC_PROG_YACC' test.
45845
9abde152 458462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45847
45848 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45849 check before installing files.
45850
44b83271 458512005-11-22 Mike Small <smallm@panix.com>
45852
45853 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45854 number regex so multidigit numbers are recognized correctly.
45855
458562005-11-22 Mike Small <smallm@panix.com>
45857
45858 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45859 debugging message before attempting to claim memory.
45860 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45861 multiple addresses in case of failure.
45862
9c12956b 458632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45864
45865 * term/tparm.c (get_space): Remove empty `if' statement.
45866
45867 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
45868
45869 * kern/parser.c (check_varstate): Rename `state' to 's'.
45870
aeaf81d9 458712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45872
45873 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
45874 variable definitions to the beginning of each function. Sort stack
45875 variables by size.
45876 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
45877 `buf' argument to `char *'.
45878
79bbb63f 458792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45880
45881 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
45882 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45883 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 45884 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45885 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45886 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45887 configfile.mod, search.mod, gzio.mod and test.mod.
45888 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45889 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45890 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45891 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45892 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45893 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45894 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45895 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45896 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45897 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45898 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45899 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45900 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45901 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45902 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45903 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45904 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45905 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45906 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45907 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45908 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45909 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45910 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
45911
45912 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
45913 `grep --include'.
45914 (pkgdata_MODULES): Add test.mod.
45915
233b1628 459162005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45917
45918 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
45919 appending to variables with "+=".
45920 (PModule): Use full pathname to generate *.lst filenames.
45921
45922 * Makefile.in: Fixed list rules moved from genmk.rb.
45923 (.DELETE_ON_ERROR): New special target.
45924 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
45925
45926 * conf/i386-pc.rmk: Include conf/common.mk.
45927 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45928 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 45929 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45930 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45931 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45932 configfile.mod, search.mod, gzio.mod and test.mod.
45933 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45934 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45935 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45936 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45937 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45938 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45939 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45940 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45941 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45942 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45943 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45944 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45945 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45946 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45947 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45948 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45949 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45950 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45951 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45952 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45953 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45954 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45955 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
45956 here...
45957 * conf/common.rmk: ... to here. New file.
45958
45959 * conf/common.mk: New file.
45960
16f820c8 459612005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
45962
45963 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
45964 (grub_script.tab.c): ... here.
45965
45966 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
45967 (grub_script.tab.c): ... here.
45968
45969 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
45970 (grub_script.tab.c): ... here.
45971
45972 * normal/command.c (grub_command_find): Fixed a memory leak of
45973 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
45974
63ba1554 459752005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45976
45977 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
45978 "@" which marks the start of a comment on ARM.
45979 (VARIABLE): Likewise.
45980
7f67dc13 459812005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45982
79bbb63f 45983 Add support for Linux/ADFS partition tables.
7f67dc13 45984
45985 * partmap/acorn.c: New file.
45986
45987 * include/grub/acorn_filecore.h: Likewise.
45988
45989 * DISTLIST: Added `partmap/acorn.c' and
45990 `include/grub/acorn_filecore.h'.
f19dbdb7 45991
7f67dc13 45992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45993 `partmap/acorn.c'.
45994 (pkgdata_MODULES): Add `acorn.mod'.
45995 (acorn_mod_SOURCES): New variable.
45996 (acorn_mod_CFLAGS): Likewise.
45997
45998 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45999 `partmap/acorn.c'.
46000 (pkgdata_MODULES): Add `acorn.mod'.
46001 (acorn_mod_SOURCES): New variable.
46002 (acorn_mod_CFLAGS): Likewise.
46003
46004 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
46005 (pkgdata_MODULES): Add `acorn.mod'.
46006 (acorn_mod_SOURCES): New variable.
46007 (acorn_mod_CFLAGS): Likewise.
46008 (acorn_mod_LDFLAGS): Likewise.
46009
46010 * include/types.h (grub_disk_addr_t): New typedef.
46011
6d099807 460122005-11-13 Marco Gerards <mgerards@xs4all.nl>
46013
46014 * geninit.sh: New file.
46015
46016 * geninitheader.sh: Likewise.
46017
46018 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
46019 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
46020 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
46021 * commands/configfile.c (grub_configfile_init)
46022 (grub_configfile_fini): Likewise.
46023 * commands/default.c (grub_default_init, grub_default_fini):
46024 Likewise.
46025 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
46026 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
46027 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
46028 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
46029 Likewise.
46030 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
46031 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
46032 Likewise.
46033 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 46034 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 46035 Likewise.
46036 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
46037 Likewise.
fe6b695a 46038 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 46039 Likewise.
46040 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
46041 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
46042 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
46043 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
46044 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
46045 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
46046 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
46047 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
46048 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
46049 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
46050 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
46051 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
46052 * partmap/amiga.c (grub_amiga_partition_map_init)
46053 (grub_amiga_partition_map_fini): Likewise.
46054 * partmap/apple.c (grub_apple_partition_map_init)
46055 (grub_apple_partition_map_fini): Likewise.
46056 * partmap/pc.c (grub_pc_partition_map_init)
46057 (grub_pc_partition_map_fini): Likewise.
46058 * partmap/sun.c (grub_sun_partition_map_init,
46059 grub_sun_partition_map_fini): Likewise.
46060 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
46061 Likewise.
46062
46063 * util/grub-emu.c: Include <grub_modules_init.h>.
46064 (main): Don't initialize and de-initialize any modules directly,
46065 use `grub_init_all' and `grub_fini_all' instead.
46066
46067 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
46068 `grub_vesafb_mod_init'.
46069 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
46070 all users.
46071 * term/i386/pc/vga.c (grub_vga_init): Renamed to
46072 `grub_vga_mod_init'. Updated all users.
46073 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 46074
6d099807 46075 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
46076 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
46077 rules.
46078
46079 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
46080 Generate a function to initialize the module in utilities.
46081 Updated all callers.
46082 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
46083 initialize the module in utilities. Updated all callers.
46084
9046bcf0 460852005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46086
46087 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
46088 escape sequence and a literal ^L to clear the screen.
46089
46090 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
46091 when returning from Open Firmware.
46092
d13ea639 460932005-11-09 Hollis Blanchard <hollis@penguinppc.org>
46094
46095 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
46096 (grub_ofconsole_height): Likewise.
46097 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
46098 manually insert a '\n'.
46099 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
46100 `grub_ofconsole_height'. Return early if these are already set.
46101
a8fcf206 461022005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
46103
46104 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
46105 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
46106 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
46107 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
46108 and `normal/script.c'.
46109 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46110 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46111 (test_mod_SOURCES): New variable.
46112 (test_mod_CFLAGS): Likewise.
46113 (test_mod_LDFLAGS): Likewise.
46114 (pkgdata_MODULES): Add `test.mod'.
46115 (grub_script.tab.c): New rule.
46116 (grub_script.tab.h): Likewise.
46117
b6b32745 461182005-11-07 Marco Gerards <mgerards@xs4all.nl>
46119
46120 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46121 `commands/test.c', `normal/execute.c', `normal/lexer.c',
46122 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46123 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46124 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
46125 (test_mod_SOURCES): New variable.
46126 (test_mod_CFLAGS): Likewise.
46127 (pkgdata_MODULES): Add `test.mod'.
46128 (grub_script.tab.c): New rule.
46129 (grub_script.tab.h): Likewise.
46130
daac212a 461312005-11-06 Marco Gerards <mgerards@xs4all.nl>
46132
46133 Add initial scripting support.
46134
46135 * commands/test.c: New file.
46136 * include/grub/script.h: Likewise.
46137 * normal/execute.c: Likewise.
46138 * normal/function.c: Likewise.
46139 * normal/lexer.c: Likewise.
46140 * normal/parser.y: Likewise.
46141 * normal/script.c: Likewise.
46142
46143 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 46144
daac212a 46145 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
46146 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
46147 `normal/function.c' and `normal/script.c'.
46148 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
46149 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 46150 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
46151 variables.
daac212a 46152 (pkgdata_MODULES): Add `test.mod'.
46153 (grub_script.tab.c): New rule.
46154 (grub_script.tab.h): Likewise.
46155
46156 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
46157
46158 * include/grub/normal.h (grub_test_init): New prototype.
46159 (grub_test_fini): Likewise.
f19dbdb7 46160
daac212a 46161 * normal/command.c: Include <grub/script.h>.
46162 (grub_command_execute): Rewritten.
f19dbdb7 46163
daac212a 46164 * util/grub-emu.c (main): Call `grub_test_init' and
46165 `grub_test_fini'.
46166
77500b2b 461672005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46168
46169 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
46170 to 0.
46171 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
46172 there are no pending characters.
46173
e45deb9e 461742005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46175
46176 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
46177 `grub_strndup' to drop device arguments. Replace unnecessary
46178 `grub_strndup' with `grub_strdup'.
46179
4ce32619 461802005-11-03 Hollis Blanchard <hollis@penguinppc.org>
46181
46182 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
46183 `debug' environment variable has been set.
46184
461852005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 46186
4ce32619 46187 * Makefile.in (install-local): Use $(DATA).
46188 (uninstall): Likewise.
46189 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
46190 (sbin_UTILITIES): ... to here.
46191 (sbin_SCRIPTS): New variable.
46192 (grub_install_SOURCES): New variable.
46193 * util/powerpc/ieee1275/grub-install.in: New file.
46194 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
46195 variable.
46196 (add_segments): Call `grub_util_get_path'.
46197
25fe6f03 461982005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46199
46200 From Timothy Baldwin:
46201 * commands/ls.c (grub_ls_list_files): Close FILE with
46202 grub_file_close.
46203 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
46204
04ccf3ec 462052005-10-24 Marco Gerards <mgerards@xs4all.nl>
46206
46207 * include/grub/parser.h: New file.
46208
46209 * kern/parser.c: Likewise.
46210
46211 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
46212 (grub_setup_SOURCES): Likewise.
46213 (grub_probefs_SOURCES): Likewise.
46214 (grub_emu_SOURCES): Likewise.
46215 (kernel_img_HEADERS): Add `parser.h'.
46216
46217 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46218 (grub_emu_SOURCES): Add `kern/parser.c'.
46219 (grubof_SOURCES): Likewise.
46220
46221 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
46222 (grubof_SOURCES): Add `kern/parser.c'.
46223
46224 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
46225
46226 * kern/misc.c (grub_split_cmdline): Removed function.
46227
46228 * kern/rescue.c: Include <grub/parser.h>.
46229 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
46230 of `grub_split_cmdline'.
46231
46232 * normal/command.c: Include <grub/parser.h>.
46233 (grub_command_execute): Use `grub_parser_split_cmdline' instead
46234 of `grub_split_cmdline'.
46235
46236 * normal/completion.c: Include <grub/parser.h>.
46237 (cmdline_state): New variable.
46238 (iterate_dir): End the filename with a quote depending on the
46239 command line state.
46240 (get_state): new function.
46241 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
46242 split the arguments and determine the current argument. When the
46243 argument string is not quoted, escape all spaces.
46244
6d8f4b0e 462452005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46246
46247 * normal/sparc64/setjmp.S: New file.
46248
15cf03ed 462492005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46250
46251 * include/grub/sparc64/libgcc.h: New file.
46252 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
46253 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
46254 normal/sparc64/setjmp.c.
46255
03e8661a 462562005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46257
46258 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46259 * kern/sparc64/cache.S: New file.
46260 * kern/sparc64/cache.c: Removed.
46261 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46262 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46263 -mtune=ultrasparc.
46264 (COMMON_LDFLAGS): Add -melf64_sparc.
46265 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46266 (grubof_SOURCES): Use cache.S instead of cache.c.
46267 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46268 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46269 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46270 commented though.
46271 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46272 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46273 (linux_mod_CFLAGS): Commented out.
46274 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46275 out because module isn't built.
46276 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46277 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46278 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46279 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46280 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46281 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46282 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46283 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46284 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46285 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46286 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46287 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46288 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46289 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46290
34eeec8a 462912005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46292
46293 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46294 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46295 longer, because HFS should not be used on PC.
46296
708367a3 462972005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46298
46299 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46300 consistently within the loop.
46301
6fa1251a 463022005-10-15 Marco Gerards <mgerards@xs4all.nl>
46303
46304 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46305 directory can not be read.
46306
4801580b 463072005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46308
46309 * configure.ac (AC_INIT): Increase the version number to 1.91.
46310
46311 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46312 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46313 term/i386/pc/serial.c.
46314
219ad426 463152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46316
46317 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46318 file size must be permitted.
46319
46320 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46321 between %ah and %al.
46322
688e5699 463232005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46324
46325 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46326 grub_uint64_t.
46327 Call the hook with a NUL-terminated filename.
46328 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46329 grub_cpu_to_be32.
46330
46331 * kern/term.c (cursor_state): New variable.
46332 (grub_term_set_current): Reset the cursor state on a new
46333 terminal.
46334 (grub_setcursor): Rewritten to use CURSOR_STATE.
46335 (grub_getcursor): New function.
46336
46337 * include/grub/term.h (grub_getcursor): New prototype.
46338
46339 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46340 integers on ARM. Reported by Timothy Baldwin
46341 <T.E.Baldwin99@members.leeds.ac.uk>.
46342
bb34586c 463432005-10-11 Marco Gerards <mgerards@xs4all.nl>
46344
46345 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46346 allocated.
46347 (grub_sfs_dir): Likewise.
46348
9a909877 463492005-10-09 Marco Gerards <mgerards@xs4all.nl>
46350
46351 Add support for the SFS filesystem.
46352
46353 * fs/sfs.c: New file.
46354
46355 * DISTLIST: Added `fs/sfs.c'.
46356
46357 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46358 (grub_probefs_SOURCES): Likewise.
46359 (grub_emu_SOURCES): Likewise.
46360 (pkgdata_MODULES): Add `sfs.mod'.
46361 (sfs_mod_SOURCES): New variable.
46362 (sfs_mod_CFLAGS): Likewise.
46363 (sfs_mod_LDFLAGS): Likewise.
46364
46365 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46366 (pkgdata_MODULES): Add `sfs.mod'.
46367 (sfs_mod_SOURCES): New variable.
46368 (sfs_mod_CFLAGS): Likewise.
46369
46370 * util/grub-emu.c (main): Call `grub_sfs_init' and
46371 `grub_sfs_fini'.
46372
46373 * include/grub/fs.h (grub_sfs_init): New prototype.
46374 (grub_sfs_fini): Likewise.
46375
57bdbde3 463762005-10-07 Marco Gerards <mgerards@xs4all.nl>
46377
46378 Add support for the AFFS filesystem.
46379
46380 * fs/affs.c: New file.
46381
46382 * DISTLIST: Added `fs/affs.c'.
46383
46384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46385 (grub_probefs_SOURCES): Likewise.
46386 (grub_emu_SOURCES): Likewise.
46387 (pkgdata_MODULES): Add `affs.mod'.
46388 (affs_mod_SOURCES): New variable.
46389 (affs_mod_CFLAGS): Likewise.
46390 (affs_mod_LDFLAGS): Likewise.
46391
46392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46393 (pkgdata_MODULES): Add `affs.mod'.
46394 (affs_mod_SOURCES): New variable.
46395 (affs_mod_CFLAGS): Likewise.
46396
46397 * util/grub-emu.c (main): Call `grub_affs_init' and
46398 `grub_affs_fini'.
46399
46400 * include/grub/fs.h (grub_affs_init): New prototype.
46401 (grub_affs_fini): Likewise.
46402
047b67e0 464032005-10-01 Marco Gerards <mgerards@xs4all.nl>
46404
46405 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46406
59b8208a 464072005-10-01 Marco Gerards <mgerards@xs4all.nl>
46408
46409 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46410 `-m32' to CFLAGS.
46411
46412 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46413 linking.
f19dbdb7 46414
59b8208a 46415 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46416 (COMMON_LDFLAGS): New variable.
46417 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46418 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46419 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46420 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46421 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46422 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46423 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46424 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46425 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46426 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46427 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46428 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46429 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46430 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46431 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46432 variables.
46433 (normal_mod_ASFLAGS): Add `-m32'.
46434
46435 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46436 (grub_host_size_t, grub_host_ssize_t): New types.
46437 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46438 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46439 `GRUB_HOST_SIZEOF_VOID_P'.
46440
46441 * include/grub/kernel.h (struct grub_module_header): Type of
46442 member offset changed to `grub_host_off_t'. Type of member size
46443 changed to `grub_host_size_t'.
46444 (struct grub_module_info): Type of member offset changed to
46445 `grub_host_off_t'. Type of member size changed to
46446 `grub_host_size_t'.
46447
b4093103 464482005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46449
46450 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46451
b4093103 46452 * kern/i386/pc/startup.S (multiboot_header): New label.
46453 (multiboot_entry): Likewise.
46454 (multiboot_trampoline): Likewise.
46455
46456 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46457 Increased to 0x4A0.
46458
46459 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46460 put parentheses after a question mark.
46461 [!GRUB_UTIL] (my_mod): New variable.
46462
46463 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46464
b2499b29 464652005-09-28 Marco Gerards <mgerards@xs4all.nl>
46466
46467 Adds support for the XFS filesystem. Btrees are not supported
46468 yet.
46469
46470 * fs/xfs.c: New file.
46471
46472 * DISTLIST: Added `fs/xfs.c'.
46473
46474 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46475 (grub_probefs_SOURCES): Likewise.
46476 (grub_emu_SOURCES): Likewise.
46477 (pkgdata_MODULES): Add `xfs.mod'.
46478 (xfs_mod_SOURCES): New variable.
46479 (xfs_mod_CFLAGS): Likewise.
46480
46481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46482 (pkgdata_MODULES): Add `xfs.mod'.
46483 (xfs_mod_SOURCES): New variable.
46484 (xfs_mod_CFLAGS): Likewise.
46485
46486 * util/grub-emu.c (main): Call `grub_xfs_init' and
46487 `grub_xfs_fini'.
46488
46489 * include/grub/fs.h (grub_xfs_init): New prototype.
46490 (grub_xfs_fini): Likewise.
46491
f19dbdb7 46492
83d37a62 464932005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46494
46495 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46496 color modes, allow greater than 16 colors to be configured as
46497 a default palette.
46498
47d2d65e 464992005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46500
46501 * normal/completion.c (complete_arguments): Add the qualifier
46502 const into OPTIONS.
46503
46504 From Omniflux <omniflux+lists@omniflux.com>:
46505 * include/grub/terminfo.h: New file.
46506 * include/grub/tparm.h: Likewise.
46507 * include/grub/i386/pc/serial.h: Likewise.
46508 * term/terminfo.c: Likewise.
46509 * term/tparm.c: Likewise.
46510 * term/i386/pc/serial.c: Likewise.
46511 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46512 serial.mod.
46513 (terminfo_mod_SOURCES): New variable.
46514 (terminfo_mod_CFLAGS): Likewise.
46515 (serial_mod_SOURCES): Likewise.
46516 (serial_mod_CFLAGS): Likewise.
46517
48b671ff 465182005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46519
46520 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46521 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46522 and kern/powerpc/ieee1275/cmain.c, respectively.
46523
46524 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46525 * kern/powerpc/ieee1275/crt0.S: ... here.
46526
46527 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46528 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46529
48b671ff 46530 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46531 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46532 instead of boot/powerpc/ieee1275/crt0.S and
46533 boot/powerpc/ieee1275/cmain.c, respectively.
46534
46535 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46536 sectors. It was not used anyway.
46537
09fc77a7 465382005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46539
46540 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46541 `unused parameter' warning.
46542
003789c7 465432005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46544
46545 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46546 function.
46547 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46548 getcharwidth.
46549
67f44c86 465502005-08-28 Marco Gerards <metgerards@student.han.nl>
46551
46552 * include/grub/normal.h (enum grub_completion_type): Added
46553 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46554
46555 * normal/cmdline.c (print_completion): Handle
46556 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46557 * normal/menu_entry.c (store_completion): Likewise.
46558
46559 * normal/completion.c (complete_arguments): New function.
46560 (grub_normal_do_completion): Call `complete_arguments' when the
46561 current words start with a dash.
46562
0b5abe02 465632005-08-27 Marco Gerards <metgerards@student.han.nl>
46564
46565 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46566 `gzio.mod' instead of `io.mod').
46567
d9864ee1 465682005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46569
46570 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46571 (DISTDIRS): Added io and video.
46572 Rewrite the search routine to make an output consistently.
46573
46574 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46575 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46576 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46577 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46578 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46579 util/powerpc/ieee1275/misc.c.
f19dbdb7 46580
d9864ee1 46581 * include/grub/gzio.h: New file.
46582 * io/gzio.c: Likewise.
f19dbdb7 46583
d9864ee1 46584 * kern/file.c (grub_file_close): Call grub_device_close only if
46585 FILE->DEVICE is not NULL.
46586
46587 * include/grub/mm.h [!NULL] (NULL): New macro.
46588
46589 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46590
46591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46592 (pkgdata_MODULES): Added gzio.mod.
46593 (gzio_mod_SOURCES): New variable.
46594 (gzio_mod_CFLAGS): Likewise.
46595
46596 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46597 (pkgdata_MODULES): Added gzio.mod.
46598 (gzio_mod_SOURCES): New variable.
46599 (gzio_mod_CFLAGS): Likewise.
46600
46601 * commands/cat.c: Include grub/gzio.h.
46602 (grub_cmd_cat): Use grub_gzfile_open instead of
46603 grub_file_open.
f19dbdb7 46604
d9864ee1 46605 * commands/cmp.c: Include grub/gzio.h.
46606 (grub_cmd_cmp): Use grub_gzfile_open instead of
46607 grub_file_open.
46608
46609 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46610 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46611 grub_file_open.
46612 (grub_rescue_cmd_module): Likewise.
46613
fa46f4b5 466142005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46615
46616 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46617 kern/sparc64/ieee1275/init.c because it contains _start.
46618 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46619
e9211b5d 466202005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46621
46622 * configure.ac: Add support for sparc64 host with ieee1275
46623 firmware.
46624 * configure: Generated from configure.ac.
46625 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46626 instead of int.
46627 (grub_ofdisk_read): Likewise.
46628 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46629 pointers as (void *) to remove a warning.
46630 (grub_ofdisk_close): Likewise.
46631 (grub_ofdisk_read): Likewise.
46632 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46633 returns, so make it return void to remove a warning.
46634 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46635 Corresponding prototype change.
46636 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46637 values, and cast the pointers as (void *) to remove a warning.
46638 (grub_mm_dump): Likewise.
46639 * conf/sparc64-ieee1275.mk: New file.
46640 * conf/sparc64-ieee1275.rmk: Likewise.
46641 * include/grub/sparc64/setjmp.h: Likewise.
46642 * include/grub/sparc64/types.h: Likewise.
46643 * include/grub/sparc64/ieee1275/console.h: Likewise.
46644 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46645 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46646 * include/grub/sparc64/ieee1275/time.h: Likewise.
46647 * kern/sparc64/cache.c: Likewise.
46648 * kern/sparc64/dl.c: Likewise.
46649 * kern/sparc64/ieee1275/init.c: Likewise.
46650 * kern/sparc64/ieee1275/openfw.c: Likewise.
46651
385c6a92 466522005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46653
46654 * util/console.c (grub_ncurses_putchar): If C is greater than
46655 0x7f, set C to a question mark.
46656 (grub_ncurses_getcharwidth): New function.
46657 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46658 getcharwidth.
46659
46660 * normal/menu.c (print_entry): Made aware of Unicode. First,
46661 convert TITLE to UCS-4, and predict the cursor position by
46662 grub_getcharwidth.
46663
46664 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46665 const to SRC.
46666 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46667
16ccb8b1 466682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46669
46670 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46671 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46672 grub_strcat.
46673
46674 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46675 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46676 grub_strcpy and grub_strlen. Take it into account that a space
46677 character is inserted as a delimiter.
46678
6a85ce79 466792005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46680
46681 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46682 invalid magic in the error.
6a85ce79 46683
46684 * commands/search.c: New file.
f19dbdb7 46685
6a85ce79 46686 * util/grub-emu.c (main): Call grub_search_init and
46687 grub_search_fini.
46688
46689 * kern/rescue.c (grub_rescue_print_disks): Removed.
46690 (grub_rescue_print_devices): New function.
46691 (grub_rescue_cmd_ls): Use grub_device_iterate with
46692 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46693 grub_rescue_print_disks.
46694
46695 * kern/partition.c (grub_partition_iterate): Return the result of
46696 PARTMAP->ITERATE instead of GRUB_ERRNO.
46697
46698 * kern/device.c: Include grub/partition.h.
46699 (grub_device_iterate): New function.
46700
46701 * include/grub/partition.h (grub_partition_iterate): Return int
46702 instead of grub_err_t.
46703
46704 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46705 prototype.
46706 [GRUB_UTIL] (grub_search_fini): Likewise.
46707
46708 * include/grub/device.h (grub_device_iterate): New prototype.
46709
46710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46711 commands/search.c.
46712 (pkgdata_MODULES): Added search.mod.
46713 (search_mod_SOURCES): New variable.
46714 (search_mod_CFLAGS): Likewise.
46715
46716 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46717 (pkgdata_MODULES): Added search.mod.
46718 (search_mod_SOURCES): New variable.
46719 (search_mod_CFLAGS): Likewise.
46720
46721 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46722 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46723 All callers changed.
46724
46725 * DISTLIST: Added commands/search.c.
46726
ef095434 467272005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46728
46729 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46730 conversion.
46731 (grub_getcharwidth): New function.
46732
46733 * kern/misc.c (grub_utf8_to_ucs4): New function.
46734
46735 * include/grub/term.h (struct grub_term): Added a new member
46736 "getcharwidth".
46737 (grub_getcharwidth): New prototype.
46738
46739 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46740
46741 * term/i386/pc/console.c (map_char): New function. Segregated from
46742 grub_console_putchar.
46743 (grub_console_putchar): Use map_char.
46744 (grub_console_getcharwidth): New function.
46745 (grub_console_term): Specified grub_console_getcharwidth as
46746 getcharwidth.
46747
46748 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46749 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46750
46751 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46752 GRUB_ERRNO.
46753 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46754 on grub_strtoul completely.
46755 (write_char): Declare local variables in the beginning of the
46756 function.
46757 (grub_vesafb_getcharwidth): New function.
46758 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46759 getcharwidth.
46760
1f0a95e4 467612005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46762
46763 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46764 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46765 commands/i386/pc/vbetest.c.
46766
46767 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46768 call grub_vbe_get_controller_info again, because the returned
46769 information is volatile.
46770 (grub_vbe_set_video_mode): Mostly rewritten.
46771 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46772 grub_vbe_status_t correctly.
46773 (grub_vbe_get_video_mode_info): Likewise.
46774 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46775 several if statements.
46776
46777 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46778 * commands/i386/pc/vbeinfo.c: ... this.
46779
46780 * commands/i386/pc/vbe_test.c: Renamed to ...
46781 * commands/i386/pc/vbetest.c: ... this.
46782
46783 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46784 ...
46785 (grub_cmd_vbeinfo): ... this. Save video modes before
46786 iterating. Skip a video mode, if it is not available, not enough
46787 information is given or it is monochrome. Show the memory
46788 model. Leave the interpretation of MODEVAR to grub_strtoul
46789 completely.
46790 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46791 (GRUB_MOD_FINI): Likewise.
46792
46793 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46794 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46795 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46796 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46797 grub_strtoul completely.
46798 (real2pm): Removed.
46799 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46800 (GRUB_MOD_FINI): Likewise.
46801
46802 * normal/misc.c: Include grub/mm.h.
46803
46804 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46805 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46806 (vbe_list_modes_mod_SOURCES): Removed.
46807 (vbe_list_modes_mod_CFLAGS): Likewise.
46808 (vbe_test_mod_SOURCES): Likewise.
46809 (vbe_test_mod_CFLAGS): Likewise.
46810 (vbeinfo_mod_SOURCES): New variable.
46811 (vbeinfo_mod_CFLAGS): Likewise.
46812 (vbetest_mod_SOURCES): Likewise.
46813 (vbetest_mod_CFLAGS): Likewise.
46814
992ffbbe 468152005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46816
46817 * normal/misc.c: New file.
46818
46819 * DISTLIST: Added normal/misc.c.
f19dbdb7 46820
992ffbbe 46821 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46822 DISK to HOOK. Call HOOK with DISK.
46823 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46824 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46825 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46826
46827 * normal/menu_entry.c (struct screen): Added a new member
46828 "completion_shown".
46829 (completion_buffer): New global variable.
46830 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46831 (store_completion): New function.
46832 (complete): Likewise.
46833 (clear_completions): Likewise.
46834 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46835 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46836 a tab, call complete.
46837
46838 * normal/completion.c (disk_dev): Removed.
46839 (print_simple_completion): Likewise.
46840 (print_partition_completion): Likewise.
46841 (print_func): New global variable.
46842 (add_completion): Do not take the arguments WHAT or PRINT any
46843 longer. Added a new argument TYPE. Instead of printing directly,
46844 call PRINT_FUNC if not NULL.
46845 All callers changed.
46846 (complete_device): Use a local variable DEV instead of
46847 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46848 (grub_normal_do_completion): Take a new argument HOOK. Do not
46849 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46850 empty string, return NULL instead.
46851 All callers changed.
46852
46853 * normal/cmdline.c (print_completion): New function.
46854
46855 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46856 to HOOK.
46857 All callers changed.
46858
46859 * kern/disk.c (grub_print_partinfo): Removed.
46860
46861 * include/grub/partition.h (struct grub_partition_map): Add a new
46862 argument DISK into HOOK of ITERATE.
46863 (grub_partition_iterate): Add a new argument DISK to HOOK.
46864
46865 * include/grub/normal.h (enum grub_completion_type): New enum.
46866 (grub_completion_type_t): New type.
46867 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
46868 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
46869 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
46870 (GRUB_COMPLETION_TYPE_FILE): Likewise.
46871 (grub_normal_do_completion): Added a new argument HOOK.
46872 (grub_normal_print_device_info): New prototype.
46873
46874 * include/grub/disk.h (grub_print_partinfo): Removed.
46875
46876 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
46877 (normal_mod_SOURCES): Likewise.
46878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46879 (normal_mod_SOURCES): Likewise.
46880
46881 * commands/ls.c (grub_ls_list_disks): Use
46882 grub_normal_print_device_info instead of grub_print_partinfo. Free
46883 PNAME.
46884 (grub_ls_list_files): Use grub_normal_print_device_info instead of
46885 duplicating the code.
46886
0bd41162 468872005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46888
46889 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 46890 follow GCS more precisely.
46891 * commands/i386/pc/vbe_test.c: Likewise.
46892 * include/grub/i386/pc/vbe.h: Likewise.
46893 * term/i386/pc/vesafb.c: Likewise.
46894 * video/i386/pc/vbe.c: Likewise.
0bd41162 46895
6323696a 468962005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46897
46898 * DISTLIST: Added term/i386/pc/vesafb.c
46899 DISTLIST: Added video/i386/pc/vbe.c
46900 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
46901 DISTLIST: Added commands/i386/pc/vbe_test.c.
46902 * commands/i386/pc/vbe_list_modes.c: New file.
46903 * commands/i386/pc/vbe_test.c: Likewise.
46904 * term/i386/pc/vesafb.c: Likewise.
46905 * video/i386/pc/vbe.c: Likewise.
46906 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
46907 (grub_vbe_probe) Added prototype.
46908 (grub_vbe_set_video_mode) Likewise.
46909 (grub_vbe_get_video_mode) Likewise.
46910 (grub_vbe_get_video_mode_info) Likewise.
46911 (grub_vbe_set_pixel_rgb) Likewise.
46912 (grub_vbe_set_pixel_index) Likewise.
46913 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
46914 (pkgdata_MODULES): Added vesafb.mod.
46915 (pkgdata_MODULES): Added vbe_list_modes.mod.
46916 (pkgdata_MODULES): Added vbe_test.mod.
46917 (vbe_mod_SOURCES): Added.
46918 (vbe_mod_CFLAGS): Likewise.
46919 (vesafb_mod_SOURCES): Likewise.
46920 (vesafb_mod_CFLAGS): Likewise.
46921 (vbe_list_modes_mod_SOURCES): Likewise.
46922 (vbe_list_modes_mod_CFLAGS): Likewise.
46923 (vbe_test_mod_SOURCES): Likewise.
46924 (vbe_test_mod_CFLAGS): Likewise.
46925
0a74e62f 469262005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
46927
0a74e62f 46928 * normal/command.c (grub_command_execute): If INTERACTIVE is
46929 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
46930 CMDLINE. Disable the pager if INTERACTIVE is true.
46931 All callers are changed.
46932
46933 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
46934 before reading a config file.
46935 * normal/main.c (read_config_file): Even if a command is not
46936 found, register it if it is within an entry.
46937
46938 * util/grub-emu.c: Include sys/types.h and unistd.h.
46939 (options): Added --hold.
46940 (struct arguments): Added a new member "hold".
46941 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
46942 missing.
46943 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
46944 cleared by a debugger, if it is not zero.
46945
46946 * include/grub/normal.h (grub_command_execute): Add an argument
46947 INTERACTIVE.
46948
e51f85ae 469492005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
46950
46951 * DISTLIST: Added include/grub/i386/pc/vbe.h.
46952
e9c6f39b 469532005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
46954
46955 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
46956 program with another one, because the old one didn't detect a bug
46957 in gcc-3.4. Always use regparm 2, because the new test is still
46958 not enough for gcc-4.0. Someone must investigate a simple test
46959 case which detects a bug in gcc-4.0.
46960
8de3495c 469612005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
46962
46963 * DISTLIST: Added normal/completion.c.
46964
46965 * normal/completion.c: New file.
f19dbdb7 46966
8de3495c 46967 * term/i386/pc/console.c (grub_console_getwh): New function.
46968 (grub_console_term): Assign grub_console_getwh to getwh.
46969
46970 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
46971 function is defined in normal/completion.c as
46972 grub_normal_do_completion.
46973 (grub_cmdline_get): Use grub_normal_do_completion instead of
46974 grub_tab_complete.
46975
46976 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
46977 returns non-zero, otherwise return 0.
46978 (grub_partition_iterate): First, probe the partition map. Then,
46979 call ITERATE only for this partition map.
46980
46981 * kern/misc.c (grub_strncmp): Rewritten.
46982
46983 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
46984 returns non-zero. Otherwise return 0.
46985
46986 * include/grub/partition.h (grub_partition_map_iterate): Return
46987 int instead of void.
46988
46989 * include/grub/normal.h (grub_normal_do_completion): New prototype.
46990
46991 * include/grub/misc.h (grub_strncmp): Change the type of N to
46992 grub_size_t.
46993
46994 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
46995 of void.
46996
46997 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 46998 unsigned explicitly before comparing it with I.
8de3495c 46999
47000 * kern/main.c (grub_env_write_root): Add the attribute unused into
47001 VAR.
47002
47003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47004 normal/completion.c.
47005 (normal_mod_SOURCES): Likewise.
47006 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
47007 (normal_mod_SOURCES): Likewise.
47008
47009 * normal/command.c (grub_iterate_commands): If ITERATE returns
47010 non-zero, return one immediately.
47011
e85e144b 470122005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
47013
47014 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
47015 * kern/i386/pc/startup.S: Updated Global Descriptor table's
47016 descriptions.
47017 (grub_vbe_get_controller_info): New function.
47018 (grub_vbe_get_mode_info): Likewise.
47019 (grub_vbe_set_mode): Likewise.
47020 (grub_vbe_get_mode): Likewise.
47021 (grub_vbe_set_memory_window): Likewise.
47022 (grub_vbe_get_memory_window): Likewise.
47023 (grub_vbe_set_scanline_length): Likewise.
47024 (grub_vbe_get_scanline_length): Likewise.
47025 (grub_vbe_set_display_start): Likewise.
47026 (grub_vbe_get_display_start): Likewise.
47027 (grub_vbe_set_palette_data): Likewise.
47028 * include/grub/i386/pc/vbe.h: New file.
47029
c46153d2 470302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47031
47032 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47033 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
47034 * DISTLIST: Likewise.
47035 * kern/ieee1275/of.c: Moved to ...
47036 * kern/ieee1275/ieee1275.c: ... here.
47037
0cb90c45 470382005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47039
47040 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
47041 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
47042 Pass 0 as `end' parameter to grub_strtoul().
47043
a19fb360 470442005-08-08 Hollis Blanchard <hollis@penguinppc.org>
47045
47046 * include/grub/powerpc/ieee1275/console.h: Do not include
47047 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
47048 ifdef.
47049 (grub_console_cur_color): Remove i386-specific prototype.
47050 (grub_console_real_putchar): Likewise.
47051 (grub_console_checkkey): Likewise.
47052 (grub_console_getkey): Likewise.
47053 (grub_console_getxy): Likewise.
47054 (grub_console_gotoxy): Likewise.
47055 (grub_console_cls): Likewise.
47056 (grub_console_setcursor): Likewise.
47057 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
47058 Include <grub/machine/console.h>.
47059 * term/ieee1275/ofconsole.c: Likewise.
47060
4ac9bd04 470612005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
47062
47063 * Makefile.in (LIBLZO): New variable.
47064
47065 * configure.ac: Check for LZO version 2.
47066
47067 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
47068 lzo/lzo1x.h instead of lzo1x.h.
47069
47070 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
47071 of -llzo.
47072
47073 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
47074 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
47075
47076 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
47077 copying the data from PARTITION to P.
47078
f4917dfd 470792005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47080
47081 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
47082 negative, unload the module.
47083
47084 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
47085 map is "pc_partition_map" but not "pc".
47086 (usage): Fix the description. The options are --boot-image and
47087 --core-image but not --boot-file or --core-file.
47088 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
47089 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
47090 DEFAULT_DIRECTORY.
47091
47092 * util/i386/pc/grub-install.in: Do not specify --boot-file or
47093 --core-file. Specify INSTALL_DEVICE as an argument.
47094
47095 * util/console.c: Include config.h.
47096 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
47097 [HAVE_NCURSES_H]: Include ncurses.h.
47098 [HAVE_CURSES_H]: Include curses.h.
47099 [!A_NORMAL] (A_NORMAL): Defined as zero.
47100 [!A_STANDOUT] (A_STANDOUT): Likewise.
47101
47102 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
47103 -lncurses.
47104 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
47105
47106 * configure.ac: Check for curses libraries and headers.
47107
47108 * Makefile.in (LIBCURSES): New variable.
47109
47110 * genmk.rb (Script::rule): Set the executable bits.
47111
47112 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
47113 name of the PC partition map is "pc_partition_map" but not "pc".
47114
0e143073 471152005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47116
47117 * util/i386/pc/grub-install.in (grub_probefs): New variable.
47118 (modules): Likewise.
47119 (usage): Added descriptions for --modules and --grub-probefs.
47120 Handle --modules and --grub-probefs. Save the arguments in MODULES
47121 and GRUB_PROBEFS, respectively.
47122 Auto-detect a filesystem module against GRUBDIR. If the result is
47123 empty and modules are not specified explicitly, abort the
47124 installation. Add the result to MODULES.
47125
47126 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
47127 disk/powerpc/ieee1275/ofdisk.c,
47128 include/grub/powerpc/ieee1275/init.h and
47129 term/powerpc/ieee1275/ofconsole.c.
47130 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
47131 term/ieee1275/ofconsole.c.
47132
47133 * include/grub/powerpc/ieee1275/console.h: Resurrected.
47134
47135 * COPYING: Upgraded to the latest version. Only the address of the
47136 FSF office has changed.
f19dbdb7 47137
efd6e6d5 471382005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
47139
47140 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
47141 kern/ieee1275.c with kern/ieee1275/of.c.
47142
47143 * kern/ieee1275.c: Moved to ...
47144 * kern/ieee1275/of.c: ... here.
47145
8ceafda2 471462005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
47147
47148 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 47149 readability.
8ceafda2 47150
47151 * config.guess: Updated to the latest version from gnulib.
47152 * config.sub: Likewise.
47153 * install.sh: Likewise.
47154 * mkinstalldirs: Likewise.
47155
47156 * include/grub/console.h: Removed. This file is arch-specific. Do
47157 not put this in include/grub.
47158
47159 * include/grub/i386/pc/console.h: Resurrected.
47160
47161 * util/console.c: Include grub/machine/console.h instead of
47162 grub/console.h.
47163 * util/grub-emu.c: Likewise.
47164
267f6cd9 471652005-08-04 Marco Gerards <metgerards@student.han.nl>
47166
47167 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
47168 hardcoded value.
f19dbdb7 47169
267f6cd9 47170 From Vincent Pelletier <subdino2004@yahoo.fr>
47171 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
47172 Redefined to use grub_getwh.
47173 (grub_term): New member named getwh.
47174 (grub_getwh): New prototype.
47175 * kern/term.c (grub_getwh): New function.
47176 * term/i386/pc/console.c (grub_console_getwh): New function.
47177 (grub_console_term): New member `getwh'.
47178 * term/i386/pc/vga.c (grub_vga_getwh): New function.
47179 (grub_vga_term): New member `getwh'.
0b5abe02 47180 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 47181 grub_ssize_t.
47182 (grub_ofconsole_getw): New function.
47183 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
47184 (grub_ofconsole_term): New field named getwh and new initial
47185 value.
47186
3be7266d 471872005-08-03 Hollis Blanchard <hollis@penguinppc.org>
47188
47189 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
47190 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
47191 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
47192 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
47193 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
47194 of <grub/machine/ieee1275.h>.
47195 * commands/ieee1275/reboot.c: Likewise.
47196 * boot/powerpc/ieee1275/ieee1275.c: Move ...
47197 * kern/ieee1275.c: ... to here. All users updated. Change all
47198 parameter structs to use new type `grub_ieee1275_cell_t'.
47199 * term/powerpc/ieee1275/ofconsole.c: Move ...
47200 * term/ieee1275/ofconsole.c: ... to here. All users updated.
47201 * disk/powerpc/ieee1275/ofdisk.c: Move ...
47202 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
47203 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
47204 to return int.
47205 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
47206 Remove unused prototypes. All users updated.
47207 * include/grub/powerpc/ieee1275/console.h: Removed.
47208 * include/grub/powerpc/ieee1275/ieee1275.h: Define
47209 `grub_ieee1275_cell_t'.
47210 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
47211 Cast comparisons with -1 to the correct type.
47212 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
47213 type to match `grub_ieee1275_entry_fn'.
47214
8b5f3938 472152005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
47216
47217 * DISTLIST: Added util/i386/pc/grub-probefs.c.
47218
47219 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
47220 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
47221 partmap/sun.c.
47222 (grub_probefs_SOURCES): New variable.
47223
47224 * util/i386/pc/grub-probefs.c: New file.
47225
47226 * util/i386/pc/grub-setup.c (main): Call
47227 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
47228 grub_hfs_init and grub_jfs_init to initialize the system. Call
47229 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
47230 grub_pc_partition_map_fini to finish the system.
47231
ea409713 472322005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
47233
47234 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
47235 function.
47236 (grub_multiboot_load_elf32): Likewise.
47237 (grub_multiboot_is_elf64): Likewise.
47238 (grub_multiboot_load_elf64): Likewise.
47239 (grub_multiboot_load_elf): Likewise.
47240 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
47241 an ELF32 or ELF64 file.
47242 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
47243
47244 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
47245 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
47246 NULL before calling FS->LABEL.
47247 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
47248 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
47249 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
47250 before calling FS->LABEL.
47251
141a288b 472522005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
47253
47254 * util/i386/pc/grub-install.in (datadir): New variable.
47255 (libdir): Removed.
47256 (pkgdatadir): New variable.
47257 (pkglibdir): Removed.
47258
0d5f8a54 472592005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47260
47261 * DISTLIST: Added util/i386/pc/grub-install.in.
47262
47263 * util/i386/pc/grub-install.in: New file.
47264
47265 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47266 (grub_install_SOURCES): Likewise.
47267
47268 * genmk.rb: Added support for scripts.
47269 (Script): New class.
47270 (scripts): New variable.
47271
47272 * Makefile.in (install-local): Install sbin_SCRIPTS by
47273 INSTALL_SCRIPT.
47274 (uninstall): Remove sbin_SCRIPTS.
47275
47276 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47277 device, try to get a GRUB device by
47278 grub_util_biosdisk_get_grub_dev.
47279 Free DEST_DEV.
47280
47281 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47282 description for --device-map.
47283
5f968e1e 472842005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47285
47286 Change the semantics of variable hooks. They now return strings
47287 instead of error values.
f19dbdb7 47288
5f968e1e 47289 * util/i386/pc/grub-setup.c: Include grub/env.h.
47290 (setup): Use grub_device_set_root instead of grub_env_set.
47291
47292 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47293 grub_env_get instead of grub_device_set_root and
47294 grub_device_get_root, respectively.
47295
47296 * kern/main.c (grub_env_write_root): New function.
47297 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47298 grub_env_set instead of grub_device_set_root.
47299
47300 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47301 many variables.
47302 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47303 rather than calling ENV->WRITE_HOOK afterwards.
47304 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47305 passing a pointer of a pointer.
47306 (grub_register_variable_hook): Change the types of "read_hook" and
47307 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47308 respectively.
47309 Allocate the default empty string on the heap, because this string
47310 may be freed later.
47311
47312 * kern/device.c: Include grub/env.h.
47313 (grub_device_set_root): Removed.
47314 (grub_device_get_root): Likewise.
47315 (grub_device_open): Use grub_env_get instead of
47316 grub_device_get_root.
47317
47318 * include/grub/env.h (grub_env_read_hook_t): New type.
47319 (grub_env_write_hook_t): Likewise.
47320 (grub_env_var): Change the types of "read_hook" and "write_hook"
47321 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47322 (grub_register_variable_hook): Likewise.
47323
47324 * include/grub/device.h (grub_device_set_root): Removed.
47325 (grub_device_set_root): Likewise.
47326
47327 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47328 make sure that DIRNAME terminates with '/', so that
47329 grub_fat_find_dir will fail if PATH is not a directory.
47330
47331 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47332 from DIRNAME.
47333 Use the qualifier auto for print_files and print_files_long.
47334 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47335 as a regular file.
47336 Put a newline only if there is no error.
47337 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47338 used.
47339
896f0afd 473402005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47341
47342 * kern/partition.c (grub_partition_probe): Initialize PART to
47343 NULL. Otherwise, when no partition map is registered, this returns
47344 a garbage.
47345
b28b81b2 473462005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47347
47348 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47349 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47350 valid.
47351
5f3607e0 473522005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47353
47354 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47355 information on each device, if it does not have partitions. Print
47356 "Device" instead of "Disk", because this function is not specific
47357 to disk devices.
47358
47359 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47360 static to ensure that it is put on the memory rather than a
47361 register.
47362
502c87e8 473632005-07-17 Yoshinori Okuji <okuji@enbug.org>
47364
47365 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47366 (grub_cat_init): Likewise.
47367 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47368 (options): Likewise.
47369 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47370 (grub_configfile_init): Likewise.
47371 * font/manager.c (GRUB_MOD_INIT): Likewise.
47372 * commands/help.c (GRUB_MOD_INIT): Likewise.
47373 (grub_help_init): Likewise.
47374 * normal/command.c (grub_command_init): Likewise.
47375 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47376 * disk/loopback.c (grub_loop_init): Likewise.
47377 (GRUB_MOD_INIT): Likewise.
47378 * commands/ls.c (grub_ls_init): Likewise.
47379 (GRUB_MOD_INIT): Likewise.
47380 (options): Likewise.
47381 * commands/boot.c (grub_boot_init): Likewise.
47382 (GRUB_MOD_INIT): Likewise.
47383 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47384 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47385 (GRUB_MOD_INIT): Likewise.
47386 * commands/cmp.c (grub_cmp_init): Likewise.
47387 (GRUB_MOD_INIT): Likewise.
47388
47389 * normal/arg.c: Use <> instead of "" to include header files.
47390 (SHORT_ARG_HELP): New macro.
47391 (SHORT_ARG_USAGE): Likewise.
47392 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47393 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47394 descriptions.
47395 (find_short): Check if C is 'h' or 'u' explicitly.
47396 (grub_arg_show_help): Use space characters instead of tabs. Treat
47397 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47398 are shown with --help and --usage only if they are not used for
47399 the command itself.
47400 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47401 'h' and 'u'.
47402
47403 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47404 const into "longarg". Change the type of "shortarg" to int.
47405
f806d18e 474062005-07-17 Yoshinori Okuji <okuji@enbug.org>
47407
47408 * boot/i386/pc/boot.S (boot_drive_check): New label.
47409
47410 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47411 macro.
47412
47413 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47414 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47415
e293232b 474162005-07-17 Yoshinori Okuji <okuji@enbug.org>
47417
47418 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47419 When turning off Gate A20, skip the check and return immediately,
47420 because this is not fatal usually.
47421
ebedfd00 474222005-07-17 Yoshinori Okuji <okuji@enbug.org>
47423
47424 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47425 be 0x7C00 instead of 0x8000.
47426
47427 * boot/i386/pc/pxeboot.S: Rewritten.
47428
47429 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47430 EXT_C.
47431 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47432 result.
47433
654fc59f 474342005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47435
47436 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47437 robustness. This routine now supports a BIOS call and System
47438 Control Port A to modify the gate A20.
47439
47440 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47441 Increased to 0x440.
47442
09f9923f 474432005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47444
47445 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47446 device path and resulting ihandle.
47447 (grub_ofdisk_close): dprintf the ihandle being closed.
47448 (grub_ofdisk_read): dprintf function parameters.
47449 * kern/mm.c (grub_mm_init_region): Likewise.
47450 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47451 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47452 size, and boot arguments.
47453 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47454 before loading into memory.
47455 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47456 before loading into memory.
47457
7ef504d8 474582005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47459
47460 * kern/mm.c: Added much documentation.
47461 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47462 8, set to 5 instead of 8.
47463
e0f050c2 474642005-07-10 Yoshinori Okuji <okuji@enbug.org>
47465
47466 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47467
47468 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47469 (grub_mkdevicemap_SOURCES): New variable.
47470
47471 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47472 lib/device.c of GRUB Legacy.
47473
7224189a 474742005-07-10 Yoshinori Okuji <okuji@enbug.org>
47475
47476 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47477 instead of PATH is NULL.
47478
68c864eb 474792005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47480
47481 * commands/cmp.c (BUFFER_SIZE): New macro.
47482 (grub_cmd_cmp): Close the right file at the right time. Compare
47483 only data just read. Don't report files of different size as
47484 identical. Dynamically allocate buffers. Move variable
47485 declarations at the beginning of function.
47486
e6f3e614 474872005-07-09 Yoshinori Okuji <okuji@enbug.org>
47488
47489 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47490 reverse.
47491
f8f1559a 474922004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47493
47494 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47495 when backspace is pressed at beginning of line.
47496
39c9d41d 474972005-07-03 Yoshinori Okuji <okuji@enbug.org>
47498
47499 * DISTLIST: Added genfslist.sh.
47500
47501 * normal/main.c (fs_module_list): New variable.
47502 (autoload_fs_module): New function.
47503 (read_fs_list): Likewise.
47504 (grub_normal_execute): Call read_fs_list.
47505
47506 * kern/fs.c (grub_fs_autoload_hook): New variable.
47507 (grub_fs_probe): Added support for auto-loading.
47508
47509 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47510 (grub_fs_module_list_t): New type.
47511
47512 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47513 (grub_fs_autoload_hook): New prototype.
47514
47515 * genfslist.sh: New file.
f19dbdb7 47516
39c9d41d 47517 * genmk.rb: Added a rule to generate a filesystem list.
47518
121c1d83 475192005-06-30 Marco Gerards <metgerards@student.han.nl>
47520
47521 * configure.ac: Fix the test for cross-compiling.
47522
47523 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47524 define GRUB_UTIL anymore.
47525
47526 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47527 so this function works on other systems than just big endian.
47528 (load_modules): Likewise.
47529 (add_segments): Likewise.
47530
e75d76e1 475312005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47532
47533 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47534 contains `l' modifier, get a long from va_arg().
47535
50b5a0a7 475362005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47537
47538 * kern/mm.c (grub_free): If the next free block which is being
47539 merged is the first free block, set the first block to the block
47540 being freed.
47541 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47542
89371b20 475432005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47544
47545 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47546 `grub_ieee1275_chosen'.
47547
168d6e58 475482005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47549
47550 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47551 (grub_ieee1275_chosen): New variable.
47552 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47553 `chosen'.
47554 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47555 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47556 Rename first argument to `phandle' for consistency.
47557 (grub_ieee1275_get_property_length): Likewise.
47558 (grub_ieee1275_next_property): Likewise. Change type of first argument
47559 to grub_ieee1275_phandle_t.
47560 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47561 Move export next to declaration.
47562 (grub_ieee1275_chosen): New variable.
47563 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47564 Correct cosmetic typo.
47565 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47566 `grub_ieee1275_chosen'.
47567 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47568 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47569 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47570 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47571 `grub_ieee1275_chosen'.
47572
ca5baa3f 475732005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47574
47575 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47576 /chosen/bootargs.
47577 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47578 /chosen/bootargs as "variable=value" pairs.
47579
708b345f 475802005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47581
47582 * include/grub/misc.h (grub_dprintf): New macro.
47583 (grub_real_dprintf): New prototype.
47584 (grub_strword): Likewise.
47585 (grub_iswordseparator): Likewise.
47586 * kern/misc.c (grub_real_dprintf): New function.
47587 (grub_strword): Likewise.
47588 (grub_iswordseparator): Likewise.
47589
f4c5e67c 475902005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47591
47592 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47593 (roundup): Remove macro.
47594 (grub_ieee1275_flags): Make static.
47595 (grub_ieee1275_realmode): Remove.
47596 (grub_ieee1275_test_flag): New function.
47597 (grub_ieee1275_set_flag): Likewise.
47598 (find_options): Rename to `grub_ieee1275_find_options'; update
47599 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47600 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47601 (cmain): New prototype.
47602 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47603 `grub_ieee1275_flags' directly.
47604 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47605 machine/biosdisk.h.
47606 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47607 Don't include grub/machine/init.h.
47608 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47609 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47610 Remove prototype.
47611 (grub_ieee1275_realmode): Likewise.
47612 (grub_ieee1275_flag): New enum.
47613 (grub_ieee1275_test_flag): New prototype.
47614 (grub_ieee1275_set_flag): New prototype.
47615 * include/grub/powerpc/ieee1275/init.h: Remove file.
47616 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47617 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47618 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47619 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47620 comment.
47621 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47622 `grub_ieee1275_test_flag'.
47623 (grub_ieee1275_encode_devname): Likewise.
47624
ed16607e 476252005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47626
47627 * include/grub/powerpc/ieee1275/ieee1275.h
47628 (grub_ieee1275_encode_devname): New prototype.
47629 (grub_ieee1275_get_filename): Likewise.
47630 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47631 function.
47632 (grub_set_prefix): Likewise.
47633 (grub_machine_init): Call grub_set_prefix.
47634 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47635 (grub_parse_type): New enum.
47636 (grub_ieee1275_get_devargs): New function.
47637 (grub_ieee1275_get_devname): Likewise.
47638 (grub_ieee1275_parse_args): Likewise.
47639 (grub_ieee1275_get_filename): Likewise.
47640 (grub_ieee1275_encode_devname): Likewise.
47641
be369920 476422005-03-30 Marco Gerards <metgerards@student.han.nl>
47643
47644 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47645 `grub_loader_unset'.
47646
a5ce3a4a 476472005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47648
47649 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47650 instead of grub_ieee1275_interpret.
47651 (grub_halt_init): New function.
47652 (grub_halt_fini): Likewise.
47653 (GRUB_MOD_INIT): Correct message grammar.
47654 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47655 instead of grub_ieee1275_interpret.
47656 (grub_reboot_init): New function.
47657 (grub_reboot_fini): Likewise.
47658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47659 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47660 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47661 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47662 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47663 function.
47664 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47665 Add prototype.
47666 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47667 prototype.
47668 (grub_halt): Likewise.
47669 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47670 (cmain): Remove __attribute__((unused)).
47671 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47672 (grub_heap_len): Likewise.
47673 (grub_machine_fini): New function.
47674 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47675 (grub_halt): Likewise.
47676 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47677 function.
47678 * util/powerpc/ieee1275/misc.c: New file.
47679
0058f771 476802005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47681
47682 * DISTLIST: New file.
47683 * gendistlist.sh: Likewise.
f19dbdb7 47684
0058f771 47685 * Makefile.in (COMMON_DISTFILES): Removed.
47686 (BOOT_DISTFILES): Likewise.
47687 (CONF_DISTFILES): Likewise.
47688 (DISK_DISTFILES): Likewise.
47689 (FS_DISTFILES): Likewise.
47690 (INCLUDE_DISTFILES): Likewise.
47691 (KERN_DISTFILES): Likewise.
47692 (LOADER_DISTFILES): Likewise.
47693 (TERM_DISTFILES): Likewise.
47694 (UTIL_DISTFILES): Likewise.
47695 (DISTFILES): Likewise.
47696 (uninstall): Uninstall files in $(pkgdata_DATA).
47697 (DISTLIST): New target.
47698 (distdir): Use the contents of the file DISTLIST to get a list of
47699 distributed files.
47700
46b3b8a5 477012005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47702
47703 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47704 descriptor. This is ported from GRUB Legacy.
47705
47706 * gencmdlist.sh: Added an extra semicolon to make it work with
47707 old sed versions. Reported by Robert Bihlmeyer
47708 <robbe@orcus.priv.at>.
47709
5822ff87 477102005-03-08 Yoshinori Okuji <okuji@enbug.org>
47711
47712 Automatic loading of commands is supported.
f19dbdb7 47713
5822ff87 47714 * normal/main.c (read_command_list): New function.
47715 (grub_normal_execute): Call read_command_list.
47716
47717 * normal/command.c (grub_register_command): Return zero or CMD.
47718 Allocate CMD->NAME from the heap.
47719 Initialize CMD->MODULE_NAME to zero.
47720 Find the same name as well. If the same command is found and it is
47721 a dummy command, overwrite members. If it is not a dummy command,
47722 return zero.
47723 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47724 (grub_command_find): If a dummy command is found, load a module
47725 and retry to find a command only once.
47726
47727 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47728 make sure that each command is loaded.
47729
47730 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47731 macro.
47732 (struct grub_command): Remove const from the member `name'.
47733 Add a new member `module_name'.
47734 (grub_register_command): Return grub_command_t.
47735
47736 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47737 sure that each command is loaded.
47738
47739 * genmk.rb (PModule::rule): Specify a module name without the
47740 suffix ".mod" to gencmdlist.sh.
47741
7b1f4b57 477422005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47743
47744 * gencmdlist.sh: New file.
f19dbdb7 47745
7b1f4b57 47746 * genmk.rb (PModule::rule): Generate a rule for a command list.
47747 Clean command.lst.
47748 Generate command.lst from $(COMMANDFILES).
47749
47750 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47751 (DATA): Added $(pkgdata_DATA).
47752 (install-local): Install files in $(pkgdata_DATA).
47753
062aaf39 477542005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47755
47756 * term/i386/pc/vga.c (debug_command): Removed.
47757 (GRUB_MOD_INIT): Do not register the command "debug".
47758
47759 From Hollis Blanchard:
47760 * commands/configfile.c: New file.
47761 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47762 commands/configfile.c.
47763 (pkgdata_MODULES): Added configfile.mod.
47764 (configfile_mod_SOURCES): New variable.
47765 (configfile_mod_CFLAGS): Likewise.
47766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47767 commands/configfile.c.
47768 (pkgdata_MODULES): Added configfile.mod.
47769 (configfile_mod_SOURCES): New variable.
47770 (configfile_mod_CFLAGS): Likewise.
47771 * util/grub-emu.c (main): Call grub_configfile_init and
47772 grub_configfile_fini.
47773 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47774 prototype.
47775 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47776
cee01aa6 477772005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47778
47779 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47780 address.
47781
47782 * commands/help.c (grub_cmd_help): Do not print newlines after
47783 the last command in print_command_help.
47784
93f3a1d8 477852005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47786
47787 * commands/default.h: New file.
47788 * commands/timeout.h: Likewise.
47789 * normal/context.c: Likewise.
f19dbdb7 47790
93f3a1d8 47791 * util/misc.c: Do not include sys/times.h.
47792 Include sys/time.h and grub/machine/time.h.
47793 (grub_get_rtc): Rewritten with gettimeofday.
47794
47795 * util/grub-emu.c (main): Call grub_default_init and
47796 grub_timeout_init before grub_normal_init, and call
47797 grub_timeout_fini and grub_default_fini after grub_main.
47798
47799 * util/console.c (grub_ncurses_checkkey): Return the read
47800 character or -1.
47801
47802 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47803 timeouts.
47804
47805 * normal/main.c (read_config_file): Push MENU. If this fails,
47806 print an error and wait for a user input.
47807 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47808 If a menu is empty or an error occurs, pop MENU.
47809 (grub_normal_execute): Pop and free MENU after grub_menu_run
47810 returns.
47811
47812 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47813
47814 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47815 include time.h.
47816 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47817 without GRUB_UTIL.
47818 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47819 time.h.
47820 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47821 without GRUB_UTIL.
47822
47823 * include/grub/normal.h (struct grub_menu_list): New struct.
47824 (grub_menu_list_t): New type.
47825 (struct grub_context): New struct.
47826 (grub_context_t): New type.
47827 (grub_register_command): Got rid of EXPORT_FUNC.
47828 (grub_unregister_command): Likewise.
47829 (grub_context_get): New prototype.
47830 (grub_context_get_current_menu): Likewise.
47831 (grub_context_push_menu): Likewise.
47832 (grub_context_pop_menu): Likewise.
47833 [GRUB_UTIL] (grub_default_init): Likewise.
47834 [GRUB_UTIL] (grub_default_fini): Likewise.
47835 [GRUB_UTIL] (grub_timeout_init): Likewise.
47836 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47837
47838 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47839 commands/timeout.c and normal/context.c.
47840 (pkgdata_MODULES): Added default.mod and timeout.mod.
47841 (normal_mod_SOURCES): Added normal/context.c.
47842 (default_mod_SOURCES): New variable.
47843 (default_mod_CFLAGS): Likewise.
47844 (timeout_mod_SOURCES): Likewise.
47845 (timeout_mod_CFLAGS): Likewise.
47846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47847 conf/i386-pc.rmk.
47848 (pkgdata_MODULES): Added default.mod and timeout.mod.
47849 (normal_mod_SOURCES): Added normal/context.c.
47850 (default_mod_SOURCES): New variable.
47851 (default_mod_CFLAGS): Likewise.
47852 (timeout_mod_SOURCES): Likewise.
47853 (timeout_mod_CFLAGS): Likewise.
47854
47855 * Makefile.in (all-local): Added $(MKFILES).
47856
4ed2e1dd 478572005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47858
47859 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47860 (grub_emu_SOURCES): Likewise.
47861 (pkgdata_MODULES): Add `sun.mod'.
47862 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47864 `partmap/sun.c'.
47865 (pkgdata_MODULES): Add `sun.mod'.
47866 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47867 * include/grub/partition.h (grub_sun_partition_map_init): New
47868 prototype.
47869 (grub_sun_partition_map_fini): Likewise.
47870 * partmap/sun.c: New file.
47871 * util/grub-emu.c (main): Initialize and de-initialize the sun
47872 partitionmap support.
47873
4d4e372e 478742005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
47875
47876 This implements an Emacs-like menu entry editor.
f19dbdb7 47877
4d4e372e 47878 * normal/menu_entry.c: New file.
f19dbdb7 47879
4d4e372e 47880 * util/console.c (grub_ncurses_putchar): Translate some Unicode
47881 characters to ASCII.
47882 (saved_char): New variable.
47883 (grub_ncurses_checkkey): Rewritten completely.
47884 (grub_ncurses_getkey): Likewise.
47885 (grub_ncurses_init): Call raw instead of cbreak.
47886
47887 * normal/menu.c (print_entry): Do not put a space.
47888 (init_page): Renamed to ...
47889 (grub_menu_init_page): ... this. All callers changed.
47890 (edit_menu_entry): Removed.
47891 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
47892
47893 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
47894
47895 * kern/misc.c (grub_vprintf): Call grub_refresh.
47896
47897 * normal/menu.c (DISP_LEFT): Renamed to ...
47898 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
47899 * normal/menu.c (DISP_UP): Renamed to ...
47900 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
47901 * normal/menu.c (DISP_RIGHT): Renamed to ...
47902 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
47903 * normal/menu.c (DISP_DOWN): Renamed to ...
47904 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
47905 * normal/menu.c (DISP_HLINE): Renamed to ...
47906 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
47907 * normal/menu.c (DISP_VLINE): Renamed to ...
47908 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
47909 * normal/menu.c (DISP_UL): Renamed to ...
47910 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
47911 * normal/menu.c (DISP_UR): Renamed to ...
47912 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
47913 * normal/menu.c (DISP_LL): Renamed to ...
47914 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
47915 * normal/menu.c (DISP_LR): Renamed to ...
47916 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
47917 * normal/menu.c (TERM_WIDTH): Renamed to ...
47918 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
47919 * normal/menu.c (TERM_HEIGHT): Renamed to ...
47920 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
47921 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
47922 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
47923 * normal/menu.c (TERM_MARGIN): Renamed to ...
47924 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
47925 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
47926 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
47927 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
47928 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
47929 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
47930 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
47931 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
47932 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
47933 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
47934 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
47935 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
47936 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
47937 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
47938 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
47939 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
47940 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
47941 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
47942 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
47943 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
47944 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
47945 All callers changed.
47946
47947 * include/grub/normal.h: New prototype.
47948
47949 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47950 normal/menu_entry.c.
47951 (normal_mod_SOURCES): Likewise.
47952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47953 (normal_mod_SOURCES): Likewise.
47954
e6b92c8a 479552005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
47956
47957 * include/grub/normal.h (grub_halt_init): New prototype.
47958 (grub_halt_fini): Likewise.
47959 (grub_reboot_init): Likewise.
47960 (grub_reboot_fini): Likewise.
47961
47962 * util/grub-emu.c: Include signal.h.
47963 (main_env): New global variable.
47964 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
47965 catch C-c.
47966 (grub_machine_fini): New function.
47967 (main): Call grub_halt_init and grub_reboot_init before
47968 grub_main, and grub_reboot_fini and grub_halt_fini after it.
47969 Call setjmp with MAIN_ENV to go back afterwards.
47970 Call grub_machine_fini right before return.
47971
47972 * include/grub/util/misc.h: Include setjmp.h.
47973 (main_env): New prototype.
47974
47975 * include/grub/kernel.h (grub_machine_fini): New prototype.
47976 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
47977 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
47978
47979 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
47980 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
47981 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 47982
e6b92c8a 47983 * util/i386/pc/misc.c: New file.
f19dbdb7 47984
e6b92c8a 47985 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47986 util/i386/pc/misc.c, commands/i386/pc/halt.c and
47987 commands/i386/pc/reboot.c.
47988
c642636f 479892005-02-14 Guillem Jover <guillem@hadrons.org>
47990
47991 * include/grub/dl.h (grub_dl_check_header): New prototype.
47992 (grub_arch_dl_check_header): Change return type to grub_err_t,
47993 remove size parameter and export function. Update all callers.
47994 * kern/dl.c (grub_dl_check_header): New function.
47995 (grub_dl_load_core): Use `grub_dl_check_header' instead of
47996 `grub_arch_dl_check_header'. Check ELF type. Check if sections
47997 are inside the core.
47998 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
47999 independent ELF header checks.
48000 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48001 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
48002 `grub_dl_check_header' instead of explicit checks. Check for the
48003 ELF type.
48004 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
48005 `grub_dl_check_header' instead of explicit checks. Remove arch
48006 specific ELF header checks.
48007
e6b92c8a 48008 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
48009 argument SIZE.
48010
5eabe94b 480112005-02-13 Hollis Blanchard <hollis@penguinppc.org>
48012
48013 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
48014 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
48015
1b14a681 480162005-02-12 Hollis Blanchard <hollis@penguinppc.org>
48017
48018 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 48019 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 48020 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 48021 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 48022 * partmap/amiga.c (amiga_partition_map_iterate): Return
48023 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
48024 * partmap/apple.c (apple_partition_map_iterate): Likewise.
48025
aca108aa 480262005-02-01 Guillem Jover <guillem@hadrons.org>
48027
48028 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
48029 help info.
48030
c9f9c556 480312005-01-31 Marco Gerards <metgerards@student.han.nl>
48032
48033 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
48034 Removed prototype.
48035 (grub_rescue_cmd_linux): New prototype.
48036 (grub_rescue_cmd_initrd): Likewise.
48037 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
48038 `bi_rec'.
48039 (grub_linux_release_mem): Release the memory for the initrd.
48040 (grub_load_linux): Renamed from this...
48041 (grub_rescue_cmd_linux): ...To this. Changed all callers.
48042 Changed `entry' not to be static. Loop over memory regions to
48043 find another one when the default fails.
48044 (grub_rescue_cmd_initrd): New function.
48045 (grub_linux_init): Remove function.
48046 (grub_linux_fini): Likewise.
48047 (GRUB_MOD_INIT): Register `initrd'.
48048 (GRUB_MOD_FINI): Unregister `initrd'.
48049 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
48050 Function removed.
48051 (grub_linux_normal_fini): Likewise.
48052 (GRUB_MOD_INIT): Register `initrd'.
48053 (GRUB_MOD_FINI): Unregister `initrd'.
48054
990cf3aa 480552005-01-31 Marco Gerards <metgerards@student.han.nl>
48056
48057 * commands/help.c: New file.
48058 * normal/arg.c (show_help): Renamed to...
48059 (grub_arg_show_help): ... this.
48060 * commands/i386/pc/halt.c: New file.
48061 * commands/i386/pc/reboot.c: Likewise.
48062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
48063 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
48064 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
48065 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
48066 variables.
48067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48068 `commands/help.c'.
48069 (pkgdata_MODULES): Add `help.mod'.
48070 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
48071 * grub/i386/pc/init.h (grub_reboot): New prototype.
48072 (grub_halt): Likewise.
48073 * include/grub/normal.h (grub_arg_show_help): New prototype.
48074 (grub_help_init): Likewise.
48075 (grub_help_fini): Likewise.
48076 * util/grub-emu.c (main): Initialize and deinitialize the help
48077 command.
48078
48079 * normal/cmdline.c (grub_cmdline_get): Doc fix.
48080
48081 * normal/command.c (grub_command_init): Fixed the description of
48082 the `set' and `unset' commands.
48083
480842005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 48085
48086 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
48087 function.
48088 * commands/ieee1275/halt.c: New file.
48089 * commands/ieee1275/reboot.c: Likewise.
48090 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
48091 `__attribute__ ((unused))'. Some GCS related fixed.
48092 (grub_suspend_init) [GRUB_UTIL]: Function removed.
48093 (grub_suspend_fini): Likewise.
48094 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
48095 and `halt.mod'.
48096 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
48097 (halt_mod_CFLAGS): New variables.
48098 * include/grub/powerpc/ieee1275/ieee1275.h
48099 (grub_ieee1275_interpret): New prototype.
48100
1ab09cc7 481012005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
48102
48103 * include/grub/misc.h (memmove): New prototype.
48104 (memcpy): Likewise.
48105
8b8cbdb2 481062005-01-22 Hollis Blanchard <hollis@penguinppc.org>
48107
48108 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
48109 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
48110
e3741a27 481112005-01-22 Marco Gerards <metgerards@student.han.nl>
48112
48113 * kern/misc.c (grub_strndup): Function rewritten.
48114
776bd780 481152005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
48116
48117 * normal/menu.c (TERM_WIDTH): Macro redefined.
48118 (TERM_TOP_BORDER_Y): Likewise.
48119 (draw_border): Replaced while-loop by a for-loop. Make the number
48120 of lines consistent with the number of lines displayed in
48121 print_entries. Added a margin below the rectangle.
48122 (print_entry): Make the entry fit in the rectangle.
48123 (print_entries): Display the scroll arrows next to the right
48124 border.
48125
78026bce 481262005-01-21 Marco Gerards <metgerards@student.han.nl>
48127
48128 * fs/minix.c (grub_minix_find_file): Reserve more space for
48129 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
48130 `grub_strncpy' to copy `path' into it.
48131
67bbaf0f 481322005-01-21 Marco Gerards <metgerards@student.han.nl>
48133
48134 Add the loopback device, a device via which files can be accessed
48135 as devices.
f19dbdb7 48136
67bbaf0f 48137 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
48138 (pkgdata_MODULES): Add loopback.mod.
48139 (loopback_mod_SOURCES): New variable.
48140 (loopback_mod_CFLAGS): Likewise.
48141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48142 `disk/loopback.c'.
48143 (pkgdata_MODULES): Add loopback.mod.
48144 (loopback_mod_SOURCES): New variable.
48145 (loopback_mod_CFLAGS): Likewise.
48146 * disk/loopback.c: new file.
48147 * include/grub/normal.h (grub_loop_init): New prototype.
48148 (grub_loop_fini): New prototype.
48149 * util/grub-emu.c (main): Initialize and de-initialize loopback
48150 support.
48151 * include/grub/disk.h (grub_disk_dev_id): Add
48152 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
48153
6f1c18bd 481542005-01-20 Hollis Blanchard <hollis@penguinppc.org>
48155
48156 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
48157 function.
48158 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
48159 (suspend_mod_SOURCES): New variable.
48160 (suspend_mod_CFLAGS): Likewise.
48161 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
48162 New prototype.
48163 * commands/ieee1275/suspend.c: New file.
48164
b38551da 481652005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48166
48167 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 48168 ((unused))' to `__attribute__ ((used))'.
b38551da 48169 (GRUB_MOD_FINI): Likewise.
48170 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
48171 * genmk.rb (PModule): Assign space to common symbols when linking
48172 modules.
48173
777aff39 481742005-01-20 Marco Gerards <metgerards@student.han.nl>
48175
48176 * include/grub/mm.h (grub_mm_init_region): Change the type of the
48177 `unsigned' arguments to `grub_size_t'.
48178 (grub_malloc): Likewise.
48179 (grub_realloc): Likewise.
48180 (grub_memalign): Likewise.
48181 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
48182 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
48183 * util/misc.c (grub_malloc): Likewise.
48184 (grub_realloc): Likewise.
48185 * kern/mm.c (get_header_from_pointer): Change the casts to
48186 `unsigned' into a cast to `grub_size_t'.
48187
48188 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
48189 point to `currnode' when `currnode' is changed.
48190
48191 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
48192 Schottelius <nico-linux@schottelius.org>.
48193
d0ff18e1 481942005-01-09 Hollis Blanchard <hollis@penguinppc.org>
48195
48196 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
48197 (note_path): Remove variable.
48198 (GRUB_IEEE1275_NOTE_NAME): New macro.
48199 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
48200 (grub_ieee1275_note_hdr): New structure.
48201 (grub_ieee1275_note_desc): Likewise.
48202 (grub_ieee1275_note): Likewise.
48203 (load_note): Remove `dir' argument. All callers updated. Remove
48204 `note_img' and `path'. Do not load a file from `note_path'.
48205 Initialize a struct grub_ieee1275_note and write that to `out'.
48206 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
48207
4ca7004c 482082005-01-05 Marco Gerards <metgerards@student.han.nl>
48209
48210 * util/misc.c (grub_util_read_image): Revert last change. It
48211 called `grub_util_read_at', which seeks from the beginning of the
48212 file.
48213
0b412211 482142005-01-04 Hollis Blanchard <hollis@penguinppc.org>
48215
48216 * TODO: Add note about endianness in grub-mkimage.
48217 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
48218 section.
48219 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
48220 (grub_mkimage_SOURCES): New target.
48221 * include/grub/kernel.h (grub_start_addr): Remove variable.
48222 (grub_end_addr): Likewise.
48223 (grub_total_module_size): Likewise.
48224 (grub_kernel_image_size): Likewise.
48225 (GRUB_MODULE_MAGIC): New constant.
48226 (grub_module_info): New structure.
48227 (grub_arch_modules_addr): New prototype.
48228 (grub_get_end_addr): Remove prototype.
48229 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
48230 * include/grub/powerpc/ieee1275/kernel.h: New file.
48231 * include/grub/util/misc.h (grub_util_get_fp_size): New
48232 prototype.
48233 (grub_util_read_at): Likewise.
48234 (grub_util_write_image_at): Likewise.
48235 * kern/main.c (grub_get_end_addr): Remove function.
48236 (grub_load_modules): Call grub_arch_modules_addr instead of using
48237 grub_end_addr. Look for a grub_module_info struct in memory. Use
48238 the grub_module_info fields instead of calling grub_get_end_addr
48239 as loop conditions. Move grub_add_unused_region code here.
48240 (grub_add_unused_region): Remove function.
48241 * kern/i386/pc/init.c: Include grub/cache.h.
48242 (grub_machine_init): Remove call to grub_get_end_addr. Remove
48243 one call to add_mem_region.
48244 (grub_arch_modules_addr): New function.
48245 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
48246 (grub_total_module_size): Likewise.
48247 Include grub/machine/kernel.h.
48248 (grub_arch_modules_addr): New function.
48249 * util/grub-emu.c (grub_end_addr): Remove variable.
48250 (grub_total_module_size): Likewise.
48251 (grub_arch_modules_addr): New function.
48252 * util/misc.c: Include unistd.h.
48253 (grub_util_get_fp_size): New function.
48254 (grub_util_read_at): Likewise.
48255 (grub_util_write_image_at): Likewise.
48256 (grub_util_read_image): Call grub_util_read_at.
48257 (grub_util_write_image): Call grub_util_write_image_at.
48258 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48259 additional memory in kernel_img for a struct grub_module_info.
48260 Fill in that grub_module_info.
48261 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48262
458786f8 482632005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48264
48265 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48266 New function.
48267 * include/grub/powerpc/ieee1275/ieee1275.h
48268 (grub_ieee1275_milliseconds): New prototype.
48269 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48270 Change to 1000.
48271 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48272 grub_ieee1275_milliseconds.
48273
ac507d1b 482742005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48275
48276 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48277 variable.
48278 (find_options): New function.
48279 (cmain): Call find_options.
48280 * include/grub/powerpc/ieee1275/ieee1275.h
48281 (grub_ieee1275_realmode): New extern variable.
48282 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48283 grub_map if grub_ieee1275_realmode is false.
48284
6b8fd1c4 482852004-12-29 Marco Gerards <metgerards@student.han.nl>
48286
48287 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48288 lines are inserted and make it work like readline. Reported by
48289 Vincent Pelletier <subdino2004@yahoo.fr>.
48290
8514a1e0 482912004-12-28 Marco Gerards <metgerards@student.han.nl>
48292
48293 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48294
48295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48296 `kern/powerpc/cache.S'.
48297
924b6140 482982004-12-27 Marco Gerards <metgerards@student.han.nl>
48299
48300 * genmk.rb: Handle the `Program' class in the main loop. Written
48301 by Johan Rydberg <jrydberg@gnu.org>.
48302 (Program): New class.
48303 (programs): New variable.
48304 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48305 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48306 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48307 (help_arch): Function removed.
48308 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48309 `powerpc/libgcc.h' and `loader.h'.
48310 (pkgdata_PROGRAMS): New variable.
48311 (sbin_UTILITIES): Variable removed.
48312 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48313 (grubof_SOURCES): Variable re-defined so it only includes the
48314 core functionality.
48315 (grubof_CFLAGS): Remove `-DGRUBOF'.
48316 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48317 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48318 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48319 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48320 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48321 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48322 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48323 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48324 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48325 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48326 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48327 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48328 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48329 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48330 (pc_mod_CFLAGS): New variables.
48331 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48332 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48333 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48334 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48335 Moved from here...
48336 * include/grub/i386/pc/init.h (grub_os_area_addr)
48337 (rub_os_area_size): ... to here.
48338 * include/grub/powerpc/ieee1275/ieee1275.h
48339 (grub_ieee1275_entry_fn): Export symbol.
48340 * include/grub/powerpc/ieee1275/init.h: New file.
48341 * include/grub/powerpc/libgcc.h: Likewise.
48342 * include/grub/cache.h: Likewise.
48343 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48344 <hollis@penguinppc.org>.
48345 * kern/dl.c: Include <grub/cache.h>.
48346 (grub_dl_flush_cache): New function.
48347 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48348 for this module.
48349 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48350 (grub_console_init): Removed prototypes.
48351 (grub_machine_init): Don't initialize the modules anymore.
48352 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48353 static.
48354 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48355 Macro undef removed.
48356 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48357 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48358 relocation `R_PPC_REL32'. Return an error when the relocation is
48359 unknown.
48360 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48361 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48362 * util/misc.c (grub_arch_sync_caches): Likewise.
48363
e4b47e0c 483642004-12-19 Marco Gerards <metgerards@student.han.nl>
48365
48366 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48367 `symlist.c', add `grubof_symlist.c'.
48368 (symlist.c): Variable removed.
48369 (grubof_HEADERS): Variable added.
48370 (grubof_symlist.c): New target.
48371 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48372 `kernel_img_HEADERS'.
48373 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48374 * kern/powerpc/dl.c: New file.
48375 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48376 Function removed.
48377 (grub_arch_dl_relocate_symbols): Likewise.
48378 (grub_register_exported_symbols): Likewise.
48379
4ceb3636 483802004-12-13 Marco Gerards <metgerards@student.han.nl>
48381
48382 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48383 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48384 to fail instead. Reported by Vincent Pelletier
48385 <subdino2004@yahoo.fr>.
48386
48387 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48388 it is not allocated. Reported by Vincent Pelletier
48389 <subdino2004@yahoo.fr>.
48390
48391 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48392 output so the output looks better.
f19dbdb7 48393
3f1578fe 483942004-12-04 Marco Gerards <metgerards@student.han.nl>
48395
48396 Modulize the partition map support and add support for the amiga
48397 partition map.
f19dbdb7 48398
3f1578fe 48399 * commands/ls.c: Include <grub/partition.h> instead of
48400 <grub/machine/partition.h>.
48401 * kern/disk.c: Likewise.
48402 * kern/rescue.c: Likewise.
48403 * loader/i386/pc/chainloader.c: Likewise.
48404 * normal/cmdline.c: Likewise.
48405 * kern/powerpc/ieee1275/init.c: Likewise.
48406 (grub_machine_init): Call `grub_pc_partition_map_init',
48407 `grub_amiga_partition_map_init' and
48408 `grub_apple_partition_map_init'.
48409 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48410 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48411 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48412 `partition.h' and `pc_partition.h'.
48413 (grub_setup_SOURCES): Remove
48414 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48415 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48416 (grub_emu_SOURCES): Likewise.
48417 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48418 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48419 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48421 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48422 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48423 (grubof_SOURCES): Likewise.
48424 * disk/i386/pc/partition.c: File removed.
48425 * disk/powerpc/ieee1275/partition.c: Likewise.
48426 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48427 * include/grub/i386/pc/partition.h: Likewise.
48428 * kern/partition.c: New file.
48429 * partmap/amiga.c: Likewise.
48430 * partmap/apple.c: Likewise.
48431 * partmap/pc.c: Likewise.
48432 * include/grub/partition.h: Likewise..
48433 * include/grub/pc_partition.h: Likewise.
48434 * util/grub-emu.c: Include <grub/partition.h> instead of
48435 <grub/machine/partition.h>.
48436 (main): Call `grub_pc_partition_map_init',
48437 `grub_amiga_partition_map_init' and
48438 `grub_apple_partition_map_init' and deinitialize afterwards.
48439 * util/i386/pc/biosdisk.c: Include `#include
48440 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48441 `<grub/machine/partition.h>'.
48442 * util/i386/pc/grub-setup.c: Likewise.
48443 * util/i386/pc/biosdisk.c: Likewise.
48444 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48445 partition information in case of a PC partition.
48446 * util/i386/pc/grub-setup.c: Include `#include
48447 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48448 `<grub/machine/partition.h>'.
48449 (setup): Only access the PC specific partition information in case
48450 of a PC partition.
48451
0ef4ced9 484522004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48453
0ef4ced9 48454 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48455 (grub_longjmp): Likewise.
48456 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48457 20.
48458 * normal/powerpc/setjmp.S: New file.
48459 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48460 `normal/powerpc/setjmp.S'.
48461 (grubof_CFLAGS): Add `-DGRUBOF'.
48462 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48463 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48464
19950e29 484652004-11-16 Marco Gerards <metgerards@student.han.nl>
48466
48467 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48468 property named `name'. Correctly handle the error returned by
48469 `grub_ieee1275_finddevice' if a device can not be opened.
48470
a2fea427 484712004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48472
48473 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48474 `actual' for negativity.
48475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48476 kern/fshelp.c.
48477
41ea0ea3 484782004-11-01 Marco Gerards <metgerards@student.han.nl>
48479
48480 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48481 (PAGE_OFFSET): New macro.
48482 (CRTC_ADDR_PORT): Likewise.
48483 (CRTC_DATA_PORT): Likewise.
48484 (START_ADDR_HIGH_REGISTER): Likewise.
48485 (START_ADDR_LOW_REGISTER): Likewise.
48486 (GRAPHICS_ADDR_PORT): Likewise.
48487 (GRAPHICS_DATA_PORT): Likewise.
48488 (READ_MAP_REGISTER): Likewise.
48489 (INPUT_STATUS1_REGISTER): Likewise.
48490 (INPUT_STATUS1_VERTR_BIT): Likewise.
48491 (page): New variable.
48492 (wait_vretrace): New function.
48493 (set_read_map): Likewise.
48494 (set_start_address): Likewise.
48495 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48496 the right page.
48497 (check_vga_mem): Take the page into account.
48498 (write_char): Likewise.
48499 (write_cursor): Likewise.
48500 (scroll_up): Likewise. Copy the page to the page that is not
48501 shown and switch between both pages.
48502 (grub_vga_putchar): Fix off by one error.
48503 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48504 account.
48505
ad0bd20b 485062004-11-01 Marco Gerards <metgerards@student.han.nl>
48507
48508 Add support for iso9660 (including rockridge).
f19dbdb7 48509
ad0bd20b 48510 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48511 (iso9660_mod_SOURCES): New variable.
48512 (iso9660_mod_CFLAGS): Likewise.
48513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48514 * include/grub/fs.h (grub_iso9660_init): New prototype.
48515 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48516 * fs/iso9660.c: New file.
48517
48518 * include/grub/misc.h (grub_strncat): New prototype.
48519 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48520
ad0bd20b 48521 * fs/hfs.c (grub_hfs_mount): Translate the error
48522 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48523 * fs/jfs.c (grub_jfs_mount): Likewise.
48524 * fs/ufs.c (grub_ufs_mount): Likewise.
48525
a5477a59 485262004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48527
48528 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48529 which initialized BAT registers.
48530 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48531 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48532 Move from here...
48533 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48534 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48535 ... to here.
48536 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48537 (grub_mapclaim): Likewise.
48538 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48539 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48540 hand.
48541
9304c1f8 485422004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48543
48544 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48545 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48546 -ffreestanding and -msoft-float.
48547
86f4ae25 485482004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48549
48550 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48551 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48552 set in grub_ieee1275_flags.
48553
38912228 485542004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48555
48556 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48557 prototype.
48558 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48559 grub_console_init first.
48560 Change the memory range used for grub_ieee1275_claim and
48561 grub_mm_init_region.
48562 Print an error message if the claim fails.
48563 Include <grub/misc.h>.
48564
d1923dc8 485652004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48566
48567 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48568 Call grub_children_iterate for device nodes of type `scsi',
48569 `ide', or `ata'.
48570 (grub_ofdisk_open): Remove manual device alias resolution.
48571 Fix memory leak when device cannot be opened.
f19dbdb7 48572 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48573 (grub_children_iterate): New prototype.
48574 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48575 New function.
48576 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48577 Return -1 if args.size was -1.
48578
4512e4f3 485792004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48580
48581 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48582 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48583 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48584 Open Firmware's memory for it; claim memory from _start to _end.
48585 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48586 (_end): New extern.
48587 (_start): Zero BSS from __bss_start to _end.
48588 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48589 New extern.
48590 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48591
4d61feb0 485922004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48593
ad0bd20b 48594 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48595 -1 if args.base was -1.
4d61feb0 48596
026fa2f9 485972004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48598
48599 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48600 escape sequence instead of a literal ^L. Also call
48601 grub_ofconsole_gotoxy.
48602
9f2220ef 486032004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48604
48605 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48606 void * arguments to grub_addr_t. All callers updated. Also make
48607 the `result' argument optional.
48608 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48609 All callers updated.
48610
8a572cd7 486112004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48612
48613 * commands/ls.c (grub_ls_list_files): Use the string following the
48614 initial ')', if present, as the filesystem path.
48615 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48616
48617 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48618
18aa81f2 486192004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48620
48621 Make the source code of the menu interface more readable.
f19dbdb7 48622
18aa81f2 48623 * normal/menu.c: Include grub/mm.h.
48624 (TERM_WIDTH): New macro.
48625 (TERM_HEIGHT): Likewise.
48626 (TERM_INFO_HEIGHT): Likewise.
48627 (TERM_MARGIN): Likewise.
48628 (TERM_SCROLL_WIDTH): Likewise.
48629 (TERM_TOP_BORDER_Y): Likewise.
48630 (TERM_LEFT_BORDER_X): Likewise.
48631 (TERM_BORDER_WIDTH): Likewise.
48632 (TERM_MESSAGE_HEIGHT): Likewise.
48633 (TERM_BORDER_HEIGHT): Likewise.
48634 (TERM_NUM_ENTRIES): Likewise.
48635 (TERM_FIRST_ENTRY_Y): Likewise.
48636 (TERM_ENTRY_WIDTH): Likewise.
48637 (TERM_CURSOR_X): Likewise.
48638 (draw_border): Use macros instead of magic numbers.
48639 (print_entry): Likewise.
48640 (print_entries): Likewise.
48641 (run_menu): Likewise. Also, handle the key 'e'.
48642 (run_menu_entry): Ignore empty command lines.
48643 (print_message): Added a new argument EDIT. If EDIT is true,
48644 print a different message.
48645 (init_page): Likewise.
48646 (edit_menu_entry): New function. Not implemented yet.
48647
b47efe30 486482004-09-17 Marco Gerards <metgerards@student.han.nl>
48649
48650 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48651 can be loaded from normal mode.
f19dbdb7 48652
b47efe30 48653 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48654 `multiboot.mod'.
48655 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48656 (multiboot_mod_CFLAGS): New variables.
48657 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48658 * loader/i386/pc/multiboot_normal.c: Likewise.
48659
b47efe30 48660 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48661 attribute `unused'.
f19dbdb7 48662
b47efe30 48663 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48664 `fdiro' to read the mode information from instead of `diro'.
48665
48666 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48667 looking up a symlink.
48668
48669 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48670 macro.
48671 * normal/command.c (grub_command_execute): Don't parse the
48672 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48673 flags of the command.
48674
48675 * normal/menu.c (grub_menu_run): Fix typo.
48676
da75ac71 486772004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48678
48679 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48680
48681 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48682 `y + 1' instead of `y - 1'.
48683
48684 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48685
062b24c2 486862004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48687
48688 From Hollis Blanchard <hollis@penguinppc.org>:
48689 * kern/misc.c (memmove): New alias for grub_memmove.
48690 (memcmp): New alias for grub_memcmp.
48691 (memset): New alias for grub_memset.
f19dbdb7 48692 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48693 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48694 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48695 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48696
8ddad845 486972004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48698
48699 Added normal mode command `chainloader' as module chain.mod, which
48700 depends on normal.mod and _chain.mod.
f19dbdb7 48701
8ddad845 48702 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48703 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48704 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48705 Deleted prototype.
48706 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48707 but arguments parsing moved to ...
48708 (grub_chainloader_cmd): ... here. New function.
48709 * include/grub/i386/pc/chainloader.h: New file.
48710 * loader/i386/pc/chainloader_normal.c: Likewise.
48711
2c1f4ce3 487122004-09-11 Marco Gerards <metgerards@student.han.nl>
48713
48714 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48715 (grub_mkimage_LDFLAGS): Likewise.
48716 (grub_emu_SOURCES): Likewise.
48717 (kernel_img_HEADERS): Added fshelp.h.
48718 * fs/ext2.c: Include <grub/fshelp.h>.
48719 (FILETYPE_REG): New macro.
48720 (FILETYPE_INO_REG): Likewise.
48721 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48722 Changed all users.
48723 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48724 all users.
48725 (grub_fshelp_node): New struct.
48726 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48727 to a pointer.
48728 (grub_ext2_get_file_block): Removed function.
48729 (grub_ext2_read_block): New function.
48730 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48731 This function was written.
48732 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48733 (grub_ext2_find_file): Removed function.
48734 (grub_ext2_read_symlink): New function.
48735 (grub_ext2_iterate_dir): Likewise.
48736 (grub_ext2_open): Rewritten.
48737 (grub_ext2_dir): Rewritten.
48738 * include/grub/fshelp.h: New file.
48739 * fs/fshelp.c: Likewise.
48740
3c52136a 487412004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48742
48743 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48744 (print_message): Add a missing newline.
48745 (run_menu): Added timeout support.
48746 (run_menu_entry): New local function.
48747 (grub_menu_run): Added support for booting.
48748
48749 * kern/loader.c (grub_loader_is_loaded): New function.
48750
48751 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48752 (grub_get_rtc): Exported.
48753
48754 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48755 (grub_get_rtc): Exported.
48756
48757 * include/grub/normal.h (struct grub_command_list): Remove
48758 constant from the member `command'.
48759
48760 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48761
48762 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48763
48764 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48765
aa033560 487662004-08-28 Marco Gerards <metgerards@student.han.nl>
48767
48768 Add support for the JFS filesystem.
48769
48770 * fs/jfs.c: New file.
48771 * include/grub/fs.h (grub_jfs_init): New prototype.
48772 (grub_jfs_fini): New prototype.
48773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48774 (grub_emu_SOURCES): Likewise.
48775 (pkgdata_MODULES): Add jfs.mod.
48776 (jfs_mod_SOURCES): New variable.
48777 (jfs_mod_CFLAGS): Likewise.
48778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48779 (grubof_SOURCES): Likewise.
48780 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48781
48782 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48783 endian to the host endian.
48784 (grub_fat_utf16_to_utf8): Move function from there...
48785 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48786 the endianness of the source string anymore.
aa033560 48787 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48788
94bc45af 487892004-08-24 Marco Gerards <metgerards@student.han.nl>
48790
48791 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48792 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48793 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48794 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48795
94bc45af 48796 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48797 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48798 for `node_found' and `it_dir'.
48799 (grub_hfs_dir): Add prototype for `dir_hook'.
48800
48801 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48802 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48803 and `indir32' to silence a gcc warning.
48804
48805 * include/grub/fs.h (grub_hfs_init): New prototype.
48806 (grub_hfs_fini): Likewise.
f19dbdb7 48807
48808
97543f08 488092004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48810
48811 Each disk device has its own id now. This is useful to make use
48812 of multiple disk devices.
f19dbdb7 48813
97543f08 48814 * include/grub/disk.h (grub_disk_dev_id): New enum.
48815 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48816 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48817
48818 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48819 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48820
48821 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48822 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48823
48824 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48825 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48826
48827 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48828 "id" which is used by the cache manager.
48829
48830 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48831 of just "GRUB".
48832
64372eb4 488332004-08-18 Marco Gerards <metgerards@student.han.nl>
48834
48835 * fs/hfs.c: New file.
48836 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48837 (grub_emu_SOURCES): Likewise.
48838 (pkgdata_MODULES): Add hfs.mod.
48839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48840 (grubof_SOURCES): Likewise.
48841 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48842
48843 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48844 * kern/misc.c (grub_strncasecmp): Add function.
48845
cc61b58f 488462004-08-14 Marco Gerards <metgerards@student.han.nl>
48847
48848 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48849 with parentheses.
48850
48851 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48852 (grub_ext2_dir): In case the directory entry type is unknown, read
48853 it from the inode.
48854
0ef123f6 488552004-08-02 Peter Bruin <pjbruin@dds.nl>
48856
48857 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48858 grub_load_linux instead of grub_rescue_cmd_linux as second
48859 argument of grub_rescue_register_command.
48860
48861 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
48862
a447c5df 488632004-07-27 Marco Gerards <metgerards@student.han.nl>
48864
48865 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
48866 function.
48867 * commands/boot.c: Remove the check for `GRUB_UTIL'.
48868 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48869 `loader/powerpc/ieee1275/linux.c',
48870 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
48871 * include/grub/powerpc/ieee1275/ieee1275.h
48872 (grub_ieee1275_release): New prototype.
48873 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
48874 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
48875 normal, boot, linux and linux_normal.
48876 * loader/powerpc/ieee1275/linux.c: New file.
48877 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48878
5a9e3546 488792004-07-12 Marco Gerards <metgerards@student.han.nl>
48880
48881 * normal/arg.c (grub_arg_parse): Correct error handling after
48882 reallocating the argumentlist (check if `argl' is not null instead
48883 of checking if `args' is not null).
48884 * kern/mm.c (grub_realloc): Return the same pointer when using the
48885 same region, instead of returning the header address.
48886
e15199cb 488872004-07-11 Marco Gerards <metgerards@student.han.nl>
48888
48889 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
48890 one block instead of two when looking for the initial partition.
48891 (grub_partition_probe): Initialize the local variable `p' with 0.
48892 Use base 10 for the grub_strtoul call.
48893 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
48894 need for one local variable.
48895 (grub_strtoul): Don't add the new value to `num', instead of that
48896 just assign it.
48897
020616c2 488982004-07-11 Marco Gerards <metgerards@student.han.nl>
48899
48900 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
48901 (pxeboot_img_SOURCES): New variable.
48902 (pxeboot_img_ASFLAGS): Likewise.
48903 (pxeboot_img_LDFLAGS): Likewise.
48904 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
48905 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
48906 <lode_leroy@hotmail.com>.
48907
6c51eb64 489082004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48909
48910 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
48911 there was no input.
48912
cfb12aff 489132004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48914
48915 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
48916 the history buffer logic.
48917
6eabba74 489182004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48919
48920 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
48921 (FILETYPE_INO_SYMLINK): New macros.
48922 (grub_ext2_find_file): Check if the node is a directory using the
48923 inode stat information instead of using the filetype in the
48924 dirent. Exclude the first character of an absolute symlink.
48925 (grub_ext2_dir): Mask out the filetype part of the mode member of
48926 the inode.
48927
66e19ef8 489282004-05-24 Marco Gerards <metgerards@student.han.nl>
48929
48930 Add support for UFS version 1 and 2. Add support for the minix
48931 filesystem version 1 and 2, both the variants with 14 and 30 long
48932 filenames.
f19dbdb7 48933
66e19ef8 48934 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
48935 fs/minix.c.
48936 (grub_emu_SOURCES): Likewise.
48937 (pkgdata_MODULES): Add ufs.mod and minix.mod.
48938 (ufs_mod_SOURCES): New variable.
48939 (ufs_mod_CFLAGS): Likewise.
48940 (minix_mod_SOURCES): Likewise.
48941 (minix_mod_CFLAGS): Likewise.
48942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
48943 fs/minix.c.
48944 (grubof_SOURCES): Likewise.
48945 * fs/ufs.c: New file.
48946 * fs/minix.c: New file.
48947 * include/grub/fs.h (grub_ufs_init): New prototype.
48948 (grub_ufs_fini): Likewise.
48949 (grub_minix_init): Likewise.
48950 (grub_minix_fini): Likewise.
48951 * util/grub-emu.c (main): Initialize and deinitialize UFS and
48952 minix fs.
48953
cc2e748a 489542004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
48955
48956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
48957 commands/ls.c, commands/terminal.c, commands/boot.c,
48958 commands/cmp.c and commands/cat.c.
48959 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
48960
48961 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
48962 "env.h"
48963
4b13b216 489642004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48965
48966 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
48967 and grub_, respectively. Because the conversion is trivial and
48968 mechanical, I omit the details here. Please refer to the CVS
48969 if you need more information.
48970
6a142551 489712004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48972
48973 * include/pupa: Renamed to ...
48974 * include/grub: ... this.
48975 * util/i386/pc/pupa-mkimage.c: Renamed to ...
48976 * util/i386/pc/grub-mkimage.c: ... this.
48977 * util/i386/pc/pupa-setup.c: Renamed to ...
48978 * util/i386/pc/grub-setup.c: ... this.
48979 * util/pupa-emu.c: Renamed to ...
48980 * util/grub-emu.c: ... this.
48981
e56cdf21 489822004-03-29 Marco Gerards <metgerards@student.han.nl>
48983
48984 Add support for the newworld apple macintosh (PPC). This has been
48985 tested on the powerbook 2000 only. It only adds support for
48986 generic ieee1275 functions, console and disk support. This should
48987 be easy to port to other architectures with support for Open
48988 Firmware.
f19dbdb7 48989
e56cdf21 48990 * configure.ac: Accept the powerpc as host_cpu. In the case of
48991 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
48992 specific tests are only executed while building for the i386.
48993 Inverse test for crosscompile.
48994 * genmk.rb (Utility): Allow assembler files.
48995 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
48996 * conf/powerpc-ieee1275.rmk: New file.
48997 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
48998 * disk/powerpc/ieee1275/partition.c: Likewise.
48999 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
49000 * include/pupa/powerpc/ieee1275/console.h: Likewise.
49001 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
49002 * include/pupa/powerpc/ieee1275/time.h: Likewise.
49003 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
49004 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
49005 * include/pupa/powerpc/ieee1275/loader.h
49006 * include/pupa/powerpc/setjmp.h: Likewise.
49007 * include/pupa/powerpc/types.h: Likewise.
49008 * kern/powerpc/ieee1275/init.c: Likewise.
49009 * kern/powerpc/ieee1275/openfw.c: Likewise.
49010 * term/powerpc/ieee1275/ofconsole.c: Likewise.
49011
49012 These files were written by Johan Rydberg
49013 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 49014
e56cdf21 49015 * boot/powerpc/ieee1275/cmain.c: New file.
49016 * boot/powerpc/ieee1275/crt0.S: Likewise.
49017 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
49018 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
49019
8c8cc205 490202004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
49021
49022 * Makefile.in: Update copyright.
49023 * genmodsrc.sh: Likewise.
49024 * gensymlist.sh: Likewise.
49025 * term/i386/pc/vga.c: Indent correctly.
49026
49027 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
49028 bugreporting address.
49029 * util/i386/pc/pupa-setup.c (usage): Likewise,
49030 (main): Call pupa_ext2_init and pupa_ext2_fini.
49031
f19dbdb7 49032 * fs/fat.c (log2): Renamed to ...
8c8cc205 49033 (fat_log2): ... this.
49034 All callers changed.
49035 * kern/misc.c (memcpy): Alias to pupa_memmove.
49036 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
49037 lvalue cast.
49038 * util/console.c (pupa_ncurses_fini): Return 0.
49039
49040 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
49041 Move fail label here.
49042 [__GNU__]: Don't warn when using stat.
49043 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
49044 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
49045 long int. Use strtol instead of strtoul.
f19dbdb7 49046
db1771cf 490472004-03-14 Marco Gerards <metgerards@student.han.nl>
49048
49049 * commands/boot.c: New file.
49050 * commands/cat.c: Likewise.
49051 * commands/cmp.c: Likewise.
49052 * commands/ls.c: Likewise.
49053 * commands/terminal.c: Likewise.
49054 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
49055 (pupa_register_command): Changed interface to match the new
49056 argument parser.
49057 (pupa_command_execute): Changed (almost rewritten) so it uses
49058 pupa_split_command. Added support for setting variables using the
49059 syntax `foo=bar'.
49060 (rescue_command): Changed to work with the new argument parser.
49061 (terminal_command): Moved from here to commands/terminal.c.
49062 (set_command): New function.
49063 (unset_command): New function.
49064 (insmod_command): New function.
49065 (rmmod_command): New function.
49066 (lsmod_command): New function.
49067 (pupa_command_init): Don't initialize the command terminal
49068 anymore. Initialize the commands set, unset, insmod, rmmod and
49069 lsmod.
49070 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
49071 (kernel_img_HEADERS): Add arg.h and env.h.
49072 (pupa_mkimage_LDFLAGS): Add kern/env.c.
49073 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
49074 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
49075 normal/arg.c.
49076 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
49077 terminal.mod.
49078 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
49079 (boot_mod_SOURCES): New variable.
49080 (terminal_mod_SOURCES): Likewise.
49081 (ls_mod_SOURCES): Likewise.
49082 (cmp_mod_SOURCES): Likewise.
49083 (cat_mod_SOURCES): Likewise.
49084
49085 * normal/arg.c: New file.
49086 * kern/env.c: Likewise.
49087 * include/pupa/arg.h: Likewise.
49088 * include/pupa/env.h: Likewise.
49089 * font/manager.c (font_command): Changed to match argument parsing
49090 interface changes.
49091 (PUPA_MOD_INIT): Likewise.
49092 * hello/hello.c (pupa_cmd_hello): Likewise.
49093 (PUPA_MOD_INIT): Likewise.
49094 * include/pupa/disk.h: Include <pupa/device.h>.
49095 (pupa_print_partinfo): New prototype.
49096 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
49097 (pupa_dl_get_prefix): Likewise.
49098 * include/pupa/misc.h: Include <pupa/err.h>.
49099 (pupa_isgraph): New prototype.
49100 (pupa_isdigit): Likewise.
49101 (pupa_split_cmdline): Likewise.
49102 * include/pupa/normal.h: Include <pupa/arg.h>.
49103 (pupa_command): Changed the prototype of the member `func' to
49104 match the argument parsing interface. Added member `options'.
49105 (pupa_register_command): Updated to match function.
49106 (pupa_arg_parse): New prototype.
49107 (pupa_hello_init) [PUPA_UTIL]: New prototype.
49108 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
49109 (pupa_ls_init) [PUPA_UTIL]: Likewise.
49110 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
49111 (pupa_cat_init) [PUPA_UTIL]: Likewise.
49112 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
49113 (pupa_boot_init) [PUPA_UTIL]: Likewise.
49114 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
49115 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
49116 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
49117 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
49118 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
49119 * kern/disk.c: Include <pupa/file.h>.
49120 (pupa_print_partinfo): New function.
49121 * kern/dl.c: Include <pupa/env.h>.
49122 (pupa_dl_dir): Variable removed.
49123 (pupa_dl_load): Use the environment variable `prefix' instead of
49124 the variable pupa_dl_dir.
49125 (pupa_dl_set_prefix): Function removed.
49126 (pupa_dl_get_prefix): Likewise.
49127 * kern/i386/pc/init.c: Include <pupa/env.h>.
49128 (pupa_machine_init): Use the environment variable `prefix' instead of
49129 using pupa_dl_set_prefix to set the prefix.
49130 * kern/main.c: Include <pupa/env.h>.
49131 (pupa_set_root_dev): Use the environment variable `prefix' instead of
49132 using pupa_dl_get_prefix to get the prefix.
49133 * kern/misc.c: Include <pupa/env.h>.
49134 (pupa_isdigit): New function.
49135 (pupa_isgraph): Likewise.
49136 (pupa_ftoa): Likewise.
49137 (pupa_vsprintf): Added support for printing values of the type
49138 `double'. Make it possible to format variable output when using
49139 formatting like `%1.2%f'.
49140 (pupa_split_cmdline): New function.
49141 * kern/rescue.c: Include <pupa/env.h>.
49142 (next_word): Removed function.
49143 (pupa_rescue_cmd_prefix): Likewise.
49144 (pupa_rescue_cmd_set): New function.
49145 (pupa_rescue_cmd_unset): New function.
49146 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
49147 split the command line instead of splitting it here. Added
49148 support for setting variables using the syntax `foo=bar'. Don't
49149 initialize the prefix command anymore. Initialized the set and
49150 unset commands.
49151 * normal/cmdline.c: Include <pupa/env.h>.
49152 (pupa_tab_complete): Added prototypes for print_simple_completion,
49153 print_partition_completion, add_completion, iterate_commands,
49154 iterate_dev, iterate_part and iterate_dir. Moved code to print
49155 partition information from here to kern/disk.c.
fe6b695a 49156 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 49157 * normal/main.c: Include <pupa/env.h>.
49158 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
49159 instead of using pupa_dl_get_prefix to get the prefix.
49160 * term/i386/pc/vga.c: Include <pupa/arg.h>.
49161 (check_vga_mem): Cast pointers to `void *' to silence a gcc
49162 warning.
49163 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
49164 (pupa_vga_setcolor): Declare unused variables with `__attribute__
49165 ((unused))' to silence a gcc warning.
49166 (pupa_vga_setcolor): Likewise.
49167 (debug_command): Changed to match argument parsing
49168 interface changes.
49169 * util/pupa-emu.c: Include <pupa/env.h>.
49170 (options): Added 0's for unused fields to silence a gcc warning.
49171 (argp): Likewise.
49172 (main): Use the environment variable `prefix' instead of using
49173 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
49174 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
49175 and terminal.
49176
49177 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
49178 * util/misc.c: Include <malloc.h>.
49179 (pupa_malloc): Rewritten so errors are correctly reported.
49180 (pupa_realloc): Likewise.
49181 (pupa_memalign): Likewise.
49182 (pupa_mm_init_region): Declare unused variables with
49183 `__attribute__ ((unused))' to silence a gcc warning.
49184 * normal/i386/setjmp.S: Remove tab at the end of the file to
49185 silence a gcc warning.
49186 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
49187 variables with `__attribute__ ((unused))' to silence a gcc
49188 warning.
49189 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
49190 local variable i unsigned to silence a gcc warning.
49191
49192 * kern/term.c: Include <pupa/misc.h>.
49193 (pupa_more_lines): New variable.
49194 (pupa_more): Likewise.
49195 (pupa_putcode): When the pager is active pause at the end of every
49196 screen.
49197 (pupa_set_more): New function.
49198 * include/pupa/term.h (pupa_set_more): New prototype.
49199
49200
3b1139cb 492012004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
49202
49203 Now this project is GRUB 2 rather than PUPA. The location of
49204 the CVS repository was moved to GRUB's.
f19dbdb7 49205
3b1139cb 49206 * configure.ac: Use bug-grub as the reporting address.
49207 Use GRUB instead of PUPA.
49208 Change the version number to 1.90.
49209
8367695c 492102004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
49211
49212 * genkernsyms.sh: Updated copyright information.
49213 * genmk.rb: Likewise.
49214 * genmodsrc.sh: Likewise.
49215 * gensymlist.sh: Likewise.
49216 * boot/i386/pc/boot.S: Likewise.
49217 * boot/i386/pc/diskboot.S: Likewise.
49218 * disk/i386/pc/biosdisk.c: Likewise.
49219 * disk/i386/pc/partition.c: Likewise.
49220 * font/manager.c: Likewise.
49221 * fs/ext2.c: Likewise.
49222 * fs/fat.c: Likewise.
49223 * include/pupa/boot.h: Likewise.
49224 * include/pupa/device.h: Likewise.
49225 * include/pupa/disk.h: Likewise.
49226 * include/pupa/dl.h: Likewise.
49227 * include/pupa/elf.h: Likewise.
49228 * include/pupa/err.h: Likewise.
49229 * include/pupa/file.h: Likewise.
49230 * include/pupa/font.h: Likewise.
49231 * include/pupa/fs.h: Likewise.
49232 * include/pupa/kernel.h: Likewise.
49233 * include/pupa/loader.h: Likewise.
49234 * include/pupa/misc.h: Likewise.
49235 * include/pupa/mm.h: Likewise.
49236 * include/pupa/net.h: Likewise.
49237 * include/pupa/normal.h: Likewise.
49238 * include/pupa/rescue.h: Likewise.
49239 * include/pupa/setjmp.h: Likewise.
49240 * include/pupa/symbol.h: Likewise.
49241 * include/pupa/term.h: Likewise.
49242 * include/pupa/types.h: Likewise.
49243 * include/pupa/i386/setjmp.h: Likewise.
49244 * include/pupa/i386/types.h: Likewise.
49245 * include/pupa/i386/pc/biosdisk.h: Likewise.
49246 * include/pupa/i386/pc/boot.h: Likewise.
49247 * include/pupa/i386/pc/console.h: Likewise.
49248 * include/pupa/i386/pc/init.h: Likewise.
49249 * include/pupa/i386/pc/kernel.h: Likewise.
49250 * include/pupa/i386/pc/linux.h: Likewise.
49251 * include/pupa/i386/pc/loader.h: Likewise.
49252 * include/pupa/i386/pc/memory.h: Likewise.
49253 * include/pupa/i386/pc/multiboot.h: Likewise.
49254 * include/pupa/i386/pc/partition.h: Likewise.
49255 * include/pupa/i386/pc/time.h: Likewise.
49256 * include/pupa/i386/pc/vga.h: Likewise.
49257 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49258 * include/pupa/util/getroot.h: Likewise.
49259 * include/pupa/util/misc.h: Likewise.
49260 * include/pupa/util/resolve.h: Likewise.
49261 * kern/device.c: Likewise.
49262 * kern/disk.c: Likewise.
49263 * kern/dl.c: Likewise.
49264 * kern/err.c: Likewise.
49265 * kern/file.c: Likewise.
49266 * kern/fs.c: Likewise.
49267 * kern/loader.c: Likewise.
49268 * kern/main.c: Likewise.
49269 * kern/misc.c: Likewise.
49270 * kern/mm.c: Likewise.
49271 * kern/rescue.c: Likewise.
49272 * kern/term.c: Likewise.
49273 * kern/i386/dl.c: Likewise.
49274 * kern/i386/pc/init.c: Likewise.
49275 * kern/i386/pc/lzo1x.S: Likewise.
49276 * kern/i386/pc/startup.S: Likewise.
49277 * loader/i386/pc/chainloader.c: Likewise.
49278 * loader/i386/pc/linux.c: Likewise.
49279 * loader/i386/pc/multiboot.c: Likewise.
49280 * normal/cmdline.c: Likewise.
49281 * normal/command.c: Likewise.
49282 * normal/main.c: Likewise.
49283 * normal/menu.c: Likewise.
49284 * normal/i386/setjmp.S: Likewise.
49285 * term/i386/pc/console.c: Likewise.
49286 * term/i386/pc/vga.c: Likewise.
49287 * util/console.c: Likewise.
49288 * util/genmoddep.c: Likewise.
49289 * util/misc.c: Likewise.
49290 * util/pupa-emu.c: Likewise.
49291 * util/resolve.c: Likewise.
49292 * util/unifont2pff.rb: Likewise.
49293 * util/i386/pc/biosdisk.c: Likewise.
49294 * util/i386/pc/getroot.c: Likewise.
49295 * util/i386/pc/pupa-mkimage.c: Likewise.
49296 * util/i386/pc/pupa-setup.c: Likewise.
49297
e6eced71 492982004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49299
49300 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49301 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49302 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49303 reading and reset it after reading.
49304 (pupa_ext2_close): Return PUPA_ERR_NONE.
49305
49306 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49307 Correct value.
49308 (struct linux_kernel_header): Add kernel_version and
49309 initrd_addr_max.
49310 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49311 pupa_file_read succeeds.
49312 (pupa_rescue_cmd_initrd): Implement.
49313
5aded270 493142003-12-03 Marco Gerards <metgerards@student.han.nl>
49315
49316 * fs/ext2.c (pupa_ext2_label): New function.
49317 (pupa_ext2_fs): Added label.
49318 * fs/fat.c (pupa_fat_label): New function.
49319 (pupa_fat_fs): Added label.
49320 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49321
49322 * kern/misc.c (pupa_strndup): New function.
49323 * include/pupa/misc.h (pupa_strndup): New prototype.
49324
49325 * include/pupa/normal.h: Include <pupa/err.h>.
49326 (pupa_set_history): New prototype.
49327 (pupa_iterate_commands): New prototype.
49328 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49329 <pupa/disk.h>, <pupa/file.h>.
49330 (hist_size): New variable.
49331 (hist_lines): Likewise.
49332 (hist_end): Likewise.
49333 (hist_used): Likewise.
49334 (pupa_set_history): New function.
49335 (pupa_history_get): Likewise.
49336 (pupa_history_add): Likewise.
49337 (pupa_history_replace): Likewise.
49338 (pupa_tab_complete): Likewise.
49339 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49340 completion shows partitionnames while completing partitions, this
49341 feature was suggested by Jeff Bailey.
49342 * normal/command.c (pupa_iterate_commands): New function.
49343 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49344 (pupa_normal_init): Initialize history buffer.
49345 (PUPA_MOD_INIT): Likewise.
49346 (pupa_normal_fini): Free the history buffer.
49347 (PUPA_MOD_FINI): Likewise.
49348
49349 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49350 key.
49351
49352 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49353 * configure.ac [i386]: Check for regparam bug.
49354 (NESTED_FUNC_ATTR) [! i386]: Defined.
49355
1f7315a3 493562003-11-17 Marco Gerards <metgerards@student.han.nl>
49357
49358 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49359 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49360 (pupa_emu_SOURCES): New variable.
49361 (pupa_emu_LDFLAGS): Likewise.
49362 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49363 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49364 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49365 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49366 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49367 (pupa_jmp_buf): New typedef.
49368 (pupa_setjmp) [PUPA_UTIL]: New macro.
49369 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49370 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49371 (pupa_refresh): New prototype.
49372 * include/pupa/util/getroot.h: New file.
49373 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49374 it.
49375 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49376 (pupa_rescue_cmd_cat): Likewise.
49377 (pupa_rescue_cmd_ls): Likewise.
49378 (pupa_rescue_cmd_testload): Likewise.
49379 (pupa_rescue_cmd_lsmod): Likewise.
49380 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49381 * normal/menu.c (run_menu): Likewise.
49382 * kern/term.c (pupa_cls): Likewise.
49383 (pupa_refresh): New function.
49384 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49385 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49386 * util/console.c: New file.
f19dbdb7 49387
1f7315a3 49388 * util/i386/pc/getroot.c: New file.
49389 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49390 (pupa_putchar): New function.
49391 (pupa_refresh): Likewise.
49392 (xgetcwd): Function moved to ...
49393 (strip_extra_slashes): Likewise.
49394 (get_prefix): Likewise.
f19dbdb7 49395 * util/i386/pc/getroot.c: ... here.
1f7315a3 49396 (find_root_device): Function moved and renamed to...
49397 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49398 Changed all callers.
49399 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49400 and renamed to...
49401 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49402 Changed all callers.
49403 * util/misc.c (pupa_memalign): New function.
49404 (pupa_mm_init_region): Likewise.
49405 (pupa_register_exported_symbols): Likewise.
49406 (pupa_putchar): Function removed.
49407 * util/pupa-emu.c: New file.
49408
9a5c1ade 494092003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49410
49411 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49412 (_multiboot_mod_SOURCES): New variable.
49413 (_multiboot_mod_CFLAGS): Likewise.
49414 * loader/i386/pc/multiboot.c: New file.
49415 * include/pupa/i386/pc/multiboot.h: Likewise.
49416 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49417 (pupa_multiboot_real_boot): New function.
49418 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49419 (pupa_multiboot_real_boot): New prototype.
49420 (pupa_rescue_cmd_multiboot): Likewise
49421 (pupa_rescue_cmd_module): Likewise.
49422
49423 * kern/loader.c (pupa_loader_set): Continue when
49424 pupa_loader_unload_func() fails.
49425 (pupa_loader_unset): New function.
49426 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49427
49428 * kern/misc.c (pupa_stpcpy): New function.
49429 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49430
8e72a9c0 494312003-11-12 Marco Gerards <metgerards@student.han.nl>
49432
49433 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49434 for available extensions.
49435
49436 * include/pupa/i386/pc/time.h: New file.
49437 * kern/disk.c: Include <pupa/machine/time.h>.
49438 (PUPA_CACHE_TIMEOUT): New macro.
49439 (pupa_last_time): New variable.
49440 (pupa_disk_open): Flush the cache when there was a timeout.
49441 (pupa_disk_close): Reset the timer.
49442 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49443 pupa_currticks.
49444 * util/misc.c: Include <sys/times.h>
49445 (pupa_get_rtc): New function.
49446
c4adbd32 494472003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49448
49449 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49450 as blocks.
49451 (pupa_ext2_get_file_block): Use blocks member.
49452
49453 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49454 first block. Return -1 instead of pupa_errno on error.
49455
bfd30f06 494562003-10-27 Marco Gerards <metgerards@student.han.nl>
49457
49458 * README: In the pupa-mkimage example use _chain instead of chain
49459 and ext2 instead of fat.
49460 * TODO: Replace ext2fs with jfs as an example. Add an item for
49461 adding journal playback for ext2fs.
49462 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49463 (pkgdata_MODULES): Added ext2.mod.
49464 (ext2_mod_SOURCES): New variable.
49465 (ext2_mod_CFLAGS): Likewise.
49466 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49467 * include/pupa/misc.h (pupa_strncpy): New prototype.
49468 (pupa_strcat): Likewise.
49469 (pupa_strncmp): Likewise.
49470 * kern/misc.c (pupa_strcat): Enable function.
49471 (pupa_strncpy): New function.
49472 (pupa_strncmp): Likewise.
49473 * fs/ext2.c: New file.
f19dbdb7 49474
bfd30f06 49475 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49476 when the read failed before retrying.
49477 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49478 (_FILE_OFFSET_BITS): Likewise.
49479 * configure.ac: Added AC_SYS_LARGEFILE.
49480
98d15063 494812003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49482
49483 * genmk.rb (PModule#rule): Make sure to get only symbol names
49484 from the output of nm.
59cad637 49485 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49486
18d9c7cd 494872003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49488
49489 I forgot to check in these changes for a long time. This adds
49490 incomplete support for VGA console, and this is still very
49491 buggy. Also, a lot of consideration is required for I18N,
49492 UNICODE, and VGA font issues. Therefore, assume that this is
49493 such that "better than nothing".
f19dbdb7 49494
18d9c7cd 49495 * font/manager.c: New file.
49496 * include/pupa/font.h: Likewise.
49497 * include/pupa/i386/pc/vga.h: Likewise.
49498 * term/i386/pc/vga.c: Likewise.
49499 * util/unifont2pff.rb: Likewise.
49500
49501 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49502 (pkgdata_MODULES): Added vga.mod and font.mod.
49503 (vga_mod_SOURCES): New variables.
49504 (vga_mod_CFLAGS): Likewise.
49505 (font_mod_SOURCES): Likewise.
49506 (font_mod_CFLAGS): Likewise.
49507
49508 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49509
49510 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49511 (struct pupa_term): Added init and fini.
18d9c7cd 49512 Changed the argument of putchar to pupa_uint32_t.
49513
49514 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49515 (pupa_console_real_putchar): New prototype.
49516 (pupa_console_putchar): Removed.
49517 (pupa_console_checkkey): Exported.
49518 (pupa_console_getkey): Likewise.
49519
49520 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49521 characters.
49522
49523 * kern/term.c (pupa_term_set_current): Rewritten.
49524 (pupa_putchar): Likewise.
49525 (pupa_putcode): New function.
49526
49527 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49528 (pupa_console_real_putchar): ... this.
49529 (pupa_vga_set_mode): New function.
49530 (pupa_vga_get_font): Likewise.
49531
49532 * normal/command.c: Include pupa/term.h.
49533 (terminal_command): New function.
49534 (pupa_command_init): Register the command "terminal".
49535
49536 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49537 (DISP_UP): Likewise.
49538 (DISP_RIGHT): Likewise.
49539 (DISP_DOWN): Likewise.
49540 (DISP_HLINE): Likewise.
49541 (DISP_VLINE): Likewise.
49542 (DISP_UL): Likewise.
49543 (DISP_UR): Likewise.
49544 (DISP_LL): Likewise.
49545 (DISP_LR): Likewise.
49546
49547 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49548
977329f5 495492003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49550
49551 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49552 FIX. Reverse the path_list.
49553
49554 * include/pupa/normal.h: Export pupa_register_command and
49555 pupa_unregister_command.
49556
49557 * hello/hello.c (pupa_cmd_hello): New module.
49558 * conf/i386-pc.rmk: Added hello.mod.
49559
1f5ab428 495602003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49561
49562 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49563
1f5ab428 49564 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49565 (compress_kernel): New variable.
49566 (generate_image): Heavily modified to support compressing a
49567 large part of the core image.
49568
49569 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49570 leak.
49571 (pupa_util_load_image): New function.
49572
49573 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49574 (pupa_compressed_size): New variable.
49575 (codestart): Enable Gate A20 here.
49576 Decompress the compressed part of the core image.
49577 Rearrange the code to put functions and variables which are
49578 required for initialization in the non-compressed part.
49579 Include lzo1x.S.
49580
49581 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49582 here.
49583
49584 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49585
f19dbdb7 49586 * include/pupa/i386/pc/kernel.h
1f5ab428 49587 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49588 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49589 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49590 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49591 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49592
49593 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49594
49595 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49596 (Utility#rule): Likewise.
49597
49598 * configure.ac: Check if LZO is available.
49599
ce5bf700 496002003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49601
49602 * include/pupa/normal.h: New file.
49603 * include/pupa/setjmp.h: Likewise.
49604 * include/pupa/i386/setjmp.h: Likewise.
49605 * normal/cmdline.c: Likewise.
49606 * normal/command.c: Likewise.
49607 * normal/main.c: Likewise.
49608 * normal/menu.c: Likewise.
49609 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49610
ce5bf700 49611 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49612 (pupa_rescue_cmd_initrd): Likewise.
49613
49614 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49615 Likewise.
49616
49617 * kern/i386/pc/startup.S (translation_table): New variable.
49618 (translate_keycode): New function.
49619 (pupa_console_getkey): Call translate_keycode.
49620
49621 * kern/rescue.c (attempt_normal_mode): New function.
49622 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49623 it failed, print a message.
49624
49625 * kern/mm.c (pupa_real_malloc): Print more information when a
49626 free magic is broken.
49627 (pupa_free): If the first free header is not free actually, set
49628 it to P.
49629
49630 * kern/main.c (pupa_load_normal_mode): Just load the module
49631 "normal".
49632 (pupa_main): Don't print the message
49633 "Entering into rescue mode..." here.
49634
49635 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49636 Declared.
49637 (pupa_rescue_cmd_initrd): Likewise.
49638 (pupa_rescue_cmd_initrd): Likewise.
49639
49640 * include/pupa/symbol.h (FUNCTION): Specify the type.
49641 (VARIABLE): Likewise.
49642
49643 * include/pupa/err.h (pupa_err_t): Added
49644 PUPA_ERR_UNKNOWN_COMMAND.
49645
49646 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49647 (pupa_dl_get_prefix): Likewise.
49648
49649 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49650 Added _chain.mod and _linux.mod instead of chain.mod and
49651 linux.mod.
49652 (chain_mod_SOURCES): Renamed to ...
49653 (_chain_mod_SOURCES): ... this.
49654 (chain_mod_CFLAGS): Renamed to ...
49655 (_chain_mod_CFLAGS): ... this.
49656 (linux_mod_SOURCES): Renamed to ...
49657 (_linux_mod_SOURCES): ... this.
49658 (linux_mod_CFLAGS): Renamed to ...
49659 (_linux_mod_CFLAGS): ... this.
49660 (normal_mod_SOURCES): New variable.
49661 (normal_mod_CFLAGS): Likewise.
49662 (normal_mod_ASFLAGS): Likewise.
49663
496642003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49665
49666 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49667 possible.
49668
fe6b695a 49669 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49670 recursively.
49671 (pupa_dl_unref): Unrefer depending modules recursively.
49672 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49673 a module is unloaded before one depending on that module is
49674 unloaded.
49675 (pupa_dl_unload): Unload depending modules explicitly,
49676 if possible.
49677
c04da074 496782003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49679
49680 * include/pupa/i386/pc/linux.h: New file.
49681 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49682
c04da074 49683 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49684 Removed.
49685 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49686 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49687 of PUPA_CHAINLOADER_BOOT_SECTOR.
49688
49689 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49690 (pupa_linux_prot_size): New variable.
49691 (pupa_linux_tmp_addr): Likewise.
49692 (pupa_linux_real_addr): Likewise.
49693 (pupa_linux_boot_zimage): New function.
49694 (pupa_linux_boot_bzimage): Likewise.
49695
49696 * kern/i386/pc/init.c (struct mem_region): New structure.
49697 (MAX_REGIONS): New macro.
49698 (mem_regions): New variable.
49699 (num_regions): Likewise.
49700 (pupa_os_area_addr): Likewise.
49701 (pupa_os_area_size): Likewise.
49702 (pupa_lower_mem): Likewise.
49703 (pupa_upper_mem): Likewise.
49704 (add_mem_region): New function.
49705 (compact_mem_regions): Likewise.
49706 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49707 the size of the conventional memory and that of so-called upper
49708 memory (before the first memory hole).
49709 Instead of adding each found region to free memory, use
49710 add_mem_region and add them after removing overlaps.
49711 Also, add only 1/4 of the upper memory to free memory. The rest
49712 is used for loading OS images. Maybe this is ad hoc, but this
49713 makes it much easier to relocate OS images when booting.
49714
49715 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49716 (pupa_enter_rescue_mode): Don't register initrd and module.
49717
49718 * kern/mm.c: Include pupa/dl.h.
49719
49720 * kern/main.c: Include pupa/file.h and pupa/device.h.
49721
49722 * kern/loader.c (pupa_loader_load_module_func): Removed.
49723 (pupa_loader_load_module): Likewise.
49724
49725 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49726 ``.o''.
49727
49728 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49729 (pupa_linux_tmp_addr): Likewise.
49730 (pupa_linux_real_addr): Likewise.
49731 (pupa_linux_boot_zimage): Likewise.
49732 (pupa_linux_boot_bzimage): Likewise.
49733
49734 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49735 (pupa_upper_mem): Likewise.
49736 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49737 module is too dangerous.
49738
49739 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49740 (pupa_os_area_size): Likewise.
49741 (pupa_loader_set): Remove the first argument. Loader doesn't
49742 manage modules or initrd any longer.
49743 (pupa_loader_load_module): Removed.
49744
49745 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49746 (linux_mod_SOURCES): New variable.
49747 (linux_mod_CFLAGS): Likewise.
49748
a13f9237 497492003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49750
49751 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49752 the length of a blocklist correctly.
49753
49754 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49755 Use ioctl only if the OS file is a block device.
49756 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49757 not very useful for normal files.
49758
49759 * kern/main.c (pupa_set_root_dev): New function.
49760 (pupa_load_normal_mode): Likewise.
49761 (pupa_main): Call those above.
49762
49763 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49764 pupa_uint16_t.
49765
49766 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49767
a5ffe966 497682003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49769
49770 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49771 (setup): Configure the installed partition information and the
49772 dl prefix.
49773
49774 * loader/i386/pc/chainloader.c (my_mod): New variable.
49775 (pupa_chainloader_unload): New function.
49776 (pupa_rescue_cmd_chainloader): Refer itself.
49777 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49778
49779 * kern/i386/pc/startup.S (install_partition): Removed.
49780 (version_string): Likewise.
49781 (config_file): Likewise.
49782 (pupa_install_dos_part): New variable.
49783 (pupa_install_bsd_part): Likewise.
49784 (pupa_prefix): Likewise.
49785 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49786
49787 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49788 and pupa/misc.h.
49789 (make_install_device): New function.
49790 (pupa_machine_init): Set the dl prefix.
49791
49792 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49793 (buf): Renamed to ...
49794 (linebuf): ... this.
49795 (pupa_rescue_cmd_prefix): New function.
49796 (pupa_rescue_cmd_insmod): Likewise.
49797 (pupa_rescue_cmd_rmmod): Likewise.
49798 (pupa_rescue_cmd_lsmod): Likewise.
49799 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49800 rmmod and lsmod.
49801
49802 * kern/mm.c (pupa_memalign): If failed even after invalidating
49803 disk caches, unload unneeded modules and retry.
49804
49805 * kern/misc.c (pupa_memmove): New function.
49806 (pupa_memcpy): Removed.
49807 (pupa_strcpy): New function.
49808 (pupa_itoa): Made static.
49809
49810 * kern/dl.c (pupa_dl_iterate): New function.
49811 (pupa_dl_ref): Likewise.
49812 (pupa_dl_unref): Likewise.
49813 (pupa_dl_unload): Return if succeeded or not.
49814 (pupa_dl_unload_unneeded): New function.
49815 (pupa_dl_unload_all): Likewise.
49816 (pupa_dl_init): Renamed to ...
49817 (pupa_dl_set_prefix): ... this.
49818 (pupa_dl_get_prefix): New function.
49819
49820 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49821 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49822 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49823 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49824 (pupa_install_dos_part): Declared.
49825 (pupa_install_bsd_part): Likewise.
49826 (pupa_prefix): Likewise.
49827 (pupa_boot_drive): Likewise.
49828
49829 * include/pupa/types.h: Fix a typo.
49830
49831 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49832 pupa_memmove.
49833 (pupa_memmove): Declared.
49834 (pupa_strcpy): Likewise.
49835
49836 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49837 pupa_mod_init takes one argument, its own module.
49838 (pupa_dl_unload_unneeded): Declared.
49839 (pupa_dl_unload_all): Likewise.
49840 (pupa_dl_ref): Likewise.
49841 (pupa_dl_unref): Likewise.
49842 (pupa_dl_iterate): Likewise.
49843 (pupa_dl_init): Renamed to ...
49844 (pupa_dl_set_prefix): ... this.
49845 (pupa_dl_get_prefix): Declared.
49846
49847 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49848 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49849 unloaded.
49850 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49851 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49852
49853 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49854 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49855
012d7999 498562003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49857
49858 * util/i386/pc/pupa-setup.c (setup): Define the internal
49859 function find_first_partition_start at the top level, because GCC
49860 3.0.x cannot compile internal functions in deeper scopes
49861 correctly.
49862 (find_root_device): Use lstat instead of stat.
49863 Don't follow symbolic links.
49864 Fix the path-constructing code.
49865
49866 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
49867 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
49868 by a BLKGETSIZE ioctl first, because block devices don't fill
49869 the member st_mode of the structure stat on Linux.
49870 [__linux__] (linux_find_partition): Use a temporary buffer
49871 REAL_DEV for the working space. Copy it to DEV before returning.
49872 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
49873 buffer cache consistent.
49874 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
49875 strncmp. The previous value was merely wrong.
49876 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
49877
49878 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
49879 FAT size is 12. The previous value was merely wrong.
49880
49881 * kern/main.c (pupa_main): Don't split the starting message from
49882 newlines.
49883
49884 * kern/term.c (pupa_putchar): Put CR after LF instead of before
49885 LF, because BIOS goes crazy about character attributes in this
49886 case.
49887
1cc73a62 498882003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49889
49890 * include/i386/pc/util/biosdisk.h: New file.
49891 * util/i386/pc/biosdisk.c: Likewise.
49892 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 49893
1cc73a62 49894 * Makefile.in (INCLUDE_DISTFILES): Added
49895 include/pupa/i386/pc/util/biosdisk.h.
49896 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
49897 directory util/i386/pc.
49898 (install-local): Added a rule for sbin_UTILITIES.
49899 (uninstall): Likewise.
49900
49901 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
49902
49903 * util/misc.c (xrealloc): New function.
49904 (pupa_malloc): Likewise.
49905 (pupa_free): Likewise.
49906 (pupa_realloc): Likewise.
49907 (pupa_stop): Likewise.
49908 (pupa_putchar): Likewise.
49909
49910 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
49911
49912 * include/pupa/util/misc.h (xrealloc): Declared.
49913
49914 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
49915 macro.
49916 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
49917 (PUPA_BOOT_MACHINE_BPB_END): ... this.
49918
49919 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
49920 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49921
49922 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
49923 way should be implemented.
49924 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49925
49926 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
49927 the size of NAME for safety.
49928 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
49929 0x88.
49930
49931 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
49932 (pupa_setup_SOURCES): Likewise.
49933
49934 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
49935
08b70fe8 499362002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49937
49938 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
49939 bunch of pushl's from pusha, because this destroys the return
49940 value.
49941
62ddcc8f 499422002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49943
49944 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
49945 This means that any missing prototypes could be fatal. Also, you
49946 must take care when writing assembly code. See the comments at
49947 the beginning of startup.S, for more details.
f19dbdb7 49948
62ddcc8f 49949 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
49950 compilation mechanism.
49951 (pupa_chainloader_real_boot): Likewise.
49952 (pupa_biosdisk_rw_int13_extensions): Likewise.
49953 (pupa_biosdisk_rw_standard): Likewise.
49954 (pupa_biosdisk_check_int13_extensions): Likewise.
49955 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
49956 (pupa_biosdisk_get_diskinfo_standard): Likewise.
49957 (pupa_get_memsize): Likewise.
49958 (pupa_get_mmap_entry): Likewise.
49959 (pupa_console_putchar): Likewise.
49960 (pupa_console_setcursor): Likewise.
49961 (pupa_getrtsecs): Use pushl instead of push.
49962
49963 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
49964 memory instead of the stack for a mmap entry, because some
49965 BIOSes may ignore the maximum size and overflow.
49966
49967 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
49968
49969 * genmk.rb (PModule#rule): Compile automatically generated
49970 sources with module-specific CFLAGS as well as other sources.
49971
9962ed99 499722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49973
49974 * configure.ac: Check ld.
49975 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
49976 respectively, before checking endianness and sizes.
49977
49978 * Makefile.in (LD): New variable.
f19dbdb7 49979
abdfc3c5 499802002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49981
49982 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
49983
6a161fa9 499842002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49985
49986 * Changelog: New file.
49987