]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
[grub2.git] / ChangeLog
CommitLineData
984cfd8a
VS
12013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
4 mingw32 as well based on grub_util_get_disk_size.
5 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
6 grub_util_get_fd_size.
7 (sync): Removed.
8 (fsync): Moved to ...
9 * grub-core/kern/emu/misc.c (fsync): ... here.
10
f82d79c9
VS
112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * include/grub/mm.h (grub_extend_alloc): Remove.
14 * grub-core/loader/i386/pc/plan9.c: Use own version of
15 grub_extend_alloc with appropriate types.
16
fd7dd66d
VS
172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
20
43ffba7c
VS
212013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * util/getroot.c: Include sys/wait.h only when we need waitpid.
24
3c7eac44
VS
252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Fix dependencies on cygwin.
28
29 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
30 dependencies when used and defined.
31 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
32
bdb5ba47
VS
332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
36 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
37
ed7fbf43
VS
382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
41 implementation available to cause compile-time rather than runtime
42 error.
43
fc46e9fc
VS
442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * util/grub-fstest.c: Don't check for symlinks on windows.
47
7f68269a
VS
482013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * INSTALL: Mention unavailability of man pages when cross-compiling.
51
8ed358e0
VS
522013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
55 and gcry_log_bug.
56 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
57
fc97214f
VS
582013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * INSTALL: Document cross-compilation.
61 * acinclude.m4: Determine whether nm support -P and --defined-only.
62 * configure.ac: Add TARGET_ to all variables pertaining to target
63 that don't have it yet.
64 * gentpl.py: Likewise.
65 * grub-core/Makefile.am: Likewise.
66 * grub-core/genmod.sh.in: Likewise.
67 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
68 as well.
69
ca1fb563
IB
702013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
71
72 * configure.ac: Remove -Wempty-body. It's not essential and needs
73 recent gcc.
74
0031b229
IB
752013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
76
77 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
78 * util/getroot.c: Likewise.
79
54ea2f44
VS
802013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/disk/ahci.c: Add needed explicit cast.
83 * grub-core/lib/backtrace.c: Likewise.
84 * grub-core/net/ip.c: Likewise.
85 * grub-core/net/tcp.c: Likewise.
86 * grub-core/net/udp.c: Likewise.
87
3c601f8c
VS
882013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
91
1d679dda
VS
922013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * util/import_gcry.py: Add final newline in visibility.h.
95
00c28dd9
VS
962013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * conf/Makefile.common: Fix typo.
99
32af299a
VS
1002013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
103
e733cf52
VS
1042013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * Makefile.am (widthspec.h): Fix typo.
107 * util/grub-gen-widthspec.c: Likewise.
108
c6b066f2
VS
1092013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
110
111 Move ascii.h and widthspec.h generation to a separate build-time-only
112 tool.
113
ad1fe3f9 1142013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
115
116 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
117 Always fill bootdisk info and improve check for NetBSD disklabel.
118
92a52dd4
VS
1192013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * conf/Makefile.extra-dist: Add util/bin2h.c.
122 Reported by: floppym.
123
b2e9d276
VS
1242013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
127
7b966834
VS
1282013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * configure.ac: Disable unifont and starfield if no freetype was found.
131
d5c1eef1
VS
1322013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
135 on NetBSD and OpenBSD.
136
66345b50 1372013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
138
139 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
140
66345b50 1412013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
142
143 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
144 reduced. Inheritant options are processed during the theme loading.
145
66345b50 1462013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
147
148 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
149
369508b3
AS
1502013-08-14 Avik Sil <aviksil@in.ibm.com>
151
152 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
153
1542013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
155
156 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
157 using qemu.
158
6f27a3f6
PFS
1592013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
160
161 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
162 remove-potcdate.sed.
163
c6ed362a
AB
1642013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
165
166 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
167 unused attribute from pull argument.
168
5e7d9464
AB
1692013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
170
171 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
172 memory leak.
173
dea55e2a
AB
1742013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
175
176 * util/getroot.c (pull_lvm_by_command): add --separator option
177 to vgs call to disable padding of output to 10 characters.
178
f0b94ded
VS
1792013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
182 here ...
183 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
184 here.
185
b828fb5d
VS
1862013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
189 length.
190
7c9d0c39
VS
1912013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
192
193 Fix handling of build-time grub-bin2h and grub-mkfont when doing
194 full Canadian cross. Tested with build=x86_64, host=arm,
195 target=ppc-ieee1275.
196
816719c8
VS
1972013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * configure.ac: Error if no $BUILD_CC could be found.
200 Reported by: DevHC.
201
2af2353b
VS
2022013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
205 i386-multiboot.
206
797abd0a
VS
2072013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
210 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
211
36e87d25
CW
2122013-08-13 Colin Watson <cjwatson@ubuntu.com>
213
214 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
215 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
216 falling back to the partition device, otherwise a later call to this
217 function may fail spuriously.
218 Reported by Axel Beckert. Fixes Debian bug #708614.
219
273349fe
GS
2202013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
221
222 * autogen.sh: Replace find -not by the POSIX-compliant find !.
223
418f86c6
GS
2242013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
225
226 Prevent shadowing of stdlib's devname(3) on BSD.
227
228 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
229 and devlast to diskname and disklast, respectively.
230
c137aea0
CW
2312013-08-11 Colin Watson <cjwatson@ubuntu.com>
232
233 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
234
272dc8df 2352013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
236
237 * docs/grub.texi: Introduce terminal window position options:
238 terminal-left: terminal window's left position
239 terminal-top: terminal window's top position
240 terminal-width: terminal window's width
241 terminal-height: terminal window's height
242 terminal-border: terminal window's border width
243 * grub-core/gfxmenu/theme-loader.c: Likewise.
244 * include/grub/gfxmenu_view.h: Likewise.
245 * po/exlude.pot: Likewise.
246 * grub-core/gfxmenu/view.c: Likewise.
247 Also updated minimal window size.
248 Also terminal_sanity_check function has been introduced.
272dc8df
VT
249 * grub-core/tests/checksums.h: Update (terminal window height
250 is adjusted now for low resolution screen)
b4743461 251
748a4533
VS
2522013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
255 position).
256
fca5f944
VS
2572013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * po/exclude.pot: Add few recent exceptions.
260
4f47d809
VS
2612013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
262
263 * tests/grub_func_test.in: Add unicode.pf2.
264
a62ae90c
VS
2652013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
268 standard rather than noral color, in line with other terminals.
269
4ed41392
VS
2702013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
273 analysis.
274
3719fbc5
VS
2752013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/loader/arm/linux.c: Change printf to dprintf.
278
459b1d91
VS
2792013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
282 inappropriate printf.
283
f4e1ab9d
AB
2842013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
285
286 * .bzrignore: Remove grub-core/lib/dtc-grub,
287 grub-core/Makefile.libfdt.def
288 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
289
fa471bfa
VS
2902013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * include/grub/video.h (grub_video_register): Keep double-linked as
293 well as single-linked invariants.
294 Reported by: qwertial.
295
d65be02b
VS
2962013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/commands/nativedisk.c (get_uuid): Handle
299 GRUB_DISK_DEVICE_UBOOTDISK_ID.
300
ba8bc620
VT
3012013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
302
303 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
304 maximum of NW, N, NE heights instead of N's height and maximum of
305 NW, W, SW widths instead of W's width. (So the box will be always
306 correctly drawn)
307
4f0ad029
GS
3082013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
309
310 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
311 Fix misuse of variable count.
312
43d53b72
LL
3132013-07-18 Leif Lindholm <leif.lindholm@arm.com>
3142013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
3152013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 316
43d53b72
LL
317 New ports to arm-uboot and arm-efi.
318 Mostly by Leif Lindholm with some additions from
319 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 320
88f8d146
VS
3212013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
324 and not before.
325 Reported by: Leon Drugi.
326
3f42504c
VS
3272013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
330 Reported by: Paulo Flabiano Smorigo.
331
d110499b
VT
3322013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
333
334 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
335
a8674ad3
VT
3362013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
337
338 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
339
286fe4b3
VS
3402013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
343
1bd57aa3
VS
3442013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
347
7a87d69f
AB
3482013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
349
350 * grub-core/net/bootp.c: Export net_* variables.
351 * grub-core/net/net.c: Likewise.
352
b2182299
VS
3532013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
356
795b3dc0
VS
3572013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
360
68714c43
VS
3612013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
364
af211bab
VS
3652013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
368
0036f02d
MM
3692013-07-14 Massimo Maggi <me@massimo-maggi.eu>
370
371 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
372 <= 0.
373
6d0ddff3
MM
3742013-07-14 Massimo Maggi <me@massimo-maggi.eu>
375
376 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
377 functions.
378
038016f4
MM
3792013-07-14 Massimo Maggi <me@massimo-maggi.eu>
380
381 * grub-core/fs/zfs/zfs_lz4.c: New file.
382 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
383
776bdce2
MM
3842013-07-14 Massimo Maggi <me@massimo-maggi.eu>
385
386 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
387
c71dbd40
MM
3882013-07-14 Massimo Maggi <me@massimo-maggi.eu>
389
390 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
391 (check_pool_label): Likewise.
392 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
393
3942013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
395
396 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
397
8e67b50f
AB
3982013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
399
400 * docs/grub.texi (Commands): Document postition parameters
401 for menuentry command.
402
f5ae3717
AB
4032013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
404
405 * util/grub-mknetdir.in: Remove stray line from help output.
406
9c28da2a
VS
4072013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
408
409 Remove early sm712 init as there is no reason for it (the "watchdog"
410 effect was due to wrong GPIO map).
411
139072b8
VS
4122013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/commands/pcidump.c: Remove static variables.
415
c6a61bda
VS
4162013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/commands/sleep.c: Refresh screen before sleeping.
419
51369614
VS
4202013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * configure.ac: Move delimiter after the infos.
423
efa8640a
VS
4242013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
427
6f80a7b2
VS
4282013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
431 not filling whole 8x16 space.
432
a2371e19
VS
4332013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
436
64fce2d8
VS
4372013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * configure.ac: Indicate which liblzma is used if any.
440
eb272d84
PW
4412013-06-21 Paul Wise <pabs3@bonedaddy.net>
4422013-06-21 Craig Sanders <savannah@taz.net.au>
443
444 * util/grub-reboot.in: Document submenu usage.
445
a9e5abee
CW
4462013-06-25 Colin Watson <cjwatson@ubuntu.com>
447
448 * .bzrignore: Update with a number of new test-related files.
449
e639c204
CW
4502013-06-25 Colin Watson <cjwatson@ubuntu.com>
451
452 * util/grub-script-check.c: Fail on scripts containing no
453 commands, to guard against corrupted grub-mkconfig setups that
454 produce no useful output.
455 * tests/grub_script_no_commands.in: New test.
456 * Makefile.util.def (grub_script_no_commands): Add.
457 Reported by Hans Putter. Fixes Debian bug #713886.
458
a4c89b17
AB
4592013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
460
461 * grub-core/disk/diskfilter.c: Forgot to remove comment
462 from previous commit.
463
5b06b53c
AB
4642013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
465
466 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
467 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
468
702da5c9
AB
4692013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
470
471 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
472
aa62a5b7
AB
4732013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
474
475 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
476 rescan diskfilter devices until nothing new is found.
477
4aa237c8
VS
4782013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
479
480 Fix casts when compiling coreboot-specific code for 64-bit EFI.
481
93d8479b
VS
4822013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Don't try to detect cbfs on *-emu.
485
837222cc
VS
4862013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/term/gfxterm.c: USe right background color when scrolling.
489
99c971af
VS
4902013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Add support for processed coreboot payload chainloading.
493
e6930a45
VS
4942013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
495
496 Enable coreboot information commands even when not loaded as
497 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
498
5027af38
VS
4992013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
500
501 Support for cbfs. Also factor out the part which is common
502 for all archives to a separate module. This splits tar from cpio
503 as they are very different but keeps cpio, cpio_be, odc and newc
504 together since they're very similar.
505
a5b55c4b
DM
5062013-06-15 David Michael <fedora.dm0@gmail.com>
507
508 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
509 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
510
0301a8b3
VS
5112013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * tests/grub_script_eval.in: Really add the eval test.
514
3d84cb17
VS
5152013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
516
517 Move flavour-specific parts out of common cpio.c file and
518 rename remaining to cpio_common.c
519
593e430c
AB
5202013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
521
522 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
523 off new function grub_script_execute_new_scope. Change callers to use
524 either of them as appropriate.
525 * grub-core/commands/eval.c: New command eval.
526 * docs/grub.texi (Commands): Document it.
527
63c29849
AB
5282013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
529
530 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
531 to fetch values when listing.
532
cc284112
AB
5332013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
534
535 Fix make dist on non-pc.
536
5372013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
538
539 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
540 without a device name.
541
69544d1e
VS
5422013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Remove enable_executable_check as it's not needed anymore.
545 Reported by: dougray.
546
96dbe648
VS
5472013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
550 ambigouos RAID before discovering RAIDs on top of it.
551 Reported by: bodom.
552
ccfc0bdb
VS
5532013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Fix typo (failback vs fallback).
556
f2587088
AB
5572013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
558
559 * util/grub.d/30_os-prober.in: Add support for probing EFI
560 System Partition (as of os-prober 1.58).
561
cec5cf0c
VS
5622013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * configure.ac: Add yet another path to unifont. For parabola.
565
e40b4596
JT
5662013-05-30 Josh Triplett <josh@joshtriplett.org>
567
568 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
569 handling to copy the killed characters to the kill buffer as
570 UCS4 stored as grub_uint32_t rather than as 8-bit characters
571 stored as char. Eliminates UCS4 truncation and corruption
572 observed when killing characters with Ctrl-u and yanking them
573 back with Ctrl-y.
574
fc4c4fdd
VS
5752013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
576
577 Detach optional parts of gfxterm and integrate in with coreboot init.
578
6570b205
VS
5792013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
580
581 Move blit and fill dispatcher to appropriate files to decrease export
582 and relocation overhead.
583
b8323067
VS
5842013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/font/font.c, include/grub/font.h: Inline simple font
587 functions.
588
3cc1878f
VS
5892013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/Makefile.am: Fix compilation problem with some
592 automake versions.
593
4b80e43c
VS
5942013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
597
57e0c20c
VS
5982013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
601 automake versions.
602
4fd42c53
VS
6032013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
606 SSDT.
607
1e908b34
RS
6082013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
609
610 * grub-core/partmap/dfly.c: New partition map.
611
1359e474
VS
6122013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
615 checking.
616 Reported by: Francesco Lavra.
617
17806392
AB
6182013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
619
620 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
621 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
622 false conditions.
623 * conf/Makefile.common: define dist_grubconf_DATA
624
cdce14fa
VS
6252013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
626
627 Progressively skip menu elements on small terminals rather
628 than crashing.
629
c8d6cc3c
VS
6302013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
633 to avoid losing last column.
634
a73b31ce
VS
6352013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * po/exclude.pot: Add missing string "%C".
638
1202c764
VS
6392013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
642 after the test.
643
50268344
VS
6442013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * util/grub-install.in: Gettextize "Not found" message.
647
62b15edf
VS
6482013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
649
650 Fix distfiles list.
651 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
652
6532013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
654
655 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
656 present.
657 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
658
709ad61b
VS
6592013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
662
d128901a
VS
6632013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
666 attribute since structure is not necessarily aligned.
667
34b22f5c
AB
6682013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
669
670 * docs/grub.texi (Device syntax): Clarify description of network
671 drives.
672
0f7e980b
VS
6732013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
676 for vasprintf presence.
677
30b03dc2
VS
6782013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * util/grub-install.in: Handle efibootmgr presence check.
681 Reported by: Leif Lindholm.
682
0dc11c08
VS
6832013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
686 new strings to translate.
687
f8024c3f
VS
6882013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
691 yet another string (pun intended) to translate.
692
b4c1da62
VS
6932013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * po/POTFILES-shell.in: Autogenerate it.
696
0ef7478b
VS
6972013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
700
8200fa15
VS
7012013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
704 misnomer.
705
091945b2
AB
7062013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
707
708 * docs/grub.texi (Network): Add description of net_default_interface,
709 net_default_ip and net_default_mac. Rewrite variables description
710 to emphasize that they are per-interface.
711
0e7b2e32
VS
7122013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
713
714 New test: cmdline and cat.
715
16f7c8f6
VS
7162013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/commands/cat.c: Show UTF-8 characters.
719
3e912fda
VS
7202013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * conf/Makefile.common: Poison float and double on non-emu.
723
ee0220bc
VS
7242013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * configure.ac: Don't disable extended registers on emu.
727
89e0240c
VS
7282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * configure.ac: Don't use extended registers on x86_64.
731 Reported by: Peter Jones.
732
e56d9637
VS
7332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/term/efi/console.c: Fix compile error.
736
8098f655
VS
7372013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
738
739 Compressed HFS+ support.
740
16940e07
VS
7412013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
744 pixel".
745
c5dbc13d
VS
7462013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Menu color test.
749
011f8ae8
VS
7502013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/tests/setjmp_test.c: New test.
753
2aa072d7
VS
7542013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
755
756 New variables 'net_default_*' to determine MAC/IP of default interface.
757
43fe02cb
VS
7582013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * tests/gettext_strings_test.in: A test to check for strings not
761 marked for translation.
762
bed06142
VS
7632013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * autogen.sh: Exclude unused libgcrypt files from translation.
766
fb2666b5
VS
7672013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
768
769 Simplify few strings.
770
d22840ec
VS
7712013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
772
773 Mark few forgotten strings for translation.
774
e34092fd
VS
7752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
778 rather than printf.
779
47cf82b4
VS
7802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
783 rather than printf.
784 * grub-core/video/readers/tga.c: Likewise.
785
1eed0e6e
VS
7862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * tests/priority_queue_unit_test.cc: New test.
789
c5b7697b
VS
7902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
793 than printf.
794
5945c2f8
AB
7952013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
796
797 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
798 variable for one time boot menu entry.
799
fa292343
B
8002013-05-05 Bean <bean123ch@gmail.com>
801
802 * grub-core/commands/testspeed.c: New command testspeed.
803
310d4214
VS
8042013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
805
806 Factor-out human-size printing.
807
85002bf3
VS
8082013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
809
810 Agglomerate more mallocs to speed-up gfxterm.
811
22b06e96
VS
8122013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
813
814 Speed-up gfxterm by slightly agglomerating mallocs.
815
b7c036bc
VS
8162013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
817
818 More video checks.
819
92323d1f
VS
8202013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
821
822 Speed-up gfxterm by saving intermediate results in index+alpha
823 format.
824
0fb356a3
VS
8252013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
828 test.
829
44dea3f9
VS
8302013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
833 line of timeout as it may contain the rest of long line.
834
14af86e4
VS
8352013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/normal/main.c: Fix freed memory dereference.
838
03f7c8c3
VS
8392013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Fix several memory leaks.
842
c686014c
VS
8432013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
846
0788a695
VS
8472013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
850
daf01d61
VS
8512013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
852
853 Fix test -a and -o precedence.
854 Reported by: adrian15.
855
82ae74d7
VS
8562013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
859
8cec7bd4
AB
8602013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
861
862 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
863 and add it as source to functional_test module.
864
aa73d688
VS
8652013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
868
c104b6f9
VS
8692013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
870
871 New series of tests for gfxterm and gfxmenu.
872
7391c4d5
VS
8732013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
876 the theme path relative to $prefix/themes.
877
cff50118
VS
8782013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
881 Fix order bug.
882 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
883
7c332bdc
VS
8842013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
887 descriptor.
888
a4f9a5ff
VS
8892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
892 grub_gfxmenu_timeout_notifications.
893 (grub_gfxmenu_view_destroy): Likewise.
894
b5a2114d
VS
8952013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
898
a8905e8a
VS
8992013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Several fixes to ieee1275 and big-endian video.
902
813c1622
VS
9032013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
904
905 Add missing exports on mips.
906
3f3e7326
VS
9072013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
910 if no unifont is found.
911 Restore original keyboard.
912
095accd1
VS
9132013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
916 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
917
50361660
VS
9182013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
919
920 First automated video test (running videotest and comparing results)
921
cd0f6eec
VS
9222013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
925 instead of 2 to have full RGB/CMY test pattern.
926
3f9634e5
VS
9272013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Add few more tests.
930
583e5b64
VS
9312013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * include/grub/arc/arc.h: Account for missing "other" peripheral on
934 ARCS. All users updated.
935
aa7bcb99
VS
9362013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
939
95ef1a54
VS
9402013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/partmap/amiga.c: Fix size of checksummed block.
943
46546fc5
VS
9442013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
947 Reported by: qwertial.
948
3476e0ef
VT
9492013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
950
951 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
952 with syntax "XXX deg"/"XXX °".
953
96f33fed
VS
9542013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
955
956 Make PCI init in i386-qemu port more robust.
957
9582013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
959
960 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
961 cached view is reused.
962 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
963 open boot menus.
964
c53b4e67
VS
9652013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
966
967 Unify more code in grub-install_header.
968
f7457fb2
VS
9692013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Add few new tests.
972
e2f27a8c
VS
9732013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
974
975 Enforce disabling of firmware disk drivers when native drivers kick in.
976
ef9d8cd5
VS
9772013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/commands/nativedisk.c: Customize the list of modules on
980 platform. Don't try to search for disks already using native drivers.
981
f7bf6c31
VS
9822013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
985 platforms.
986
bdc4add8
VS
9872013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
990 handling of variables containing backslash.
991
e9e46c9a
VS
9922013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
995 dereference.
996 Reported by: qwertial.
997
0e90dee8
VS
9982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
1001
e0aacf24
VS
10022013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
1005 dereference.
1006 Reported by: qwertial.
1007
3c0003c3
VS
10082013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * docs/grub.texi: Add a comment about usefullness of nativedisk.
1011
adb7d667
VS
10122013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
1015
7cd0df84
VS
10162013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 New command `nativedisk'.
1019
02adbb93
VS
10202013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
1023 * grub-core/loader/i386/bsd.c: Likewise.
1024
9fb0fd4f
VS
10252013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
1028
bd69257a
VS
10292013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
1032 grub_get_unaligned16 rather than shifts.
1033
178c2764
VS
10342013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/kern/file.c: Use const char * rather than casting to
1037 non-const.
1038
eadfad24
VS
10392013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/commands/probe.c: Add missing grub_device_close.
1042
9f73ebd4
VS
10432013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * INSTALL: Document linguas.sh.
1046
965fa829
VS
10472013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 Remove POTFILES.in and regenerate it in autogen.sh.
1050
d417ddc4
VS
10512013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Move --directory/--override-directorry to grub-install_header and unify.
1054
f97ec546
VS
10552013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/term/morse.c: Macroify dih and dah.
1058
b2d7470c
PFS
10592013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1060
1061 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
1062
141e2a78
VS
10632013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/term/ns8250.c: Systematically probe ports by writing
1066 to SR before using them.
1067
1dd70ebd
PFS
10682013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1069
1070 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
1071 disks.
1072 (check_sas): Get sas_adress info.
1073
c796a107
VS
10742013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
1077 ports.
1078
43168646
LD
10792013-04-27 Leon Drugi <eyak>
1080
1081 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
1082 BSS clearing.
1083
e7b8fd08
VS
10842013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 Core compression test.
1087
17f9fd29
VS
10882013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Implement grub_machine_get_bootlocation for ARC.
1091
dc2a6c8b
VS
10922013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 Improve AHCI detection and command issuing.
1095
f25a2ba6
VS
10962013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Fix pseries test.
1099
a6393224
VS
11002013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Make 'make check' work on emu.
1103
db99fbe8
VS
11042013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 Replace libcurses with our own vt100 handling for the ease of testing
1107 and decreasing prerequisites.
1108
b24ca7cd
VS
11092013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
1112
63314aa4
VS
11132013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
1116 compile when not needed.
1117
c1b00fff
VS
11182013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * tests/pseries_test.in: New test.
1121
f93e89ef
VS
11222013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Add test to check that different boot mediums work.
1125
c4b456d3
VS
11262013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
1129 ofw limited ISO support.
1130
5fe67f39
VS
11312013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * configure.ac: Fix loongson conditional.
1134
7f63a64f
VS
11352013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 Enable mipsel-arc.
1138
b04b5990
VS
11392013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 Add serial on ARC platform.
1142
88d2f302
VS
11432013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
1146 commit.
1147
86eb23bc
VS
11482013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * tests/partmap_test.in: Add missing double semicolon.
1151
eec3bb75
VS
11522013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * util/grub-mkrescue.in: Fix loongson filename.
1155
e0810df3
VS
11562013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * util/grub-mkrescue.in: Move all files that don't have a location
1159 set in stone under /boot/grub. Use ISO hard links rather than copies
1160 to save some space.
1161
65a6b30b
VS
11622013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
1165 bogus SLOF values.
1166
6aff0107
VS
11672013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Make check work on mips-arc.
1170
5e013e56
VS
11712013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * util/grub-mkrescue.in: Alias sashARCS as sash.
1174
d1989e2e
VS
11752013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
1178 it's serial.
1179
1a25e72c
VS
11802013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * util/grub-install.in: Fix target fo qemu_mips.
1183 Fix extension on EFI.
1184
a59a9826
VS
11852013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
1188 in front of chosen entry to mark it even if highlighting is lost.
1189
1a40f80c
VS
11902013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
1193 gfxpayload=keep if cbfb is active.
1194
e343549c
VS
11952013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
1198
45fbd9a2
VS
11992013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 Add missing video ids to coreboot and ieee1275 video.
1202
ab1440bd
VS
12032013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * util/grub-mkrescue.in: Add mips-arc support.
1206
cdeb8324
VS
12072013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
1210
8528c879
VS
12112013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Move mips-arc link address. Previous link address was chosen
1214 in belief that RAM on SGI platforms grows down while in fact it
1215 grows up from an unusual base.
1216
17fca573
VS
12172013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
1220 Fix a type which prevented CD-ROM and floppy boot.
1221
d178788e
VS
12222013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 Support coreboot framebuffer.
1225
1226 * grub-core/video/i386/coreboot/cbfb.c: New file.
1227
fe4c3e7e
VS
12282013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
1231 detecting too small regions.
1232
ec2dd179
VS
12332013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
1236
872dac83
VS
12372013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
1240 Remove dprintf.
1241 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1242
90ec4b7f
VS
12432013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
1246 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1247 * grub-core/loader/powerpc/ieee1275/linux.c
1248 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
1249
f32555dd
VS
12502013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1251
1252 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1253 Look for /boot-rom as well as /rom/boot-rom.
1254
38649799
VS
12552013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
1258 handling when creating text_layer failed.
1259 * grub-core/video/video.c (grub_video_create_render_target):
1260 Set result to 0 on error.
1261 (grub_video_delete_render_target): Do not dereference NULL.
1262
aeace7f7
VS
12632013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
1266 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
1267 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
1268 (grub_linux_load64): Mask out 2 high bits.
1269
4eafa175
AB
12702013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
1271
1272 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
1273 more place.
1274
daaa64bd
VS
12752013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 Add support for pseries and other bootinfo machines to grub-mkrescue.
1278
1279 Tested by: Paulo Flabiano Smorigo.
1280
d0d2daa6
VS
12812013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * util/grub-mkrescue.in: Add GPT for EFI boot.
1284
b193e100
VS
12852013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
1288 It improves performance in qemu.
1289
a0f8f3ac
VS
12902013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * build-aux/snippet: Add missing gnulib files.
1293
284df0e2
AB
12942013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1295
1296 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
1297
740201f3
AB
12982013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
1299
1300 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
1301
a7e03923
PJ
13022013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13032013-04-15 Peter Jones <pjones@redhat.com>
1304
1305 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
1306 sectors.
1307 Based on patch by Peter Jones.
1308
25fc51a8
VS
13092013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 Fix DMRAID partition handling.
1312
88017d47
VS
13132013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * tests/grub_cmd_date.in: Skip on sparc64.
1316
fa7d914e
VS
13172013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
1320 firmware error messages.
1321
cbe57a48
VS
13222013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
1325 source and destination differ.
1326
21aecce0
VS
13272013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
1330 detection.
1331
25092d29
VS
13322013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
1335 match config-util.h to avoid warnings and increase compatibility.
1336
79451522 13372013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 13382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
1339
1340 Add option to compress files on install/image creation.
1341
78b7d77b
VS
13422013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * docs/grub-dev.texi: Rearrange menu to match the section order.
1345 Reported by: Bryan Hundven.
1346
cc2fa5ec
VS
13472013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
1350
b49fe879
VS
13512013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 Move GRUB out of system area when using xorriso 1.2.9 or later.
1354
5351da81
VS
13552013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * tests/grub_cmd_date.in: Add missing exit 1.
1358
c9d586ea
VS
13592013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * tests/partmap_test.in: Skip on sparc64.
1362
3f729741
VS
13632013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 Support grub-shell on sparc64.
1366
8ca86b3a
VS
13672013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Support mkrescue on sparc64.
1370
aa1af9bb
VS
13712013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 Allow IEEE1275 ports on path even if it wasn't detected automatically.
1374 Needed on OpenBIOS due to incomplete device tree.
1375
ac4fea79
VS
13762013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
1379 would be otherwise excluded.
1380
13812013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
1382
1383 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
1384 Inline name defines used only once.
1385
fe22b071
VS
13862013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 Fix memory leaks in ofnet.
1389 Reported by: Francesco Lavra.
1390
9d21381b
VS
13912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * docs/man/grub-glue-efi.h2m: Add missing file.
1394
07aec23c
VS
13952013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
1398
67ab8353
VS
13992013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 Better support Apple Intel Macs on CD.
1402
ba44ca6d
VS
14032013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 Replace stpcpy with grub_stpcpy in tools.
1406
bbdd6305
VS
14072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Handle Japanese special keys.
1410 Reported by: Hiroyuki YAMAMORI.
1411 Codes supplied by: Hiroyuki YAMAMORI.
1412
8573d302
VS
14132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * util/grub-mkimage.c: Document memdisk implying --prefix.
1416
d70dbab7
VS
14172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
1420 much we can do about it anyway.
1421
51a4c3e3
AN
14222013-04-12 Aleš Nesrsta <starous@volny.cz>
1423
1424 Fix handling of split transfers.
1425
92c8f58d
VS
14262013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/net/http.c: Fix bad free.
1429
b7d17a49
VS
14302013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1431
1432 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
1433 than buffer size.
1434
a3d566d4
VS
14352013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 Disable partmap check on i386-ieee1275 due to openfirmware issues.
1438
a936af56
VS
14392013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * tests/util/grub-shell.in: Fix it on powerpc.
1442
51212234
VS
14432013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Turn off QEMU ACPI-way since new releases don't have shutdown port
1446 anymore.
1447
a21eec9e
VS
14482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * docs/grub.texi: Update coreboot status info.
1451
e3734b84
VS
14522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * tests/grub_cmd_date.in: New test for datetime.
1455
f9d40055
VS
14562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * tests/partmap_test.in: Fix missing qemudisk setting.
1459
dbc56d8f
VS
14602013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 Support i386-ieee1275 grub-mkrescue and make check on it.
1463
a79b8a15
VS
14642013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1465
1466 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
1467 feature for it.
1468
48f39bb4
VS
14692013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1470
1471 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
1472 GRUB_CMDLINE_XEN_DEFAULT.
1473 Reported by: Marc Warne (GigaTux) <gigatux>
1474
053cfcdd
VS
14752013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 Import new gnulib.
1478
93cd84df
VS
14792013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 Use ACPI shutdown intests as traditional port was removed.
1482
f4b1fa4f
AB
14832013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
1484
1485 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
1486 distinction.
1487
49818a59
VS
14882013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
1491 Fix few warining messages and leaks while on it.
1492
9277a306
AB
14932013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
1494
1495 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
1496 links under grub-core/lib/libgcrypt-grub/mpi.
1497
d5e2a158
VS
14982013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Fix ia64-efi image generation on big-endian machines. Deduplicate
1501 some code while on it.
1502 Reported by: Leif Lindholm.
1503
18866643
AB
15042013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1505
1506 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
1507 as extra_dist.
1508
ca53deb8
AB
15092013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
1510
1511 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
1512
d4c4b8e1
BH
15132013-04-08 Bryan Hundven <bryanhundven@gmail.com>
1514
1515 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
1516 texinfo-5.1.
1517
47043f95
VS
15182013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/normal/term.c: Few more fixes for menu entry editor
1521 rendering.
1522 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1523
a3216068
VS
15242013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/normal/term.c: Few more fixes for menu entry editor
1527 rendering.
1528 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1529
21026747
AB
15302013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1531
1532 * conf/Makefile.extra-dist (EXTRA_DIST): Add
1533 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
1534
59624ca8
AB
15352013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
1536
1537 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
1538 instead of hardcoding grub.mo.
1539
1f44478c
FN
15402013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
1541
1542 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
1543
eeada7b1
VS
15442013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
1547 grub-core/disk/geli.c.
1548
132867de
VS
15492013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * util/grub-mkfont.c: Prefer enum to #define.
1552
de73de17
VS
15532013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
1556
1865baa7
VS
15572013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
1560
ce7d92a9
VS
15612013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
1564
52eab656
VS
15652013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
1568
98b23b95
VS
15692013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * include/grub/bsdlabel.h: Use enums.
1572
0467a5dd
VS
15732013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 Move GRUB_CHAR_BIT to types.h.
1576
16cc9f03
AB
15772013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1578
1579 * docs/grub.texi: Document more user commands.
1580
3152aecb
AB
15812013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
1582
1583 * docs/grub.texi: Document menuentry --id option.
1584
c506fc30
FL
15852013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
1586
1587 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
1588
aa428238
VS
15892013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 Unify file copying setup across different install scripts. Add
1592 options for performing partial install.
1593
efe0cdda
PJ
15942013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15952013-04-04 Peter Jones <pjones@redhat.com>
1596
1597 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
1598
f75835bd
VS
15992013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 Use TSC as a possible time source on i386-ieee1275.
1602
2cd5ce6c
VS
16032013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
1606 Init err.
1607
c9625630
VS
16082013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * util/grub-setup.c (setup): Handle some corner cases.
1611
be008941
VS
16122013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
1615
1a78d573
VS
16162013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/commands/verify.c: Save verified file to avoid it being
1619 tampered with after verification was done.
1620
db8ff59f
VS
16212013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
1624 reported width by one to compensate for curesor algorithm problem.
1625
91bf46b1
VS
16262013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 Fix screen corruption in menu entry editor and simplify the code
1629 flow while on it.
1630
a7b1d693
AB
16312013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
1632
1633 * util/grub-mount.c (fuse_init): Return error if fuse_main
1634 failed.
1635
31df9ad8
FL
16362013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
1637
1638 * include/grub/elf.h: Add missing ARM relocation codes and fix
1639 existing ones.
1640
07f392eb
VT
16412013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1642
1643 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
1644
9efd73ec 16452013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
16462013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
1649 into account when calculating radius.
1650
16512013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
1652
1653 * grub-core/gfxmenu/view.c: Fix off-by-one error.
1654
4985ddaa
VT
16552013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
1656
1657 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
1658
8c3635ff
RS
16592013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1660
1661 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
1662 missing closing bracket.
1663
74a35e69
RS
16642013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
1665
1666 * INSTALL: Mention xorriso requirement.
1667
40f1c000
AB
16682013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
1669
1670 * grub-core/commands/verify.c: Fix hash algorithms values for
1671 the first three hashes - they start with 1, not with 0.
1672
e75fdee4
VS
16732013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
1674
1675 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
1676 Try terminating EFI services several times due to quirks in some
1677 implementations.
1678
33028f4c
CW
16792013-03-26 Colin Watson <cjwatson@ubuntu.com>
1680
1681 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
1682 skipping Event, Device, Processor, PowerRes, ThermalZone, and
1683 BankField extended opcodes.
1684 (get_sleep_type): Add minimal scope handling (just enough to
1685 handle setting the scope to the root path).
1686 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
1687 * include/grub/acpi.h: Add enumeration values for Event, Device,
1688 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
1689
33871a10
VT
16902013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
1691
1692 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
1693 memory leak.
1694
8990963a
VS
16952013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/disk/ahci.c: Give more time for AHCI request.
1698
daae8f9e
VS
16992013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
1702 command.
1703
6a7fb94b
VS
17042013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 Replace the region at 0 from coreboot tables to available in BSD
1707 memory map.
1708
ff99babd
VS
17092013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
1712 non-BIOS platforms.
1713
30d6b1b2
VS
17142013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
1717 platforms.
1718
6ccd0b31
VS
17192013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
1722 handling of multi-device filesystems.
1723
23c9cc04
VS
17242013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
1727 platforms.
1728
ce50dbd7
VS
17292013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 Add new 'proc' filesystem framework and put luks_script into it.
1732
d975e8d5
VS
17332013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
1736 and qemu.
1737
e73ba5e8
VS
17382013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
1741
92750e4c
VS
17422013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 Add ability to generate newc additions on runtime.
1745
0ec45a68
VS
17462013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
1749 description.
1750
320abd43
VS
17512013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * po/POTFILES.in: Regenerate.
1754
d7a6506e
VS
17552013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/commands/verify.c (hashes): Add several hashes
1758 from the spec.
1759
8fe05def
VS
17602013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Slight improve in USB-related boot-time checkpoints.
1763
524e2766
VS
17642013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 * grub-core/commands/boottime.c: Fix copyright header.
1767
cc19857a
VS
17682013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
1771 coreboot tables content. Support for cbmemc.
1772
ef8810e9
VS
17732013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 Fix a conflict between ports structures with 2 controllers of
1776 same kind.
1777
e9dabdfa
VS
17782013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * include/grub/boottime.h: Add missing file.
1781
f6df57d2
VS
17822013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 Initialize USB ports in parallel to speed-up boot.
1785
d745dda7
VS
17862013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Fix USB devices not being detected when requested
1789 due to delayed attach.
1790
e5a2dd7b
VS
17912013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1792
e744219b
VS
1793 Implement boot time analysis framework.
1794
17952013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
1798 descriptor to just receive it as argument rather than endpoint
1799 address.
1800
5dd6f587
VS
18012013-03-19 Aleš Nesrsta <starous@volny.cz>
1802
1803 Better estimate the maximum USB transfer size.
1804
2f1071d5
VS
18052013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 Resend a packet if we got the wrong buffer in status.
1808
46ecfc49
VS
18092013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
1812 multiplication rather than division.
1813
ea811130
VS
18142013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
1817 than divisions.
1818
d2789cf0
VS
18192013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
1822 operations to have intended shifts and not divisions.
1823
a9c94590
VS
18242013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
1827 intended shifts rather than division.
1828
84cfe81b
VS
18292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
1832 computation for some years before epoch. Avode confusing division
1833 while on it.
1834
21344ef6
VS
18352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/video/i386/pc/vbe.c
1838 (grub_video_vbe_print_adapter_specific_info): Replace division by
1839 shifts.
1840
3f2b4d1a
VS
18412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Adjust types in gdb module to have intended unsigned shifts rather than
1844 signed divisions.
1845
3dac5878
VS
18462013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
1849 maximum size is 4G - 1 on hfs
1850
5341c0fb
VS
18512013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
1854
fc3ff2a2
VS
18552013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
1858 function.
1859
81455e8e
AB
18602013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
1861
1862 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
1863 causing gcc error with gcc 4.7.1.
1864
efd4f117
NZ
18652013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1866
1867 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
1868 dereference null pointer. While the code is technically correct, gcc
1869 may eliminate a null check if pointer is already dereferenced.
1870
e11645f4
NZ
18712013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
1872
1873 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
1874 OOM check.
1875 * grub-core/normal/term.c (read_terminal_list): Likewise.
1876
77468368
VS
18772013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 Lift up core size limits on some platforms. Fix potential memory
1880 corruption with big core on small memory systems. Document remaining
1881 limits.
1882
f6b58fe5
VS
18832013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
1886 gotoxy to 0,0.
1887
19ce697d
VS
18882013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 Remove all trampoline support. Add -Wtrampolines when
1891 present. Remove symbols used for trampolines to make
1892 link fail if trampolines are present.
1893
73b5d90f
VS
18942013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
1897 append out of its parent.
1898
cb758e96
VS
18992013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
1902 parent.
1903
3188131f
VS
19042013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
1907 all vars to a macro. All users updated.
1908
e42b2514
VS
19092013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/disk/ieee1275/nand.c: Fix compilation on
1912 i386-ieee1275.
1913
83e1a1a1
VS
19142013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
1917
1d5a880f
VS
19182013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
1921
6e4146c4
VS
19222013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 Move to more hookless approach in IEEE1275 devices handling.
1925
99fcda8a
VS
19262013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/kern/term.c (grub_term_normal_color),
1929 (grub_term_highlight_color): Add back lost defaults.
1930
73bf57e2
VS
19312013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 Make elfload not use hooks. Opt for flags and iterators instead.
1934
7f8c105f
VS
19352013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
1938 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
1939
396d4091
VS
19402013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/script/execute.c (gettext_append): Remove nested functions.
1943
19442013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
1947 hook pass-through parameter. All users updated and unnested.
1948
74a27421
VS
19492013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
1952 out of its parent.
1953
b46d4213
VS
19542013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/fs/hfs.c: Remove nested functions.
1957
e114c3cc
VS
19582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
1961 the context through.
1962 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
1963
f9b7d780
VS
19642013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * util/grub-editenv.c (list_variables): Move print_var out of its
1967 parent.
1968
ca9c2608
VS
19692013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1972 function.
1973
5d983f5f
VS
19742013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/gentrigtables.c: Make tables const.
1977
3056d3e7
VS
19782013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 Remove nested functions from videoinfo iterators.
1981
e2303774
VS
19822013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
1985 for 64-bit platforms.
1986
f42e3a2f
VS
19872013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
1990 a FOR_CHILDREN macro.
1991
be174e5e
VS
19922013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
1995 platform from firmware path.
1996
0789b672
VS
19972013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 Enable linux16 on non-BIOS systems for i.a. memtest.
2000
2001 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
2002 correctly.
2003 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
2004
005a9c32
VS
20052013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
2008 Fix end of table condition.
2009
ff2b3cd9
VS
20102013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
2013 out of its parent.
2014
4fc40ff8
VS
20152013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/fs/jfs.c: Remove nested functions.
2018
be42d97a
VS
20192013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 * grub-core/fs/minix.c: Remove nested functions.
2022
99373ce4
VS
20232013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/fs/iso9660.c: Remove nested functions.
2026
5aec2afe
VS
20272013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
2030 of parent function.
2031
6c69e691
VS
20322013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * util/grub-fstest.c: Remove nested functions.
2035
43c91882
VS
20362013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/loader/machoXX.c: Remove nested functions.
2039
4eb8b756
CW
20402013-02-27 Colin Watson <cjwatson@ubuntu.com>
2041
2042 Remove nested functions from disk and file read hooks.
2043
2044 * include/grub/disk.h (grub_disk_read_hook_t): New type.
2045 (struct grub_disk): Add read_hook_data member.
2046 * include/grub/file.h (struct grub_file): Likewise.
2047 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
2048 argument.
2049
2050 Update all callers.
2051
df6da5a5
AB
20522012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
2053
2054 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
2055 Fix off by one error in enumerating extended partitions.
2056
21aecde5
AB
20572013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
2058
2059 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
2060 memory leak if device name is not found.
2061
f1a19118
AB
20622013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2063
2064 * grub-core/normal/menu_entry.c (update_screen): remove
2065 unused variable `off' which caused scroll down arrow to be always shown.
2066
958bfd20
AB
20672013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2068
2069 * grub-core/normal/menu_entry.c (insert_string): fix off by one
2070 access to unallocated memory.
2071
b7b78edb
AB
20722013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
2073
2074 * Makefile.util.def: Add partmap/msdos.c to common library.
2075 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
2076 * grub-core/disk/ldm.c: Check for existence of
2077 GRUB_PC_PARTITION_TYPE_LDM.
2078
28d468d6
VS
20792013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
2082 sizes and display sector size.
2083
d55ffb02
VS
20842013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 Implement new command cmosdump.
2087
b5ea6ce0
VS
20882013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2089
2090 Support Openfirmware disks with non-512B sectors.
2091
2092 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
2093 size of the disk.
2094 * (grub_ofdisk_get_block_size): New function.
2095 * (grub_ofdisk_prepare): Use the correct block size.
2096 * (grub_ofdisk_read): Likewise.
2097 * (grub_ofdisk_write): Likewise.
2098 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
2099 New proto.
2100
cc0e476f
VS
21012013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
2104
c5dbdc33
VS
21052013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
2108 on first error.
2109
3f078c0f
VS
21102013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
2113 freeing it.
2114
66a93674
VS
21152013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Implement USBDebug (full USB stack variant).
2118
c9f0c134
VS
21192013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
2122 unless they have unexpected values.
2123
cfe1288b
VS
21242013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
2127 grub_print_error.
2128
e42b9969
VS
21292013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
2132 zero-out of port structure.
2133
cf94fd62
VS
21342013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
2137 of extended attributes.
2138
f81ef4b5
AB
21392013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
2140
2141 * util/grub-install.in: change misleading comment about
2142 device.map creation
2143
af18fdb4
VS
21442013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
2147 when menu highlight color isn't set.
2148
08bcec50
M
21492013-01-27 C. Masloch <pushbx@38.de>
2150
2151 Improve FreeDOS direct loading support compatibility.
2152
2153 * include/grub/i386/relocator.h (grub_relocator16_state):
2154 New member ebp.
2155 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
2156 variable.
2157 (grub_relocator16_boot): Handle %ebp.
2158 * grub-core/lib/i386/relocator16.S: Likewise.
2159 * grub-core/loader/i386/pc/freedos.c:
2160 Load BPB to pass kernel which partition to load from.
2161 Check that kernel file is not too large.
2162 Set register dl to BIOS unit number as well.
2163
7782b8a6
CW
21642013-01-22 Colin Watson <cjwatson@ubuntu.com>
2165
2166 * util/grub-reboot.in (usage): Document the need for
2167 GRUB_DEFAULT=saved.
2168 * util/grub-set-default.in (usage): Likewise.
2169 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
2170
e661c180
VS
21712013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
2174 than defining WORDS_BIGENDIAN manually.
2175
1c22ca9a
VS
21762013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
2179 invariants.
2180
d44892fe
CW
21812013-01-21 Colin Watson <cjwatson@ubuntu.com>
2182
2183 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
2184 nested.
2185 (blit_comb: add_device_width): Likewise.
2186
5fdbaed1
CW
21872013-01-21 Colin Watson <cjwatson@ubuntu.com>
2188
2189 Remove nested functions from USB iterators.
2190
2191 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
2192 (grub_usb_controller_iterate_hook_t): Likewise.
2193 (grub_usb_iterate): Add hook_data argument.
2194 (grub_usb_controller_iterate): Likewise.
2195 (struct grub_usb_controller_dev.iterate): Likewise.
2196
2197 Update all implementations and callers.
2198
4250985a
VS
21992013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
2202 margin when not needed.
2203
7d8848f3
VS
22042013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2205
bc136973 2206 Make color variables global instead of it being per-terminal.
7d8848f3
VS
2207
22082013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2209
bc136973
VS
2210 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
2211 asterisk.
7d8848f3 2212
ed12a003
CW
22132013-01-21 Colin Watson <cjwatson@ubuntu.com>
2214
2215 Fix powerpc and sparc64 build failures caused by un-nesting memory
2216 map iterators.
2217
6a0db449
CW
22182013-01-21 Colin Watson <cjwatson@ubuntu.com>
2219
2220 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
2221 parameter declarations.
2222
ccd86b21
VS
22232013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
2226
822b726b
VS
22272013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Improve spkmomdem reliability by adding a separator between bytes.
2230
115c2cc1
CW
22312013-01-21 Colin Watson <cjwatson@ubuntu.com>
2232
2233 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
2234 an Acer registration utility with several sightings in the wild.
2235 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
2236
fc524edf
CW
22372013-01-21 Colin Watson <cjwatson@ubuntu.com>
2238
2239 Remove nested functions from filesystem directory iterators.
2240
2241 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
2242 (struct grub_fs.dir): Add hook_data argument.
2243
2244 Update all implementations and callers.
2245
53d3e4e3
CW
22462013-01-21 Colin Watson <cjwatson@ubuntu.com>
2247
2248 * docs/grub.texi (Multi-boot manual config): Fix typo for
2249 "recommended".
2250
c821711f
LL
22512013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2252
2253 * util/grub-mkimage.c (main): Postpone freeing arguments.output
2254 until after its use in generate_image.
2255
6a0debbd
CW
22562013-01-20 Colin Watson <cjwatson@ubuntu.com>
2257
2258 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
2259 initrd size to addr_min, since the initrd will be allocated after
2260 this address.
2261
f41e08db
AB
22622013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2263
2264 * conf/Makefile.common: Fix autogen rules to pass definition
2265 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
2266
77529e0f
LL
22672013-01-20 Leif Lindholm <leif.lindholm@arm.com>
2268
2269 * include/grub/elf.h: Update ARM definitions based on binutils.
2270
b879aa7b
VS
22712013-01-20 Aleš Nesrsta <starous@volny.cz>
2272
2273 Split long USB transfers into short ones.
2274
8eb8284d
AB
22752013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
2276
2277 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
2278 is interrupted by ESC.
2279
08dad2dc
VS
22802013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * util/grub-script-check.c (main): Uniform the error message.
2283
6c724b85
CW
22842013-01-20 Colin Watson <cjwatson@ubuntu.com>
2285
2286 Remove nested functions from ELF iterators.
2287
25239370
CW
22882013-01-20 Colin Watson <cjwatson@ubuntu.com>
2289
2290 Remove nested functions from device iterators.
2291
2292 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
2293 (grub_arc_iterate_devs): Add hook_data argument.
2294 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
2295 (struct grub_ata_dev.iterate): Add hook_data argument.
2296 * include/grub/device.h (grub_device_iterate_hook_t): New type.
2297 (grub_device_iterate): Add hook_data argument.
2298 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
2299 (struct grub_disk_dev.iterate): Add hook_data argument.
2300 (grub_disk_dev_iterate): Likewise.
2301 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
2302 Likewise.
2303 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
2304 Likewise.
2305 * include/grub/partition.h (grub_partition_iterate_hook_t): New
2306 type.
2307 (struct grub_partition_map.iterate): Add hook_data argument.
2308 (grub_partition_iterate): Likewise.
2309 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
2310 (struct grub_scsi_dev.iterate): Add hook_data argument.
2311
2312 Update all callers.
2313
6c0314d6
CW
23142013-01-20 Colin Watson <cjwatson@ubuntu.com>
2315
2316 Fix typos for "developer" and "development".
2317
600dc5f1
VS
23182013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 Add license header to spkmodem-recv.c.
2321
17334a6b
VS
23222013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Rewrite spkmodem to use PIT for timing. Double the speed.
2325
7d462559
VS
23262013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 Add new command pcidump.
2329
b78d6c32
VS
23302013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 New terminal outputs using serial: morse and spkmodem.
2333
34f71cb8
VS
23342013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 Improve bidi handling in entry editor.
2337
4542e71b
VS
23382013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2341 argument to prevent name collision.
2342
09fd6d82
CW
23432013-01-15 Colin Watson <cjwatson@ubuntu.com>
2344
2345 Remove nested functions from script reading and parsing.
2346
2347 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
2348 getline_data argument, passed to getline.
2349 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
2350 getline_data argument, passed to grub_parser_split_cmdline.
2351 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
2352 lexerstate->getline_data to lexerstate->getline.
2353 (grub_script_lexer_init): Add getline_data argument, saved in
2354 lexerstate->getline_data.
2355 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
2356 argument, passed to grub_script_parse.
2357 * grub-core/script/script.c (grub_script_parse): Add getline_data
2358 argument, passed to grub_script_lexer_init.
2359 * include/grub/parser.h (grub_parser_split_cmdline): Update
2360 prototype. Update all callers to pass appropriate getline data.
2361 (struct grub_parser.parse_line): Likewise.
2362 (grub_rescue_parse_line): Likewise.
2363 * include/grub/reader.h (grub_reader_getline_t): Add void *
2364 argument.
2365 * include/grub/script_sh.h (struct grub_lexer_param): Add
2366 getline_data member.
2367 (grub_script_parse): Update prototype. Update all callers to pass
2368 appropriate getline data.
2369 (grub_script_lexer_init): Likewise.
2370 (grub_normal_parse_line): Likewise.
2371
2372 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
2373 data argument.
2374 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
2375 static instead of nested. Rename to ...
2376 (grub_parser_execute_getline): ... this.
2377 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
2378 data argument.
2379 * grub-core/normal/main.c (read_config_file: getline): Make static
2380 instead of nested. Rename to ...
2381 (read_config_file_getline): ... this.
2382 (grub_normal_read_line): Add unused data argument.
2383 * grub-core/script/execute.c (grub_script_execute_sourcecode:
2384 getline): Make static instead of nested. Rename to ...
2385 (grub_script_execute_sourcecode_getline): ... this.
2386 * util/grub-script-check.c (main: get_config_line): Make static
2387 instead of nested.
2388
d0d4b8a0
CW
23892013-01-15 Colin Watson <cjwatson@ubuntu.com>
2390
2391 Remove nested functions from memory map iterators.
2392
2393 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
2394 argument, passed to hook.
2395 * grub-core/kern/i386/coreboot/mmap.c
2396 (grub_linuxbios_table_iterate): Likewise.
2397 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
2398 instead of nested.
2399 (grub_machine_mmap_iterate): Add hook_data argument.
2400 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
2401 Add hook_data argument, passed to hook.
2402 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
2403 Likewise.
2404 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
2405 Likewise.
2406 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
2407 Likewise.
2408 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
2409 Likewise.
2410 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
2411 Likewise.
2412 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
2413 Likewise.
2414 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
2415 (grub_machine_mmap_iterate): Likewise.
2416 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
2417 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
2418 prototype.
2419 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
2420 Remove NESTED_FUNC_ATTR from here and from all users.
2421 (grub_mmap_iterate): Update prototype.
2422 (grub_efi_mmap_iterate): Update prototype. Update all callers to
2423 pass appropriate hook data.
2424 (grub_machine_mmap_iterate): Likewise.
2425
2426 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
2427 static instead of nested.
2428 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
2429 Rename to ...
2430 (lsmmap_hook): ... this.
2431 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
2432 Likewise.
2433 (grub_efiemu_mmap_fill: fill_hook): Likewise.
2434 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
2435 heap_init): Likewise.
2436 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
2437 Rename to ...
2438 (mmap_iterate_hook): ... this.
2439 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
2440 Likewise.
2441 * grub-core/lib/ieee1275/relocator.c
2442 (grub_relocator_firmware_get_max_events: count): Likewise.
2443 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
2444 to ...
2445 (grub_relocator_firmware_fill_events_iter): ... this.
2446 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
2447 hook): Likewise. Rename to ...
2448 (grub_relocator_alloc_chunk_align_iter): ... this.
2449 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
2450 Rename to ...
2451 (generate_e820_mmap_iter): ... this.
2452 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
2453 Rename to ...
2454 (count_hook): ... this.
2455 (grub_linux_boot: hook): Likewise. Rename to ...
2456 (grub_linux_boot_mmap_find): ... this.
2457 (grub_linux_boot: hook_fill): Likewise. Rename to ...
2458 (grub_linux_boot_mmap_fill): ... this.
2459 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
2460 hook): Likewise. Rename to ...
2461 (grub_fill_multiboot_mmap_iter): ... this.
2462 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
2463 hook): Likewise. Rename to ...
2464 (count_hook): ... this.
2465 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
2466 hook): Likewise. Rename to ...
2467 (grub_fill_multiboot_mmap_iter): ... this.
2468 * grub-core/loader/powerpc/ieee1275/linux.c
2469 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
2470 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
2471 Likewise. Rename to ...
2472 (alloc_phys_choose): ... this.
2473 (determine_phys_base: get_physbase): Likewise.
2474 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
2475 find_hook): Likewise.
2476 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
2477 (malloc_hook: count_hook): Likewise.
2478 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
2479 Likewise. Rename to ...
2480 (lower_hook): ... this.
2481 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2482 (upper_hook): ... this.
2483 (grub_mmap_get_post64: hook): Likewise. Rename to ...
2484 (post64_hook): ... this.
2485 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
2486 Likewise. Rename to ...
2487 (lower_hook): ... this.
2488 (grub_mmap_get_upper: hook): Likewise. Rename to ...
2489 (upper_hook): ... this.
2490 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
2491 (grub_mmap_iterate: fill_hook): Likewise.
2492 (fill_mask): Pass addr and mask within a single struct.
2493 (grub_cmd_badram: hook): Make static instead of nested. Rename
2494 to ...
2495 (badram_iter): ... this.
2496 (grub_cmd_cutmem: hook): Likewise. Rename to ...
2497 (cutmem_iter): ... this.
2498
22099030
VS
24992013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
2502 delimit path in strings using quotes.
2503 * util/getroot.c (grub_guess_root_devices): Likewise.
2504 (grub_make_system_path_relative_to_its_root): Likewise.
2505 * util/grub-probe.c (probe): Likewise.
2506 * util/ieee1275/ofpath.c (find_obppath): Likewise.
2507 (xrealpath): Likewise.
2508
4a9950ec
VS
25092013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 Fix compilation with older compilers.
2512
2513 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
2514 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
2515 declarations.
2516 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
2517 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
2518 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
2519 identifier with b.
2520 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
2521 * include/grub/crypto.h: Add type defines.
2522 * util/import_gcrypth.sed: Remove duplicate type defines.
2523
adcc6020
VS
25242013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 New command list_trusted.
2527
2528 * grub-core/commands/verify.c (grub_cmd_list): New function.
2529
a4528937
CW
25302013-01-13 Colin Watson <cjwatson@ubuntu.com>
2531
2532 * util/grub-mkimage.c (generate_image): Fix "size of public key"
2533 info message.
2534
ca3a7446
CW
25352013-01-13 Colin Watson <cjwatson@ubuntu.com>
2536
2537 Remove nested functions from PCI iterators.
2538
2539 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
2540 passed to hook. Update all callers to pass appropriate hook data.
2541 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
2542 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
2543 Remove NESTED_FUNC_ATTR from here and from all users.
2544 (grub_pci_iterate): Update prototype.
2545 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
2546 instead of nested. Rename to ...
2547 (grub_cs5536_find_iter): ... this.
2548 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
2549 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
2550 Likewise.
2551 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
2552 Likewise.
2553 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
2554 Likewise.
2555 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
2556 Likewise.
2557 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
2558 * grub-core/video/radeon_fuloong2e.c
2559 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
2560 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
2561 find_card): Likewise.
2562 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
2563 Likewise.
2564
f8e98fee
VS
25652013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/commands/verify.c: Mark messages for translating.
2568
055b36b6
VS
25692013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
2572 fatal.
2573
f7ff879b
VS
25742013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
2577 fatal.
2578
25792013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
2580
2581 * autogen.sh: Do not try to delete nonexistant files.
2582 * util/import_gcrypth.sed: Add some missing header removals.
2583
01323d49
CW
25842013-01-12 Colin Watson <cjwatson@ubuntu.com>
2585
2586 Clean up dangling references to grub-setup.
2587 Fixes Ubuntu bug #1082045.
2588
2589 * docs/grub.texi (Images): Refer generally to grub-install rather
2590 than directly to grub-setup.
2591 (Installing GRUB using grub-install): Remove direct reference to
2592 grub-setup.
2593 (Device map) Likewise.
2594 (Invoking grub-install): Likewise.
2595 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2596 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2597 * util/grub-install.in (usage): Likewise.
2598
2599 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
2600 Apply to grub-bios-setup and grub-sparc64-setup rather than to
2601 grub-setup.
2602 * configure.ac: Remove grub_setup output variable.
2603
2604 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
2605 to grub-bios-setup.
2606 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
2607 grub-setup to grub-sparc64-setup.
2608
5e3b8dcb
VS
26092013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 Import gcrypt public-key cryptography and implement signature checking.
2612
535714bd
VS
26132013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/fs/ntfs.c: Ue more appropriate types.
2616 * grub-core/fs/ntfscomp.c: Likewise.
2617 * include/grub/ntfs.h: Likewise.
2618
3e4f3566
VS
26192013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Support Apple FAT binaries on non-Apple platforms.
2622
2623 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
2624 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
2625 Likewise.
2626 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
2627 Apple FAT binaries.
2628
4dedb13f
VS
26292013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
2632 sector devices.
2633
f8861eaf
CW
26342013-01-07 Colin Watson <cjwatson@ubuntu.com>
2635
2636 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
2637 explicitly zeroing elements.
2638 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
2639 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
2640 of elements in a structure already allocated using grub_zalloc.
2641 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2642
86065b0a
CW
26432013-01-07 Colin Watson <cjwatson@ubuntu.com>
2644
2645 * docs/grub.texi (grub_cpu): New subsection.
2646 (grub_platform): Likewise.
2647
c6f1e92f
VS
26482013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
2651
f797ec85
VS
26522013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
2655 divisions.
2656
033d0b4b
VS
26572013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
2660 * grub-core/fs/ntfscomp.c: Likewise.
2661 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
2662 (grub_ntfs_comp): Likewise.
2663
21d1b9a0
VS
26642013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
2667 Rename to ...
2668 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
2669 of groups_per_block. All users updated.
2670
10ca8645
VS
26712013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
2674 grub_error properly.
2675 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
2676 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
2677
a4c3ed4c
VS
26782013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
2681 always in /boot/zfs.
2682 Reported by: Yuta Satoh.
2683
0b716507
YS
26842013-01-03 Yuta Satoh <nigoro>
2685
2686 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
2687 ${grub_probe}
2688
00c05e22
VS
26892013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * configure.ac: Extend -Wno-trampolines to host.
2692
dadddb76
VS
26932013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
2696 entry->len = 0.
2697
54ce53ca
CW
26982013-01-03 Colin Watson <cjwatson@ubuntu.com>
2699
2700 * docs/grub.texi (Invoking grub-mkrelpath): New section.
2701 (Invoking grub-script-check): Likewise.
2702
8912efca
CW
27032013-01-03 Colin Watson <cjwatson@ubuntu.com>
2704
2705 * docs/grub.texi (Invoking grub-mount): New section.
2706 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
2707
c3fc8394
CW
27082013-01-02 Colin Watson <cjwatson@ubuntu.com>
2709
2710 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
2711 test failures, so that a failing unit test correctly causes 'make
2712 check' to fail.
2713
45d26abb
CW
27142013-01-02 Colin Watson <cjwatson@ubuntu.com>
2715
2716 Fix failing printf test.
2717
2718 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
2719 '$' in the correct order when collecting type information.
2720
971dd2c6
CW
27212013-01-02 Colin Watson <cjwatson@ubuntu.com>
2722
2723 * docs/grub.texi (configfile): Explain environment variable
2724 handling.
2725 (source): New section.
2726 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
2727
5c67ea6c
CW
27282012-12-31 Colin Watson <cjwatson@ubuntu.com>
2729
2730 Remove several trivially-unnecessary uses of nested functions.
2731
2732 * grub-core/commands/i386/pc/sendkey.c
2733 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
2734 instead of nested.
2735 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
2736 Rename to ...
2737 (legacy_file_getline): ... this.
2738 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
2739 Likewise.
2740 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
2741 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
2742 to ...
2743 (probe_dummy_iter): ... this.
2744 * grub-core/kern/i386/coreboot/mmap.c
2745 (grub_linuxbios_table_iterate: check_signature): Likewise.
2746 * grub-core/kern/parser.c (grub_parser_split_cmdline:
2747 check_varstate): Likewise. Mark inline.
2748 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
2749 an additional parameter.
2750 (find_long: fnd_long): Likewise. Pass two additional parameters.
2751 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
2752 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
2753 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
2754 Likewise. Rename to ...
2755 (grub_cmos_find_port_iter): ... this.
2756 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
2757 Rename to ...
2758 (find_rtc_iter): ... this.
2759
2760 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
2761 function directly into the function body, since it is only called
2762 once.
2763
33a68ac6
CW
27642012-12-30 Colin Watson <cjwatson@ubuntu.com>
2765
2766 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
2767 __attribute__ ((unused)).
2768 * grub-core/video/bochs.c (find_card): Likewise.
2769 * grub-core/video/cirrus.c (find_card): Likewise.
2770 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
2771 * grub-core/video/sis315pro.c (find_card): Likewise.
2772 * grub-core/video/sm712.c (find_card): Likewise.
2773
608b647a
CW
27742012-12-28 Colin Watson <cjwatson@ubuntu.com>
2775
2776 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
2777 Fixes Savannah bug #37821.
2778
fd49ceb3
CW
27792012-12-28 Colin Watson <cjwatson@ubuntu.com>
2780
2781 Apply program name transformations at build-time rather than at
2782 run-time. Fixes Debian bug #696465.
2783
2784 * acinclude.m4 (grub_TRANSFORM): New macro.
2785 * configure.ac: Create output variables with transformed names for
2786 most programs.
2787 * util/bash-completion.d/grub-completion.bash.in: Use
2788 pre-transformed variables for program names.
2789 * util/grub-install.in: Likewise.
2790 * util/grub-kbdcomp.in: Likewise.
2791 * util/grub-mkconfig.in: Likewise.
2792 * util/grub-mkconfig_lib.in: Likewise.
2793 * util/grub-mknetdir.in: Likewise.
2794 * util/grub-mkrescue.in: Likewise.
2795 * util/grub-mkstandalone.in: Likewise.
2796 * util/grub-reboot.in: Likewise.
2797 * util/grub-set-default.in: Likewise.
2798 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2799 * tests/util/grub-shell-tester.in: Remove unused assignment.
2800 * tests/util/grub-shell.in: Likewise.
2801 * util/grub.d/00_header.in: Likewise.
2802
7024b3c0
CW
28032012-12-28 Colin Watson <cjwatson@ubuntu.com>
2804
2805 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
2806
2807 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
2808 HAVE_RAW_DECL_GETS.
2809 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
2810
e3501b13
VS
28112012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
2814 Reported by: Eriks Latosheks <foresterlv>.
2815
b40c88a9
VS
28162012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * docs/grub.texi (Network): Update instructions on generating netboot
2819 image.
2820
ce96d01c
VS
28212012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
2824 around device name if necessarry.
2825
0f596201
PFS
28262012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2827
2828 * util/grub-install.in: Follow the symbolic link parameter added
2829 to the file command.
2830
600d5bdb
AB
28312012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
2832
2833 * util/grub-install.in: Remove stale TODO.
2834
64ebd2f4
PFS
28352012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2836
2837 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
2838 dynamic allocation for the bootpath buffer.
2839
74b2fe3e
DTB
28402012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
2841
2842 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
2843 window too small.
2844
969b804f
VS
28452012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
2848 argument rather than font name. All users updated.
2849 (grub_gfxterm_set_window): Likewise.
2850
b9f5ebd6
VT
28512012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2852
2853 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
2854 from working.
2855
258f43b7
VS
28562012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * util/getroot.c (convert_system_partition_to_system_disk): Support
2859 nbd disks.
2860
cc1ce5f9
VS
28612012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
2864 infinite loop on corrupted FS.
2865
e77a16ca
VS
28662012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Fix big-endian mtime.
2869
2870 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
2871 together sec and usec.
2872 (grub_ufs_dir): Use correct byteswapping for UFS time.
2873
d9c48c7b
VS
28742012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 Support big-endian UFS1.
2877
2878 * Makefile.util.def (libgrubmods): Add ufs_be.c
2879 * grub-core/Makefile.core.def (ufs1_be): New module.
2880 * grub-core/fs/ufs_be.c: New file.
2881 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
2882 the file.
2883
2f9f40ba
LL
28842012-11-28 Leif Lindholm <leif.lindholm@arm.com>
2885
2886 * include/grub/types.h: Fix functionality unaffecting typo in
2887 GRUB_TARGET_WORDSIZE conditional macro.
2888
48ff0889
PFS
28892012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2890
2891 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
2892
03711240
GS
28932012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2894
2895 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
2896 that /netbsd appears first (when it exists).
2897
a31b11bd
CJ
28982012-10-12 Christoph Junghans <ottxor@gentoo.org>
2899
2900 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
2901 Fixes Savannah bug #37558.
2902
e8a5d5d4
CW
29032012-10-12 Colin Watson <cjwatson@ubuntu.com>
2904
2905 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
2906 description of extract_entries_configfile.
2907
29082012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
2909
2910 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
2911 preferred_address.
2912 (grub_cmd_linux): Likewise.
2913 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
2914 preferred_lifetime. Update all users.
2915
288c757d
CW
29162012-09-26 Colin Watson <cjwatson@ubuntu.com>
2917
2918 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
2919 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
2920
0d35da3f
CW
29212012-09-26 Colin Watson <cjwatson@ubuntu.com>
2922
2923 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
2924 errors from grub-probe to /dev/null, not stdout.
2925
b78c3127
VS
29262012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
2929 sector 1.
2930
473959f0
CW
29312012-09-24 Colin Watson <cjwatson@ubuntu.com>
2932
2933 * util/grub-install.in: Make the error message if $source_dir
2934 doesn't exist more useful.
2935
794c8c33
CW
29362012-09-22 Colin Watson <cjwatson@ubuntu.com>
2937
2938 Fix grub-emu build on FreeBSD.
2939
2940 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
2941 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
2942 headers on Linux.
2943 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
2944 implementation is currently Linux-specific.
2945 * util/getroot.c (exec_pipe): Define only on Linux or when either
2946 libzfs or libnvpair is unavailable.
2947 (find_root_devices_from_poolname): Remove unused path variable.
2948
86d08fdb
CW
29492012-09-19 Colin Watson <cjwatson@ubuntu.com>
2950
2951 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
2952 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
2953 should fit before end == 63.
2954
735abf54
CW
29552012-09-19 Colin Watson <cjwatson@ubuntu.com>
2956
2957 * util/grub-setup.c (write_rootdev): Remove unused core_img
2958 parameter. Update all callers.
2959 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
2960 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
2961 GRUB_SETUP_BIOS.
2962
140acd3c
VS
29632012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * util/grub-mkconfig_lib.in (grub_tab): New variable.
2966 (grub_add_tab): New function.
2967 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
2968 * util/grub.d/10_illumos.in: Likewise.
2969 * util/grub.d/10_kfreebsd.in: Likewise.
2970 * util/grub.d/10_linux.in: Likewise.
2971 * util/grub.d/10_netbsd.in: Likewise.
2972 * util/grub.d/10_windows.in: Likewise.
2973 * util/grub.d/10_xnu.in: Likewise.
2974 * util/grub.d/20_linux_xen.in: Likewise.
2975 * util/grub.d/30_os-prober.in: Likewise.
2976
7ddffdad
VS
29772012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2980 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
2981 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
2982 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
2983 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
2984 ieee1275-nocursor.
2985 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2986 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2987
4e092454
VS
29882012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
2991 le-conversion.
2992 Reported by: BURETTE, Bernard.
2993
735abf54 29942012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
2995
2996 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2997 from comment.
2998
dfd39dbd
CW
29992012-09-14 Colin Watson <cjwatson@ubuntu.com>
3000
3001 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
3002 IEEE1275 machines. Fixes powerpc-emu compilation.
3003 * include/grub/terminfo.h: Likewise.
3004
3bfa763c
VS
30052012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
3008 a const pointer.
3009 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
3010 const pointer.
3011 (efiemu_set_variable): Make vendor_guid a const pointer.
3012
250e475b
VS
30132012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 Don't require grub-mkconfig_lib to generate manpages for programs.
3016
3017 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
3018 dependencies, don't add grub-mkconfig_lib.
3019 (program): Pass empty adddeps.
3020 (script): Pass grub-mkconfig_lib as adddeps.
3021
592fd0e4
VS
30222012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
3025 * util/getroot.c (grub_find_device): Likewise.
3026 (get_mdadm_uuid): Likewise.
3027 (grub_util_is_imsm): Likewise.
3028 (grub_util_pull_device): Likewise.
3029 * util/grub-probe.c (probe): Likewise.
3030
801a3027
BG
30312012-09-10 Benoit Gschwind <gschwind>
3032
3033 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
3034 (devs): Add devpath_8.
3035
c5052c81
PJ
30362012-09-08 Peter Jones <pjones@redhat.com>
3037
3038 * grub-core/Makefile.core.def (efifwsetup): New module.
3039 * grub-core/commands/efi/efifwsetup.c: New file.
3040 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
3041 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
3042 New define.
3043 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
3044
8e832f71
JS
30452012-09-05 Jiri Slaby <jslaby@suse.cz>
3046
3047 * configure.ac: Add SuSe path.
3048
f0f55752
CW
30492012-09-05 Colin Watson <cjwatson@ubuntu.com>
3050
3051 * NEWS: Fix typo.
3052
ecadc4c2
CW
30532012-09-05 Colin Watson <cjwatson@ubuntu.com>
3054
3055 * util/import_gcry.py: Sort cipher_files, to make build system
3056 generation more deterministic.
3057
64498f25
VS
30582012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
3061 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
3062 (grub_set_datetime): Likewise.
3063
9cc836a2
VS
30642012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
3067 warnings.
3068
bcfcea01
VS
30692012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
3072
a4099485
VS
30732012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
3076
265c162a
CW
30772012-09-04 Colin Watson <cjwatson@ubuntu.com>
3078
3079 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
3080 required for checkouts from bzr, but it may be useful for users or
3081 distributors wishing to update translations against a tarball
3082 distribution, and it can be helpful for the tarball to be a superset
3083 of what's in bzr.
3084
3d171e95
CW
30852012-09-04 Colin Watson <cjwatson@ubuntu.com>
3086
3087 * Makefile.am (EXTRA_DIST): Add
3088 grub-core/tests/boot/linux.init-mips.S,
3089 grub-core/tests/boot/linux.init-ppc.S, and
3090 grub-core/tests/boot/linux-ppc.cfg.
3091
f2c2503e
CW
30922012-09-04 Colin Watson <cjwatson@ubuntu.com>
3093
3094 * grub-core/mmap/mips/loongson: Remove empty directory.
3095
30962012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
3097
3098 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
3099 gone.
3100
ab2163d5
CW
31012012-09-04 Colin Watson <cjwatson@ubuntu.com>
3102
3103 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
3104 grub-sparc64-setup.
3105
ce938140
GS
31062012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
3107
3108 * configure.ac: Strengthen the test for working -nostdinc -isystem.
3109
529f58a5
GS
31102012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3111
3112 * po/POTFILES.in: Regenerated.
3113
16cf79e9
GS
31142012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
3115
3116 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
3117 (NetBSD): New subsection.
3118
39b27f1e 31192012-07-22 Ales Nesrsta <starous@volny.cz>
3120
3121 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
3122 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
3123
a885261b
VS
31242012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
3127 * util/grub.d/10_hurd.in: Add missing quoting.
3128 * util/grub.d/10_illumos.in: Likewise.
3129 * util/grub.d/10_kfreebsd.in: Likewise.
3130 * util/grub.d/10_linux.in: Likewise.
3131 * util/grub.d/20_linux_xen.in: Likewise.
3132
7bd29c01
VS
31332012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 New command `lsefi'.
3136
3137 * grub-core/Makefile.core.def (lsefi): New module.
3138 * grub-core/commands/efi/lsefi.c: New file.
3139 * include/grub/efi/api.h: Add more GUIDs.
3140
ac625d8f
VS
31412012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
3144 (grub_bsd_elf32_hook): Likewise.
3145 (grub_bsd_elf64_size_hook): Likewise.
3146 (grub_bsd_elf64_hook): Likewise.
3147 (grub_bsd_load_elf): Likewise.
3148
e73bb801
VS
31492012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
3152 if hash function is unavailable.
3153 (dec_stream_header): Likewise.
3154
e81db8b5
VS
31552012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
3158 filter state.
3159
d187a1c3
VS
31602012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Fix coreboot compilation.
3163
3164 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
3165 (grub_vga_text_init_real): ... this.
3166 (grub_vga_text_fini): Rename to ...
3167 (grub_vga_text_fini_real): ... this.
3168
91a05f64
VS
31692012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
3172
6af96df7
VS
31732012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/lib/legacy_parse.c: Support clear and testload.
3176
4d569e12
VS
31772012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
3180
073b57bb
VS
31812012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/fs/ext2.c: Experimental support for 64-bit.
3184
a706f4cc
VS
31852012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/net/tftp.c (ack): Fix endianness problem.
3188 (tftp_receive): Likewise.
3189 Reported by: Michael Davidsaver.
3190
e7850aa9
VS
31912012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * gentpl.py: Make mans depend on grub-mkconfig_lib.
3194
31952012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
3198 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
3199 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
3200
35692881
VS
32012012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
3204 efi_mmap_size.
3205 Reported by: Stuart Hayes.
3206
c35fc5bd
VS
32072012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
3210
3211 * grub-core/Makefile.core.def (mda_text): New module.
3212 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
3213 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
3214 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
3215 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
3216 here.
3217 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
3218 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
3219 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
3220 here.
3221 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
3222 to ..
3223 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
3224 ... here
3225 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
3226 here.
3227 * grub-core/term/i386/vga_common.c: Removed.
3228 * include/grub/i386/vga_common.h: Likewise.
3229 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
3230 (grub_vga_cr_bw_read): Likewise.
3231 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
3232 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
3233 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
3234 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
3235 grub_vga_cr_read/grub_vga_cr_write.
3236 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
3237
5f91f701
VS
32382012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * configure.ac: Bump version to 2.00.
3241 * grub-core/normal/main.c (features): Add feature_200_final.
3242
0c4f85f6
VS
32432012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
32442012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
3245
3246 * NEWS: Fix unclarity and language mistakes.
3247
f923ad22
VS
32482012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
3251 additional size to 3 pages.
3252 Reported by: Stuart Hayes.
3253
d22029ba
VS
32542012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * NEWS: Add 2.00 entry.
3257
58eee08f
VS
32582012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
3261 put explicit "/" for empty path.
3262 (wildcard_expand): Improve dprintf.
3263
c59bdff7
VS
32642012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
3267 it's equal to currnode. This can happen with "" symlink.
3268
5e6a440a
YB
32692012-06-27 Yves Blusseau <blusseau@zetam.org>
3270
3271 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
3272 echo shell command by printf command.
3273
73a68bcb
VS
32742012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
3277 the value returned by firmware is the maximal position, not diumension.
3278 (grub_terminfo_output_state): Use a more sane fallback.
3279
392a603b
VS
32802012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
3283
42d0867f
VS
32842012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
3287 frequency to 150 MHz.
3288
489509f4
VS
32892012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Apple fixes.
3292
3293 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
3294 __APPLE_
3295 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
3296 definition.
3297 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
3298
9f3fc883
VS
32992012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 Handle slash in HFS label.
3302
3303 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
3304 (grub_hfs_dir): Tanslate slash.
3305 (grub_hfs_label): Don't translate slash.
3306
54853fd7
VS
33072012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
3310 network protocol listing since it introduces problematic dependency on
3311 net module.
3312
4dc02ddf
VS
33132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
3316
c50c867d
VS
33172012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Init video early on yeeloong to avoid being rebooted by watchdog.
3320
3321 * grub-core/Makefile.am (gensm712): New target.
3322 (sm712_start.S): Likewise.
3323 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
3324 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
3325 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
3326 description.
3327 * include/grub/vga.h: Move registry definitions to...
3328 * include/grub/vgaregs.h: ... here.
3329
5f92c8a1
VS
33302012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
3333 signedness.
3334
e9e6f111
VS
33352012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
3338 platforms with firmware disk drivers in the core.
3339
754ad9eb
VS
33402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
3343 informative verbose message.
3344 (read_lv): Handle 64-bit segment size.
3345
315654c2
VS
33462012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
3349
fb022c79
VS
33502012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
3353 character but still remove trainling spaces.
3354 (grub_fat_label): Ignore archive flag.
3355
8645f72c
VS
33562012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
3359 cast between linux_kernel_header and linux_kernel_params.
3360
36498496
VS
33612012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
3364 type for size.
3365 (grub_raid6_recover_func_t): Likewise.
3366 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
3367 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3368
0b5ea6b8
VS
33692012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
3372
650cfcfe
GS
33732012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3374
3375 Fix overflow.
3376
3377 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
3378 [__NetBSD__]: Add explicit cast before bitshift.
3379
8a4d6a44
VS
33802012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * configure.ac: Bump to 2.00~rc1.
3383
2fb97ed3
VS
33842012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
3387 half of $a0.
3388
1fa097dc
VS
33892012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
33902012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
3391
3392 * docs/grub.texi: Fix search syntax.
3393 (Multi-boot manual config): Put msdos rather than GPT example.
3394 Grammar corrections.
3395
c890ba78
VS
33962012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
3399
0f92dca7
VS
34002012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
3403
3988c4a0
VS
34042012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
3407 message on double free. Put the value of magic in case of mismatch.
3408
9e86d4c5
VS
34092012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 Speed-up video on yeeloong.
3412
3413 * grub-core/video/sm712.c (framebuffer): Remove render_target and
3414 add cached_ptr.
3415 (grub_video_sm712_video_fini): Unmap cached_ptr.
3416 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
3417 (grub_video_sm712_set_active_render_target): Removed.
3418 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3419 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
3420 sync caches.
3421
ed24c312
VS
34222012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 Avoid flushing the same line multiple times on loongson.
3425
3426 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
3427 Step in 32 bytes and not 1 byte.
3428 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
3429 Likewise.
3430
d1718e7d
VS
34312012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
3434 subvolumes.
3435
982f1909
VS
34362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 Implement flow control for http.
3439
3440 * grub-core/net/http.c (parse_line): Handle response 206.
3441 (http_receive): Stall if too many packets are in the queue.
3442 (http_establish): Fix range header.
3443 (http_seek): Fix double free.
3444 (http_close): Likewise.
3445 (http_packets_pulled): New function.
3446 (grub_http_protocol): Set http_seek
3447 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
3448 (ack_real): Set window depending on i_stall.
3449 (grub_net_send_tcp_packet): Likewise.
3450 (grub_net_tcp_stall): New function.
3451 (grub_net_tcp_unstall): Likewise.
3452 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
3453 (grub_net_tcp_unstall): Likewise.
3454
bd407d6e
VS
34552012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/net/tftp.c: Decrease stall to 50 packets.
3458
c7564b8e
VS
34592012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
3462
a3706162
VS
34632012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * tests/util/grub-shell.in: Fix a typo.
3466
b27069e0
VS
34672012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Implement flow control for tftp.
3470
3471 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
3472 packets but stop only if stop condition is satisfied.
3473 (grub_net_fs_read_real): Call packets_pulled after real read. Use
3474 `stall' instead of `eof' as stop condition.
3475 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
3476 (http_err): Likewise.
3477 * grub-core/net/tftp.c (ack): Replace the first argument with data
3478 instead of socket.
3479 (tftp_receive): Stall if too many packets are in wait queue.
3480 (tftp_packets_pulled): New function.
3481 (grub_tftp_protocol): Set packets_pulled.
3482 * include/grub/net.h (grub_net_packets): New field count.
3483 (grub_net_put_packet): Increment count.
3484 (grub_net_remove_packet): Likewise.
3485 (grub_net_app_protocol): New field `packets_pulled'.
3486 (grub_net): New field `stall'.
3487
6b9cfac6
VS
34882012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
3491 sync part to handle them.
3492
f35abd81
VS
34932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
3496 * grub-core/net/drivers/ieee1275/ofnet.c
3497 (grub_ieee1275_net_config_real): Likewise.
3498
0e7ec820
VS
34992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
3502 the direct route for server/gateway.
3503
9d611a31
VS
35042012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
3507 IP address to server name since we may not hame the DNS.
3508
418f45ab
VS
35092012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
3512 freeing random buffer on failure.
3513 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
3514
44a0efc1
VS
35152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
3518
531e2241
VS
35192012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
3522 reserved bytes.
3523 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
3524 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
3525 Handle malloc error correctly.
3526
cde393c9
VS
35272012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3530 blocks.
3531
538478d0
VS
35322012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
3535 increment.
3536
9b55efe0
VS
35372012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
3540 none is explicitly specified.
3541
9eb832c3
VS
35422012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
3545 while reallocating.
3546
d6b7c7c9
VS
35472012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 Respect netmask from bootp/dhcp.
3550
3551 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
3552 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
3553 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
3554 into ...
3555 (grub_net_add_ipv4_local): ... this.
3556 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
3557 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
3558 (grub_net_add_ipv4_local): New proto.
3559
67caf9eb
VS
35602012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
3563 determining EFI memory map size.
3564
43657558
VS
35652012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
3568
eb6d0dd3
VS
35692012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
3572 when looking for partition separator.
3573
31230544
VS
35742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3577 Escape commas.
3578
918a2517
VS
35792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Restructure FAT driver to avoid hook in label reading as it hits a
3582 GCC bug.
3583
3584 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
3585 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
3586 (grub_fat_iterate_dir): Split into ...
3587 (grub_fat_iterate_init): ... this, ...
3588 (grub_fat_iterate_fini): ... this, ...
3589 (grub_fat_iterate_dir_next): ... and this. All users updated.
3590
9f1d654e
VS
35912012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3594 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
3595 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3596 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
3597 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
3598 New fields last_key and last_key_time.
3599 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
3600 extended key-esc into extended key-extended key.
3601
52f0f643
VS
36022012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 Avoid unnecessary memcpy of whole video buffer.
3605
3606 * grub-core/video/fb/video_fb.c (dirty): New struct.
3607 (framebuffer): Add members current_dirty and previous_dirty.
3608 (dirty): New function.
3609 (grub_video_fb_fill_rect): Update dirty.
3610 (common_blitter): Likewise.
3611 (grub_video_fb_scroll): Likewise.
3612 (doublebuf_blit_update_screen): Copy only dirty part.
3613 (doublebuf_pageflipping_update_screen): Likewise.
3614 (grub_video_fb_doublebuf_blit_init): Init dirty.
3615 (doublebuf_pageflipping_init): Likewise.
3616 (grub_video_fb_setup): Likewise.
3617
e169a180
VS
36182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
3621 poll rate.
3622
48556879
VS
36232012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Fix wildcard regexp dot and other special characters handling.
3626 Reported by: Robert Mabee.
3627
3628 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
3629 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
3630 (split_path): Trigger expansion on '?'.
3631 (unescape): New function.
3632 (wildcard_expand): Unescape parts copied without globbing.
3633 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
3634 (grub_script_arglist_to_argv): Don't unescape expansions.
3635
0494408e
VS
36362012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * include/grub/net.h (grub_net_card): New member txbufsize.
3639 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
3640 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3641 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
3642 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
3643 txbufsize.
3644 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
3645 compatible property to check for macs. Set
3646 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
3647 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
3648 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
3649 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
3650 (send_card_buffer): Use txbuf.
3651 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
3652 nested function out of the parent while on it.
3653
cc35fe8f
VS
36542012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
3657 presence check.
3658 (grub_ieee1275_net_config_real): Fix config pointer.
3659
970a0a09
VS
36602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
3663 filename parsing to non-block devices.
3664
3e19bf87
VS
36652012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/kern/device.c (grub_device_open): Remove dead code.
3668
c62d1a0c
VS
36692012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
3672 All users updated.
3673
ef76bec3
VS
36742012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
3677 UUID search command even if hints probing failed.
3678
36792012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
3680
3681 * po/POTFILES.in: Regenerated.
3682
70aaf305
VS
36832012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Speed-up video on fuloong.
3686
3687 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
3688 New function.
3689 (grub_pci_device_unmap_range): Handle non-cached address.
3690 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
3691 add direct_ptr.
3692 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
3693 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
3694 (grub_video_sis315pro_set_active_render_target): Removed.
3695 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
3696 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
3697 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
3698 sync caches.
3699 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
3700 New proto.
3701
10400f0b
VS
37022012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * docs/grub.texi (Multi-boot manual config): New section.
3705
ba67e2c6
VS
37062012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 Avoid slow read-back from VRAM.
3709
3710 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3711 Move from here ...
3712 * grub-core/video/fb/video_fb.c
3713 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
3714 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
3715 (front_target): Remove front_target. Add pages.
3716 (grub_video_fb_init): Skip setting front_pages.
3717 (grub_video_fb_fini): Likewise.
3718 (doublebuf_blit_update_screen): Use pages.
3719 (grub_video_fb_doublebuf_blit_init): Likewise.
3720 (doublebuf_pageflipping_init): Allocate offscreen buffer.
3721 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
3722 (grub_video_fb_setup): Prefer doublebuffing.
3723
377c98cb
VS
37242012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
3727 gzio.
3728
eac49cff
VS
37292012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 Add loongson tests.
3732
3733 * tests/util/grub-shell.in: Handle loongson.
3734 * tests/partmap_test.in: Add loongson to the list of platform using ATA
3735 drivers.
3736 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
3737 Reboot instead of shutdown if REBOOT is defined.
3738
0321415e
VS
37392012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
3742 sized ports since unlike on real hardware qemu supports only 32-bit
3743 regs.
3744
3f2bdd8f
VS
37452012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * Makefile.util.def (grub-mkrescue): Enable on loongson.
3748 * util/grub-mkrescue.in: Handle loongson.
3749
29a049c9
VS
37502012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
3753 Set is_part appropriately.
3754 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
3755 names. Canonicalize partition without full disk.
3756
4abde346
VS
37572012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 Revert usb-quiesce since it's wrong.
3760
3761 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
3762 (grub_ofdisk_init): Don't do quiesce.
3763
61f1d93b
VS
37642012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
3767 PowerMac workaround to Xserves as well.
3768 Information supplied by: Benjamin Herrenschmidt.
3769
a09eb541
VS
37702012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 Don't assume that beginning address is also the entry point on ppc.
3773
3774 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
3775 (grub_linux_boot): Use linux_entry.
3776 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
3777 (grub_linux_load64): Likewise.
3778
505b3c9b
VS
37792012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
3782
cbe0b4ef
VS
37832012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
3786 needlessly lose the console.
3787
3006e981
VS
37882012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
3791 space.
3792
4e5a96b0
VS
37932012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3794
7da036bb
VS
3795 Remove non-functional EFI grub_get_rtc. Put a better fatal message
3796 than current grub_get_rtc() not implemented when booted with
3797 coreboot without TSC.
3798
3799 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
3800 Add machine/time.h to kernel headers on loongson.
3801 * grub-core/Makefile.core.def (kernel): Remove
3802 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
3803 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
3804 (grub_get_rtc): Likewise.
3805 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
3806 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
3807 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
3808 * grub-core/kern/i386/tsc.c (grub_tsc_init)
3809 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
3810 rather than installing known non-working time source.
3811 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
3812 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
3813 * include/grub/time.h: Don't include machine/time.h.
3814 * include/grub/efi/time.h: Removed.
3815 * include/grub/i386/efi/time.h: Likewise.
3816 * include/grub/i386/ieee1275/time.h: Likewise.
3817 * include/grub/powerpc/ieee1275/time.h: Likewise.
3818 * include/grub/sparc64/ieee1275/time.h: Likewise.
3819 * include/grub/x86_64/efi/time.h: Likewise.
3820
38212012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
3824
3825 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
3826 value.
3827 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
3828 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
3829 with dotless variants when any combining above is present.
3830
5561c22d
VS
38312012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
3834 text and not binary.
3835
96f7e60e
VS
38362012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 Stop polling as soon as we have the packet we were waiting for.
3839
3840 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
3841 All users updated.
3842 * grub-core/net/arp.c (have_pending): New var.
3843 (pending_req): Likewise.
3844 (grub_net_arp_send_request): Fill pending_req and use have_pending as
3845 stop indicator.
3846 (grub_net_arp_receive): Set have_pending.
3847 * grub-core/net/dns.c (recv_data): New field stop.
3848 (recv_hook): Set stop.
3849 (grub_net_dns_lookup): Init stop and use as stop condition.
3850 * grub-core/net/http.c (http_establish): Use headers_recv as stop
3851 condition.
3852 * grub-core/net/net.c (grub_net_poll_cards): New argument
3853 stop_condition. Stop when it goes true.
3854 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
3855 indicator.
3856 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
3857
3e747239
VS
38582012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 Keep TX and RX buffers on EFI rather than always allocate new ones.
3861
3862 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
3863 card. All users updated.
3864 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
3865 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
3866 (get_card_packet): Likewise.
3867 (grub_efinet_findcards): Init new fields.
3868
f695e99a
VS
38692012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
3872 compilation error on sparc64.
3873
9e5e66d1
VS
38742012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 Use ITC on IA64 rather than broken routine based on daytime.
3877
3878 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
3879 ia64.
3880 (grub_get_rtc) [__ia64__]: Likewise.
3881 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
3882 (get_itc): New function.
3883 (grub_rtc_get_time_ms): Likewise.
3884 (grub_machine_init): Calibrate ITC.
3885 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
3886 Keep only on non-ia64. Don't export since it's broken and used only
3887 if TSC is unavailable.
3888
a1767404
VS
38892012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
3892 even if it's used.
3893 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
3894 Skip if parent is unused.
3895
34b2bced
VS
38962012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
3899
5e619f40
VS
39002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Fix wildcard escaping.
3903
3904 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
3905 * grub-core/script/execute.c (wildcard_escape): .. to here.
3906 Don't escape dot.
3907 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
3908 * grub-core/script/execute.c (wildcard_unescape): .. to here.
3909 Don't escape dot.
3910 * grub-core/script/execute.c (gettext_append): Always escape.
3911 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
3912 * grub-core/script/yylex.l: Don't cut away the escaping.
3913 * tests/grub_script_echo1.in: Add tests with wildcard.
3914
c8ca5855
VS
39152012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
3918 (ftdi_hw_configure): Likewise.
3919 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
3920 define.
3921 (real_config): Handle 1.5 stop bits.
3922 (pl2303_hw_configure): Likewise.
3923
7183452c
VS
39242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * Makefile.am: Add ppc linux bootcheck.
3927 * grub-core/tests/boot/linux-ppc.cfg: New file.
3928 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
3929
f57c84cd
VS
39302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * tests/grub_script_expansion.in: Skip network protocols.
3933
ecfc6207
VS
39342012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
3937
8d03d284
VS
39382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
3941 --rom-directory.
3942 Add -graft-points.
3943
61c42af0
VS
39442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 ESCC serial driver for conducting sautomated tests in qemu.
3947 Not tested on real hardware.
3948
3949 * include/grub/serial.h (grub_serial_port): New field escc_desc.
3950 * grub-core/term/ieee1275/escc.c: New file.
3951 * grub-core/Makefile.core.def (escc): New module.
3952
08fd1291
VS
39532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
3956 invalid on error.
3957 (serial_hw_fetch): Don't read invalid handle.
3958 (serial_hw_put): Don't write into invalid handle.
3959
08dafeea
VS
39602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Add a 1.5 stop bits value.
3963
3964 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
3965 * include/grub/serial.h (grub_serial_stop_bits_t): Add
3966 GRUB_SERIAL_STOP_BITS_1_5.
3967
9068fdcf
VS
39682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
3971 value rather than let it uninited.
3972
f4d5820f
VS
39732012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/commands/wildcard.c (+check_file): New function.
3976 (wildcard_expand): Don't expand to non-existing files, expand with
3977 suffix and not attempt to expand if not needed.
3978
3d2de9a7
VS
39792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
3982 out of partitions containing other partitions.
3983
c5c81ff9
VS
39842012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
3987 on some qemu versions with GRUB.
3988
3989 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
3990 define.
3991 (grub_openbsd_bootarg_pcibios): New struct.
3992 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
3993 Add PCIINFO.
3994
08a14e0b
VS
39952012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * tests/util/grub-shell.in: Trim firmware output on EFI.
3998
cede3ca3
VS
39992012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
4002 and coreboot since it's already in kernel.
4003
558d3a60
VS
40042012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
4007 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
4008 to here. New return value start. All users updated.
4009 Recursively scan linear mappings.
4010 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
4011 proto.
4012 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
4013 Use grub_util_get_dm_node_linear_info.
4014 * util/getroot.c (convert_system_partition_to_system_disk): Use
4015 grub_util_info rather than grub_dprintf.
4016 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
4017
60fde14d
VS
40182012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
4021
4022 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
4023 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
4024
24bd8838
VS
40252012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * include/grub/types.h (grub_set_unaligned64): New function.
4028 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
4029 (setup): Likewise.
4030
7bc06a49
VS
40312012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
4034 (grub_ofdisk_fini): Quiesce USB devices.
4035
49cea015
VS
40362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
4039 caches.
4040
8dcbe03b
VS
40412012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
4044
5b258735
VS
40452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/disk/pata.c (grub_pata_pio_read)
4048 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
4049 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4050
37ba07eb
VS
40512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 Extend automated tests to qemu-mips.
4054
4055 * Makefile.am: reorganise tests and enable qemu-mips.
4056 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
4057 * grub-core/tests/boot/linux.init-mips.S: New file.
4058 * tests/partmap_test.in: Handle ata0 disks.
4059 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
4060 non-pc i386.
4061
070038f8
VS
40622012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
4065 ia64.
4066 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
4067 quotes while on it.
4068
004be2cd
VS
40692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
4072 (grub_halt): Likewise.
4073 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
4074
b1622487
VS
40752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * grub-core/term/serial.c (grub_serial_register)
4078 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
4079 the behaviour in line with x86 platforms.
4080
b7b4ab33
VS
40812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
4084 (grub_ata_strncpy): Likewise.
4085 (grub_ata_identify): Add missing byteswaps.
4086
5e3535ae
VS
40872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
4090 byte-swap.
4091 (screen_read_char): Likewise.
4092 (grub_vga_text_cls): Likewise.
4093
c21b17e6
VS
40942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
4097 filenames.
4098 (make_file_path): Likewise.
4099
bf293dec
VS
41002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
4103 machines.
4104 Tested by: Paulo Flabiano Smorigo.
4105 Crucial information about API supplied by: Coleen <Last name unknown>.
4106 Reviewed by: Coleen <Last name unknown>.
4107
81f6ef0e
VS
41082012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * util/grub-mkimage.c: Disable -Wcast-align.
4111
7284143a
VS
41122012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
4115 as they are fatal.
4116
b99f3e00
VS
41172012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
4120
944f752d
VS
41212012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 * util/grub-probe.c (escape_of_path): Fix double free.
4124
6cce6f38
VS
41252012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/commands/videoinfo.c (hook): Show pitch.
4128
1e1eb50e
VS
41292012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * util/grub.d/20_linux_xen.in: Skip xen-syms.
4132
1c715b5a
VS
41332012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
4136 (probe): Add ieee1275 to OFW devices.
4137
007ae52d
VS
41382012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
4141
4557a36d
VS
41422012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Handle IBM OFW path.
4145
4146 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
4147 available.
4148 (of_path_of_scsi): Handle vdevice.
4149
efbeefe9
VS
41502012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
4153 Allocate in multiples of 16 to avoid adding a few bytes free region the
4154 windows bugs upon.
4155
15a940bb
VS
41562012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
4159 Allocate in multiples of 16 to avoid adding a few bytes free region the
4160 windows bugs upon.
4161 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
4162
6e5efd60
VS
41632012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
4166 resolutions.
4167 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
4168 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
4169
0d3d137e
IS
41702012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
4171
4172 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
4173
45dbe300
VS
41742012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
4177 resulted in \\ at the end of the line.
4178
6d8db947
VS
41792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
4182 (grub_parser_cmdline_state): Likewise.
4183 (grub_parser_split_cmdline): Likewise.
4184
de89d338
VS
41852012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
4188 /dev/root and /dev/dm-*.
4189
00d41dee
VS
41902012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
4193 fix partially stale display.
4194
f95d1f11
VS
41952012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * grub-core/normal/menu_entry.c (backward_char): Use right line for
4198 substraction.
4199
6297e197
VS
42002012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
4203 Fix MBR remapping workaround.
4204 (grub_util_biosdisk_read) [__linux__]: Likewise.
4205
8a7ecad3
VS
42062012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * util/grub-install.in: Check for ieee1275 and not ieee1276.
4209
2b34f944
VS
42102012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * configure.ac: Bump to beta6.
4213
684aef11
CW
42142012-05-31 Christer Weinigel <christer@weinigel.se>
4215
4216 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
4217
05b0bb91
VS
42182012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
4221 (grub_cmd_linux): Likewise.
4222
bda36bfa
CW
42232012-05-31 Christer Weinigel <christer@weinigel.se>
4224
4225 Fix EHCI low-speed.
4226
4227 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
4228 (GRUB_EHCI_MULT_TWO): Likewise.
4229 (GRUB_EHCI_MULT_THREE): Likewise.
4230 (GRUB_EHCI_CMASK_MASK): New enum value.
4231 (GRUB_EHCI_SMASK_MASK): Likewise.
4232 (GRUB_EHCI_CMASK_OFF): Likewise.
4233 (GRUB_EHCI_SMASK_OFF): Likewise.
4234 (grub_ehci_pci_iter): Enable periodic schedule.
4235 (grub_ehci_parse_notrun): Likewise.
4236 (grub_ehci_restore_hw): Likewise.
4237 (grub_ehci_setup_qh): Set flags for low speed transfers.
4238 (grub_ehci_find_qh): Use periodic list for low speed.
4239 (grub_ehci_setup_transfer): Check periodic queue as well.
4240 (grub_ehci_check_transfer): Likewise.
4241 (grub_ehci_cancel_transfer): Cancel periodic transfer.
4242
e12bcb1c
PFS
42432012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4244
4245 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
4246 parameter is used.
4247
bcc75fb3
PJ
42482012-05-31 Peter Jones <pjones@redhat.com>
4249
4250 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
4251 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
4252 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
4253
f19cb95e
VS
42542012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
4257 uninited variable. Allocate at least setup_sects.
4258
a4e5ca80
VS
42592012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 Fix handling of EFI with big memory maps.
4262
4263 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
4264 (real_mode_mem): Likewise.
4265 (real_mode_target): Likewise.
4266 (real_mode_pages): Likewise.
4267 (prot_mode_pages): Likewise.
4268 (linux_params): New var.
4269 (linux_cmdline): Likewise.
4270 (free_pages): Don't set real mode variables.
4271 (allocate_pages): Don't allocate real mode memory.
4272 (grub_e820_add_region): Remove the limit.
4273 (grub_linux_boot): Allocate and copy real mode memory.
4274 (grub_linux_unload): Free linux_cmdline.
4275 (grub_cmd_linux): Use temporary storage for parameters.
4276 (grub_cmd_initrd): Likewise.
4277 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
4278 (linux_kernel_params): Make it 1K big.
4279
ddb73558
VS
42802012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * Makefile.util.def: Remove -Wno-format.
4283 * grub-core/Makefile.core.def: Likewise.
4284
1c4afb60
VS
42852012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * tests/cmp_unit_test.c: Add missing failure message.
4288 * tests/example_unit_test.c: Likewise.
4289 * tests/printf_unit_test.c: Likewise.
4290
941e3a6d
VS
42912012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
4294 relaxation of protective MBR requirements.
4295
b105df76
VS
42962012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * configure.ac: Add condition for COND_HOST_XNU.
4299 * Makefile.util.def (10_xnu): New script.
4300 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
4301
84e1569e
VS
43022012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
4305 objconv bug.
4306
130c0f77
VS
43072012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
4310 Binary on other platforms stays identical.
4311
6fd0b143
VS
43122012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
4315 Apple.
4316
0af1751d
VS
43172012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
4320
176d5f7d
VS
43212012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
4324 rather than defining size_t ourselves to avoid conflict.
4325
7de5e20a
VS
43262012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
4329 initialisation to avoid __bzero reference.
4330
f7143efe
VS
43312012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
4334 version.
4335 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
4336 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
4337 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
4338 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
4339 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
4340
e6ad0555
VS
43412012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
4344 * grub-core/kern/misc.c: Likewise.
4345 * grub-core/loader/i386/xnu.c: Likewise.
4346 * include/grub/i386/tsc.h: Likewise.
4347 * include/grub/symbol.h: Likewise.
4348
4a5a3c4a
VS
43492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
4352 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
4353 on older compiler.
4354
037f6d90
VS
43552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
4358 Implement Apple flavour.
4359 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
4360
f7194551
VS
43612012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
4364 (memmove) [__APPLE__]: Likewise.
4365 (memcpy) [__APPLE__]: Likewise.
4366 (memset) [__APPLE__]: Likewise.
4367 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
4368 (memmove) [__APPLE__]: Likewise.
4369 (memcpy) [__APPLE__]: Likewise.
4370 (memset) [__APPLE__]: Likewise.
4371
85a730ca
VS
43722012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
4375 dependency discard.
4376
40e80b94
VS
43772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * grub-core/normal/main.c (read_config_file): Provide config_file and
4380 config_directory.
4381 * util/grub.d/41_custom.in: Use config_directoy when available.
4382
9da59c32
VS
43832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
4386 (grub_bfs_dir): Likewise.
4387
2787ae53
PJ
43882012-05-27 Peter Jones <pjones@redhat.com>
4389
4390 The old code gives arguments to a printf function which can't work
4391 correctly, and the compiler complains.
4392
4393 * grub-core/tests/example_functional_test.c (example_test): Add
4394 missing text.
4395 * grub-core/tests/lib/test.c (add_failure): Rewrite.
4396 * include/grub/test.h (grub_test_assert_helper): New declaration.
4397 (grub_test_assert): Use grub_test_assert_helper.
4398
526ef13d
VS
43992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
4402 (exfctest): ... this to avoid overlong filenames.
4403 All users updated.
4404
20dd511c
VS
44052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 Handle "." and ".." on squashfs.
4408
4409 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
4410 Make inode numbers into stack.
4411 (grub_squash_read_symlink): Use stack.
4412 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
4413 (make_root_node): Fill stack.
4414 (grub_squash_open): Use stack.
4415
1d80c62a
VS
44162012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
4419 freeing.
4420
d336f652
VS
44212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
4424 stderr on test calls.
4425
8b43f587
VS
44262012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
4429
80a3dc3f
VS
44302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
4433
47e297d4
VS
44342012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
4437 "..".
4438
df042ccb
VS
44392012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
4442 (grub_hfsplus_iterate_dir): Add "." and "..".
4443
fc977f48
VS
44442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * grub-core/fs/cpio.c (canonicalize): Handle "..".
4447 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
4448
f3250e5f
VS
44492012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
4452 (find_path): Handle "." and "..".
4453
fd8ed4c5
VS
44542012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
4457 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
4458 (grub_affs_iterate_dir): Handle hardlinks.
4459
4ce776d2
MG
44602012-05-26 Matthew Garrett <mjg@redhat.com>
4461
4462 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
4463 (grub_efi_console_fini): Likewise.
4464 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
4465 (grub_video_gop_fill_mode_info): Rename to ...
4466 (grub_video_gop_fill_real_mode_info): ... this.
4467 (grub_video_gop_fill_mode_info): New function.
4468 (grub_video_gop_setup): Setup double framebuffer.
4469 (grub_video_gop_get_info_and_fini): Use original framebuffer.
4470 Free offscreen.
4471 (grub_video_gop_swap_buffers): Copy framebuffer.
4472 (grub_video_gop_fini): Free offscreen buffer.
4473 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
4474 New enum.
4475 (grub_efi_gop_blt_pixel): New struct.
4476
683031ba
VS
44772012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * gentpl.py: Remove error disabling for objconv.
4480
c2deb798
VS
44812012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * configure.ac: Remove -Wunitialized as it's not available on older
4484 compilers.
4485
44862012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
4487
4488 Fix extent overflow comparator.
4489
4490 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
4491 (grub_hfsplus_read_block): Set type.
4492 (grub_hfsplus_cmp_extkey): Compare type.
4493
d6b1fd36
VS
44942012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
4497
0a9aa0f6
VS
44982012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
4501 than 0.
4502
8360e159
VS
45032012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
4506 (dejavu_bold_14.pf2): New target.
4507
501b9e4b
VS
45082012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * configure.ac: Fix djvu font detection.
4511
7026b0e2
VS
45122012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
4515 ext* instead of ext2.
4516
c2a51ade
VS
45172012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
4520 name with \0.
4521
8f803a5d
JU
45222012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
4523
4524 * docs/grub-dev.texi: Remove dot from .png.
4525
13c6353f
VS
45262012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
4529 protective entry in any slot.
4530 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
4531 if protective entry is found in any slot.
4532
4533 Protective entry in non-first slot make no sense but is a widespread
4534 brain damage.
4535
4cf6be1b
VS
45362012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4537
4538 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
4539
937d1c44
VS
45402012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
4543 with old reiserfs.
4544 (grub_reiserfs_open): Don't free root.
4545
021d90ec
VS
45462012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
4549 after freeing for safety.
4550
967b2b64
VS
45512012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
4554 Reported by: Jordan Uggla.
4555
34274d02
JU
45562012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
4557
967b2b64
VS
4558 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
4559 actual implementation. Specifically, clarify that the grub menu will
4560 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
4561 passed.
34274d02 4562
dcaaae9d
BH
45632012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
4564
4565 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
4566 of r0.
4567
7086ad52
VS
45682012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 Remove unjustified hard dependency of normal.mod on gfxterm.
4571
4572 * include/grub/term.h (grub_term_output): New member fullscreen.
4573 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
4574 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
4575 (grub_gfxterm): Set .fullscreen.
4576 * grub-core/normal/menu.c (menu_init): Use fullscreen.
4577 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
4578
37ed2c9b
VS
45792012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
4582 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 4583 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 4584
a4469c88
VS
45852012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
4588
4e461486
VS
45892012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4592 a bad FS.
4593
aa78f5c4
VS
45942012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
4597 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
4598
197626b5
VS
45992012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
4602 (grub_jfs_mount): Fill caseins.
4603 (grub_jfs_find_file): Respect caseins.
4604
8ad3f28c
VS
46052012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
4608 through UTF-16.
4609
0c6c324e
VS
46102012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
4613 New argument origpath. All users updated.
4614
c6666ba6
VS
46152012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
4618 (read_attr): Ensure that we read start of possibly compressed block.
4619
e28e5fe5
VS
46202012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
4623 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
4624 All users updated.
4625
5fc23ab2
VS
46262012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
4629 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
4630 (dejavu.pf2): Replace with ...
4631 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
4632 this.
4633
79dbc21c
VS
46342012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * util/grub.d/20_linux_xen.in: Add missing line.
4637
d2fcfb0c
VS
46382012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
4641 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
4642 (grub_utf16_to_utf8): Likewise.
4643
5560e9d6
VS
46442012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
4647 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
4648 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4649 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
4650 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4651 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
4652
46532012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
4654
4655 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
4656 a bad FS.
4657
5560e9d6 46582012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
4659
4660 * grub-core/fs/udf.c (read_string): Bail out on size=0.
4661 (grub_udf_read_symlink): Handle read_string failure.
4662
5eae3175
VS
46632012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
4666 comment.
4667
c1ad82db
VS
46682012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Fix handling of UDF symlinks.
4671
4672 * grub-core/fs/udf.c (read_string): New argument outbuf.
4673 All users updated.
4674 (grub_ufs_read_symlink): Rename to ...
4675 (grub_udf_read_symlink): ... this. All users updated.
4676 Handle symlinks with more than one component.
4677
33eca6e0
VS
46782012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
4681 symlinks. Replace leading colon with a slash.
4682
57f4a70b
VS
46832012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
4686 filename.
4687
38c8ee20
VS
46882012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
4691 match in inner node.
4692
2e57f28f
VS
46932012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
4696 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
4697 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
4698 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
4699 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
4700 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
4701 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
4702 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
4703 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
4704
fe8c2f11
VS
47052012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 Use grub-probe and not cmp to check that disk is empty.
4708
4709 * util/grub-install.in: Use grub-probe for zero-check.
4710 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
4711 (probe): Handle PRINT_ZERO_CHECK.
4712 (argp_parser): Handle -t zero_check.
4713
47142012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
4715
4716 Flush block cache on adding disk to device map.
4717
4718 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
4719 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
4720 adding.
4721 (read_device_map): Likewise.
4722 (open_device): Flush on opening.
4723
690434e8
VS
47242012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
4727 (handle_symlink): Fix off-by-one error.
4728 Canonicalize the target.
4729 (grub_cpio_dir): Canonicalize the name.
4730 Fix memory leak.
4731 Set directory.
4732 (grub_cpio_open): Canonicalize the name.
4733
742d2be6
VS
47342012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
4737 handling.
4738
3244fe96
VS
47392012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
4742 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
4743
8aeb1837
VS
47442012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
4747 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 4748 All users updated.
8aeb1837 4749
9133fd05
VS
47502012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
4753 counterpart.
4754
6d521c5b
VS
47552012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 Fix UFS1 big file support.
4758
4759 * grub-core/fs/ufs.c (INODE): Removed.
4760 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
4761 64-bit.
4762 (INODE_MODE): Simplify.
4763 (grub_ufs_inode): Use uint64_t for size and not int64_t.
4764 (grub_ufs_lookup_symlink): Don't use INODE.
4765
21b82e17
VS
47662012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 Fix minixfs with non-power-of-two blocks since it's supported by minix.
4769
4770 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
4771 (grub_minix_data): Replace log_block_size with block_size.
4772 (grub_minix_read_file): Use block_size but avoid 64-bit division.
4773 (grub_minix_mount): Fill block_size.
4774
47752012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
4776
4777 * configure.ac: Bump to beta5.
4778
f417ed04
VS
47792012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Fix wrapped HFS+ handling.
4782
4783 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
4784 blocks_start. All users updated.
4785 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
4786 wrapping offset.
4787 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
4788
607d282b
VS
47892012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Fix long symlinks on reiserfs.
4792
4793 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
4794 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
4795 (grub_reiserfs_iterate_dir): Save size for non-directories.
4796 (grub_reiserfs_open): Don't reread stat block as we already know the
4797 size.
4798 (grub_reiserfs_read): Split into...
4799 (grub_reiserfs_read_real): ... and ...
4800 (grub_reiserfs_read): ...this.
4801
ae16024d
VS
48022012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Fix non-indexed JFS.
4805
4806 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
4807 (grub_jfs_data): New field namecomponentlen.
4808 (grub_jfs_mount): Fill namecomponentlen.
4809 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
4810
eea1e26e
VS
48112012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
4814 * tests/grub_script_echo1.in: Add tests.
4815
df760f77
VS
48162012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * util/grub-install.in: Ignore empty devicetree directory.
4819
5efb817d
B
48202012-05-08 Bean <bean123ch@gmail.com>
4821
4822 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
4823 All users updated.
4824 (free_rsm): Free header as well.
4825 (free_old_fragments): Fix memory leak.
4826 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
4827 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
4828 (destroy_pq): Likewise.
4829 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
4830
668ea6d2
VS
48312012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
4834 resulting hash as a precaution.
4835
1739b1fe
VS
48362012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
4839 '_' in variable names.
4840 * grub-core/net/net.c (grub_net_network_level_interface_register):
4841 Likewise.
4842
6ae485aa
VS
48432012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 Fix AFFS with non-512B blocks.
4846
4847 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
4848 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
4849 (grub_affs_data): Replace blocksize with log_blocksize.
4850 (grub_affs_read_block): Fix non-512B blocks.
4851 (grub_affs_read_symlink): Likewise.
4852 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
4853 (grub_affs_read): Fix non-512B blocks.
4854 (grub_affs_label): Likewise.
4855 (grub_affs_mtime): Likewise.
4856 (grub_affs_mount): Fix block detection routine.
4857
d20fab84
VS
48582012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Add filesystem mtime to AFFS.
4861
4862 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
4863 (aftime2ctime): New function.
4864 (grub_affs_dir): Use aftime2ctime.
4865 (grub_affs_label): Fix return value.
4866 (grub_affs_mtime): New function.
4867 (grub_affs_fs): Add mtime.
4868
e87b10f5
VS
48692012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
4872 UTF-8.
4873
7dceec9b
VS
48742012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
4877 UTF-8.
4878
2f48221f
VS
48792012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
4882
dacd85cf
VS
48832012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
4886 flags.
4887 (FLAGS_CASE_SENSITIVE): New enum value.
4888 (cache_entry): New struct.
4889 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
4890 cache_size and cache.
4891 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
4892 Add log_blocksize and fshelp_flags.
4893 (grub_sfs_read_extent): Handle non-512 blocks.
4894 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
4895 (grub_sfs_read_file): Handle non-512 blocks.
4896 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
4897 fshelp_flags.
4898 (grub_sfs_read_symlink): Handle non-512 blocks.
4899 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
4900 (grub_sfs_dir): Free cache.
4901 (grub_sfs_close): Likewise.
4902
24e9a854
VS
49032012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4904
4905 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
4906 filesystems.
4907
62ace64d
VS
49082012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
4911
83b2e89c
VS
49122012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
4915
75ccaea3
VS
49162012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
4919 (grub_sfs_read_extent): Likewise.
4920 (grub_sfs_read_block): Likewise.
4921 (grub_sfs_mount): Likewise.
4922 (grub_sfs_iterate_dir): Likewise.
4923 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
4924 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
4925
1b8463f2
VS
49262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Fix errors on compressed NTFS with 512B clusters.
4929
4930 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
4931 types.
4932 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
4933 not 0.
4934 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
4935 Relax check for inline extents.
4936 (ntfscomp): Return correct -1 on error and not 0.
4937
4f8e368f
VS
49382012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * util/grub-install.in: Fix handling of prefix containing spaces.
4941
6f5d5ee8
VS
49422012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
4945 (grub_squash_read_data): Fix offset byte-swapping.
4946
ce41ab7a
VS
49472012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
4950 per common usage and preffered in several parts of code.
4951 (grub_memcmp): Likewise.
4952 (grub_strncmp): Likewise.
4953 * include/grub/misc.h (grub_strcasecmp): Likewise.
4954 (grub_strncasecmp): Likewise.
4955 * Makefile.util.def (cmp_test): New test.
4956 (grub_script_strcmp): Likewise.
4957 * tests/cmp_unit_test.c: New file.
4958 * tests/grub_script_strcmp.in: Likewise.
4959 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
4960
49717bf4
VS
49612012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * include/grub/pci.h: Move enums into no-asm part.
4964
0a308f64
VS
49652012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4968
1796965f
ST
49692012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4970
4971 * util/getroot.c (find_hurd_root_device): Try to make error message
4972 and comments to translators clearer.
4973
4e9b2819
VS
49742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4977
076aeb50
VS
49782012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
4981 btrfs.
4982
19424d94
VS
49832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * docs/grub.cfg: Update.
4986
ebb73076
VS
49872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * docs/grub.texi (PXE): Remove not present variables.
4990
9a1b669c
VS
49912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/net/net.c (defserver_set_env): New function.
4994 (defserver_get_env): Likewise.
4995 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
4996
d38bf7d3
VS
49972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
5000 entries.
5001
50022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
5003
5004 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
5005 * grub-core/kern/emu/hostdisk.c: Likewise.
5006
e5e4ca48
ST
50072012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5008
5009 Handle hurd userspace partitions.
5010
5011 * util/getroot.c (find_hurd_root_device): New function.
5012 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
5013
56bb5dd5
VS
50142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
5017 names.
5018 Reported by: Bastian Blank.
5019
9e8bc27a
VS
50202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
5023 crossing page boundary.
5024
aa01499d
VS
50252012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 Fix B-tree search in BFS, especially in presence of non-ASCII
5028 characters.
5029
5030 * grub-core/fs/bfs.c (bfs_strcmp): New function.
5031 (find_in_b_tree): Use standard bsearch + btree algorithm.
5032
57006035
VS
50332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
5036 and so on.
5037
9d34bb85
MG
50382012-05-03 Matthew Garrett <mjg@redhat.com>
50392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 Suspend broadcom cards in order to stop their DMA.
5042
5043 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
5044 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
5045 (pci): Don't build on x86 EFI.
5046 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
5047 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
5048 New function.
5049 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
5050 stop_broadcom if running on EFI.
5051 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
5052 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
5053 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
5054 (grub_pci_find_capability): New proto.
5055
01aab997
VS
50562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * docs/grub.texi: Remove dot from the extension as it apparently
5059 doesn't work with some makeinfo versions.
5060
fbd8dca6
VS
50612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
5064 with GRUB expectance.
5065
dab797f4
VS
50662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
5069
1516bfb4
VS
50702012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
5073 zero after directory block since last entry may be not 0-terminated if
5074 it ends on block boundary. Use continue instead of if spanning whole
5075 loop.
5076
a3a0eace
VS
50772012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 Support 4K sectors UDF inline files.
5080
5081 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
5082 (grub_udf_extended_file_entry): Likewise.
5083 (grub_fshelp_node): Name the anonymous union. Put block at the end.
5084 All users updated.
5085 (get_fshelp_size): New function.
5086 (grub_udf_read_icb): Read whole block.
5087 (grub_udf_iterate_dir): Likewise.
5088 (grub_udf_dir): Likewise.
5089 (grub_udf_open): Likewise.
5090
c82f16c1
VS
50912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
5094
59fd2aac
VS
50952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
5098 inline symlinks in addition to workaround.
5099
3b4afb4d
VS
51002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
5103
f45c794a
VS
51042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
5107
f25cecbd
VS
51082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
5111
bb9a34e8
VS
51122012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 Fix reiserfs big seek times.
5115
5116 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
5117 exact. All users updated.
5118 (grub_reiserfs_read): Use nearest btree search for seeking.
5119 Fix return value on error.
5120
dc478aea
VS
51212012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
5124 entries.
5125 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
5126 * docs/grub.texi: Update menuentry description.
5127
8db10f47
VS
51282012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
5131 crash when embedding onto filesystem.
5132
bcb288ed
VS
51332012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
5136 name.
5137
a626fdd7
VS
51382012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
5141
b2f68477
VS
51422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
5145 commit.
5146
ba15b2af
B
51472012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
51482012-05-01 Bean <bean123ch@gmail.com>
5149
5150 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
5151
a188012e
VS
51522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
5155 Special behaviour for len = 0 to read whole file isn't used anywhere and
5156 can cause buffer ovewrflows in several places.
5157
f0a53ed2
VS
51582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
5161
5ed554f0
VS
51622012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 Handle RAIDZ on non-512B sectors.
5165
5166 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
5167 max_children_ashift.
5168 (fill_vdev_info_real): Fill max_children_ashift.
5169 (read_device): Use max_children_ashift.
5170
ddc58357
VS
51712012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
5174
e3282399
VS
51752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
5178 disk names.
5179 * docs/grub.texi: Update device.map parts.
5180
ee618bd4
VS
51812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 Don't scan into non-diskfilter devices having diskfilter names.
5184
5185 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
5186 (scan_disk): New argument accept_diskfilter. Fix recursion depth
5187 handling.
5188 (scan_disk_hook): New function.
5189
bdf88864
B
51902012-04-29 Bean <bean123ch@gmail.com>
5191
5192 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
5193 allocation.
5194
32745f51
MK
51952012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
5196
5197 * configure.ac: Detect starfield theme font path
5198 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
5199
bc95c8c0
VS
52002012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
5203 geometry on serial consoles.
5204
147fbcab
VS
52052012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
5208 because of network consoles.
5209
0f42c889
VS
52102012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
5213 handling.
5214
4a3594c9
VS
52152012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
5218 falls on Q syndrom.
5219
5cb53879
VS
52202012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
5223 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
5224
b282dfe5
VS
52252012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
5228 Allocate at lest 8192 for temporary buffer as required for lzo.
5229
daa59f47
VS
52302012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
5233 to cluster_bits, since it's already added in.
5234 (grub_fat_read_data): Likewise.
5235
986748ce
VS
52362012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
5239 as long as cluster size is multiple of 512 bytes.
5240
a20f6ad0
VS
52412012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * util/grub-mkrescue.in: Fix locale directory.
5244
385f9abb
VS
52452012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/kern/emu/hostdisk.c (map): Make static.
5248
1c557d30
B
52492012-04-23 Bean <bean123ch@gmail.com>
5250
5251 * util/grub-fstest.c (fstest): Add missing break.
5252
524b5d3a
ST
52532012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
5254
5255 Fix hurd build.
5256
5257 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
5258 not define nr variable.
fe4824e9 5259 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
5260 find_root_devices_from_poolname, find_root_devices_from_libzfs,
5261 grub_find_device): Do not define.
524b5d3a 5262
9a06490c
VS
52632012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 Fix kfreebsd compile and behaviour.
5266
5267 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
5268 format-security.
5269 * util/getroot.c: Fix wait.h include.
5270 (grub_guess_root_devices): Error if grub_find_device fails.
5271 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
5272 (grub_util_get_dev_abstraction): Likewise.
5273 (grub_util_pull_device): Likewise.
5274 (grub_util_get_grub_dev): Likewise.
5275 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
5276
48143d96
VS
52772012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 Fix and unify wholedisk detection.
5280
5281 * util/getroot.c (convert_system_partition_to_system_disk): New argument
5282 is_part. All users updated.
5283 (device_is_wholedisk): Removed.
5284 (grub_util_biosdisk_get_grub_dev): Use is_part.
5285
ebbd24f3
VS
52862012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
5289 mode.
5290
56f7aa1e
VS
52912012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * configure.ac: Bump to beta4.
5294
9c815e01
VS
52952012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
5298 --fs-uuid --set UUID syntax.
5299
59e2651a
VS
53002012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
5303 disunification.
5304
54e03cfc
VS
53052012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
5308
81092a75
MK
53092012-04-18 Mads Kiilerich <mads@kiilerich.com>
5310
5311 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
5312
f8315e14
MG
53132012-04-18 Mike Gilbert <floppym@gentoo.org>
5314
5315 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
5316
1501ac21
B
53172012-04-18 Bean <bean123ch@gmail.com>
5318
5319 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
5320 place.
5321
cb7f944e
VS
53222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
5325 users updated.
5326 (grub_util_biosdisk_read): Handle Linux partitions not exactly
5327 corresponding to GRUB partitions.
5328 (grub_util_biosdisk_write): Likewise.
5329
b72d44a1
VS
53302012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 Scan mdraid before LVM.
5333
5334 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
5335 (grub_diskfilter_register_front): ... this.
5336 (grub_diskfilter_register_back): New function.
5337 All users of grub_diskfilter_register updated.
5338
33d918b8
VS
53392012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * util/grub-install.in: Fix an automatic target detection bug.
5342
c6ca973d
VS
53432012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * util/grub-install.in: New option --efi-directory.
5346
b41be562
VS
53472012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
5350 boot services if we have no other choice.
5351
53522012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * util/grub-mknetdir.in: Rename --override-directory to --directory and
5355 document it.
5356 * tests/util/grub-shell.in: Update to --directory.
5357
e0595a73
VS
53582012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
5361
4ed80652
VS
53622012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
5365 (grub_minix_read_file): Likewise.
5366 (grub_minix_read_inode): Likewise.
5367 (grub_minix_find_file): Likewise.
5368 (grub_minix_dir): Likewise.
5369
56008077
VS
53702012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/grub-setup.c (setup): Fix partition handling and blocklist
5373 check.
5374
ee520775
VS
53752012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
5378 redundant buggy overlap check.
5379
16fc9293
VS
53802012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
5383 and grub-mknetdir.
5384
9bab65c4
VS
53852012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
5388 kh.loadflags on pre-2.00 kernels.
5389
3c491b47
VS
53902012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Terminate UNDI and PXE before launching the payload to avoid problems
5393 with DMA.
5394
5395 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
5396 (grub_loader_flags): ... this. All users updated.
5397 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
5398 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
5399 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
5400 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
5401 function.
5402 (grub_pxe_restore): Likewise.
5403 (fini_hnd): New var.
5404 (GRUB_MOD_INIT): Register shutdown hook.
5405 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
5406 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
5407 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
5408 (grub_loader_set): Rename second argument to flags.
5409
851ffada
VS
54102012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
5413 written bytes.
5414 (grub_get_num_of_utf8_bytes): New function.
5415 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
5416 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
5417 executing it.
5418 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
5419 (grub_ucs4_to_utf8): Change return type.
5420
491c57a8
VS
54212012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
5424 warning.
851ffada
VS
5425 * grub-core/fs/bfs.c (hop_level): Likewise.
5426 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 5427
756773df
VS
54282012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/lib/adler32.c: Recode due to license unclearness.
5431
fd556a96
VS
54322012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
5435 (test_header): Likewise.
5436
9f9d3f69
VS
54372012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5438
5439 Fix --help formatting.
5440
5441 * util/grub-mkconfig_lib.in (print_option_help): New function.
5442 (grub_fmt): Likewise.
5443 * util/grub-install.in: Use print_option_help and grub_fmt.
5444 * util/grub-kbdcomp.in: Likewise.
5445 * util/grub-mkconfig.in: Likewise.
5446 * util/grub-mknetdir.in: Likewise.
5447 * util/grub-mkrescue.in: Likewise.
5448 * util/grub-mkstandalone.in: Likewise.
5449 * util/grub-reboot.in: Likewise.
5450 * util/grub-set-default.in: Likewise.
5451 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5452
561ec77e
VS
54532012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * linguas.sh: Remove autogenerated *.po.
5456
7ec2b021
VS
54572012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * po/README: Move language fetcing to ...
5460 * linguas.sh: ... here.
5461 * po/README: Point to linguas.sh.
5462
a88f3270
VS
54632012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * po/README: Exclude ko.po due to disclaimer problems.
5466
d61357ce
VS
54672012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
5470 len = 0.
5471 (grub_gettext_translate_real): Handle 0th string.
5472 (grub_gettext_translate): Ensure that "" isn't translated.
5473
505e41dc
VS
54742012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
5477 TRANSLATORS comment.
5478 (grub_diskfilter_print_partmap): Propagate changing of error into
5479 warning.
5480
e44092db
VS
54812012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
5484 to uint64_t to prevent overflow.
5485 (grub_diskfilter_lv): Increase start_extent and extent_count
5486 to uint64_t to prevent overflow.
5487
9b83956a
VS
54882012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * configure.ac: Increase version.
5491
da0d5b3f
VS
54922012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
5495
5496 * po/Rules-translit: New file.
5497 * po/arabic.sed: Likewise.
5498 * po/cyrillic.sed: Likewise.
5499 * po/greek.sed: Likewise.
5500 * po/hebrew.sed: Likewise.
5501 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
5502 * po/Makefile.in.in: Add extra_dist4.
5503
ac66b453
VS
55042012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 Handle big-endian minixfs (fixes minixfs tests on bigendian).
5507
5508 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
5509 modify names. Introduce MODE_BIGENDIAN.
5510 * grub-core/fs/minix_be.c: New file.
5511 * grub-core/fs/minix2_be.c: Likewise
5512 * grub-core/fs/minix3_be.c: Likewise.
5513 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
5514 minix3_be.
5515 * grub-core/Makefile.core.def (minix_be): New module.
5516 (minix2_be): Likewise.
5517 (minix3_be): Likewise.
5518
55192012-04-01 Felix <email@hamburg.de>
5520
5521 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
5522 (devs): Add MBP 2011.
5523
0a2d5a82
VS
55242012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
5527
d1625889
VS
55282012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/normal/cmdline.c (print_completion): New field
5531 prompt_len.
5532 (grub_cmdline_get): Handle width properly.
5533
6d36a236
VS
55342012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/commands/lsacpi.c (options): Add missing terminator.
5537
9576977e
VS
55382012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 5541 after 29th of February.
9576977e 5542
d73ff15d
VS
55432012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 Fix exfat endianness handling.
5546
5547 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
5548 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
5549 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
5550 Byte-swap utf16 when necessary.
5551 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
5552
bbb39a45
AB
55532012-03-31 Anton Blanchard <anton@samba.org>
55542012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 Fix btrfs endianness handling.
5557
5558 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
5559 (lower_bound): Make root uint64_t. Use root in le.
5560 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
5561 (find_path): Fix template key init.
5562 (grub_btrfs_dir): Fix mtime byteswap.
5563 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
5564
354e0af7
VS
55652012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
5568 recursion_depth. Break infinite resursions. All users updated.
5569
4e75f21c
VS
55702012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
5573 after free.
5574 Reported by: Peter Jones.
5575
25581802
AB
55762012-03-31 Anton Blanchard <anton@samba.org>
5577
5578 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
5579 8 bit values.
5580
08fbf92e
VS
55812012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * util/grub-install.in: Fix nvram call for PreP.
5584
5d1182a6
VS
55852012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
5588 the error when some elements are missing into a warning.
5589
3f8cdd90
VS
55902012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
5593
51006716
CW
55942012-03-28 Colin Watson <cjwatson@ubuntu.com>
5595
5596 * docs/grub.texi (Invoking grub-probe): New section.
5597 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
5598
e1bd676b
VS
55992012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 Fix tab and wide character handling in editor and menu.
5602
5603 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
5604 agglomerate control characters with combining marks.
5605 (bidi_line_wrap): Allow break on tab.
5606 (grub_unicode_get_comb_start): New function.
5607 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
5608 and tab correctly.
5609 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
5610 with a space.
5611 * grub-core/normal/term.c (print_ucs4_terminal): New argument
5612 fixed_tab_size. All users updated.
5613 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
5614 (grub_term_getcharwidth): Handle \t.
5615 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
5616 and copy.
5617
22e6a774
VS
56182012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 Handle big-endian mdraid.
5621
5622 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
5623 * grub-core/Makefile.core.def (mdraid09_be): New module.
5624 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
5625 rather than grub_le_to_cpu* and grub_cpu_to_le*.
5626 * grub-core/disk/mdraid_linux_be.c: New file.
5627
3c0eae66
VS
56282012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
5631
b6cf74c9
VS
56322012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5635 missing quotes which caused confusion among translators.
5636
83c93b9c
VS
56372012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * util/grub-mkconfig_lib.in: Fix typo.
5640
ac6fd218
VS
56412012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
5644 spaces.
5645 * tests/grub_script_leading_whitespace.in: New file.
5646 * Makefile.util.def (grub_script_leading_whitespace): New test.
5647
ba287dd8
VS
56482012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
5651 to work.
5652
d2d58d0a
VS
56532012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
5656 starts with control character.
5657
0382d9bb
VS
56582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
5661 overflow.
5662 (grub_gdb_outbuf): Likewise.
5663
d83ff9f9
VS
56642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
5667 zero terminator. Fixes a crash.
5668
2282da4a
VS
56692012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
5672 beyond 4 GiB.
5673 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
5674 images independently of preffered adderss field.
5675
0ae4f0bd
VS
56762012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
5679 * grub-core/commands/regexp.c: Likewise.
5680 * grub-core/loader/i386/linux.c: Likewise.
5681 * grub-core/partmap/msdos.c: Likewise.
5682 * grub-core/script/execute.c: Likewise.
5683 * grub-core/term/gfxterm.c: Likewise.
5684
546fbe9b
VS
56852012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Add variable parsing in $"..." and fix several mismatches with bash.
5688
5689 * Makefile.util.def (grub_script_gettext): New test.
5690 * grub-core/script/execute.c (parse_string): New function.
5691 (gettext_append): Likewise.
5692 (grub_script_arglist_to_argv): Use gettext_append.
5693 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
5694 * tests/grub_script_gettext.in: New file.
5695
9fdb2d7b
VS
56962012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 Fix handling of leading spaces in scripts.
5699
5700 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
5701 spaces.
5702 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
5703 other than skipping \r. All users updated.
5704 * tests/grub_script_echo1.in: Add space-related tests.
5705 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
5706
1a1ac4f6
VS
57072012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
5710
b63d89b6
VS
57112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * configure.ac: Bump up the version to beta2.
5714
17f38c0f
VS
57152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 Fix gettext reload bugs (e.g. inability to disable gettext
5718 once enabled).
5719
5720 * grub-core/gettext/gettext.c: Encapsulate all static variables in
5721 main_context and secondary_context. All functions updated.
5722 (grub_gettext_translate): Rename to ...
5723 (grub_gettext_translate_real): ... this. Return NULL on failed
5724 translate.
5725 (grub_gettext_translate): Handle secondary context.
5726 (grub_gettext_delete_list): Close file and zero-out the context.
5727 (grub_mofile_open): Don't call grub_gettext_delete_list.
5728 Don't close file.
5729 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
5730 if locale="" to avoid pointless error message.
5731 (grub_gettext_env_write_lang): Update lang even if load fails.
5732 Handle secondary context.
5733 (grub_gettext_reread_prefix): New function.
5734 (read_main): Likewise.
5735 (read_secondary): Likewise.
5736 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
5737 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
5738 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
5739 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
5740
8e56f870
VS
57412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * configure.ac: Decrease warning level to avoid spurious warnings and
5744 to be able to compile with GCC 4.2.
5745 * Makefile.util.def: Remove -Wno-error=logical-op.
5746
82f6d455
WB
57472012-03-10 William Bittner <william.bittner@gmail.com>
5748
5749 * util/import_unicode.py: Add missing brackets around string for
5750 python 3 support.
5751
1ecd61a4
VS
57522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 Fix efi chainloader on network root.
5755
5756 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
5757 network devices.
5758 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
5759 New function.
5760
14361ee8
VS
57612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
5764 unused show_text member.
5765 * docs/grub.texi: Document "text" property.
5766
922aabf3
VS
57672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
5770 in dprintf.
5771
ec316771
VS
57722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Fix IMSM handling on Fedora.
5775
5776 * util/getroot.c (grub_util_is_imsm): New function.
5777 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
5778
0f021838
VS
57792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * Makefile.am: Strip gold section.
5782 * conf/Makefile.common: Likewise.
5783 * gentpl.py: Likewise.
5784 * grub-core/Makefile.core.def: Likewise.
5785 * grub-core/genmod.sh.in: Likewise.
5786
1039c8eb
VS
57872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
5790 * util/grub.d/20_linux_xen.in: Likewise.
5791 Based on Debian patch.
5792
6dd412cd
VS
57932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * util/grub.d/10_linux.in: Fix syntax error resulting in
5796 Richard Laager's patch.
5797 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
5798
3fd8bae5
VS
57992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
5802 dependencies.
5803
7eea1671
RL
58042012-03-10 Richard Laager <rlaager@wiktel.com>
5805
5806 * util/grub.d/10_linux.in: Fix ZFS root passing.
5807
e8e0566b
VS
58082012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5811 * grub-core/commands/xnu_uuid.c: Likewise.
5812 * grub-core/loader/efi/appleloader.c: Likewise.
5813 * grub-core/script/execute.c: Likewise.
5814 * grub-core/script/main.c: Likewise.
5815 * util/grub-mkfont.c: Likewise.
5816
1acc5b1f
VS
58172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * util/grub-mkfont.c (options): Use more appropriate "select" that
5820 "set" for face index.
5821
35d70620
VS
58222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * util/grub-editenv.c (options): Gettextize command summaries.
5825
c9eb96b5
VS
58262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
5829 "out of memory" error messagge.
5830
1f493136
VS
58312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
5834 of diskfilter for diskfilter on diskfilter support.
5835
6d790129
VS
58362012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
5839
005f46c9
VS
58402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * util/grub-install.in: Check for themes/starfield/theme.txt and not
5843 themes/starfield.
5844
c8f778a0
VS
58452012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
5848
de1e64eb
VS
58492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
5852
c6d54211
VS
58532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
5856 of error message.
5857
dd390777
VS
58582012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
5861
5fd1c522
VS
58622012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
5865 message.
c6d54211 5866 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 5867
fae01f6c
VS
58682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
5871 Gettextize.
5872 * util/grub-mount.c (options): Likewise.
5873
292fdaff
VS
58742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
5877 gettextize.
5878 * grub-core/commands/search_wrap.c (options): Likewise.
5879
ecdbae77
VS
58802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
5883
52bfedfa
VS
58842012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
5887 size calculation.
5888 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
5889 none is known.
5890
55b20e58
VS
58912012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
5894 "temporary" since it's used in identifier and is limited in space.
5895
fda9d101
VS
58962012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 * po/POTFILES.in: Regenerate. Include *.h since they contain
5899 translatable strings as well.
5900
6a0295e2
VS
59012012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5904 byte-swap on big-endian.
5905 Reported by: Lennart Sorensen
5906
807fb77c
VS
59072012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
5910 (allocate_pages): Improve dprintf.
5911 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
5912 code32_start. Fill code32_start and kernel_alignment in params.
5913 (grub_cmd_initrd): Use prot_init_space.
5914
61ac50ba
VS
59152012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
5918
abdd26dd
VS
59192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * util/grub-install.in: Add missing dot at the end of sentence.
5922
6e69da9c
VS
59232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
5926 * grub-core/commands/videotest.c: Likewise.
5927 * grub-core/loader/i386/linux.c: Likewise.
5928
4a929343
VS
59292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
5932 sentence.
5933 Reported by: Milo Casagrande.
5934
bb51c6c6
VS
59352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
5938 * grub-core/commands/gptsync.c: Likewise.
5939 * grub-core/commands/hashsum.c: Likewise.
5940 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5941 * grub-core/commands/legacycfg.c: Likewise.
5942 * grub-core/io/gzio.c: Likewise.
5943 * grub-core/net/net.c: Likewise.
5944 * grub-core/term/gfxterm.c: Likewise.
5945 * grub-core/term/terminfo.c: Likewise.
5946 * grub-core/tests/test_blockarg.c: Likewise.
5947 * grub-core/video/video.c: Likewise.
5948 * util/grub-install.in: Likewise.
5949 * util/grub-mkfont.c: Likewise.
5950
b2b149cb
VS
59512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5954
c7c080ad
VS
59552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 5958 Reported by: David Prévot.
c7c080ad 5959
f2e243c0
VS
59602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5963 description.
5964
09963c76
VS
59652012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * util/grub-script-check.c (main): Fix a syntax error message which was
5968 unclear.
5969
a50514a8
VS
59702012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5973
4650daec
VS
59742012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
5977 messages.
5978
59792012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
5980
5981 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5982 without argument.
5983 * util/grub-mount.c (options): Likewise.
5984
bbc5a342
VS
59852012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5988
ef292a87
VS
59892012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * grub-core/net/http.c: Add TRANSLATORS comments.
5992 * grub-core/normal/cmdline.c: Likewise.
5993 * grub-core/normal/misc.c: Likewise.
5994 * grub-core/partmap/msdos.c: Likewise.
5995 * grub-core/parttool/msdospart.c: Likewise.
5996 * grub-core/script/execute.c: Likewise.
5997 * grub-core/script/main.c: Likewise.
5998 * grub-core/term/terminfo.c: Likewise.
5999 * grub-core/video/bitmap.c: Likewise.
6000 * util/grub-install.in: Likewise.
6001 * util/grub-mkimage.c: Likewise.
6002 * util/grub-mklayout.c: Likewise.
6003 * util/grub-setup.c: Likewise.
6004
0fc19bd0
VS
60052012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
6008 with similar messages in grub-fstest.
6009
d95862ef
VS
60102012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * util/grub-install.in: Unify "option requires an argument" message
6013 with similar messages in other files.
6014 * util/grub-mkconfig.in: Likewise.
6015
b7308f90
VS
60162012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * util/grub-set-default.in: Replace printf with gettext_printf (the
6019 string in in question is already translated from grub-reboot)
6020
559dc587
VS
60212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 * configure.ac: Bump up the version to beta1.
6024
1a11761f
VS
60252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
6028 case when min_align = 0.
6029
24539abd
VS
60302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
6033 and fix a case when line_start overflows.
6034
32bd735b
VS
60352012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * util/grub-reboot.in (usage): Mention id posibility.
6038 * util/grub-set-default.in (usage): Likewise.
6039
1a2fd1e6
VS
60402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6041
6042 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
6043 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
6044 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6045 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6046 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6047 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6048 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6049
90eeab76
VS
60502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/commands/menuentry.c (options): Remove
6053 GRUB_ARG_OPTION_REPEATABLE.
6054 Reported by: Andreas Vogel
6055
5ad1be82
AV
60562012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
6057
6058 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
6059
cb055286
HE
60602012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
6061
6062 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
6063 error.
6064
93b1cd79
VS
60652012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 Use sort -V by the idea of Georgi Georgiev.
6068
6069 * util/grub-mkconfig_lib.in (version_sort): New function.
6070 (version_test_numeric): Use version_sort.
6071
0cdc126c
VS
60722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 Use submenus in grub-mkconfig.
6075
6076 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
6077 * util/grub-mkconfig_lib.in (grub_quote): New function.
6078 (gettext_printf): Use gettext and not gettext_quoted to fix several
6079 messages.
6080 * util/grub.d/10_hurd.in: Use submenus.
6081 * util/grub.d/10_kfreebsd.in: Likewise.
6082 * util/grub.d/10_linux.in: Likewise.
6083 * util/grub.d/10_netbsd.in: Likewise.
6084 * util/grub.d/20_linux_xen.in: Likewise.
6085 * util/grub.d/30_os-prober.in: Likewise.
6086 * util/grub.d/10_illumos.in: Add missing quoting.
6087 * util/grub.d/10_windows.in: Likewise.
6088
d9bef9bc
VS
60892012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 Fix menu title instability bug.
6092
6093 * grub-core/commands/menuentry.c (options): New option --id.
6094 (grub_normal_add_menu_entry): New argument id. All users updated.
6095 (grub_cmd_menuentry): Handle --id.
6096 (grub_menu_init): Accept unknown arguments.
6097 * grub-core/normal/main.c (features): Add feature_menuentry_id and
6098 feature_menuentry_options.
6099 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
6100 saved_entry.
6101 (get_entry_number): Match with id as well.
6102 * include/grub/menu.h (grub_menu_entry): New member id.
6103 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
6104 * util/grub.d/00_header.in: Define menuentry_id_option.
6105 * util/grub.d/10_hurd.in: Define id.
6106 * util/grub.d/10_illumos.in: Likewise.
6107 * util/grub.d/10_kfreebsd.in: Likewise.
6108 * util/grub.d/10_linux.in: Likewise.
6109 * util/grub.d/10_netbsd.in: Likewise.
6110 * util/grub.d/10_windows.in: Likewise.
6111 * util/grub.d/20_linux_xen.in: Likewise.
6112 * util/grub.d/30_os-prober.in: Likewise.
6113
61142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
6115
6116 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
6117 "scope" with "body".
6118
7c8d0ce7
VS
61192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
6122 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
6123 prot_size and prot_file_size.
6124
49de079b
VS
61252012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
6128 All users updated. If easily=1 require raid-5/-6 to be full.
6129 (is_node_readable): Likewise.
6130 (scan_devices): Scan incomplete but readable LVs at the end.
6131 (grub_diskfilter_memberlist): Pull missing devices.
6132 (insert_array): Skip scanning until device is complete or scan is
6133 done otherwise.
6134 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
6135 check.
6136 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
6137 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
6138
aff05d45
MG
61392012-03-03 Matthew Garrett <mjg@redhat.com>
61402012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Avoid EFI boot services when loading Linux.
6143
6144 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
6145 avoid_efi_bootservices. All users updated.
6146 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
6147 argument avoid_efi_bootservices. All users updated.
6148 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
6149 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
6150 align, min_align, relocatable, prefered_address. All users updated.
6151 Allocate avoiding boot services if kernel is relocatable.
6152 (grub_cmd_linux): Check if kernel is relocatable.
6153 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
6154 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
6155 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
6156 avoid_efi_boot_services.
6157 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
6158 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
6159 (linux_kernel_params): Likewise.
6160
3935dde2
MG
61612012-03-03 Matthew Garrett <mjg@redhat.com>
61622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 Use EDID on EFI.
6165
6166 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
6167 datasize_out.
6168 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
6169 modes. Set gop_handle.
6170 (grub_video_gop_get_edid): New function.
6171 (grub_gop_get_preferred_mode): Likewise.
6172 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
6173 (grub_video_efi_gop_adapter): Set .get_edid.
6174 * include/grub/efi/edid.h: New file.
6175 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
6176
32107ec0
VS
61772012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * util/grub-install.in: Load efivars unconditionally.
6180
e70a2c50
VS
61812012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * po/Rules-piglatin: Change suffix from .po-update-en to
6184 .po-update-en-piglatin.
6185
8f9cace1
VS
61862012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Add a pig farm.
6189
6190 * po/piglatin.sed: New file.
6191 * po/en@piglatin.header: Likewise.
6192 * po/Rules-piglatin: Likewise.
6193 * po/README: Add en@piglatin to autogenerated languages.
6194
8f95d002
VS
61952012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
6198 "Command for ...".
6199 * grub-core/commands/hdparm.c (options): Use "Display" rather than
6200 "Check" since we don't check anything.
6201 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
6202 is 64-bit one.
6203 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
6204 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
6205 (grub_md_sha512_real): Likewise.
6206
805a8dcc
VS
62072012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/commands/gptsync.c: Fix typographic quoting.
6210 * grub-core/commands/ieee1275/suspend.c: Likewise.
6211 * grub-core/commands/parttool.c: Likewise.
6212 * grub-core/commands/search_wrap.c: Likewise.
6213 * grub-core/commands/videoinfo.c: Likewise.
6214 * grub-core/gfxmenu/gui_label.c: Likewise.
6215 * grub-core/hello/hello.c: Likewise.
6216 * grub-core/kern/emu/main.c: Likewise.
6217 * grub-core/net/net.c: Likewise.
6218 * grub-core/normal/menu.c: Likewise.
6219 * grub-core/normal/menu_text.c: Likewise.
6220 * grub-core/normal/misc.c: Likewise.
6221 * util/grub-editenv.c: Likewise.
6222 * util/grub-install.in: Likewise.
6223 * util/grub-kbdcomp.in: Likewise.
6224 * util/grub-mkconfig.in: Likewise.
6225 * util/grub-mknetdir.in: Likewise.
6226 * util/grub-mkrescue.in: Likewise.
6227 * util/grub-mkstandalone.in: Likewise.
6228 * util/grub-reboot.in: Likewise.
6229 * util/grub-set-default.in: Likewise.
6230 * util/grub-setup.c: Likewise.
6231 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6232
40211ab8
VS
62332012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
6236 * grub-core/commands/keystatus.c: Likewise.
6237 * grub-core/commands/loadenv.c: Likewise.
6238 * grub-core/commands/probe.c: Likewise.
6239 * grub-core/commands/regexp.c: Likewise.
6240 * grub-core/commands/true.c: Likewise.
6241 * grub-core/commands/videoinfo.c: Likewise.
6242 * grub-core/disk/cryptodisk.c: Likewise.
6243 * grub-core/disk/ldm.c: Likewise.
6244 * grub-core/disk/loopback.c: Likewise.
6245 * grub-core/disk/luks.c: Likewise.
6246 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6247 * grub-core/kern/disk.c: Likewise.
6248 * grub-core/kern/emu/hostdisk.c: Likewise.
6249
0c7d99c7
VS
62502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
6253 * util/grub-install.in: Add missing quote in the comment.
6254
e7d2559b
VS
62552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
6258 * grub-core/commands/lsmmap.c: Likewise.
6259 * grub-core/commands/minicmd.c: Likewise.
6260 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
6261 * grub-core/commands/regexp.c: Likewise.
6262 * grub-core/gdb/gdb.c: Likewise.
6263 * grub-core/term/gfxterm.c: Likewise.
6264 * util/grub-mkconfig.in: Likewise.
6265 * util/grub-mkfont.c: Likewise.
6266 * util/grub-mklayout.c: Likewise.
6267 * util/grub-mknetdir.in: Likewise.
6268 * util/grub-mkrescue.in: Likewise.
6269 * util/grub.d/30_os-prober.in: Likewise.
6270
49ce9e50
VS
62712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
6274 with "Direct color" and "Packed" with "Packed pixel".
6275 (grub_cmd_videoinfo): Simplify legend.
6276
e4b791fa
VS
62772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6280 absolutely unclear error message.
6281
fd1265cb
VS
62822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * util/grub-mkstandalone.in: Remove confusing leftover print.
6285
8822a8a0
VS
62862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
6289 comments.
6290 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
6291 (GRUB_MOD_INIT): Likewise.
6292 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
6293 VGA mode.
6294 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
6295 comments.
6296 * util/grub-install.in (usage): Likewise.
6297 Spell ID in whole letters.
6298 Add missing ending dot.
6299 Quote variables.
6300 * util/grub-reboot.in: Fix capitalisation.
6301 * util/grub-set-default.in: Likewise.
6302
937fd0cc
VS
63032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
6306 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
6307 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
6308 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
6309 Disable -Werror for -Wdeprecated-declarations.
6310 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
6311 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
6312 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
6313 (grub_util_get_grub_dev): Make luks handling dependent on
6314 HAVE_DEVICE_MAPPER and not __linux__.
6315 (get_win32_path): Fix format security.
6316 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
6317 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
6318 Don't try grub_find_zpool_from_dir.
6319 (grub_make_system_path_relative_to_its_root) [!__linux__]:
6320 #ifdef-out paresdir.
6321
1bab1ae3
VS
63222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * util/grub-pe2elf.c (usage): Add missing noreturn.
6325 (write_section_data): Rename name to shname to avoid shadowing.
6326 (write_symbol_table): Rename name to symname to avoid shadowing.
6327 Fix write_reloc_section call.
6328
ef023e42
VS
63292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
6332 to ensure that it's after the last byte of .text.
6333
48afcb75
VS
63342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * util/ieee1275/ofpath.c (my_isdigit): New function.
6337 (trailing_digits): Use my_isdigit.
6338 (strip_trailing_digits): Likewise.
6339
88d51eff
VS
63402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
6343 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
6344
17edc2ba
VS
63452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * grub-core/kern/i386/pc/startup.S: Define __start.
6348
ad5518d7
VS
63492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
6352 strip already transforms he format.
6353
9e95e1bf
VS
63542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
6357
9cc3ee5c
VS
63582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * util/grub-install.in: Add missing gettext init.
6361 * util/grub-kbdcomp.in: Likewise.
6362 * util/grub-mkconfig.in: Likewise.
6363 * util/grub-mknetdir.in: Likewise.
6364 * util/grub-mkrescue.in: Likewise.
6365 * util/grub-mkstandalone.in: Likewise.
6366 * util/grub-reboot.in: Likewise.
6367 * util/grub-set-default.in: Likewise.
6368 * util/grub.d/00_header.in: Likewise.
6369 * util/grub.d/10_hurd.in: Likewise.
6370 * util/grub.d/10_windows.in: Likewise.
6371 * util/grub.d/30_os-prober.in: Likewise.
6372 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6373
49e08a06
VS
63742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * po/Rules-swiss: Fix header comment.
6377
3809cb41
AV
63782012-02-29 Andreas Vogel <anvoit>
6379
6380 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
6381 resulted in leak of arguments.
6382
fa6ec573
VS
63832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/boot/i386/pc/startup_raw.S: Use separate
6386 reed_solomon_size const definition instead of computing it since
6387 Apple assembler doesn't support the later.
6388
22899b9c
VS
63892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * gentpl.py (kernel): Rewrite Apple part.
6392
a132afc3
VS
63932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * include/grub/kernel.h (FOR_MODULES): Check module magic.
6396
9d742bd4
VS
63972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * util/grub-mkimagexx.c (locate_sections): Support non-standard
6400 ELF section gap.
6401 (load_image): Likewise.
6402
f04a9a21
VS
64032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * configure.ac: Fix a typo in previous commit.
6406
46cf439c
VS
64072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 Don't add -Wl,-N on Apple platform.
6410
6411 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
6412 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
6413
c4c48c54
VS
64142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/Makefile.core.def (lzma_decompress): Use
6417 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
6418
31a12124
VS
64192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/genmod.sh.in: Rewrite the Apple part.
6422
4f3aa1af
VS
64232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
6426 comparison.
6427
7bd8b0c7
VS
64282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * acinclude.m4 (grub_CHECK_PIC): New test.
6431 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
6432
97304d7c
VS
64332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
6436 to avoid the warning.
6437
fb883812
VS
64382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
6441 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
6442 after. All users updated.
6443
a121c964
VS
64442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 Use the common size routine in hostfs so we can read disks as well.
6447
6448 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
6449 (grub_util_get_fd_size): ... this. Return size in bytes.
6450 All users updated.
6451 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
6452 grub_util_get_fd_size.
6453
c66d6410
VS
64542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
6457 Add blocksize retrieval.
6458
dfc8aeb0
VS
64592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * configure.ac: Restore CFLAGS after efiemu check.
6462
403e25a5
VS
64632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
6466 Apple bug.
6467
382775d1
VS
64682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
6471
6fd4e6e4
VS
64722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
6475 (grub_cmd_halt): Likewise.
6476
bea359d6
VS
64772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
6480 for local arithmetics.
6481 Break %sp init into 2 instructions.
6482 Add 0 byte at the end.
6483
32eb6ee1
VS
64842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/disk/diskfilter.c (read_segment): Initialise err
6487 before loops.
6488
e8377389
VS
64892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
6492 for context.
6493
8cb17de7
VS
64942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/disk/ldm.c (make_vg): Init part.name.
6497 (grub_ldm_detect): Silence spurious warning.
6498 (grub_util_is_ldm): Likewise.
6499
595717e6
VS
65002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
6503 sane value to avoid a spurious warning.
6504
c4b7e588
VS
65052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
6508 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
6509
59824957
VS
65102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
6513 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
6514
70115b99
VS
65152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
6518 hardcoding the relevant info.
6519
56733740
VS
65202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
6523 missing const qualifiers.
6524 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
6525
43481481
VS
65262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * util/getroot.c [__APPLE__]: Add missing includes.
6529 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
6530
3cb38f01
VS
65312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * util/grub-mkimage.c (generate_image): Silence spurious warning.
6534
d9dbf11e
VS
65352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
6538 avoid conflicts.
6539
0c42a45d
VS
65402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
6543
46c34eb0
VS
65442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
6547 and grub_file_close call.
6548
99ce1597
VS
65492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Add LZSS Mach-O support (needed for new xnu kernelcache).
6552
6553 * grub-core/Makefile.core.def (xnu): Add file lzss.c
6554 * grub-core/loader/lzss.c: New file.
6555 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
6556 on Mach-O open failure.
6557 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
6558 Don't free cmdsXX in uncompressedXX is set.
6559 (grub_macho_file): Init new fields.
6560 New argument is_64bit. All users updated.
6561 Handle compressed. Error out if no suitable architecture is found.
6562 Don't close file.
6563 (grub_macho_open): New argument is_64bit. All users updated.
6564 * grub-core/loader/macho32.c: Add defines for new fields.
6565 * grub-core/loader/macho64.c: Likewise.
6566 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
6567 (grub_macho_parse): Handle compressed.
6568 Defer actual processing if compressed.
6569 (grub_macho_cmds_iterate): Decompress if compressed. New argument
6570 "filename". All users updated.
6571 (grub_macho_size): New argument "filename". All users updated.
6572 (grub_macho_get_entry_point): Likewise.
6573 (grub_macho_load): Handle compressed.
6574 * include/grub/macho.h (grub_macho_lzss_header): New struct.
6575 (GRUB_MACHO_LZSS_OFFSET): New define.
6576 (grub_decompress_lzss): New proto.
6577 * include/grub/machoload.h (grub_macho_file): New fields to handle
6578 compressed.
6579 (grub_macho_contains_macho64): Remove proto.
6580 (grub_macho_contains_macho32): Likewise.
6581 * util/grub.d/30_os-prober.in: Use kernel cache if available.
6582
ebd17d6f
VS
65832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
6586
2702b4e4
VS
65872012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Fix make dist.
6590
6591 * Makefile.am (starfield_theme_files): New var.
6592 (starfield_DATA): Use starfield_theme_files.
6593 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
6594 Add bootcheck-related files.
6595 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
6596 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
6597 and font_char_metrics.txt.
6598 * grub-core/Makefile.core.def (kernel): Update extra_dist.
6599 (setjmp): Add lib/ia64/longjmp.S.
6600 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
6601 * po/POTFILES.in: Regenerate.
6602 * po/Rules-swiss: use DISTFILES.common.extra2 and not
6603 DISTFILES.common.extra1.
6604 * util/devicemap.c: Removed.
6605 * grub-core/lib/i386/relocator_backward.S: Likewise.
6606 * util/import_gcry.py: Remove unused files. Add extra_dist for
6607 ChangeLog.
6608
cf1adfdf
VS
66092012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/gettext/gettext.c (grub_mofile_open): Call
6612 grub_gettext_delete_list before changing grub_gettext_max to avoid
6613 running out of array bounds.
6614
66152012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
6616
6617 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
6618 grub_vga_text_init/grub_vga_text_fini.
6619
cf1adfdf 66202012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
6621
6622 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
6623
541d92e9
VS
66242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * configure.ac: Bump to 2.00~beta0.
6627
7931dddf
VS
66282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
6631 missing initialisation.
6632
f1b16fa3
VS
66332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
6636
83ddae23
VS
66372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 Support v2 xnu boot arguments.
6640
6641 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
6642 New argument fsbfreq_out.
6643 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
6644 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
6645 be used.
6646 * grub-core/loader/machoXX.c (grub_macho_load): New argument
6647 darwin_version.
6648 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
6649 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
6650 (grub_xnu_boot_params): Rename to ...
6651 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
6652 (grub_xnu_boot_params_v2): New struct.
6653
dc693fe6
VS
66542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
6657 zeroing of CRC field before computing CRC.
6658
5a6e39c2
VS
66592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
6662 Change order of allocations to decrease fragmentation.
6663
6c21f5d7
VS
66642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
6667
cfe456dc
CW
66682012-02-27 Colin Watson <cjwatson@ubuntu.com>
6669
6670 Use write-combining MTRR to speed up video with buggy BIOSes.
6671
6672 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
6673 (cpuid): New define.
6674 (rdmsr): Likewise.
6675 (wrmsr): Likewise.
6676 (mtrr_base): Likewise.
6677 (mtrr_mask): Likewise.
6678 (grub_vbe_enable_mtrr_entry): New function.
6679 (grub_vbe_enable_mtrr): Likewise.
6680 (grub_vbe_disable_mtrr): Likewise.
6681 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
6682 control off to BIOS.
6683 (grub_video_vbe_init): Fill mtrr.
6684 (grub_video_vbe_fini): Disable mtrr.
6685 (grub_video_vbe_get_info_and_fini): Likewise.
6686 (grub_video_vbe_setup): Enable mtrr.
6687
e3c78337
CW
66882012-02-27 Colin Watson <cjwatson@ubuntu.com>
6689
6690 * include/grub/partition.h (grub_partition_map): Change prototype of
6691 embed to take a maximum value for nsectors.
6692 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
6693 * include/grub/fs.h (grub_fs): Likewise.
6694 * grub-core/partmap/msdos.c (embed_signatures): New array.
6695 (pc_partition_map_embed): Check for and avoid sectors matching any
6696 of the signatures in embed_signatures, up to max_nsectors.
6697 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
6698 returned sector map to max_nsectors.
6699 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
6700 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
6701 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
6702 * util/grub-setup.c (setup): Allow for the embedding area being
6703 split into multiple blocklists. Tell dest_partmap->embed the
6704 maximum number of sectors we care about.
6705
67062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
6709 Specify blocklist_install and reserver_first_sector for all fs.
6710 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
6711 blocklists.
6712
984b973f
VS
67132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * util/grub-install.in: Clarify strings.
6716 Fix source dir check.
6717
f122e0d6
RL
67182012-02-27 Richard Laager <rlaager@wiktel.com>
6719
6720 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
6721 "zfs" and "fuse.zfs" as synonyms.
6722
071114bb
VS
67232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * configure.ac: Put platform and target_cpu substitutions back since
6726 they are used for directories.
6727
817e6abc
RL
67282012-02-27 Richard Laager <rlaager@wiktel.com>
67292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 * util/grub.d/10_linux.in: Add ZFS-related arguments.
6732 * util/grub.d/20_linux_xen.in: Likewise.
6733
897b7419
RL
67342012-02-27 Richard Laager <rlaager@wiktel.com>
6735
6736 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
6737 with full paths.
6738
a414bd15
RL
67392012-02-27 Richard Laager <rlaager@wiktel.com>
6740
6741 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
6742 unescape.
6743
30ac48c4
VS
67442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 Don't use insecure popen in getroot.
6747
6748 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
6749 (exec_pipe): ... here.
6750 (find_root_devices_from_poolname): Use exec_pipe.
6751
53f13848
VS
67522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Remove platform and target_cpu replacement.
6755
6756 * configure.ac: Remove platform and target_cpu substitutions.
6757 * tests/util/grub-shell.in: Use modinfo.
6758 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
6759 explicitly.
6760
90cb2803
VS
67612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 Autodetect platform in grub-install but allow override.
6764
6765 * util/grub-install.in: Autodetect platform. Support --target and
6766 --directory. Read platform from modinfo.sh.
6767
b9136427
VS
67682012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 Support btrfs multi-volume probe.
6771
6772 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
6773 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
6774 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
6775 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
6776 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
6777 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
6778 grub_find_root_devices_from_btrfs if on btrfs.
6779
c36e5cd1
VS
67802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 Remove any awareness of *.c util files about target.
6783
6784 * Makefile.util.def (grub-setup): Split to ...
6785 (grub-bios-setup): ... and this.
6786 (grub-sparc64-setup): ... and this.
6787 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
6788 * docs/man/grub-setup.h2m: Split into ...
6789 * docs/man/grub-sparc64-setup.h2m: ... this.
6790 * docs/man/grub-bios-setup.h2m: ... and this.
6791 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
6792 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
6793 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
6794 (grub_target_addr_t): Remove.
6795 (grub_target_size_t): Remove.
6796 (grub_target_ssize_t): Remove.
6797 * util/grub-install.in: Use new grub-*-setup.
6798 * util/grub-mkimagexx.c (Elf_Word): New define.
6799 (Elf_Half): Likewise.
6800 (Elf_Section): Likewise.
6801 (ELF_ST_TYPE): Likewise.
6802 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
6803 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
6804
584b2f8a
VS
68052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 Replace grub_target_addr with more appropriate types.
6808
6809 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
6810 grub_target_addr with grub_addr.
6811 * grub-core/commands/iorw.c (grub_cmd_read): Replace
6812 grub_target_addr with grub_port.
6813 (grub_cmd_write): Likewise.
6814 * grub-core/commands/memrw.c (grub_cmd_read): Replace
6815 grub_target_addr with grub_addr.
6816 (grub_cmd_write): Likewise.
6817 * grub-core/video/efi_uga.c (find_line_len): Likewise.
6818
5a0dc6fb
VS
68192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
6822 const qualifier for vendor_guid.
6823
786aff6e
VS
68242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
6827 const qualifier.
6828 (efiemu_memequal): Likewise.
6829 (find_variable): Likewise.
6830
49017b17
VS
68312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 Fix missing console prototype on qemu-mips.
6834
6835 * include/grub/mips/qemu_mips/console.h: New file.
6836
c5988629
MG
68372012-02-27 Matthew Garrett <mjg@redhat.com>
68382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
6841 * include/grub/efi/efi.h: Likewise.
6842 * include/grub/efi/api.h: Add guid for EFI-specified variables.
6843 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
6844 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
6845 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
6846 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
6847 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
6848
e33f8d69
MG
68492012-02-27 Matthew Garrett <mjg@redhat.com>
6850
6851 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
6852
fb312cd9
VS
68532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
6856 error.
6857
7134247c
VS
68582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * configure.ac: Remove inappropriate use of program_transform_name
6861 on grubdir and bootdir but allow explicit specification of those
6862 variables.
6863
6a313124
VS
68642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * util/grub-mknetdir.in (grub_prefix): Removed.
6867 (subdir): Use @bootdirname@ and @grubdirname@.
6868
2311c5ca
VS
68692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
6872
7d5d60f7
VS
68732012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * po/POTFILES.in: Regenerated.
6876
8151bc82
VS
68772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Remove improper use of program_transform_name on pkglibrootdir.
6880
6881 * configure.ac (pkglibrootdir): Removed.
6882 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
6883 * util/grub-mkimage.c: Likewise.
6884
b4a6a533
VS
68852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
6888 warning.
6889
668f304f
VS
68902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * util/grub-install.in: Use file identifier if no UUID is available
6893 or user explicitly prompted for it.
6894
665f2341
NP
68952012-02-27 Navdeep Parhar <nparhar@gmail.com>
6896
6897 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
6898 (freebsd_get_zfs): New function.
6899 (grub_freebsd_boot): Pass zfs UUID.
6900 (grub_cmd_freebsd): Set zfs UUID.
6901
8151bc82 69022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
6903
6904 * conf/Makefile.common (platformdir): Base on pkglibdir and not
6905 pkglibrootdir.
6906
e4c498a1
MG
69072012-02-27 Mike Gilbert <floppym@gentoo.org>
6908
6909 Add configure flag to control libzfs integration.
6910
6911 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
6912
1e9a9a3f
VS
69132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6914
6915 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
6916 device.
6917 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
6918 small devices.
6919
036985b8
VS
69202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6921
6922 Remove grub_{modname}_init and grub_{modname}_fini. They should never
6923 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
6924 be used on non-modules.
6925
6926 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
6927 Rename to grub_boot_init.
6928 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
6929 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
6930 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
6931 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
6932 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
6933 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
6934 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
6935 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
6936 includes.
6937 (grub_machine_init): Remove empty inits.
6938 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
6939 includes.
6940 (grub_machine_init): Remove empty inits.
6941 * grub-core/term/arc/console.c: Remove explicit proto.
6942 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
6943 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
6944 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6945 grub_at_keyboard_fini.
6946 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
6947 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
6948 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6949 grub_gfxterm_fini.
6950 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
6951 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
6952 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6953 grub_vgatext_fini.
6954 * grub-core/term/ieee1275/console.c: Remove explicit proto.
6955 * grub-core/term/serial.c (GRUB_MOD_INIT)
6956 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
6957 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6958 grub_serial_fini.
6959 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
6960 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
6961 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6962 grub_terminfo_fini.
6963 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
6964 (GRUB_MOD_FINI): Likewise.
6965 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
6966 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
6967 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6968 grub_video_radeon_fuloong2e_fini.
6969 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
6970 [LOONGSON]: Rename to grub_video_sis315pro_init.
6971 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6972 grub_video_sis315pro_fini.
6973 * grub-core/video/sm712.c (GRUB_MOD_INIT)
6974 [LOONGSON]: Rename to grub_video_sm712_init.
6975 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6976 grub_video_sm712_fini.
6977 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
6978 (grub_at_keyboard_fini): Likewise.
6979 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
6980 Don't declare grub_{modname}_init.
6981 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
6982 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
6983 New proto.
6984 (grub_keylayouts_fini) [!EMU]: Likewise.
6985 * include/grub/serial.h (grub_serial_init) [!EMU]:
6986 New proto.
6987 (grub_serial_fini) [!EMU]: Likewise.
6988 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
6989 New proto.
6990 (grub_terminfo_fini) [!EMU]: Likewise.
6991 * include/grub/video.h (grub_font_init) [!EMU]:
6992 New proto.
6993 (grub_font_fini) [!EMU]: Likewise.
6994 (grub_gfxterm_init) [!EMU]: Likewise.
6995 (grub_gfxterm_fini) [!EMU]: Likewise.
6996 (grub_video_sm712_init) [!EMU]: Likewise.
6997 (grub_video_sm712_fini) [!EMU]: Likewise.
6998 (grub_video_sis315pro_init) [!EMU]: Likewise.
6999 (grub_video_sis315pro_fini) [!EMU]: Likewise.
7000 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
7001 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
7002
d5534665
VS
70032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 Make nand a prefix for nand devices.
7006
7007 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
7008
10133b5f
VS
70092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
7012 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
7013
8e307a62
VS
70142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7015
7016 * include/grub/env.h (grub_env_find): Remove prototype.
7017 * grub-core/kern/env.c (grub_env_find): Make static.
7018 (grub_env_set): Remove useless set.
7019
a4c65f34
VS
70202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/kern/i386/realmode.S: Remove useless align.
7023
d87893d5
VS
70242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * include/grub/dl.h (grub_dl_load_file): Don't export.
7027
50159add
VS
70282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
7031 grub_dprintf.
7032
b2582b84
VS
70332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
7036 grub_errors.
7037 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
7038 not reloading whole superblock but only the part which is really needed.
7039 Remove useless grub_errors.
7040 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
7041 grub_errors.
7042
e2a83395
VS
70432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 Don't export grub_get_rtc.
7046
7047 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
7048 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
7049
e7d2a906
VS
70502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
7053
6cf1363b
VS
70542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 7057 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 7058
eece3349
VS
70592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 Remove prio_list.
7062
7063 * include/grub/list.h (grub_prio_list): Removed.
7064 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
7065 GRUB_COMMAND_PRIO_MASK.
7066 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
7067 GRUB_COMMAND_FLAG_ACTIVE.
7068 (grub_prio_list_insert): Removed.
7069 (grub_prio_list_remove): Likewise.
7070 (GRUB_AS_PRIO_LIST): Likewise.
7071 (GRUB_AS_PRIO_LIST_P): Likewise.
7072 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
7073 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
7074 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
7075 * grub-core/kern/command.c (grub_register_command_prio): Inline
7076 the prio_list code.
7077 (grub_unregister_command): Likewise.
7078
94f064b4
VS
70792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Fix interrupt mixup from previous commit.
7082
7083 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
7084 (grub_realidt): New var.
7085 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
7086 Load idt.
7087 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
7088 New declaration.
7089 (grub_relocator16_boot): Set grub_relocator16_idt.
7090 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
7091 (LOCAL(realidt)): ... this.
7092 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
7093 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
7094 (grub_realidt): New variable.
7095
27317084
VS
70962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7097
7098 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
7099 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
7100 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
7101 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
7102 Gettextize.
7103 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
7104 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
7105 * po/POTFILES.in: Regenerate.
7106
47b40053
VS
71072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
7110 errors.
7111
2b343101
VS
71122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
7115 \0.
7116 (add_length): Likewise.
7117
ff27c3dd
LK
71182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
71192012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
7120
7121 GDB serial and backtrace support.
7122
7123 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
7124 (prot_to_real): Likewise.
7125 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
7126 * grub-core/Makefile.core.def (backtrace): New module.
7127 (gdb): Likewise.
7128 * grub-core/gdb/cstub.c: New file.
7129 * grub-core/gdb/gdb.c: Likewise.
7130 * grub-core/gdb/i386/idt.c: Likewise.
7131 * grub-core/gdb/i386/machdep.S: Likewise.
7132 * grub-core/gdb/i386/signal.c: Likewise.
7133 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 7134 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
7135 * include/grub/backtrace.h: Likewise.
7136 * include/grub/gdb.h: Likewise.
7137 * include/grub/i386/gdb.h: Likewise.
7138
71392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
7140
7141 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
7142 New function.
7143 (add_length): Likewise.
7144 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7145 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
7146 proto.
7147 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
7148 __argp_get_display_len.
7149
ff27c3dd 71502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
7151
7152 $"..." support in scripts.
7153
7154 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
7155 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
7156 * grub-core/script/yylex.l: Likewise.
7157 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
7158 value.
7159
ff27c3dd 71602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
7161
7162 * gentpl.py: Remove obsolete pkglib_DATA handling.
7163
ff27c3dd 71642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
7165
7166 Don't transform PACKAGE_TARNAME following a discussion on autoconf
7167 mailing list.
7168
7169 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
7170 * util/grub-kbdcomp.in: Likewise.
7171 * util/grub-mkconfig.in: Likewise.
7172 * util/grub-mkconfig_lib.in: Likewise.
7173 * util/grub-mknetdir.in: Likewise.
7174 * util/grub-mkrescue.in: Likewise.
7175 * util/grub-mkstandalone.in: Likewise.
7176 * util/grub-reboot.in: Likewise.
7177 * util/grub-set-default.in: Likewise.
7178 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7179
ff27c3dd 71802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
7181
7182 Remove GRUB_PREFIX.
7183
7184 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
7185 * util/grub.d/00_header.in: Compute prefix in the only place it's still
7186 used for backward compatibility.
7187
ff27c3dd 71882012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
7189
7190 Add new all_video module.
7191
7192 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
7193 * grub-core/Makefile.core.def (all_video): New module.
7194 * grub-core/genmoddep.awk: Generate dependency of all_video from
7195 video.lst.
7196 * grub-core/lib/fake_module.c: New file.
7197 * grub-core/normal/main.c (features): Add feature_all_video_module.
7198 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
7199 don't do explicit search again.
47454da5 7200 insmod all_video in load_video if available.
22c7ce85 7201
ff27c3dd 72022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
7203
7204 Another round of string clarification and adding TRANSLATORS comments.
7205
ff27c3dd 72062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
7207
7208 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
7209
ff27c3dd 72102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
7211
7212 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
7213 to grub_ssize_t.
7214 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
7215 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7216
ff27c3dd 72172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
7218
7219 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
7220 trailing newline implicitly. All users updated.
7221
ff27c3dd 72222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
7223
7224 Implement serial on IEEE1275 and EFI.
7225
7226 * docs/grub.texi (Platform-specific limitations): Fix the columen video
7227 on emu. Mention arc and emu as the only platforms without serial
7228 support.
7229 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
7230 ieee1275 platforms.
7231 * grub-core/term/efi/serial.c: New file.
7232 * grub-core/term/ieee1275/serial.c: Likewise.
7233 * grub-core/term/serial.c (grub_serial_find): Disable direct port
7234 specification if no ns8250 driver is available.
7235 (grub_cmd_serial): Likewise.
7236 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
7237 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
7238 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
7239 (grub_efi_parity_type_t): New type.
7240 (grub_efi_stop_bits_t): Likewise.
7241 (grub_efi_serial_io_interface): New struct.
7242 * include/grub/serial.h (grub_serial_port): Make 'broken' field
7243 available for all interfaces.
7244 Add EFI and IEEE1275 fields.
7245 (grub_ofserial_init): New proto.
7246 (grub_efiserial_init): Likeiwse.
7247 * util/grub.d/00_header.in: Don't check for the presence of serial
7248 module.
7249
ff27c3dd 72502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
7251
7252 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
7253 name as if it was an alias.
7254
114076ef
VS
72552012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/commands/lsacpi.c (options): Fix typo.
7258
6a656b0e
VS
72592012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 Convert grub-emu to argp.
7262
7263 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
7264 emu.
7265 * util/argp_common.c: Rename to ...
7266 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
7267 Add missing includes.
7268 * grub-core/kern/emu/main.c: Convert to argp.
7269 * po/POTFILES.in: Regenerate.
7270 * util/grub-install.in (usage): Make first letter lowcase in messages
7271 for uniformity.
7272 * util/grub-setup.c (options): Likewise.
7273
1e3f8ae8
VS
72742012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
7277 Put back accidently commented-out code.
7278
ed167a80
VS
72792012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
7282 loop check using Brent algorithm.
7283 (grub_hfsplus_btree_search): Likewise.
7284
6753c0ec
VS
72852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * util/grub-install.in: Fix usage of wrong device for PreP install.
7288
4e27343f
VS
72892012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * conf/Makefile.common (CFLAGS_GNULIB): Add
7292 -Wno-unsafe-loop-optimizations.
7293 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
7294 on tools.
7295 * grub-core/commands/legacycfg.c: Add pragma to skip
7296 -Wunsafe-loop-optimizations.
7297 (check_password_md5_real): Fix loop counter type.
7298 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
7299 reading.
7300 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
7301 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
7302 loop condition.
7303 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
7304 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
7305 * grub-core/net/net.c (grub_net_route_address): Add safety loop
7306 condition.
7307 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
7308 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
7309 avoid possible infinite loops.
7310 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
7311 and -Wunsafe-loop-optimizations.
7312 * grub-core/script/yylex.l: Likewise.
7313 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
7314 (print_glyphs): Avoid infinite loops.
7315 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
7316
697f18b0
GS
73172012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
7318
7319 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
7320 to avoid infinite loop.
7321 (disp_acpi_rsdt_table): Likewise.
7322
274416e8
VS
73232012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/font/font.c (grub_font_load): Add support for default
7326 path for fonts ($prefix/fonts).
7327 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
7328 for checking if string is a path.
7329 * grub-core/normal/main.c (features): Add feature_default_font_path.
7330 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
7331 * util/grub.d/00_header.in: Use default directory if possible.
7332 * util/grub-install.in: Install unicode.pf2.
7333
b3e08622
VS
73342012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
7337 * po/Rules-swiss: New file.
7338 * po/swiss.sed: Likewise.
7339
fe42ce09
VS
73402012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * grub-core/fs/btrfs.c (find_device): Fix typos.
7343 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
7344 * util/grub-mkrelpath.c (argp_parser): Likewise.
7345 Reported by: Yuri Chornoivan.
7346
72f1d065
DO
73472012-02-23 Dalet Omega <daletomega@gmail.com>
7348
7349 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
7350 for usual informative messages.
7351
c5884973
DO
73522012-02-23 Dalet Omega <daletomega@gmail.com>
7353
7354 Starfield theme.
7355
7356 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
7357 * conf/Makefile.common: Define starfielddir.
7358 * configure.ac: Configure starfield.
7359 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
7360 * themes/starfield/README: Likewise.
7361 * themes/starfield/blob_w.png: Likewise.
7362 * themes/starfield/boot_menu_c.png: Likewise.
7363 * themes/starfield/boot_menu_e.png: Likewise.
7364 * themes/starfield/boot_menu_n.png: Likewise.
7365 * themes/starfield/boot_menu_ne.png: Likewise.
7366 * themes/starfield/boot_menu_nw.png: Likewise.
7367 * themes/starfield/boot_menu_s.png: Likewise.
7368 * themes/starfield/boot_menu_se.png: Likewise.
7369 * themes/starfield/boot_menu_sw.png: Likewise.
7370 * themes/starfield/boot_menu_w.png: Likewise.
7371 * themes/starfield/slider_c.png: Likewise.
7372 * themes/starfield/slider_n.png: Likewise.
7373 * themes/starfield/slider_s.png: Likewise.
7374 * themes/starfield/src/blob_nw.xcf: Likewise.
7375 * themes/starfield/src/bootmenu/: Likewise.
7376 * themes/starfield/src/bootmenu/center.xcf: Likewise.
7377 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
7378 * themes/starfield/src/bootmenu/side.xcf: Likewise.
7379 * themes/starfield/src/slider_c.xcf: Likewise.
7380 * themes/starfield/src/slider_n.xcf: Likewise.
7381 * themes/starfield/src/slider_s.xcf: Likewise.
7382 * themes/starfield/src/terminalbox/: Likewise.
7383 * themes/starfield/src/terminalbox/center.xcf: Likewise.
7384 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
7385 * themes/starfield/src/terminalbox/side.xcf: Likewise.
7386 * themes/starfield/starfield.png: Likewise.
7387 * themes/starfield/terminal_box_c.png: Likewise.
7388 * themes/starfield/terminal_box_e.png: Likewise.
7389 * themes/starfield/terminal_box_n.png: Likewise.
7390 * themes/starfield/terminal_box_ne.png: Likewise.
7391 * themes/starfield/terminal_box_nw.png: Likewise.
7392 * themes/starfield/terminal_box_s.png: Likewise.
7393 * themes/starfield/terminal_box_se.png: Likewise.
7394 * themes/starfield/terminal_box_sw.png: Likewise.
7395 * themes/starfield/terminal_box_w.png: Likewise.
7396 * themes/starfield/theme.txt: Likewise.
7397
17d73325
VS
73982012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * util/grub.d/00_header.in: Add missing export theme.
7401
dbebaf92
VS
74022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
7405 already included.
7406 Reported by: Eren D.
7407
3d68bffb
VS
74082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * conf/Makefile.common (grubdatadir): Removed.
7411 (Makefile.am): Move eveything grubdata to pkgdata.
7412
4b59234d
VS
74132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/commands/acpihalt.c (get_sleep_type):
7416 Remove unused variable.
7417
463dcadc
VS
74182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
7421 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
7422 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
7423 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
7424 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
7425 i18n with gettext no-op.
7426 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
7427 GRUB_ACPI_OPCODE_STRING_CONST.
7428 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
7429 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
7430
e5b90c82
VS
74312012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * po/POTFILES.in: Regenerate.
7434
2a704ca9
VS
74352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
7438 -Wno-error=missing-noreturn.
7439
84f9d341
VS
74402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
7443 condition to avoid possibly infinite loops.
7444 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
7445 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
7446
d46683f9
VS
74472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
7450 condition to avoid possibly infinite loops.
7451
c44866b2
VS
74522012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
7455 on show_error.
7456
96790539
VS
74572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
7460
1ba7e295
VS
74612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
7464
21ffe8f1
VS
74652012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * util/bin2h.c (usage): Add missing attribute noreturn.
7468
0ccb6b3c
VS
74692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
7472 if the size isn't divisible by 512.
7473
b00d7fb6
VS
74742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 Make list_push and list_remove functions rather than inline functions
7477 to decrease size and avoid aliasing violations.
7478
7479 * include/grub/list.h (grub_list_push): Move to ...
7480 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
7481 * include/grub/list.h (grub_list_remove): Move to ...
7482 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
7483
9d369087
VS
74842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
7487 and -Wunused-result.
7488
af0250d9
VS
74892012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
7492 Reported by: Seth Goldberg
7493
aad32b14
VS
74942012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
7497
ac96441c
ST
74982012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
7499
7500 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
7501 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
7502 command line.
7503 * docs/grub.texi (Simple configuration): Document
7504 GRUB_CMDLINE_GNUMACH.
7505
75062012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
7507
7508 * conf/Makefile.common (platform_SCRIPTS): New variable.
7509 (platform_PROGRAMS): Likewise.
7510 * gentpl.py: Mark *,module and *.image for install.
7511 * grub-core/gdb_grub.in: Add a notice of expected environment.
7512 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
7513 (gmodule.pl): Likewise.
7514
ac96441c 75152012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
7516
7517 Replace grub_checkkey with grub_getkey_noblock.
7518
7519 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
7520 (grub_getkey_noblock): ... this. All users updated.
7521
ac96441c 75222012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
7523
7524 * grub-core/kern/emu/console.c: Move to ...
7525 * grub-core/term/emu/console.c: ...here.
7526 (grub_ncurses_getkey): Fix return value if no key is detected.
7527
e51b5666
VS
75282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
7531 (grub_unit_test_fini): Likewise.
7532 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
7533
75342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * include/grub/test.h (GRUB_UNIT_TEST)
7537
d9a62292
VS
75382012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/script/execute.c (grub_script_break): Clarify logic.
7541 Better error handling.
7542 (grub_script_return): Likewise.
7543 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7544
77c9182f
VS
75452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
7548 rimplicit redifinition.
7549
edb13cf9
VS
75502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
7553 GRUB.
7554
a9e9dc7c
VS
75552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
7558 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
7559 prompt here.
7560
b4ba8e02
VS
75612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
7564 as GRUB_ERR_BUG. Don't malloc if no device is available.
7565
dded5540
VS
75662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
7569 Mark calling with invalid term as GRUB_ERR_BUG.
7570
0cf69874
VS
75712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
7574 packets rather than raising an error.
7575
59bfe502
VS
75762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
7579 in if.
7580
db5fc596
VS
75812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
7584 diagnostic to dprintf.
7585 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7586
e4b7f404
VS
75872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
7590 device name.
7591
e7b02f9e
VS
75922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
7595 (grub_ntfs_iterate_dir): Likewise.
7596
0331e102
VS
75972012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 Efiemu stylistic fixes and gettext.
7600
7601 * grub-core/efiemu/i386/loadcore32.c
7602 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
7603 * grub-core/efiemu/i386/loadcore64.c
7604 (grub_arch_efiemu_relocate_symbols64): Likewise.
7605 * grub-core/efiemu/i386/pc/cfgtables.c
7606 (grub_machine_efiemu_init_tables): Likewise.
7607 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
7608 (grub_efiemu_loadcore_initXX): Add a filename argument.
7609 All users updated.
7610 Improved error message.
7611 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
7612 Add a filename argument.
7613 All users updated.
7614 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
7615 Reclassify double relocation as GRUB_ERR_BUG.
7616
306fc074
VS
76172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
7620 handling.
7621
794d8ef2
VS
76222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
7625 on partition.
7626
76272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
7628
7629 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
7630
794d8ef2 76312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
7632
7633 Improve string. Gettextize.
7634
78dde88e
VS
76352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
7638 utils.
7639 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
7640
4786a90f
VS
76412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
7644 [GRUB_UTIL]: New function.
7645 (insert_array) [GRUB_UTIL]: Store partmaps.
7646 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
7647 partmaps.
7648 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
7649 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
7650 (probe_abstraction): Print diskfilter and not raid.
7651 Reported by: Lennart Sorensen
7652
0b6225bd
VS
76532012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
7656 * util/grub-mkimagexx.c (MASK3): New define.
7657 (add_value_to_slot_20b): Use MASK3.
7658 (add_value_to_slot_21): Likewise.
7659 (relocate_addresses): Fix format specification.
7660 (load_image): Explicitly init symtab_section.
7661
b055f8f6
VS
76622012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
7665 (grub_util_biosdisk_get_grub_dev): Fix format specification.
7666
b77c2fb7
VS
76672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
7670 on powerpc.
7671 Reported by: Lennart Sorensen
7672
e3ec28ab
VS
76732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * gentpl.py: Add missing license header.
7676 * docs/grub.texi: Update copyright year.
7677
c8d9ead6
GS
76782012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7679
7680 Source grub-mkconfig_lib from the build directory at build time.
7681 Suggested by: Vladimir Serbinenko.
7682
7683 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
7684 * util/grub-install.in: Define pkgdatadir if not already set, and source
7685 grub-mkconfig_lib from there.
7686 * util/grub-kbdcomp.in: Likewise.
7687 * util/grub-mkconfig.in: Likewise.
7688 * util/grub-mknetdir.in: Likewise.
7689 * util/grub-mkrescue.in: Likewise.
7690 * util/grub-mkstandalone.in: Likewise.
7691 * util/grub-reboot.in: Likewise.
7692 * util/grub-set-default.in: Likewise.
7693 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7694
ebcecdf1
VS
76952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 Increase warning level.
7698
7699 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
7700 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
7701 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
7702 (TARGET_CFLAGS): Likewise.
7703 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
7704 * grub-core/Makefile.core.def (decompressor_xz): Add
7705 -Wno-unreachable-code.
7706 (normal): Add -Wno-redundant-decls.
7707 (xzio): Add -Wno-unreachable-code.
7708 (lzopio): Add -Wno-redundant-decls -Wno-error.
7709 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
7710 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
7711 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
7712 * grub-core/kern/dl.c: Add exception to -Wcast-align.
7713 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
7714 * grub-core/kern/i386/coreboot/init.c: Add exception to
7715 -Wsuggest-attribute=noreturn.
7716 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
7717 * grub-core/kern/ia64/dl_helper.c: Likewise.
7718 * grub-core/kern/mips/dl.c: Likewise.
7719 * grub-core/kern/sparc64/dl.c: Likewise.
7720 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
7721 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
7722 (memcmp): Likewise.
7723 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
7724 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
7725 * grub-core/loader/mips/linux.c: Likewise.
7726 * grub-core/loader/multiboot_elfxx.c: Likewise.
7727 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
7728 * grub-core/video/sm712.c: Add exception to -Wcast-align.
7729 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
7730 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
7731 fixme.
7732 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7733 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
7734 Fix prototype.
7735
37bb97fe
VS
77362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
7739 address.
7740
29a3550b
VS
77412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7744 Avoid improper use of strings.
7745 (grub_cmd_legacy_initrdnounzip): Likewise.
7746
dfdffd0d
VS
77472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * include/grub/emu/misc.h (grub_util_warn): Add missing format
7750 attribute.
7751 (grub_util_info): Likewise.
7752 (grub_util_error): Likewise.
7753
102fae4a
VS
77542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
7757 * util/grub-fstest.c (fstest): Likewise.
7758
7e94d044
VS
77592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
7762 (grub_md_sha512_real): Likewise.
7763 (grub_util_get_geli_uuid): Likewise.
7764 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
7765 (grub_util_biosdisk_open): Fix format specification.
7766 Respect format security.
7767 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
7768 (xrealloc): Likewise.
7769 (xasprintf): Likewise.
7770
5ebd9769
VS
77712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * util/import_gcry.py: Include grub/crypto.h in init.c.
7774
495fc8c1
VS
77752012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
7778 (generate_image): Make prefix a const char *.
7779 Fix format specifications. Respect format security.
7780 Avoid void * arithmetics.
7781 Avoid shadowing.
7782 (argp_parser): Remove unused variable. Respect format security.
7783 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
7784 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
7785 (count_funcs): Remove unused variable.
7786 (relocate_addresses): Fix format specification.
7787 Disable x86-64 with elf32. Remove unused variables.
7788 (add_fixup_entry): Avoid shadowing.
7789 (make_reloc_section): Fix format specification.
7790 Use assert.
7791 (locate_sections): Fix format specifications.
7792 (load_image): Avoid shadowing.
7793
043c2ea3
VS
77942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
7797 Fix format specifications. Respect format security.
7798 Don't translate already translated grub_errmsg.
7799 (argp_parser): Remove unused variable
7800
3ec65a81
VS
78012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
7804
a4d9fe4a
VS
78052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
7808 (main): Likewise. Use xmalloc. Respect format security.
7809
15b81d49
VS
78102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
7813 a const char *.
7814 (argp_parser): Remove unused variable.
7815
31731fc0
VS
78162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
7819 (add_pixel): Make static.
7820 (add_font): Likewise.
7821 (write_string_section): Make name and str a const char *.
7822 (write_be16_section): Make name a const char *.
7823 (print_glyphs): Make static.
7824 (write_font_ascii_bitmap): Likewise.
7825 (write_font_width_spec): Likewise.
7826 (write_font_pf2): Likewise.
7827 (argp_parser): Remove unused variable.
7828 Respect format security.
7829 (main): Avoid shadowing. Respect format security.
7830
0809527b
VS
78312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * util/grub-editenv.c (argp_parser): Make static.
7834 (create_envblk_file): Use xmalloc.
7835 (open_envblk_file): Likewise.
7836 Resepect format security.
7837 (set_variables): Respect format security.
7838
45b0c8b7
VS
78392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * util/getroot.c (grub_find_device): Respect format security.
7842 (get_mdadm_uuid): Remove unused variable.
7843 (grub_util_pull_device): Dont call gettext on already translated
7844 grub_errmsg.
7845 (find_system_device): Remove unused variable.
7846 (grub_util_get_grub_dev): Likewise.
7847 (grub_make_system_path_relative_to_its_root): Respect format security.
7848
1b024b4e
VS
78492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * util/grub-fstest.c (execute_command): Make first argument
7852 a const char *.
7853 (read_file): Avoid shadowing.
7854 Reuse underlying error message if device open fails.
7855 (cmd_cmp): Respect format security.
7856 (root): Make const char *.
7857 (fstest): Remove args argument and use global copy.
7858 Respect format security.
7859 (argp_parser): Make static.
7860 (main): Make default_root const char *.
7861
5d1d4e28
VS
78622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * util/grub-mount.c (root): Make const char *.
7865 (execute_command): Make first argument a const char *.
7866 (fuse_init): Respect format security.
7867 (argp_parser): Make static. Remove unused variable.
7868 (main): Make default_root a const char *.
7869 Respect format security.
7870
36eb7379
VS
78712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * util/grub-probe.c (probe): Don't call gettext on already translated
7874 grub_errmsg.
7875 Remove unused variables.
7876 (argp_parser): Remove unused variable.
7877
76fb2ea9
VS
78782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * util/grub-script-check.c (argp_parser): Remove unused variable.
7881 (main): Rename read to curread to avoid shadowing.
7882
56c98584
VS
78832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * util/misc.c (grub_util_write_image_at): Fix format specification.
7886 (grub_util_write_image): Likewise.
7887 (grub_script_execute_argument_to_string): Removed (unused).
7888 (grub_script_execute_menuentry): Likewise.
7889 (grub_putchar): Likewise.
7890
164ebb48
VS
78912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
7894 (FUNCTION) [GRUB_UTIL]: Likewise.
7895 (VARIABLE) [GRUB_UTIL]: Likewise.
7896
44318d61
VS
78972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
7900 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
7901
31a26002
VS
79022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
7905 buffer.
7906
79072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
7910 (LzmaEnc_SaveState): Removed (unused).
7911 (LzmaEnc_RestoreState): Likewise.
7912 (LzmaEnc_InitPriceTables): Made static.
7913 (LzmaEnc_Construct): Likewise.
7914 (LzmaEnc_FreeLits): Likewise.
7915 (LzmaEnc_Destruct): Likewise.
7916 (LzmaEnc_Init): Likewise.
7917 (LzmaEnc_InitPrices): Likewise.
7918 (LzmaEnc_Finish): Likewise.
7919 (LzmaEnc_PrepareForLzma2): Removed (unused).
7920 (LzmaEnc_MemPrepare): Likewise.
7921 (LzmaEnc_GetNumAvailableBytes): Likewise.
7922 (LzmaEnc_GetCurBuf): Likewise.
7923 (LzmaEnc_CodeOneMemBlock): Likewise.
7924
6fa67967
VS
79252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
7928 (grub_util_ldm_embed): Likewise.
7929
9a7428e6
VS
79302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * util/grub-editenv.c (print_var): Rename name to varname to
7933 avoid shadowing.
7934 (main): Rename index to curindex to avoid shadowing.
31a26002 7935 Make filename a const char *.
9a7428e6 7936
4f96abd1
VS
79372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7940 to arg_getline to avoid shadowing.
7941
44d10dad
VS
79422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
7945 disk_ to avoid shadowing.
7946
340ba63e
VS
79472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
7950 curindex to avoid shadowing.
7951 Make static.
7952 (MatchFinder_GetNumAvailableBytes): Make static.
7953
22965bce
VS
79542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
7957 avoid shadowing.
7958
7b5784d4
VS
79592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
7962 argument from encrypt to do_encrypt to avoid shadowing.
7963
6f48ca01
VS
79642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
7967 incorrect nesting of #if's.
7968
a4ea2dff
VS
79692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
7972 checks which are always false on some platforms.
7973 (grub_cmd_lsacpi): Likewise.
7974 * grub-core/kern/misc.c (grub_strtoul): Likewise.
7975 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
7976 Likewise.
7977
def9fc1b
VS
79782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
7981 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
7982
a67b2a04
VS
79832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
7986 re_dfa_t to avoid breaking alignment invariants.
7987 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
7988 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
7989
44c6828d
VS
79902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
7993 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
7994
bebe0dd0
VS
79952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
7998 Fix declaration.
7999
a9cdb3cf
VS
80002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
8003 conserve alignment invariants.
8004 (grub_ehci_ehcc_read16): Likewise.
8005 (grub_ehci_oper_read32): Likewise.
8006 (grub_ehci_oper_write32): Likewise.
8007 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
8008 Conserve alignment invariants.
8009
ccc3b1b8
VS
80102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
8013 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
8014 declarations.
8015
987fbd95
VS
80162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
8019 Remove unused variable.
8020
0df363f3
VS
80212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
8024 Remove set in if.
8025
b2c0c4a6
VS
80262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * include/grub/net.h: Remove double declarations.
8029
690c531f
VS
80302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 Remove "payload" command in ia64 Linux loader since I couldn't
8033 find any evidence of it being used for anything.
8034 Replace "relocate" command with an environment variable
8035
8036 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
8037 fields.
8038 (ia64_boot_payload): Removed.
8039 (last_payload): Likewise.
8040 (RELOCATE_OFF): Likewise.
8041 (RELOCATE_ON): Likewise.
8042 (RELOCATE_FORCE): Likewise.
8043 (relocate): Likewise.
8044 (free_pages): Don't free payloads.
8045 (grub_load_elf64): Use common error messages.
8046 Use "linux_relocate" variable.
8047 Increase the space after boot_params.
8048 (grub_cmd_payload): Removed.
8049 (grub_cmd_relocate): Likewise.
8050 (grub_cmd_fpswa): Improve messages.
8051 (cmd_payload): Removed.
8052 (cmd_relocate): Likewise.
8053 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
8054 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
8055
01783768
VS
80562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 Convert UHCI to DMA framework.
8059
8060 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
8061 (grub_uhci_pci_iter): Fill new members
8062 (grub_alloc_td): Use P2V and V2P functions.
8063 (grub_free_queue): Likewise.
8064 (grub_alloc_qh): Likewise.
8065 (grub_uhci_setup_transfer): Likewise.
8066 (grub_uhci_check_transfer): Likewise.
8067
43206939
VS
80682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
8071 Remove assignment in if while on it.
8072
571e140e
VS
80732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * util/grub-mkstandalone.in: Fix modules directory.
8076
a9d96eeb
VS
80772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
8080 on i386-pc target.
8081 (argp_parser): Accept "auto" as compression specification.
8082
e4e37e8d
VS
80832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 Fix `help' with unloaded modules.
8086
8087 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
8088 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
8089 (grub_dyncmd_dispatcher): Small stylistic fix.
8090 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
8091 explicit help is requested.
8092
e1ea3ade
VS
80932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
8096 Explicitly init restart while on it.
8097
27556881
VS
80982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
8101 uninited variable.
8102
d65f6b36
VS
81032012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * util/grub-mknetdir.in: Use . rather than source for POSIX
8106 compatibility.
8107
0a1e473c
VS
81082012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
8111
ce6647c8
VS
81122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
8115 variable.
8116
66747894
VS
81172012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
8120 without quotes.
8121
71645f6e
VS
81222012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
8125
0e1c1f61
VS
81262012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
8129 iteration of partitions.
8130
9c4b5c13
VS
81312012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 Improve gettext support. Stylistic fixes and error handling fixes while
8134 on it.
8135
215c90cb
VS
81362012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
8139 part. Instead setup the correct stack in RM.
8140 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
8141 for stack.
8142 * include/grub/i386/relocator_private.h: New file.
8143
b5c1f9bf
VS
81442012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
8147 argument.
8148 * util/grub-fstest.c (options): Add missing DEVICE part.
8149
b525fd83
VS
81502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Clarify and unify messages.
8153
8154 * grub-core/commands/hashsum.c (options): Unify messages.
8155 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
8156 literal-only message as translatable.
8157 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
8158 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
8159 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
8160 commands.
8161 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
8162 key, not the key used to unlock. Clarify what it's used for.
8163 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
8164 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
8165 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
8166 * util/grub-editenv.c (options): Unify "verbose" message.
8167 * util/grub-fstest.c (read_file): Unify error message.
8168 (fstest): Add quotes around commands.
8169 (options): Unify "verbose" message.
8170 * util/grub-install.in: Add quotes around variable name.
8171 * util/grub-kbdcomp.in: Unify error message.
8172 * util/grub-mkfont.c (main): Likewise.
8173 * util/grub-mkrescue.in: Likewise.
8174 * util/grub-mklayout.c (options): Unify "verbose" message.
8175 * util/grub-mkstandalone.in: Unify help and verbose messages.
8176 * util/grub-mount.c (options): Unify "verbose" message.
8177 * util/grub-probe.c (options): Likewise.
8178 * util/grub-script-check.c (options): Likewise.
8179 * util/grub-setup.c (setup): Unify no-terminator message.
8180 (options): Use DEVICE and not DEV.
8181 Unify "verbose" message.
8182 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
8183
0ae70393
VS
81842012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 Improve and unify messages.
8187
8188 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
8189 name. All users updated.
8190 Print filename in error.
8191 (read_device_map): Print filename in error.
8192 * util/getroot.c (grub_guess_root_devices): Print filename in error.
8193 (grub_util_get_os_disk): Likewise.
8194 (grub_util_biosdisk_get_grub_dev): Likewise.
8195 (grub_util_check_block_device): Likewise.
8196 (grub_util_check_char_device): Likewise.
8197 (grub_make_system_path_relative_to_its_root): Likewise.
8198 * util/grub-editenv.c (create_envblk_file): Likewise.
8199 (open_envblk_file): Likewise.
8200 (write_envblk): Likewise.
8201 * util/grub-fstest.c (cmd_cp): Likewise.
8202 (cmd_cat): Likewise.
8203 (cmd_cmp): Likewise.
8204 * util/grub-menulst2cfg.c (main): Likewise.
8205 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
8206 (write_font_width_spec): Likewise.
8207 (write_font_pf2): Likewise.
8208 * util/grub-mkimage.c (generate_image): New argument outname.
8209 All users updated.
8210 Remove unreacheable message.
8211 (options): Unify messages.
8212 (help_filter): Likewise.
8213 * util/grub-mklayout.c (usage): Removed (unused).
8214 (main): Print filename in error.
8215 * util/grub-mkrescue.in: Fix wrong quoting.
8216 * util/grub-setup.c (setup): Print filename in error.
8217 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
8218 (check_sas): Likewise.
8219 * util/misc.c (grub_util_get_fp_size): Removed.
8220 (grub_util_get_image_size): Print filename in error.
8221 (grub_util_read_at): Removed.
8222 (grub_util_read_image): Print filename in error.
8223 (grub_util_load_image): Likewise.
8224 (grub_util_write_image_at): New argument filename. All users updated.
8225 Print filename in error.
8226 (grub_util_write_image): New argument filename. All users updated.
8227 Print filename in error.
8228 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
8229 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
8230
0a96117d
VS
82312012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * grub-core/Makefile.core.def (pxechain): New module.
8234 * grub-core/loader/i386/pc/pxechainloader.c: New file.
8235 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
8236 function.
8237 (grub_pc_net_config_real): Use grub_pxe_get_cached.
8238 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
8239
aca002f7
VS
82402012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
8243 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
8244 * include/grub/err.h (grub_error_saved): New struct.
8245 (grub_errmsg): Make array size explicit.
8246 * include/grub/misc.h (grub_error_save): New function.
8247 (grub_error_load): Likewise.
8248 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
8249 (grub_error_push): Update `errno' member name.
8250 (grub_error_pop): Likewise
8251 * grub-core/net/tftp.c (tftp_data): New member save_err.
8252 (tftp_receive): Save error.
8253 (tftp_open): Restore error.
8254
a51dab13
VS
82552012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
8258 to real mode down to execute A20-related code in protected mode as
8259 intended.
8260
eb6e6649
GS
82612012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8262
8263 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
8264 NULL when the argument `level' has an unexpected value.
8265
92cd0f6e
VS
82662012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 Move platform-dependent files from $prefix to $prefix/$platform.
8269
8270 * config.h.in (GRUB_TARGET_CPU): New definition.
8271 (GRUB_PLATFORM): Likewise.
8272 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
8273 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
8274 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
8275 * grub-core/kern/dl.c (grub_dl_load): Likewise.
8276 * grub-core/normal/autofs.c (read_fs_list): Likewise.
8277 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
8278 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
8279 * grub-core/normal/term.c (read_terminal_list): Likewise.
8280 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
8281 $prefix/locale.
8282 (grub_gettext_init_ext): Likewise.
8283 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
8284 grub_platform.
8285 * util/grub-install.in: Update directories.
8286 * util/grub-mknetdir.in: Likewise.
8287 * util/grub-mkrescue.in: Likewise.
8288
db606889
VS
82892012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
8292 grub_error framework. All users updated.
8293
c39992a4
VS
82942012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
8297 lists (by always binsearching), improve caching (cache strings
8298 used for binsearch, not only results), improve
8299 maintainability (by using more structured binary search) and correct
8300 error handling.
8301
1e5ec32f
VS
83022012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/script/execute.c (grub_script_return): Fix warning.
8305
ac576cde
VS
83062012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/script/execute.c (grub_script_return): Fix potential
8309 NULL-dereference.
8310 Reported by: Jim Meyering.
8311
498453f6
VS
83122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * po/POTFILES.in: Regenerate.
8315 * util/grub-install.in: Gettextize the strings missed in first pass.
8316
8be63f2e
VS
83172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * Makefile.util.def (grub-mkdevicemap): Removed.
8320 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
8321 * include/grub/util/deviceiter.h: Removed.
8322 * util/deviceiter.c: Likewise.
8323 * util/getroot.c (grub_util_get_os_disk): New function.
8324 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
8325 replacement for EFI.
8326 * util/grub-mkdevicemap.c: Removed.
8327 * util/grub-probe.c (probe): Handle PRINT_DISK.
8328 (argp_parser): Handle -t disk.
8329
8e1e4e39
VS
83302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 * util/grub-mkfont.c: Migrate to argp.
8333 * util/grub-mklayout.c: Likewise.
8334 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8335 * util/grub-mkrelpath.c: Likewise.
8336 * util/grub-probe.c: Likewise.
8337 * util/grub-script-check.c: Likewise.
8338
4459819a
VS
83392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * util/grub-reboot.in: Add missing datarootdir.
8342 Add missing newline.
8343 * util/grub-set-default.in: Add missing datarootdir.
8344 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
8345 * util/grub-mkrescue.in: Likewise.
8346
f65741c7
VS
83472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
8350
c1a33466
VS
83512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * util/grub-kbdcomp.in: Add decent help and gettextize.
8354 * docs/man/grub-kbdcomp.h2m: New file.
8355
c76899a0
VS
83562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 Migrate grub-mkimage.c to argp.
8359
8360 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
8361 (grub-setup): Likewise.
8362 * util/grub-setup.c (print_version): Move to ...
8363 * util/argp_common.c (print_version): ... here.
8364 * util/grub-setup.c (argp_program_version_hook): Move to ...
8365 * util/argp_common.c (argp_program_version_hook): ... here.
8366 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
8367 safety.
8368 * util/grub-mkimage.c (main): Migrate to argp.
8369
57db0757
VS
83702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * util/grub-mkrescue.in: Use same message as
8373 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
8374 for better translations.
8375
18534ad9
VS
83762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
8379 options with generic grub-mkrescue.in with the goal of future
8380 merge.
8381
c84ba308
VS
83822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/kern/mm.c: Add missing include of i18n.h
8385 * grub-core/lib/relocator.c: Likewise.
8386
347998c2
VS
83872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
8390 error.
8391 (allocate_pages): Check return value.
8392 Replace fatal with error.
8393 (grub_linux_boot): Replace printf with dprintf.
8394 Check find_mmap_size return value.
8395 Replace fatal with error.
8396 Don't call grub_machine_fini.
8397 (grub_load_elf64): Replace printf with dprintf.
8398 (grub_cmd_linux): Likewise.
8399 (grub_cmd_initrd): Likewise.
8400 (grub_cmd_payload): Likewise.
8401
c779226e
VS
84022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
8405 message.
8406 * grub-core/video/radeon_fuloong2e.c
8407 (grub_video_radeon_fuloong2e_setup): Likewise.
8408 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
8409 * grub-core/video/video.c (grub_video_set_mode): Don't override
8410 standard out of memory message.
8411
dc87d45a
GS
84122012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8413
8414 NetBSD disk wedge support.
8415
8416 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
8417 [__NetBSD__]: Handle NetBSD disk wedges.
8418 * util/getroot.c (convert_system_partition_to_system_disk)
8419 [__NetBSD__]: Likewise.
8420
055f856f
MW
84212012-02-03 Mark Wooding <mdw@distorted.org.uk>
8422
8423 * util/grub-mkconfig.in: Use umask rather than chmod to create
8424 grub.cfg.new to avoid insecure grub.cfg.
8425
4a9f8346
VS
84262012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/commands/ls.c: Gettextize.
8429 * grub-core/commands/setpci.c: Likewise.
8430 * grub-core/commands/videotest.c: Likewise.
8431 * grub-core/disk/geli.c: Likewise.
8432 * grub-core/kern/mm.c: Likewise.
8433 * grub-core/lib/relocator.c: Likewise.
8434 * grub-core/loader/efi/appleloader.c: Likewise.
8435 * grub-core/loader/i386/xnu.c: Likewise.
8436 * grub-core/loader/ia64/efi/linux.c: Likewise.
8437 * grub-core/loader/xnu.c: Likewise.
8438 * grub-core/net/dns.c: Likewise.
8439 * grub-core/net/net.c: Likewise.
8440 * grub-core/script/lexer.c: Likewise.
8441 * grub-core/script/parser.y: Likewise.
8442 * grub-core/script/yylex.l: Likewise.
8443 * util/getroot.c: Likewise.
8444 * util/grub-setup.c: Likewise.
8445
a646a366
VS
84462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
8449 number.
8450
54e2be26
VS
84512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8452
8453 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
8454
f7c71e68
VS
84552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
8458 macro.
8459 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
8460 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
8461
a32d5c71
VS
84622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
8465 * util/grub-install.in: Gettextize.
8466 * util/grub-mkconfig.in: Likewise.
8467 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
8468 if not available.
8469 (grub_warn): Gettextize.
8470 * util/grub-mknetdir.in: Gettextize.
8471 * util/grub-mkrescue.in: Likewise.
8472 * util/grub-mkstandalone.in: Likewise.
8473 * util/grub-reboot.in: Likewise.
8474 * util/grub-set-default.in: Likewise.
8475 * util/grub.d/00_header.in: Likewise.
8476 * util/grub.d/10_hurd.in: Likewise.
8477 * util/grub.d/10_kfreebsd.in: Likewise.
8478 * util/grub.d/10_linux.in: Likewise.
8479 * util/grub.d/10_netbsd.in: Likewise.
8480 * util/grub.d/10_windows.in: Likewise.
8481 * util/grub.d/20_linux_xen.in: Likewise.
8482 * util/grub.d/30_os-prober.in: Likewise.
8483 * po/POTFILES-shell.in: Regenerate.
8484
69edd81a
RL
84852012-02-03 Richard Laager <rlaager@wiktel.com>
8486
8487 * util/grub-mkimage.c (main): Fix format-security warning.
8488 * util/grub-mkrelpath.c (main): Likewise.
8489 * util/grub-probe.c (main): Likewise.
8490
65f08dbf
RL
84912012-02-03 Richard Laager <rlaager@wiktel.com>
8492
8493 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
8494 failure.
8495 Put back lost PRINT_DRIVE.
8496
e9084abe
RL
84972012-02-03 Richard Laager <rlaager@wiktel.com>
8498
8499 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
8500 (grub_guess_root_devices): Replace strlen with sizeof.
8501 Avoid crash.
8502 (find_root_devices_from_poolname): Remove unused variable.
8503 Handle raidzN.
8504
cf5f7ee7
VS
85052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 Support install on multi-device filesystems.
8508
8509 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
8510 (grub_guess_root_devices): ...this. Return char **. All users updated.
8511 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
8512 Removed.
8513 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
8514 (find_root_devices_from_poolname): ... here.
8515 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
8516 Support zfs-fuse.
8517 (grub_guess_root_device): Rename to ...
8518 (grub_guess_root_devices): ... this. Return char **. All users updated.
8519 * util/grub-install.in: Handle multi-device filesystems.
8520 * util/grub-probe.c (probe). Make device_names a char **. Add delim
8521 argument. All users updated.
8522 Handle multi-device filesystems.
8523 Use 'delim' as separator.
8524 Remove device check to allow filesystems on file.
8525 (main): Support -0 argument. Handle multi-device.
8526 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
8527 Fix a cross-device check while on it.
8528 (arguments): Remove root_dev.
8529 (argp_parser): Remove -r.
8530 (main): Remove root_dev.
8531
2f53a9ed
VS
85322012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
8535
17e1d934
VS
85362012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
8539 symbol.
8540 Reported by: NODA, Kai <nodakai>.
8541
d3e3fab5
VS
85422012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 Fix ehci on amd64.
8545
8546 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
8547 pointers.
8548 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
8549 (grub_ehci_setup_qh): Likewise.
8550 (grub_ehci_find_qh): Likewise.
8551 (grub_ehci_transaction): Likewise.
8552 (grub_ehci_setup_transfer): Likewise.
8553 (grub_ehci_check_transfer): Likewise.
8554 (grub_ehci_portstatus): Likewise.
8555 (grub_ehci_detect_dev): Likewise.
8556 (grub_ehci_transfer_controller_data): New field td_last_phys.
8557 (grub_ehci_setup_transfer): Fill td_last_phys.
8558 (grub_ehci_check_transfer): Use td_last_phys.
8559
3008675b
SG
85602012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
8561
8562 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
8563 if no submenu is present.
8564
fc9b5652
AN
85652012-02-01 Aleš Nesrsta <starous@volny.cz>
8566
8567 CBI support.
8568
8569 * include/grub/usb.h (grub_usbms_protocol_t): New values
8570 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
8571 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
8572 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
8573 (grub_usbms_dev): Add subclass, protocol and intrpt.
8574 Remove in_maxsz and out_maxsz.
8575 (grub_usbms_reset): Rename to ...
8576 (grub_usbms_bo_reset): .. this.
8577 (grub_usbms_cbi_cmd): New function.
8578 (grub_usbms_cbi_reset): Likewise.
8579 (grub_usbms_reset): Likewise.
8580 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
8581 (grub_usbms_transfer): Rename to ...
8582 (grub_usbms_transfer_bo): ... this.
8583 (grub_usbms_transfer_cbi): Likewise.
8584 (grub_usbms_transfer): Likewise.
8585
a2b81d53
AN
85862012-02-01 Aleš Nesrsta <starous@volny.cz>
85872012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
8590 the support for the CS5536 modification thereos and few bugfixes.
8591
8592 * grub-core/Makefile.core.def (ehci): New module.
8593 * grub-core/bus/usb/ehci.c: New file.
8594 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
8595 port and hubaddr. All users updated.
8596 Save port and hubaddr into dev structure.
8597 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
8598 define.
8599 * include/grub/pci.h (grub_dma_phys2virt): New function.
8600 (grub_dma_virt2phys): Likewise.
8601 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
8602
b1d51f02
VS
86032012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
8606 check as some mkfs implementations omit it.
8607
fc694106
VS
86082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * docs/grub.texi (Unicode): Mention identifier and space limitations.
8611
6c0920e3
VS
86122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
8615 Add new member volname2.
8616 (grub_jfs_label): Use volname2 if available.
8617
d1a46f9a
VS
86182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
8621 over last_mounted as seen in image generated by mkfs.nilfs2.
8622 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
8623
dec8ed14
VS
86242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
8627 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
8628 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
8629
7397c69b
VS
86302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
8633 over the sector.
8634
b3fe42ad
VS
86352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
8638 subvolume name (by removing a bogus and useless check).
8639
10476bb0
VS
86402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
8643 sizeof while on it.
8644
9c08ad87
VS
86452012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
8648 (grub_scsi_read_capacity10): ... this.
8649 (grub_scsi_read_capacity16): New function.
8650 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
8651 0xffffffff.
8652 Fix off-by-one error.
8653 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
8654 64-bit unsigned.
8655 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
8656 (grub_scsi_read_capacity10): ... this.
8657 (grub_scsi_read_capacity_data): Rename to ...
8658 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
8659 (grub_scsi_read_capacity16): New struct.
8660 (grub_scsi_read_capacity16_data): Likewise.
8661 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
8662 grub_scsi_cmd_read_capacity10.
8663 New command grub_scsi_cmd_read_capacity16.
8664
bc8d0f45
VS
86652012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 SCSI >2TiB support.
8668
8669 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
8670 (grub_scsi_write16): Likewise.
8671 (grub_scsi_read): Use read16 when necessary.
8672 (grub_scsi_write): Likewise.
8673 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
8674 (grub_scsi_write16): Likewise.
8675 (grub_scsi_cmd_t): Add READ16 and WRITE16.
8676
cc774926
VS
86772012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 SCSI write support (for usbms mainly).
8680
8681 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
8682 a const pointer.
8683 (grub_scsi_write): Implement.
8684 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
8685
67639fd7
VS
86862012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
8689 variable.
8690
9079d3ed
VS
86912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/lib/posix_wrap/string.h (memchr): New function.
8694
c6a6f204
VS
86952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * po/POTFILES.in: Regenerate.
8698
ecbf8cd1
VS
86992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
8702 with grub_printf to avoid unnecessary fatal failure.
8703
0b3b3b38
VS
87042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
8707 (INT_MAX): Likewise.
8708 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
8709 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
8710 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
8711 (strcpy): Likewise.
8712 (strstr): Likewise.
8713 (strchr): Likewise.
8714 (strncpy): Likewise.
8715 (strcat): Likewise.
8716 (strncat): Likewise.
8717 (strcoll): Likewise.
8718 * include/grub/types.h (GRUB_SHRT_MAX): New define.
8719 (GRUB_INT_MAX): Likewise.
8720
db7337a3
VS
87212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
8724 unexpected error.
8725 (optimize_utf8): Likewise.
8726 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
8727
f37c87e1
VS
87282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/boot/i386/pc/lnxboot.S: Use
8731 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
8732 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
8733 location.
8734 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
8735 definition.
8736 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
8737
63fe43f3
VS
87382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
8741 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
8742 now to avoid double free.
8743 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
8744 hostdisk.
8745 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
8746 * util/grub-probe.c (escape_of_path): Always return a new copy.
8747 (print_full_name): Escape path.
8748 (probe): Don't call grub_util_devname_to_ofpath on NULL.
8749 Fix hints on abstractions.
8750
ebe2c961
VS
87512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
8754 Don't add "root" line if no compatibility hont is available.
8755 Suggested by: Seth Goldberg.
8756
2b5336a2
VS
87572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
8760 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
8761 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
8762 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
8763
74310bd8
VS
87642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
8767
c30582ba
VS
87682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * util/grub-pe2elf.c (ehdr): Make static.
8771 (shdr): Likewise.
8772 (num_sections): Likewise.
8773 (offset): Likewise.
8774
5f47782c
VS
87752012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 Eliminate ofpath limits and possible overflows.
8778
8779 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
8780 (OF_PATH_MAX): Removed.
8781 (MAX_DISK_CAT): New const.
8782 (find_obppath): Use allocated rather than preallocated buffer.
8783 Return result. Argument of_path removed. All users updated.
8784 Add missing fdstat.
8785 (xrealpath): New function.
8786 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
8787 Allocate rather than use preallocated buffer. All users updated.
8788 (__of_path_common): Use allocated rather than preallocatecd buffer.
8789 Return result. Argument of_path removed. All users updated.
8790 (vendor_is_ATA): Read only needed part form the file.
8791 (check_sas): Allocate depending on contents rather than fixed.
8792 (main) [STANDALONE]: Handle NULL result.
8793
f990cbf9
VS
87942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/normal/completion.c (iterate_dev): Close the disk.
8797
9c6e84b8
VS
87982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Cryptodisk write support.
8801
8802 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
8803 (grub_cryptodisk_decrypt): Moved logic to ...
8804 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
8805 (grub_cryptodisk_write): Implement.
8806 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
8807 (grub_util_fd_write): ... this. Make global.
8808 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
8809
87cf9744
VS
88102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * include/grub/list.h (grub_list_remove): Don't crash if element is
8813 removed twice.
8814
ca8c0baf
VS
88152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 Rename ofconsole to console.
8818
8819 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
8820 as sysnonym to console.
8821 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
8822 * grub-core/term/ieee1275/console.c: ... this. All users updated.
8823 Rename grub_ofconsole_ to grub_console_. All users updated
8824 (grub_console_term_output): Rename "ofconsole" to "console".
8825 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
8826 as "console".
8827
64c8b8f6
VS
88282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
8831 handling.
8832 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
8833 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
8834 GRUB_DISK_DEVICE_FILE_ID.
8835
f6c434d5
VS
88362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
8839 and improve performance.
8840
5858b42d
VS
88412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
8844 missing ieee1275/ prefix on whole disk.
8845
4ed3c26b
VS
88462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
8849 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
8850
df71143e
VS
88512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
8854
076e7c0f
VS
88552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Merge common RAID and LVM logic to an abstract diskfilter.
8858 Add LDM support using the same framework.
8859
8860 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
8861 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
8862 (libgrubmods): Remove grub-core/disk/raid.c and
8863 grub-core/partmap/gpt.c.
8864 * grub-core/Makefile.core.def (ldm): New module.
8865 (raid): Renamed to diskfilter. All users updated.
8866 * grub-core/disk/raid.c: Moved to ...
8867 * grub-core/disk/diskfilter.c: ... here.
8868 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
8869 (lv_num): New var.
8870 (find_array): Renamed to ...
8871 (find_lv): ... this. Support multi-LV. Skip nameless LVs
8872 (grub_is_array_readable): Renamed to ...
8873 (grub_is_lv_readable): ... this. Support multinode hierarchy.
8874 (insert_array): New argument id.
8875 (is_node_readable): New function.
8876 (scan_device): Rename to ...
8877 (scan_disk): .. this. Restrict to one disk.
8878 (scan_devices): New function.
8879 (grub_diskfilter_iterate): Support multi-LV.
8880 Skip invisible and nameless LVs.
8881 (grub_diskfilter_memberlist): Support multi-LV.
8882 (grub_diskfilter_read_node): New function.
8883 (grub_raid_read): Most of logic moved to ...
8884 (read_segment): ... here
8885 (read_lv): New function.
8886 (grub_diskfilter_get_vg_by_uuid): New function.
8887 (grub_diskfilter_make_raid): Likewise.
8888 * grub-core/disk/ldm.c: New file.
8889 * grub-core/disk/lvm.c (vg_list): Removed.
8890 (lv_count): Likewise.
8891 (scan_depth): Likewise.
8892 (is_lv_readable): Likewise.
8893 (grub_lvm_getvalue): Advance pointer past the number.
8894 (find_lv): Removed.
8895 (do_lvm_scan): Refactored into ...
8896 (grub_lvm_detect): ... this. Support raid.
8897 (grub_lvm_iterate): Removed.
8898 (grub_lvm_memberlist): Likewise.
8899 (grub_lvm_open): Likewise.
8900 (grub_lvm_close): Likewise.
8901 (read_lv): Likewise.
8902 (read_node): Likewise.
8903 (is_node_readable): Likewise.
8904 (is_lv_readable): Likewise.
8905 (grub_lvm_read): Likewise.
8906 (grub_lvm_write): Likewise.
8907 (grub_lvm_dev): Use diskfilter
8908 (GRUB_MOD_INIT): Likewise.
8909 (GRUB_MOD_FINI): Likewise.
8910 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
8911 new interface.
8912 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
8913 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8914 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
8915 grub_diskfilter_read_node.
8916 Fix a bug with xor.
8917 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
8918 grub_diskfilter_read_node.
8919 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
8920 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
8921 (grub_disk_dev_iterate): Move from here...
8922 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
8923 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
8924 Make global.
8925 (grub_hostdisk_find_partition_start): Likewise.
8926 (grub_hostdisk_os_dev_to_grub_drive): New function.
8927 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
8928 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
8929 * util/getroot.c (make_device_name): ... here.
8930 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
8931 Move to ...
8932 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
8933 * grub-core/kern/emu/hostdisk.c
8934 (convert_system_partition_to_system_disk): Move to ...
8935 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
8936 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
8937 * util/getroot.c (device_is_wholedisk): ... here.
8938 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
8939 * util/getroot.c (find_system_device): ... here.
8940 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
8941 Move to ...
8942 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
8943 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8944 Move to ...
8945 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
8946 Handle LDM.
8947 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8948 Move to ...
8949 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
8950 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
8951 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
8952 DISKFILTER.
8953 * include/grub/raid.h: Renamed to ...
8954 * include/grub/diskfilter.h: ... this.
8955 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
8956 (GRUB_RAID_LAYOUT_*): Make into array.
8957 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
8958 (grub_diskfilter_vg): New struct.
8959 (grub_diskfilter_pv_id): Likewise.
8960 (grub_raid_member): Removed.
8961 (grub_raid_array): Likewise.
8962 (grub_diskfilter_pv): New struct.
8963 (grub_diskfilter_lv): Likewise.
8964 (grub_diskfilter_segment): Likewise.
8965 (grub_diskfilter_node): Likewise.
8966 (grub_diskfilter_get_vg_by_uuid): New proto.
8967 (grub_raid_register): Inline.
8968 (grub_diskfilter_unregister): Likewise.
8969 (grub_diskfilter_make_raid): New proto.
8970 (grub_diskfilter_vg_register): Likewise.
8971 (grub_diskfilter_read_node): Likewise.
8972 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
8973 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
8974 (grub_util_is_ldm): Likewise.
8975 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
8976 (grub_hostdisk_find_partition_start): Likewise.
8977 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
8978 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
8979 New definition.
8980 (grub_gpt_partition_map_iterate): New proto.
8981 * include/grub/lvm.h (grub_lvm_vg): Removed.
8982 (grub_lvm_pv): Likewise.
8983 (grub_lvm_lv): Likewise.
8984 (grub_lvm_segment): Likewise.
8985 (grub_lvm_node): Likewise.
8986 * util/getroot.c [...]
8987 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
8988 (probe_abstraction): Likewise.
8989 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
8990 (main): Remove dead logic.
8991
8a7f9b9c
VS
89922012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 Simplify root device discover and don't fail when trying to open
8995 incorrect devices.
8996
8997 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
8998 function.
8999 (get_diskname_from_path): Likewise.
9000 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
9001 of iterating.
9002
30545b85
VS
90032012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
9006
28ea58cf
VS
90072012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
9010 pastthe end.
9011
692dabca
VS
90122012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * util/grub-install.in: Add missing \.
9015 Reported by: gentoofan
9016
f6e4ea70
VS
90172012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
9020 (direct_read): Use correct compressed size.
9021 (grub_squash_read_data): Likewise.
9022
90232012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
9024
9025 * docs/grub.texi (Platform limitations): New section.
9026 (Platform-specific operations): Likewise.
9027 * docs/grub-dev.texi (Porting): Likewise.
9028
76261110
VS
90292012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 IEEE1275 disk write support.
9032
9033 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
9034 const void *.
9035 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
9036 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
9037 and seek loginc to ...
9038 (grub_ofdisk_prepare): ... here.
9039 (grub_ofdisk_write): Implement.
9040
fc36d603
VS
90412012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 ARC disk write support.
9044
9045 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
9046 (reopen): New argument writable. All users updated.
9047 Handle required access mode.
9048 (grub_arcdisk_write): Implement.
9049 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
9050 (grub_arc_firmware_vector): Make buffer to write a const buffer.
9051
e06c2e7a
VS
90522012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
9055 (read_sblock): Don't attempt to read superblocks outside the disk size.
9056
ff447958
VS
90572012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
9060 first superblock to find the second one when possible.
9061
9e88df39
VS
90622012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * util/grub-install.in: Fix an ARC bug.
9065 Print a warning if no platform-specific setup is available.
9066
bb26e4ff
VS
90672012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 Use static allocation rather than scratch pointer in reed_solomon.
9070 It decreases its size significantly and avoids a variable in .text.
9071
9072 * grub-core/lib/reed_solomon.c (scratch): Removed.
9073 (chosenstat): New const or static array.
9074 (sigma): Likewise.
9075 (errpot): Likewise.
9076 (errpos): Likewise.
9077 (sy): Likewise.
9078 (mstat): Likewise.
9079 (errvals): Likewise.
9080 (eqstat): Likewise.
9081 (pol_evaluate): Replace x with log_x argument. All users updated.
9082 (syndroms): Removed.
9083 (gauss_solve): Use statically allocated arrays.
9084 (rs_recover): Likewise.
9085 Calculate syndroms directly.
9086 (decode_block): Use statically allocated arrays.
9087 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
9088 (main) [TEST]: Allow -DTEST -DSTANDALONE.
9089
2e13ede5
VS
90902012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Eliminate fixed limit on reed solomon decoder length.
9093
9094 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
9095 rather than hardcoding the address.
9096 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
9097 no_reed_solomon_length.
9098 Move gate_a20 to no-reed-solomon part.
9099 Don't force a particular size of no reed-solomon part.
9100 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9101 Removed.
9102 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
9103 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
9104
f8a9ab12
VS
91052012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * grub-core/commands/wildcard.c (match_files): Handle filenames
9108 without explicit device.
9109 (wildcard_expand): Don't add explicit device if not already present.
9110 * tests/grub_script_echo1.in: Add a new expansion test.
9111
87edb894
VS
91122012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 Replace single-linked with double-linked lists. It results in more
9115 compact and more efficient code.
9116
9117 * grub-core/kern/list.c (grub_list_push): Moved from here ...
9118 * include/grub/list.h (grub_list_push): ... to here. Set prev.
9119 (grub_list_remove): Moved from here ...
9120 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
9121 (grub_prio_list_insert): Set prev.
9122 * include/grub/list.h (grub_list): Add prev. All users updated.
9123
48b391e9
VS
91242012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 Handle newer autotools. Add some missing quotes while on it.
9127
9128 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
9129 (pkglib_DATA): Move grub-mkconfig_lib from here ...
9130 (pkgdata_DATA): ... here.
9131 * Makefile.util.def (update-grub_lib): Removed.
9132 * conf/Makefile.common (pkglib_DATA): Removed.
9133 (pkglib_SCRIPTS): Likewise.
9134 (pkgdata_DATA): New variable.
9135 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
9136 needed.
9137 Add missing quotes.
9138 Remove unused variable while on it.
9139 * tests/util/grub-shell.in: Likewise.
9140 * util/grub-install.in: Likewise.
9141 * util/grub-mkconfig.in: Likewise.
9142 * util/grub-mknetdir.in: Likewise.
9143 * util/grub-mkrescue.in: Likewise.
9144 * util/grub-mkstandalone.in: Likewise.
9145 * util/grub.d/00_header.in: Likewise.
9146 * util/grub.d/10_hurd.in: Likewise.
9147 * util/grub.d/10_illumos.in: Likewise.
9148 * util/grub.d/10_kfreebsd.in: Likewise.
9149 * util/grub.d/10_linux.in: Likewise.
9150 * util/grub.d/10_netbsd.in: Likewise.
9151 * util/grub.d/10_windows.in: Likewise.
9152 * util/grub.d/20_linux_xen.in: Likewise.
9153 * util/grub.d/30_os-prober.in: Likewise.
9154 * util/update-grub_lib.in: Removed.
9155
91562012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
9157
9158 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
9159 a workaround for intel problem.
9160
66832792
PRP
91612012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
91622012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
91632012-01-23 pfsmorigo
9164
9165 * util/grub-install.in: Support dd'in into PreP partition.
9166 * util/grub-probe.c (probe): Support discovering partition type.
9167 (main): Support -t msdos_parttype.
9168
7816a17e
VS
91692012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
9172 infinite recursion using counter.
9173 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
9174 init to skip it if the magic check fails.
9175 (dec_stream_header): Init s->crc32.
9176
8f9d3a8c
ZB
91772012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
91782012-01-22 Zachary Bedell <pendorbound@gmail.com>
91792012-01-22 Richard Laager <rlaager@wiktel.com>
9180
9181 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
9182 All users updated.
9183 (find_bestub): Determine correct size.
9184 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
9185 (scan_disk): Align the size down.
9186 Call check pool before find_bestub to have ashift.
9187
b055dd32
VS
91882012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
9191 dprintf in no-malloc zone.
9192
d779e9bd
ML
91932012-01-22 Mario Limonciello <mario_limonciello@dell.com>
9194
9195 * configure.ac: Add back in test for limits.h.
9196
b508af69
VS
91972012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 Support 4K-sector NTFS.
9200
9201 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
9202 (grub_ntfs_data): Remove blocksize.
9203 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
9204 Remove data argument. All users updated.
9205
dad9c8b5
VS
92062012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9207
9208 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
9209 being in .text to avoid dprel references.
9210 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
9211 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
9212 (grub_arch_highmemsize): Likewise.
9213 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
9214 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
9215 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
9216
d43a777e
VS
92172012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
9220
9221 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
9222 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
9223
34e4208f
VS
92242012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
9227 GRUB_UTIL.
9228 (grub_set_datetime_cmos): Likewise.
9229
3ec0fc1c
VS
92302012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 Make XZ compression parameters dependent on target and not host CPU.
9233
9234 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
9235 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
9236
22489834
VS
92372012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
9240 set but not used variable.
9241
8502fbca
VS
92422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
9245 created when no uuid support is compiled into mkfs.reiser.
9246
76df2068
VS
92472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
9250 (utf8_to_macroman): Do the opposite.
9251 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
9252
64e3f8f6
VS
92532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * configure.ac: Refise build qemu_mips w/o unifont.
9256
9c271078
VS
92572012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 Eliminate grub_min/grub_max prone to overflow usage.
9260
9261 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
9262 (poll_nonroot_hub): Likewise.
9263 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
9264 (grub_affs_label): Likewise.
9265 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
9266 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
9267 (grub_hfs_label): Likewise.
9268 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
9269 * grub-core/fs/zfs/zfs.c (MIN): Remove.
9270 (zap_leaf_array_equal): Use grub_size. Remove MIN.
9271 (zap_leaf_array_get): Likewise.
9272 (dnode_get_path): Likewise.
9273 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
9274 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
9275 * grub-core/script/execute.c (grub_script_break): Likewise.
9276 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
9277 grub_max.
9278 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
9279 * include/grub/misc.h (grub_min): Removed.
9280 (grub_max): Likewise.
9281
80662dbc
VS
92822012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9283
9284 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
9285 direct.inode = 0.
9286
e6da1467
VS
92872012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9288
9289 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
9290
b1ac4cb1
VS
92912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
9294
b4bf7c3b
VS
92952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
9298 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
9299
8ee1101a
VS
93002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
9303 rather than a hack for grub_strncasemap.
9304
93052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Support multiple initrds
9308 Note: part of this was accidently committed in r3739.
9309
9310 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
9311 initrd.
9312 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9313 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9314 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9315 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9316 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9317
4d1e2bc9
VS
93182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9319
9320 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
9321 disks with unknown size.
9322 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
9323
75b49ebe
VS
93242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Remove defines pertaining to arbitrary limits not affecting GRUB
9327 anymore.
9328
9329 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
9330 (EXT2_MAX_SYMLINKCNT): Likewise.
9331 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
9332 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
9333 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
9334 (GRUB_PXE_MAX_BLKSIZE): Likewise.
9335 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
9336 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
9337 (DN_MAX_OBJECT_SHIFT): Likewise.
9338 (DN_MAX_OFFSET_SHIFT): Likewise.
9339 (DN_MAX_OBJECT): Likewise.
9340 (DNODES_PER_LEVEL_SHIFT): Likewise.
9341 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
9342 (SPA_MAXBLOCKSIZE): Likewise.
9343 (SPA_BLOCKSIZES): Likewise.
9344 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
9345 (MZAP_MAX_BLKSZ): Likewise.
9346
74a1dce7
VS
93472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
9350 handle NULL appropriately.
9351 Remove MIN.
9352
30c7d3ce
VS
93532012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Fix efiemu.
9356
9357 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
9358 cpu/types.h.
9359 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
9360 * configure.ac: Fix efiemu check.
9361
3c76ea0c
VS
93622012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
9365 grub_probe.
9366 Reported by: adamwill
9367
7e532280
SG
93682012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
9369
9370 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
9371
30492374
VS
93722012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 Fix handling of wide characters in gfxterm.
9375
9376 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
9377 (clear_char): Likewise.
9378 (paint_char): Skip code == NULL chars.
9379 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
9380
e70cb72f
VS
93812012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/normal/charset.c: Move comment to right place.
9384
5c827cf9
VS
93852012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
9388 (GRUB_AFFS_FLAG_FFS): Put back where it was.
9389 (grub_affs_mount): Revert the correct version checking.
9390
53603892
VS
93912012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * docs/grub.texi (Unicode): Mention several other unsupported features.
9394
ff094b9b
VS
93952011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
9398 case statements as compile-time one.
9399 (direct_read): Prevent spurious warnings.
9400 (grub_squash_read_data): Likewise.
9401
c029da8a
VS
94022011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 Various squash4 fixes and LZO and XZ support.
9405
9406 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
9407 Add xzembed source files.
9408 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
9409 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
9410 (grub_squash_inode): New subtype long_dir.
9411 (SQUASH_TYPE_LONG_DIR): New inode type.
9412 (COMPRESSION): New enum.
9413 (XZBUFSIZ): New const.
9414 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
9415 (read_chunk): Use data->decompress.
9416 (zlib_decompress): New function.
9417 (lzo_decompress): Likewise.
9418 (xz_decompress): Likewise.
9419 (squash_mount): Set new data fields.
9420 (grub_squash_iterate_dir): Handle long dir.
9421 (squash_unmount): Free xzdec and xzbuf.
9422 (grub_squash_open): Check ino type.
9423 (direct_read): Stylistic fixes. Use data->decompress.
9424 (grub_squash_read_data): Likewise.
9425 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
9426 (get_byte): Likewise.
9427 (grub_zlib_disk_read): Removed.
9428 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
9429 (GRUB_POSIX_BOOL_DEFINED): New define.
9430 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
9431 * grub-core/lib/xzembed/xz.h: Addmissing includes.
9432 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
9433 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
9434
7a45a539
VS
94352011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 Don't override more informative errors.
9438
9439 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
9440 * grub-core/font/font.c (open_section): Likewise.
9441 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
9442 filename. Don't override errors.
9443 (grub_cmd_openbsd_ramdisk): Don't override errors.
9444 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
9445 (grub_cmd_initrd): Likewise.
9446 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9447 (grub_cmd_initrd): Likewise.
9448 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
9449 (grub_cmd_linux): Likewise.
9450 (grub_cmd_initrd): Likewise.
9451 (grub_cmd_payload): Likewise.
9452 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9453 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
9454 (grub_cmd_module): Likewise.
9455 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9456 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9457 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
9458 (grub_cmd_xnu_mkext): Likewise.
9459 (grub_cmd_xnu_ramdisk): Likewise.
9460 (grub_xnu_check_os_bundle_required): Likewise.
9461 (grub_xnu_load_kext_from_dir): Likewise.
9462 (grub_cmd_xnu_kextdir): Likewise.
9463 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
9464
b2d004db
VS
94652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
9468 as 1024 in block size field. Found on one of my test images.
9469 Small optimisation while on it.
9470
ec000eac
VS
94712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
9474 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
9475 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
9476 performance fixes while on it.
9477 (grub_sfs_close): Fix memory leak while on it.
9478 (grub_sfs_label): Convert Latin1 to UTF-8.
9479
f50e1165
VS
94802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
9483 space to avoid overflows.
9484 (grub_hfs_label): Convert from macroman to UTF-8.
9485
2ae254de
VS
94862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9487
9488 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
9489
0108f491
VS
94902011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
9493
f45f5f89
VS
94942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * unicode: Import Unicode 6.0 data.
9497
4d8c4765
VS
94982011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9499
63fa8ef9
VS
9500 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
9501 outside of range.
9502
95032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
9506
9507 * include/grub/charset.h (grub_getend): New function.
9508 * grub-core/script/function.c (grub_script_function_find): Use
9509 grub_getend.
9510 * grub-core/normal/completion.c (add_completion): Likewise.
9511
f3cb4a4e
VS
95122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
9515 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
9516 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
9517 (GRUB_UNICODE_TAG_END): Likewise.
9518 (GRUB_UNICODE_LAST_VALID): Likewise.
9519
5da8dbc5
VS
95202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
9523 len and make it smaller. All users updated.
9524 * util/import_unicode.py: Put length and not end character.
9525 Check length.
9526
8569f13d
VS
95272011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 Make better Unicode-compliant and unify some UTF-8 code pathes.
9530
9531 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
9532 valid character.
9533 (grub_is_valid_utf8): Use grub_utf8_process.
9534 Check resulting code range.
9535 (grub_utf8_to_ucs4): Use grub_utf8_process.
9536 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
9537 valid character.
9538
cc4fddf5
VS
95392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
9542
bbc47747
VS
95432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9544
9545 * docs/grub.texi (Filesystems): Mention AFS.
9546
f63d6bf4
VS
95472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * docs/grub.texi (Filesystems): Clarify restrictions.
9550 (Regexp): Mention non-Unicode regexp behaviour.
9551 (Other): Mention non-Unicode matching behaviour.
9552
74bbf0db
VS
95532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9554
f63d6bf4 9555 Make HFS implementation use MacRoman.
74bbf0db
VS
9556
9557 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
9558 (macroman): New const array.
9559 (macroman_to_utf8): New function.
9560 (utf8_to_macroman): Likewise.
9561 (grub_hfs_find_dir): Use utf8_to_macroman.
9562 (grub_hfs_dir): Use macroman_to_utf8.
9563 Set case_insensitive.
9564
4ea0316e
VS
95652011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
9568
d3c13cbd
VS
95692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 Integrate hints into autogeneration scripts.
9572
9573 * docs/grub.texi (Filesystems): Add a hostdisk example.
9574 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
9575 (grub-probe): Add ofpath.
9576 * gentpl.py: Remove group nosparc64.
9577 * grub-core/commands/search.c (cache_entry): New struct.
9578 (cache): New var.
9579 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
9580 * grub-core/commands/search_wrap.c (options): Add platform-specific
9581 hint options.
9582 (grub_cmd_search): Handle platform-specific hints.
9583 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
9584 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
9585 (grub_util_biosdisk_data): Likewise.
9586 (grub_util_biosdisk_open): Set device_map.
9587 (read_device_map): Handle "" as indication of no map.
9588 Set device_map.
9589 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
9590 (grub_util_biosdisk_get_compatibility_hint): New function.
9591 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
9592 * include/grub/emu/hostdisk.h
9593 (grub_util_biosdisk_get_compatibility_hint): New proto.
9594 * util/grub-install.in: Don't call grub-mkdevicemap.
9595 Add platform-specific hint to load.cfg.
9596 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
9597 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9598 hints. Set root preliminary to compatibility hint, not to OS name.
9599 * util/grub-probe.c (PRINT_*): Add hints.
9600 (print): Make static.
9601 (escape_of_path): New function.
9602 (guess_bios_drive): Likewise.
9603 (guess_efi_drive): Likewise.
9604 (guess_baremetal_drive): Likewise.
9605 (print_full_name): Likewise.
9606 (probe): Handle hints.
9607 (main): Likewise.
9608 * util/ieee1275/devicemap.c: Removed.
9609 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
9610 updated.
9611 (grub_util_devname_to_ofpath): Return NULL on failure.
9612
9613 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
9614 resource leak.
9615 * util/getroot.c (grub_util_pull_device): Fix memory leak.
9616
9617 * po/POTFILES.in: Regenerated.
9618
9619 Allow purely long options
9620
9621 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
9622 (SHORT_ARG_USAGE): Likewise.
9623 (grub_arg_show_help): Compare opt with help_options.
9624 (parse_option): Receive opt as argument. If makes big simplificatons.
9625 All users updated
9626
00ce2df3
VS
96272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
9630 Restructure to avoid warning.
9631
e77e325f
VS
96322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * util/grub-install.in: Account for possible escaped comma in device
9635 name.
9636
165099ea
VS
96372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
9640 channel.
9641
ce4a999d
VS
96422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
9645 allocation and zero-setting.
9646 (grub_ieee1275_get_devname): Check that alias is complete.
9647
379586ad
VS
96482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9649
9650 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
9651 unaligned segments.
9652
9197b0ad
VS
96532011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
9656 prefix.
9657 (grub_ofdisk_open): Check and discard ieee1275 prefix.
9658 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9659 Add ieee1275 prefix.
9660
edddb7f9
VS
96612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * docs/grub.texi (Filesystems): Update.
9664
a1a8b1b9
VS
96652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 Support odc, newc and bigendian cpio formats.
9668
9669 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
9670 * grub-core/Makefile.core.def (newc): New module.
9671 (odc): Likewise.
9672 (cpio_be): Likewise.
9673 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
9674 (MAGIC): Likewise.
9675 (MAGIC2): Likewise.
9676 (head) [MODE_ODC]: Adapt for the format.
9677 (head) [MODE_NEWC]: Likewise.
9678 (head) [!MODE_*]: Write fields of interest as arrays.
9679 (MAGIC_USTAR): Removed.
9680 (read_number) [MODE_NEWC]: Change to hex.
9681 (read_number) [!MODE_*]: Parse binary arrays.
9682 (grub_cpio_find_file): Factor out the code for better structure and
9683 always use read_number.
9684 (grub_cpio_mount): Use MAGIC and MAGIC2.
9685 (grub_cpio_dir): Exit on first hook non-0 return.
9686 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
9687 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
9688 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
9689 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
9690 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
9691 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
9692 * grub-core/fs/newc.c: New file.
9693 * grub-core/fs/odc.c: Likewise.
9694 * grub-core/fs/cpio_be.c: Likewise.
9695
58eba9ee
VS
96962011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 Fix handling of tar numbers occupying the whole field.
9699
9700 * grub-core/fs/cpio.c (read_number): New function.
9701 (grub_cpio_find_file): Use read_number instead of strtoull.
9702
a54a0e12
VS
97032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
9706 occupying the whole field size.
9707
a6120aca
LA
97082011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
9709
9710 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
9711
a93964ce
VS
97122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9713
9714 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
9715
3ea1ca46
SG
97162011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
9717
9718 * grub-core/Makefile.core.def (lzma_decompress): Add missing
9719 TARGET_IMG_LDFLAGS.
9720
b87f7ef2
VS
97212011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * util/getroot.c (ESCAPED_PATH_MAX): New define.
9724 (mountinfo_entry): Increase the field size to take escaping into
9725 account.
9726 (find_root_device_from_libzfs): Add one byte to size of strings for
9727 security.
9728
62092395
VS
97292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
9732 an assert.
9733 * util/grub-setup.c (setup): Likewise.
9734
1f0b1a77
VS
97352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
9738 _LzmaDecodeA.
9739
8eba9997
VS
97402011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * docs/grub.texi (Internationalisation): New section.
9743
dd0c91e9
VS
97442011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * docs/grub.texi (Loopback booting): New section.
9747
97482011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
9749
9750 * util/grub-mkstandalone.in: Fix minor typo errors.
9751
198e150a
VS
97522011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
9755
9756 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
9757 net/icmp.c and net/icmp6.c.
9758 (http): New module.
9759 (priority_queue): Likewise.
9760 * grub-core/io/bufio.c: Rewritten.
9761 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
9762 TYPE_WITH_CONFIGFILE_OPTION.
9763 (legacy_commands): Add bootp and dhcp.
9764 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
9765 (grub_legacy_parse): Likewise.
9766 * grub-core/lib/priority_queue.c: New file.
9767 * grub-core/net/arp.c: Add missing license header.
9768 (arp_find_entry): Removed.
9769 (arp_find_entry): Likewise.
9770 (grub_net_arp_resolve): Rename to ...
9771 (grub_net_arp_send_request): ...this.
9772 (grub_net_arp_receive): New card argument.
9773 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
9774 Set router and DNS server.
9775 (grub_net_configure_by_dhcp_ack): Handle routing information.
9776 (grub_cmd_bootp): Set checksum.
9777 (grub_bootp_init): Remove net_dhcp.
9778 * grub-core/net/dns.c: New file.
9779 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
9780 completion.
9781 (get_card_packet): Handle allocation.
9782 (grub_efinet_findcards): Set mtu.
9783 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
9784 (get_card_packet): Handle allocation.
9785 (emucard): Set mtu.
9786 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
9787 (GRUB_MOD_INIT): Set mtu.
9788 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
9789 mtu.
9790 (get_card_packet): Handle allocation.
9791 (grub_ofnet_findcards): Set mtu.
9792 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
9793 assert.
9794 (grub_net_recv_ethernet_packet): Handle IPv6.
9795 * grub-core/net/http.c: New file.
9796 * grub-core/net/icmp.c: Likewise.
9797 * grub-core/net/icmp6.c: Likewise.
9798 * grub-core/net/ip.c (ip6addr): New type.
9799 (ip6hdr): Likewise.
9800 (reassemble): Likewise.
9801 (cmp): New function.
9802 (reassembles): New variable.
9803 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
9804 (id): New variable.
9805 (send_fragmented): New function.
9806 (grub_net_send_ip_packet): Rename to ...
9807 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
9808 Handle non-UDP.
9809 (grub_net_recv_ip_packets): Rename to ...
9810 (handle_dgram): ... this. Check checksum. Handle non-UDP.
9811 (free_rsm): New function.
9812 (free_old_fragments): Likewise.
9813 (grub_net_recv_ip4_packets): New function.
9814 (grub_net_send_ip6_packet): Likewise.
9815 (grub_net_send_ip_packet): Likewise.
9816 (grub_net_recv_ip6_packets): Likewise.
9817 (grub_net_recv_ip_packets): Likewise.
9818 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
9819 (LINK_LAYER_CACHE_SIZE): New const.
9820 (link_layer_find_entry): New function.
9821 (grub_net_link_layer_add_address): Likewise.
9822 (grub_net_link_layer_resolve_check): Likewise.
9823 (grub_net_link_layer_resolve): Likewise.
9824 (grub_net_ipv6_get_slaac): Likewise.
9825 (grub_net_ipv6_get_link_local): Likewise.
9826 (grub_cmd_ipv6_autoconf): Likewise.
9827 (parse_ip): Handle one number representation.
9828 (parse_ip6): New functoion.
9829 (match_net): Handle IPv6.
9830 (grub_net_resolve_address): Handle IPv6 and DNS.
9831 (grub_net_resolve_net_address): Handle IPv6.
9832 (route_cmp): New function.
9833 (grub_net_route_address): Find best route.
9834 (grub_net_addr_to_str): Handle IPv6.
9835 (grub_net_addr_cmp): New function.
9836 (grub_net_add_addr): Register local route.
9837 (print_net_address): Handle net address.
9838 (grub_net_poll_cards): Retransmit TCP.
9839 (grub_net_poll_cards_idle_real): Likewise.
9840 (have_ahead): New function.
9841 (grub_net_seek_real): Use underlying seek.
9842 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
9843 * grub-core/net/tcp.c: New file.
9844 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
9845 (cmp): New function.
9846 (ack): Likewise.
9847 (tftp_receive): Handle unordered input.
9848 (destroy_pq): New function.
9849 (tftp_close): Close pq.
9850 * grub-core/net/udp.c: Put missing license header.
9851 (grub_net_udp_socket): New function.
9852 (udp_socket_register): Likewise.
9853 (grub_net_udp_close): Likewise.
9854 (grub_net_recv_udp_packet): Check checksum.
9855 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
9856 * include/grub/misc.h (grub_memchr): New function.
9857 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
9858 (grub_net_card_driver): Return buf in recv.
9859 (grub_net_slaac_mac_list): New struct.
9860 (grub_network_level_protocol_id): Add ipv6.
9861 (grub_net_network_level_addr): Likewise.
9862 (grub_net_network_level_net_addr): Likewise.
9863 (grub_net_app_protocol): Add seek.
9864 (grub_net_socket): Removed.
9865 (grub_net_sockets): Likewise.
9866 (grub_net_socket_register): Likewise.
9867 (grub_net_socket_unregister): Likewise.
9868 (FOR_NET_SOCKETS): Likewise.
9869 (grub_net_add_addr): Add const.
9870 (GRUB_NET_BOOTP_*): New enum.
9871 (grub_net_addr_cmp): New proto.
9872 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
9873 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
9874 (grub_net_hwaddr_to_str): NEw proto.
9875 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
9876 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
9877 (grub_dns_init): New proto.
9878 (grub_dns_fini): Likewise.
9879 (grub_net_tcp_retransmit): Likewise.
9880 (grub_net_link_layer_add_address): Likewise.
9881 (grub_net_link_layer_resolve_check): Likewise.
9882 (grub_net_link_layer_resolve): Likewise.
9883 (grub_net_dns_lookup): Likewise.
9884 (grub_net_add_dns_server): Likewise.
9885 (grub_net_remove_dns_server): Likewise.
9886 (GRUB_NET_TRIES): New const.
9887 (GRUB_NET_INTERVAL): Likewise.
9888 * include/grub/net/arp.h: Mostly rewritten.
9889 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
9890 * include/grub/net/ip.h: Mostly rewritten.
9891 * include/grub/net/netbuff.h: Indent.
9892 * include/grub/net/tcp.h: New file.
9893 * include/grub/net/udp.h: Mostly rewritten.
9894 * include/grub/priority_queue.h: New file.
9895 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
9896 (grub_swap_bytes64_compile_time): Likewise.
9897 (grub_cpu_to_be16_compile_time): Likewise.
9898 (grub_cpu_to_be32_compile_time): Likewise.
9899 (grub_cpu_to_be64_compile_time): Likewise.
9900 (grub_be_to_cpu64_compile_time): Likewise.
9901
215c1800
VS
99022011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
9905 UINT_TO_PTR with cast.
9906
c17e546c
VS
99072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
9910 don't use them.
9911
ff6b18b6
VS
99122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
9915 already there.
9916
70ffcc93
VS
99172011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
9920 confusing ipxe.
9921
e5f4d260
VS
99222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
9925 Add missing const attribute.
9926 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
9927 Likewise.
9928 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
9929 Likewise.
9930
8e54b4b7
VS
99312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
9934 misaligned access.
9935 (serpent_setkey): Likewise.
9936 (serpent_encrypt_internal): Likewise.
9937 (serpent_decrypt_internal): Likewise.
9938 (serpent_encrypt): Don't put an alignment-increasing cast.
9939 (serpent_decrypt): Likewise.
9940 (serpent_test): Likewise.
9941
813c0a2b
VS
99422011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9945
f2b60fbd
VS
99462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
9949
9950 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
9951 grub_addr_t casts.
9952 (PTR_TO_UINT64): Likewise.
9953 (PTR_TO_UINT32): Likewise.
9954
5ef5c511
VS
99552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * util/grub-mkimage.c (generate_image): Decrease the higher limit
9958 because of stack.
9959 * util/grub-setup.c (setup): Don't add redundancy past the higher load
9960 limit.
9961
c476e6df
VS
99622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
9965 text_width > available width a bit more gracefully.
9966
384ad7cc
VS
99672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
9970 current address calculation.
9971
96f8caf8
VS
99722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
9975 stack.
9976 (encode_block): Likewise.
9977
276b7a8b
VS
99782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
9981 certainety.
9982
e3fd394a
VS
99832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
9986 non-RS part to avoid RS messing with GDT.
9987 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9988 Increase to suit in realmode routines.
9989
99902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * grub-core/kern/i386/realmode.S: Increase alignment.
9993 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
9994
ee9c2e7a
VS
99952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
9998 be deterministic.
9999 (syndroms): Compute 0 syndrom.
10000 (rs_recover): Use 0 syndrom.
10001
7a7f7cc9
VS
100022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
10005
a14b16d1
VS
100062011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
10009 brackets.
10010
9f59e9fc
VS
100112011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10012
ca1b552c
VS
10013 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
10014 account.
10015 (get_top_pad): Likewise.
10016 (get_right_pad): Likewise.
10017 (get_bottom_pad): Likewise.
10018
100192011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 10022
e739d698
VS
100232011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
10026 attribute as the structure isn't guaranteed to be properly aligned.
10027 (grub_efi_pci_device_path): Likewise.
10028 (grub_efi_pccard_device_path): Likewise.
10029 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
10030 specify the size of `memory_type'.
10031 (grub_efi_vendor_device_path): Likewise.
10032 (grub_efi_controller_device_path): Likewise.
10033 (grub_efi_acpi_device_path): Likewise.
10034 (grub_efi_expanded_acpi_device_path): Likewise.
10035 (grub_efi_atapi_device_path): Likewise.
10036 (grub_efi_scsi_device_path): Likewise.
10037 (grub_efi_fibre_channel_device_path): Likewise.
10038 (grub_efi_1394_device_path): Likewise.
10039 (grub_efi_usb_device_path): Likewise.
10040 (grub_efi_usb_class_device_path): Likewise.
10041 (grub_efi_i2o_device_path): Likewise.
10042 (grub_efi_mac_address_device_path): Likewise.
10043 (grub_efi_ipv4_device_path): Likewise.
10044 (grub_efi_ipv6_device_path): Likewise.
10045 (grub_efi_infiniband_device_path): Likewise.
10046 (grub_efi_uart_device_path): Likewise.
10047 (grub_efi_vendor_messaging_device_path): Likewise.
10048 (grub_efi_hard_drive_device_path): Likewise.
10049 (grub_efi_cdrom_device_path): Likewise.
10050 (grub_efi_vendor_media_device_path): Likewise.
10051 (grub_efi_file_path_device_path): Likewise.
10052 (grub_efi_protocol_device_path): Likewise.
10053 (grub_efi_piwg_device_path): Likewise.
10054 (grub_efi_bios_device_path): Likewise.
10055
cb8f88ea
VS
100562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
10059 (grub_ucs4_to_utf8_alloc): Likewise.
10060 (grub_ucs4_to_utf8): Likewise.
10061 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
10062 (grub_ucs4_to_utf8_alloc): Likewise.
10063
309e5352
VS
100642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 AFFS never uses unicode.
10067
10068 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
10069 (grub_latin1_to_utf8): New inline function.
10070 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
10071
e7987e1b
VS
100722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10073
10074 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
10075 overflow.
10076
efc2616e
VS
100772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
10080 (grub_squash_dirent_header): Likewise.
10081 (read_chunk): Don't double swap.
10082 (grub_squash_iterate_dir): Fix swap sizes.
10083
3c349f5a
VS
100842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
10087
b453412d
VS
100882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
10091 (grub_hfs_iterate_dir): Likewise.
10092
12e9d4d1
VS
100932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 Fix video on platforms where unaligned access is forbidden.
10096 Make several optimisations while on it.
10097
10098 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
10099 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10100 (grub_video_fbblit_replace_32bit_1bit): Likewise.
10101 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10102 Disable.
10103 (grub_video_fbblit_replace_16bit_1bit):
10104 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10105 (grub_video_fbblit_replace_8bit_1bit): Likewise.
10106 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
10107 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
10108 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10109 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
10110 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
10111 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
10112 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
10113 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
10114 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
10115 (grub_video_fbblit_replace_index_RGB888): Likewise.
10116 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
10117 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
10118 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
10119 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
10120 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
10121 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
10122 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
10123 Disable.
10124 (grub_video_fbblit_blend_XXX565_1bit):
10125 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
10126 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
10127 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
10128 void *.
10129 * grub-core/video/fb/video_fb.c (common_blitter)
10130 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
10131 (grub_video_fb_create_render_target_from_pointer)
10132 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
10133 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
10134 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
10135 definition.
10136 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
10137
ace96609
VS
101382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10139
10140 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
10141 HH22 and HM10 relocations.
10142
fd261d73
VS
101432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
10146
e59b7857
VS
101472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
10150 allocation succeeded.
10151
9b4baaa4
VS
101522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
10155 argument a u8 pointer. All users updated.
10156 Handle unaligned buffers.
10157
dc713193
VS
101582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
10161 add_part to workaround compiler bug.
10162
30dd48c2
VS
101632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
10166
0c6087a8
VS
101672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
10170 Reserve alignment invariants.
10171 (grub_multiboot_load): Likewise.
10172 (retrieve_video_parameters): Likewise.
10173 (grub_multiboot_make_mbi): Likewise.
10174
c2e77777
VS
101752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
10178 incorrect pointer.
10179
b70b6d11
VS
101802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10181
10182 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
10183 (grub_pata_pio_write): Likewise.
10184
02a2bf83
VS
101852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 Add noreturn attributes and remove unreachable code.
10188
10189 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
10190 code.
10191 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
10192 code. Mark as noreturn.
10193 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
10194 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
10195 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
10196 unreachable code.
10197 * grub-core/kern/main.c (grub_main): Mark as noreturn.
10198 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
10199 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
10200 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
10201 * include/grub/kernel.h (grub_main): Mark as noreturn.
10202 * include/grub/reader.h (grub_rescue_run): Likewise.
10203
2019d09e
VS
102042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
10207 redundant declaration.
10208
d1c501ee
VS
102092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10210
10211 * include/grub/net.h (grub_net_network_level_interfaces): Remove
10212 redundant declaration.
10213 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
10214
61664420
VS
102152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
10218 to ensure alignment.
10219 (grub_hdparm_print_identify): Make argument uint16 * to ensure
10220 alignment. Ensure tmp alignment.
10221 (grub_cmd_hdparm): Ensure buf alignment.
10222 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
10223 to ensure alignment.
10224 (grub_ata_dumpinfo): Ensure text alignment.
10225 (grub_atapi_identify): Preserve alignment invariant.
10226 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
10227
0d51ee20
VS
102282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
10231 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
10232 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
10233 * include/grub/misc.h (grub_reboot)
10234 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
10235 (grub_halt) [__mips__]: Likewise.
10236
753ef8c1
VS
102372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
10240 Remove redundant declaration.
10241 (grub_mmap_get_post64): Likewise.
10242 (grub_mmap_get_upper): Likewise.
10243 (grub_mmap_get_lower): Likewise.
10244
85c85365
VS
102452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
10248 uint32_t * to ensure alignment.
10249 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
10250
a23f2cc4
VS
102512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10252
93018f64
VS
10253 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
10254 uint16_t * to ensure alignment.
10255 (sun_pc_partition_map_iterate): Make `block' a union to ensure
10256 alignment.
10257
102582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
10261 to ensure alignment.
10262 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
10263
58acccd6
VS
102642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * grub-core/fs/ntfs.c (u16at): Make into inline function.
10267 Handle unaligned pointers.
10268 (u32at): Likewise.
10269 (u64at): Likewise.
10270 (fixup): Use byte access instead of v16at.
10271 (find_attr): Fix imporper usage of v32at.
10272 (read_data): Likewise.
10273 (list_file): Handle byte-swapping and unaligned strings.
10274 (grub_ntfs_label): Likewise.
10275
9b05cad7
VS
102762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
10279 as it's not necessarily aligned.
10280
b3950b84
VS
102812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
10284 redundant declaration.
10285 (grub_serial_init): Likewise.
10286 (grub_terminfo_init): Likewise.
10287
fcd232b7
VS
102882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
10291 function.
10292 (ZAP_HASH_IDX): Likewise.
10293 (ZAP_LEAF_HASH_SHIFT): Likewise.
10294 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
10295 (LEAF_HASH): Likewise.
10296 (ZAP_LEAF_NUMCHUNKS): Likewise.
10297 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
10298 alignment invariants. Return pointer. All users updated.
10299 (ZAP_LEAF_ENTRY): Make into inline function.
10300 (NBBY): Removed.
10301 (xor): LIkewise.
10302 (xor_out): Use grub_crypto_xor.
10303 (dnode_get_path): Use grub_get_unaligned.
10304 (nvlist_find_value): Likewise.
10305 (grub_zfs_nvlist_lookup_uint64): Likewise.
10306 (grub_zfs_nvlist_lookup_string): Likewise.
10307 (get_nvlist_size): Likewise.
10308 (grub_zfs_open): Likewise.
10309 (fill_fs_info): Likewise.
10310 (grub_zfs_dir): Likewise.
10311 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
10312 alignment invariants.
10313 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
10314 necessarily aligned.
10315
f138623a
VS
103162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10317
10318 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
10319
564840dc
VS
103202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
10323 arithmetic to conserve alignment invariants.
10324
9b40df20
VS
103252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
10328 redundant declaration.
10329 (grub_efiemu_mm_obtain_request): Likewise.
10330 (grub_efiemu_prepare): Likewise.
10331
d1c930f9
VS
103322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10333
10334 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
10335 to match types.
10336
4c5f3056
VS
103372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
10340 case of aunaligned recptr.
10341 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
10342 alignment.
10343 (grub_hfsplus_btree_search): Handle unaligned index.
10344
728cba91
VS
103452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
10348 to get freetag and skip.
10349
eb561f31
VS
103502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
10353 array.
10354 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
10355 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
10356
20993fbb
VS
103572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10358
10359 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
10360 name for checksum and fix allocation algorithm.
10361
1f313b94
VS
103622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10363
10364 * include/grub/types.h (grub_properly_aligned_t): New type.
10365 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10366 (grub_get_unaligned16): Add explicit casts.
10367 (grub_get_unaligned32): Likewise.
10368 (grub_get_unaligned64): Likewise.
10369 (grub_set_unaligned16): New function.
10370 (grub_set_unaligned32): Likewise.
10371
47ae27ec
VS
103722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10375
78c2cd1c
VS
103762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
10379 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
10380 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
10381
53072f9b
VS
103822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
10385 conditionals.
10386
055dc239
VS
103872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10388
10389 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
10390 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
10391
496bd074
VS
103922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 Unify and improve RAID and crypto xor.
10395
10396 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
10397 changed to grub_crypto_xor
10398 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
10399 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
10400 Use bigger types when possible.
10401
ef6e4335
VS
104022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/disk/raid.c (scan_devices): Fix condition.
10405
5d048bf2
VS
104062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
10409 Make name a const ptr.
10410
ee533335
VS
104112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
10414 first argument a const pointer.
10415 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10416 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
10417 proto.
10418 (grub_children_iterate): Likewise.
10419 (grub_machine_mmap_iterate): Remove redundant declaration.
10420
cc8f3668
VS
104212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
10424 (grub_cmd_acpi) [!x86]: Disable EBDA.
10425
c5fc563a
VS
104262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 Enable UTF8 in gnulib regexp.
10429
10430 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
10431 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
10432 (isupper): Use grub_isupper.
10433 (isascii): New inline function.
10434 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
10435 * grub-core/lib/posix_wrap/wctype.h: Likewise.
10436 * grub-core/normal/charset.c (grub_utf8_process): New function.
10437 (grub_utf8_to_utf16): Use grub_utf8_process.
10438 (grub_encode_utf8_character): New function.
10439 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
10440 * include/grub/charset.h (grub_utf8_process): New declaration.
10441 (grub_encode_utf8_character): Likewise.
10442 * include/grub/misc.h (grub_islower): New inline function.
10443 (grub_isupper): Likewise.
10444 (grub_strchrsub): Moved down to fix the definitions.
10445
0af2346f
VS
104462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
10449 specification.
10450
74dbd244
VS
104512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * include/grub/loader.h (grub_loader_register_preboot_hook):
10454 Use struct preboot * and not void * for handle. All users updated.
10455 (grub_loader_unregister_preboot_hook): Likewise.
10456
1bc8f60d
VS
104572011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
10460 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
10461 UTF-16-BE. All users updated.
10462 (grub_hfsplus_cmp_catkey): Fix unicode handling.
10463 (grub_hfsplus_iterate_dir): Likewise.
10464 (grub_hfsplus_label): Likewise.
10465
48d6e456
VS
104662011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
10469
bf3a3857
VS
104702011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 Add missing const qualifiers.
10473
10474 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
10475 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
10476 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
10477 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
10478 (grub_lvm_check_flag): Likewise.
10479 * grub-core/efiemu/i386/coredetect.c
10480 (grub_efiemu_get_default_core_name): Likewise
10481 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
10482 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
10483 * grub-core/fs/ntfs.c (fixup): Likewise.
10484 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
10485 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
10486 (fzap_lookup): Likewise.
10487 (zap_lookup): Likewise.
10488 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
10489 * grub-core/lib/legacy_parse.c (check_option): Likewise.
10490 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
10491 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
10492 (grub_freebsd_add_meta_module): Likewise.
10493 (grub_cmd_freebsd_module): Likewise.
10494 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
10495 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
10496 (grub_xnu_writetree_get_size): Likewise.
10497 (grub_xnu_writetree_toheap_real): Likewise.
10498 (grub_xnu_find_key): Likewise.
10499 (grub_xnu_create_key): Likewise.
10500 (grub_xnu_create_value): Likewise.
10501 (grub_xnu_register_memory): Likewise.
10502 (grub_xnu_check_os_bundle_required): Likewise.
10503 (grub_xnu_scan_dir_for_kexts): Likewise.
10504 (grub_xnu_load_kext_from_dir): Likewise.
10505 * grub-core/normal/color.c (color_list): Likewise.
10506 * grub-core/normal/completion.c (current_word): Likewise.
10507 * grub-core/normal/menu_entry.c (insert_string): Likewise.
10508 * grub-core/term/serial.c (grub_serial_find): Likewise.
10509 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
10510 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
10511 Likewise.
10512 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
10513 (grub_freebsd_add_meta_module): Likewise.
10514 * include/grub/lib/arg.h (grub_arg_option): Likewise.
10515 * include/grub/net.h (grub_net_card_driver): Likewise.
10516 (grub_net_card): Likewise.
10517 (grub_net_app_protocol): Likewise.
10518 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
10519 * include/grub/serial.h (grub_serial_find): Likewise.
10520 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
10521 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
10522 (grub_xnu_create_value): Likewise.
10523 (grub_xnu_find_key): Likewise.
10524 (grub_xnu_scan_dir_for_kexts): Likewise.
10525 (grub_xnu_load_kext_from_dir): Likewise.
10526
10527 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
10528 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
10529 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
10530 Moved from here ...
10531 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
10532
112b4837
CW
105332011-11-28 Colin Watson <cjwatson@ubuntu.com>
10534
10535 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
10536
49e891ac
VS
105372011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
10540 (read_device): Fix size calculation.
10541
fd258e5c
RM
105422011-11-25 Robert Millan <rmh@gnu.org>
10543
10544 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
10545 (find_root_device_from_libzfs): Add zpool output parser to be used
10546 as fallback when libzfs isn't available.
10547
78845dc2
SG
105482011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
10549
10550 * po/Makefile.in.in: Add missing escape-continuation.
10551
adac5211
VS
105522011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
10555
10b64f1c
VS
105562011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
10559
bb416954
VS
105602011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
10563
bdfe9eeb
VS
105642011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
10567
581ffa8a
VS
105682011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/lib/adler32.c: Add missing license specification.
10571 * grub-core/lib/crc64.c: Likewise.
10572 * grub-core/loader/i386/pc/plan9.c: Likewise.
10573 * grub-core/partmap/plan.c: Likewise.
10574
2536cf64
LK
105752011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
10576
10577 Add facility to debug GRUB with gdb under qemu.
10578
10579 * grub-core/gdb_grub.in: New file.
10580 * grub-core/gmodule.pl.in: Likewise.
10581 * grub-core/Makefile.core.def (gmodule.pl): New script.
10582 (gdb_grub): Likewise.
10583
bc108a4a
VS
105842011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * util/grub-mount.c (argp_parser): Accept relative pathes.
10587 * util/grub-fstest.c (argp_parser): Likewise.
10588
111c1778
VS
105892011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 Plan9 support.
10592
10593 * Makefile.util.def (libgrubmods): Add
10594 grub-core/partmap/plan.c.
10595 * docs/grub.texi: Notice Plan9 support.
10596 * grub-core/Makefile.core.def (plan9): New module.
10597 (part_plan): Likewise.
10598 * grub-core/loader/i386/pc/plan9.c: New file.
10599 * grub-core/partmap/plan.c: Likewise.
10600 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
10601 define.
10602 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
10603 * include/grub/mm.h (grub_extend_alloc): New inline function.
10604
c30be3b6
VS
106052011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 Make Reed-Solomon faster by using power of generator representation of
10608 GF(256)*.
10609
10610 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
10611 (gf_double_t): Likewise.
10612 (gf_invert): Removed.
10613 (gf_powx): New array.
10614 (gf_powx_inv): Likewise.
10615 (scratch): Move higher.
10616 (gf_reduce): Removed.
10617 (gf_mul): Use powx.
10618 (gf_invert): Likewise.
10619 (init_inverts): Replaced with ...
10620 (init_powx): ...this. All users updated.
10621 (pol_evaluate): Replace multiplications with additions.
10622 (rs_encode): Likewise.
10623 (gauss_eliminate): Call gf_invert.
10624 (grub_reed_solomon_add_redundancy): Call init_powx.
10625 (grub_reed_solomon_recover): Call init_powx unconditionally.
10626
fa5aeffc
VS
106272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
10630
a346b81c
VS
106312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
10634 disk->partiton for safety.
10635
d89ee414
VS
106362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10639 Fix a memory leak.
10640 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
10641
91ee7b6d
VS
106422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
10645
91e5a33d
VS
106462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
10649
9edd7be2
VS
106502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10651
10652 Fix spaces handling in proc/self/mountinfo.
10653
10654 * util/getroot.c (unescape): New function.
10655 (grub_find_root_device_from_mountinfo): Use unescape.
10656
ba102053
VS
106572011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 Support ZFS embedding.
10660
10661 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
10662 (grub_zfs_fs): Register grub_zfs_embed.
10663
aa94b870
VS
106642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 Fix MIPS compilation.
10667
10668 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
10669 * include/grub/offsets.h: Rename decompressor fields from
10670 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
10671 * util/grub-mkimage.c (image_targets): Use new names.
10672
5fbdac14
VS
106732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 Defer multiboot device parsing until we're in compressed part.
10676
10677 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
10678 bsd_part. setdevice has fallen into disuse.
10679 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
10680 (bsd_part): Likewise.
10681 (boot_dev): New variable.
10682 (multiboot_trampoline): Don't parse multiboot device.
10683 Pass multiboot device in %edx.
10684 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
10685 grub_boot_device.
10686 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
10687 Likewise.
10688 * grub-core/kern/i386/pc/startup.S: Save edx.
10689 (grub_boot_drive): Removed.
10690 (grub_install_dos_part): Likewise.
10691 (grub_install_bsd_part): Likewise.
10692 (grub_boot_device): New variable.
10693 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
10694 (grub_install_bsd_part): Likewise.
10695 (grub_boot_drive): Likewise.
10696 (grub_boot_device): New variable.
10697 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
10698 Removed.
10699 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
10700 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
10701 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
10702 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
10703 * util/grub-install.in: Remove redundant condition.
10704
691cbb58
VS
107052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 Fix bug introduced by previous commit.
10708
10709 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
10710
60240b8b
VS
107112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10712
10713 Use decompressors framework on i386-pc. It increases core size
10714 by 46 bytes but improves compatibility and maintainability.
10715
10716 * grub-core/Makefile.core.def (lzma_decompress): New image.
10717 (kernel): Add i386_pc_ldflags.
10718 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
10719 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
10720 to real_to_prot, prot_to_real and device info.
10721 * include/grub/offsets.h: Renamed decompressor offsets.
10722 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
10723 (image_target_desc): Remove raw_size and rename decompressor fields.
10724 (compress_kernel): Handle lzma.
10725 (generate_image): Handle decompressors on i386-pc.
10726
e9d3421c
VS
107272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * configure.ac: Add -fno-asynchronous-unwind-tables.
10730
2b23074a
VS
107312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 Move assembly code to C by using intwrap. It increases core size
10734 by 88 bytes but improves compatibility and maintainability.
10735
10736 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
10737 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
10738 ... here. Translated to C.
10739 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
10740 * grub-core/term/i386/pc/console.c (grub_console_getkey):
10741 ... here. Translated to C.
10742 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
10743 * grub-core/term/i386/pc/console.c (grub_console_getxy):
10744 ... here. Translated to C.
10745 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
10746 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
10747 ... here. Translated to C.
10748 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
10749 * grub-core/term/i386/pc/console.c (grub_console_cls):
10750 ... here. Translated to C.
10751 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
10752 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
10753 ... here. Translated to C.
10754 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
10755 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
10756 Translated to C.
10757 * grub-core/term/i386/pc/console.c (int10_9): New function.
10758 (grub_console_putchar): Likewise.
10759 * include/grub/i386/pc/console.h: Removed the not anymore shared
10760 functions.
10761
678f4b67
VS
107622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 Move grub_chainloader_real_boot out of the kernel.
10765
10766 * grub-core/Makefile.am: Remove machine/loader.h.
10767 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10768 Removed.
10769 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
10770 variable.
10771 (grub_relocator16_keep_a20_enabled): Likewise.
10772 (grub_relocator16_boot): Fill new variables.
10773 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
10774 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
10775 relocator.
10776 (grub_chainloader_unload): Likewise.
10777 (grub_chainloader_cmd): Likewise.
10778 * include/grub/i386/pc/loader.h: Removed.
10779 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
10780 and esi. All initialisers updated.
10781
4626edf6
VS
107822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
107832011-11-12 Colin Watson <cjwatson@ubuntu.com>
10784
10785 * Makefile.util.def (grub-mount): New util.
10786 * .bzrignore: Add grub-mount.
10787 * configure.ac: Check for fuse and enable grub-mount if available.
10788 * docs/man/grub-mount.h2m: New file.
10789 * util/grub-mount.c: Likewise.
10790
10f0117b
VS
107912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * grub-core/commands/efi/fixvideo.c: Gettextize.
10794 * grub-core/commands/hashsum.c: Likewise.
10795 * grub-core/commands/i386/cmostest.c: Likewise.
10796 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10797 * grub-core/commands/i386/pc/lsapm.c: Likewise.
10798 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10799 * grub-core/commands/lsmmap.c: Likewise.
10800 * grub-core/commands/menuentry.c: Likewise.
10801 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
10802 * grub-core/commands/setpci.c: Likewise.
10803 * grub-core/loader/i386/bsd.c: Likewise.
10804 * grub-core/loader/i386/linux.c: Likewise.
10805 * util/getroot.c: Likewise.
10806 * util/grub-editenv.c: Likewise.
10807 * util/grub-fstest.c: Likewise.
10808 * util/grub-mkfont.c: Likewise.
10809 * util/grub-mkimage.c: Likewise.
10810 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10811 * util/grub-pe2elf.c: Likewise.
10812 * util/grub-probe.c: Likewise.
10813 * util/grub-setup.c: Likewise.
10814 * util/ieee1275/ofpath.c: Likewise.
10815 * util/misc.c: Likewise.
10816 * util/raid.c: Likewise.
10817
566f779b
RM
108182011-11-11 Robert Millan <rmh@gnu.org>
10819
10820 * util/getroot.c (grub_util_get_geom_abstraction): Remove
10821 __attribute__((unused)) from `os_dev', which *is* being used.
10822
b50787de
VS
108232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
10826 forgotten define.
10827 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
10828 GRUB_IA64_DL_GOT_ALIGN.
10829 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
10830 GRUB_IA64_DL_TRAMP_ALIGN.
10831
119d11c8
VS
108322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 Replace grub_fatal with normal errors in i386 linux loader.
10835
10836 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
10837 (allocate_pages): Check find_efi_mmap_size return value.
10838 (grub_e820_add_region): Return error.
10839 (grub_linux_boot): Check mmap return value.
10840
6e0632e2
VS
108412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * grub-core/commands/acpihalt.c: Gettextized.
10844 * grub-core/commands/cacheinfo.c: Likewise.
10845 * grub-core/commands/cmp.c: Likewise.
10846 * grub-core/commands/efi/loadbios.c: Likewise.
10847 * grub-core/commands/gptsync.c: Likewise.
10848 * grub-core/commands/ieee1275/suspend.c: Likewise.
10849 * grub-core/commands/legacycfg.c: Likewise.
10850 * grub-core/commands/memrw.c: Likewise.
10851 * grub-core/commands/minicmd.c: Likewise.
10852 * grub-core/commands/parttool.c: Likewise.
10853 * grub-core/commands/time.c: Likewise.
10854 * grub-core/commands/videoinfo.c: Likewise.
10855 * grub-core/disk/geli.c: Likewise.
10856 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
10857 * grub-core/disk/luks.c: Likewise.
10858 * grub-core/disk/lvm.c: Likewise.
10859 * grub-core/font/font_cmd.c: Likewise.
10860 * grub-core/fs/zfs/zfscrypt.c: Likewise.
10861 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10862 * grub-core/gfxmenu/view.c: Likewise.
10863 * grub-core/kern/emu/hostdisk.c: Likewise.
10864 * grub-core/kern/emu/main.c: Likewise.
10865 * grub-core/kern/emu/misc.c: Likewise.
10866 * grub-core/kern/emu/mm.c: Likewise.
10867 * grub-core/kern/mips/arc/init.c: Likewise.
10868 * grub-core/kern/mips/loongson/init.c: Likewise.
10869 * grub-core/kern/partition.c: Likewise.
10870 * grub-core/lib/i386/halt.c: Likewise.
10871 * grub-core/lib/mips/arc/reboot.c: Likewise.
10872 * grub-core/lib/mips/loongson/reboot.c: Likewise.
10873 * grub-core/loader/i386/pc/chainloader.c: Likewise.
10874 * grub-core/loader/i386/xnu.c: Likewise.
10875 * grub-core/loader/multiboot.c: Likewise.
10876 * grub-core/net/bootp.c: Likewise.
10877 * grub-core/net/net.c: Likewise.
10878 * grub-core/normal/term.c: Likewise.
10879 * grub-core/partmap/bsdlabel.c: Likewise.
10880 * grub-core/parttool/msdospart.c: Likewise.
10881 * grub-core/term/gfxterm.c: Likewise.
10882 * grub-core/term/terminfo.c: Likewise.
10883 * grub-core/video/i386/pc/vbe.c: Likewise.
10884 * util/grub-menulst2cfg.c: Likewise.
10885 * util/grub-mkdevicemap.c: Likewise.
10886 * util/grub-mklayout.c: Likewise.
10887 * util/grub-mkrelpath.c: Likewise.
10888 * util/grub-script-check.c: Likewise.
10889 * util/ieee1275/grub-ofpathname.c: Likewise.
10890 * util/resolve.c: Likewise.
10891
073aa7a9
VS
108922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 Support %1$d syntax.
10895
10896 * tests/printf_unit_test.c: New file.
10897 * Makefile.util.def (printf_test): New test.
10898 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
10899
c76b5417
VS
109002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
10903 fix.
10904
df067ad1
VS
109052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
10908 dprintf.
10909 * grub-core/font/font.c (grub_font_load): Likewise.
10910
5b289bc5
VS
109112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 * util/grub-macho2img.c: Add comment concerning gettext.
10914 * grub-core/lib/legacy_parse.c: Likewise.
10915
c1860f87
VS
109162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
10919 (grub_xvasprintf): Likewise.
10920
d35d0d37
VS
109212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 Add const keyword to grub_env_get and gettextize week days.
10924
10925 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
10926 (grub_read_hook_datetime): Return const char *.
10927 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
10928 updated.
10929 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
10930 Mark for gettext.
10931 (grub_get_weekday_name): Return const char *. Call gettext.
10932 * grub-core/script/argv.c (grub_script_argv_append): Receive const
10933 char * and len as the argument. All users updated.
10934 (grub_script_argv_split_append): Receive const char *.
10935 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
10936 * include/grub/env.h (grub_env_get): Likewise.
10937 (grub_env_read_hook_t): Return const char *.
10938 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
10939 (grub_script_argv_split_append): Likewise.
10940
9aed8a71
VS
109412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10944
067fdf00
VS
109452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
10948 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
10949
a8bd9d39
VS
109502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10953 Fix prototype.
10954
f7ce5baf
VS
109552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 Fix mips compilation.
10958
10959 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
10960 normal decoder.
10961 (hashes): Use in embed decoder as well (for sizes).
10962 (dec_stream_header): Fix embed decompressor logic.
10963 (dec_stream_footer): Likewise.
10964
9bb182f3
VS
109652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
10968 an error and not a fatal on unrecognised relocation types.
10969
63a9e6f6
VS
109702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10973 Issue error rather than printf on unknown arguments.
10974
4c458569
VS
109752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
10978 Make buf a const.
10979
e2d22baf
VS
109802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
10983 Fix module name.
10984
53dc8590
VS
109852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
10988 leftover debug printf.
10989
6c189294
VS
109902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10993
f7688369
VS
109942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10995
10996 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
10997 A stylistic fix.
10998
11a775a3
VS
109992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
11002
33f784e8
SL
110032011-11-10 Shea Levy <slevy@tieronedesign.com>
11004
11005 Allow all modules to perform serial IO
11006
11007 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
11008 * include/grub/serial.h (grub_serial_port_configure): New inline
11009 function.
11010 (grub_serial_port_fetch): Likewise.
11011 (grub_serial_port_put): Likewise.
11012 (grub_serial_port_fini): Likewise.
11013 (grub_serial_find): New proto.
11014
f6276525
VS
110152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 Put symlink at the end of the node and fix a potential
11018 memory corruption.
11019
11020 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
11021 Make symlink into an array.
11022 (set_rockridge): Set have_symlink and alloc_dirents.
11023 (grub_iso9660_read_symlink): Use new layout.
11024 (grub_iso9660_iterate_dir): Fix memory corruption.
11025 Use new layout.
11026 (grub_iso9660_dir): Set have_symlink.
11027 (grub_iso9660_open): Likewise.
11028
c3591189
VS
110292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 Remove local keyword.
11032
11033 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
11034 (version_test_gt): Likewise.
11035 (version_find_latest): Likewise.
11036 (gettext_printf): Likewise.
11037 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
11038
cb544caa
VS
110392011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11040
11041 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
11042
45bd824d
VS
110432011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 Fix ZFS memory and resource leaks.
11046
11047 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
11048 All users updated.
11049 Free type on exit.
11050 (fill_vdev_info): New parameter inserted. All users updated.
11051 (check_pool_label): Likewise.
11052 (scan_disk): Likewise.
11053 (scan_devices): Close non-inserted disks.
11054 (fzap_iterate): Free l.
11055 (unmount_device): Free children descripto memory.
11056
ad9a2f44
VS
110572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
11060 argument (access out of bounds).
11061
6b68db81
VS
110622011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
11065 >= 6 drives.
11066
28840fda
VS
110672011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
11068
11069 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
11070 Fix declaration.
11071
8a5a3a5b
VS
110722011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 Fix several memory leaks.
11075
11076 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
11077 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
11078 (grub_cpio_dir): Likewise.
11079 * grub-core/fs/fat.c (grub_fat_label): Likewise.
11080 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
11081 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
11082 (grub_romfs_label): Likewise.
11083 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
11084 (squash_unmount): New function.
11085 (grub_squash_dir): Fix memory leak.
11086 (grub_squash_open): Likewise.
11087 (grub_squash_read): Likewise.
11088 (grub_squash_mtime): Likewise.
11089 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
11090 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
11091 * util/grub-fstest.c (fstest): Likewise.
11092
57b01250
VS
110932011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
11096 avoid accessing beyond the array.
11097
19e81ba7
VS
110982011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
11101
52b656c0
VS
111022011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 Several AFFS fixes.
11105
11106 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
11107 (GRUB_AFFS_FLAG_FFS): Removed.
11108 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
11109 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
11110 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
11111 (grub_fshelp_node): Make block 32-bit.
11112 Add block_cache and last_block_cache.
11113 (grub_affs_read_block): Fill and use block cache.
11114 (grub_affs_read_file): Removed.
11115 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
11116 boot block.
11117 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
11118 safety.
11119 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
11120 space.
11121 (grub_affs_close): Free block cache.
11122 (grub_affs_read): Use grub_fshelp_read_file directly.
11123
438a746a
VS
111242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
11127 with no error set.
11128
49a45021
VS
111292011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
11132 used variable.
11133 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11134 Likewise.
11135
3ae17eb8
VS
111362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
11139
11140 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
11141 byteswap when needed.
11142
27610c38
VS
111432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 Fix FreeBSD compilation.
11146
11147 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
11148 to avoid circular dependency.
11149 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
11150 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
11151 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
11152
4a19b601
VS
111532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 Fix ZFS crypto error types.
11156
11157 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
11158 (grub_gcm_decrypt): Likewise.
11159 (grub_zfs_load_key_real): Fix error code type. Handle possible error
11160 from PBKDF2.
11161
958ee221
VS
111622011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 Illumos support.
11165
11166 * Makefile.util.def (10_illumos): New script.
11167 * configure.ac: Set COND_HOST_ILLUMOS.
11168 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
11169 Support Illumos calls.
11170 (find_partition_start) [__sun__]: Likewise.
11171 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
11172 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
11173 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
11174 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
11175 device.
11176 * util/grub-probe.c (probe) [__sun__]: Do character check.
11177 * util/grub.d/10_illumos.in: New file.
11178
cac14fb6
VS
111792011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Support escaped commas in hostdisk.
11182
11183 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
11184 (find_grub_drive): Use unescape_cmp.
11185 (make_device_name): Escape commas.
11186
78e08dc3
VS
111872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11188
11189 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
11190
9f421dd1
VS
111912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
11194 variable.
11195
ed64e9e2
VS
111962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 Support trampoline jumps on powerpc.
11199
11200 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
11201 __ia64__ path.
11202 (grub_dl_load_segments): Set mod->sz.
11203 (grub_dl_flush_cache): Flush whole space occupied by module, not just
11204 segments.
11205 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
11206 (jump): Likewise.
11207 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
11208 function.
11209 (trampoline): New struct.
11210 (trampoline_template): New const.
11211 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
11212 * include/grub/dl.h (grub_dl): Add sz element.
11213 [__powerpc__]: Follow __ia64__.
11214 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
11215 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
11216 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
11217 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
11218
3084ede4
VS
112192011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 ZFS crypto support.
11222
11223 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
11224 * grub-core/Makefile.core.def (zfscrypt): New module.
11225 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
11226 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
11227 it. All users updated.
11228 (grub_zfs_decrypt): New var.
11229 (grub_zfs_load_key): Likewise.
11230 (zio_checksum_functions): Add SHA256+MAC.
11231 (zio_checksum_verify): Handle incomplete comparison due to MAC.
11232 (zio_read): Handle encrypted blocks.
11233 (zap_verify): Remove incorrect check.
11234 (fzap_iterate): Handle non-standard fzap.
11235 (zap_iterate): Likewise.
11236 (zap_iterate_u64): New function.
11237 (dnode_get_fullpath): Load keys.
11238 * grub-core/fs/zfs/zfscrypt.c: New file.
11239 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
11240 (grub_crypto_ecb_encrypt): Make input const.
11241 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
11242 (grub_crypto_ecb_encrypt): Make input const.
11243 (GRUB_CIPHER_AES): New macro.
11244 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
11245 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
11246 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
11247 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
11248 prefix. All users updated.
11249 (grub_zfs_add_key): New proto.
11250 (grub_zfs_decrypt): Likewise.
11251 (grub_zfs_load_key): Likewise.
11252 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
11253 * util/grub-fstest.c (options): Add -K option.
11254 (argp_parser): Likewise.
11255
b632b404
VS
112562011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 Support zle compression on ZFS.
11259
11260 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
11261 (decomp_table): Add zle.
11262 * include/grub/zfs/zio.h (zio_compress): Add zle.
11263
c7ba4f69
VS
112642011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 Support BtrFS embedding.
11267
11268 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
11269 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
11270 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
11271 * util/grub-setup.c (setup): Use fs embedding if available.
11272 Add additional sanity check.
11273
455377d9
VS
112742011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * util/grub-install.in: Fix condition for config_opt.
11277
c2fd16ca
VS
112782011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11279
11280 Support third redundancy strip on raidz3.
11281
11282 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
11283 Return error on singularity. All users updated.
11284 (read_device): Don't stop on 3rd failure on raidz3.
11285
8622923b
VS
112862011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 Support case-insensitive ZFS subvolumes.
11289
11290 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
11291 All users updated.
11292 (zap_hash): Likewise.
11293 (name_cmp): New function.
11294 (zap_leaf_array_equal): New parameter case_insensitive.
11295 All users updated.
11296 (zap_leaf_lookup): Likewise.
11297 (fzap_lookup): Likewise.
11298 (zap_lookup): Likewise.
11299 (dnode_get_path): New parameter case_insensitive. Retrieve case
11300 sensitiviness of a volume. All users updated.
11301 (dnode_get_fullpath): New parameter case_insensitive.
11302 All users updated.
11303 (grub_zfs_dir): Set info.case_insensitiveness.
11304
95f2e860
VS
113052011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 Support second redundancy strip on raidz(2,3).
11308
11309 * grub-core/fs/zfs/zfs.c (powx): New array.
11310 (powx_inv): Likewise.
11311 (poly): New const.
11312 (xor_out): New function.
11313 (gf_mul): Likewise.
11314 (recovery): Likewise.
11315 (read_device): Use second redundancy strip.
11316
11ee4389
VS
113172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 Use a power of generator representation of GF(256) multiplication group
11320 to save space time and complexity.
11321
11322 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
11323 (raid6_table2): Likewise.
11324 (powx): New array.
11325 (powx_inv): Likewise.
11326 (poly): New const.
11327 (grub_raid_block_mul): Replace with ...
11328 (grub_raid_block_mulx): ...this.
11329 (grub_raid6_init_table): Rewritten.
11330 (grub_raid6_recover): Use power of generator representation.
11331
09e2763f
VS
113322011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
11335 for the right device.
11336
8bec9a28
VS
113372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
11340 expected by grub-mkimage and it's more clear since there is no implicit
11341 padding.
11342
dbd3a32e
VS
113432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
11346 disk.
11347 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11348
182c872a
PMH
113492011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
11350
11351 * util/grub-mkrescue.in: Fix handling xorriso option.
11352
1e51cabd
VS
113532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
11356 NULL.
11357
9cc3581d 113582011-11-03 crocket <crockabiscuit@gmail.com>
11359
11360 * util/grub.d/10_linux.in: Add Slackware initrd naming.
11361
158dc1ea
VS
113622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 XZ CRC64 and SHA256 support.
11365
11366 * Makefile.util.def (libgrubmods): Add crc64.c.
11367 * grub-core/Makefile.core.def (crc64): New module.
11368 * grub-core/lib/crc64.c: New file.
11369 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
11370 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
11371 Fix the type.
11372 (MAX_HASH_SIZE): New define.
11373 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
11374 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
11375 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11376 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
11377 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
11378 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
11379 Handle non-crc32 hashes.
11380 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
11381 (dec_stream_header): Handle non-crc32 hashes.
11382 (dec_stream_footer): Likewise.
11383 (dec_block_header): Likewise.
11384 (dec_main): Likewise.
11385 (xz_dec_init): Likewise.
11386 (xz_dec_reset): Likewise.
11387 (xz_dec_end): Likewise.
11388 * util/import_gcry.py: Add CRC64 line.
11389
9d9b3d2f
VS
113902011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
11393 as well.
11394
7d0ac931
VS
113952011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 Make reiserfs label retrieval similar to other *_label functions.
11398
11399 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
11400 (REISERFS_MAX_LABEL_LENGTH): Removed.
11401 (REISERFS_LABEL_OFFSET): Likewise.
11402 (grub_reiserfs_label): Rewritten.
11403
114042011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
11407 field.
11408
cf5ba824
VS
114092011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
11412
17744004
VS
114132011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
11416 drive failure on both raidz and raidz2.
11417
aca5aefc
VS
114182011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 Fix RAIDZ(2) for >= 5 devices.
11421
11422 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
11423 asize argument. All users updated.
11424
ce8ca56e
VS
114252011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 Fix RAIDZ(2).
11428
11429 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
11430 (fill_vdev_info_real): Set ashift.
11431 (read_device): Rewrite RAIDZ part based on reverse engineering.
11432
7c01e783
VS
114332011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
11436 don't report potentially unavialiable fields in debug output.
11437 (find_path): Fix double-free and memory leak.
11438
ce109e84
VS
114392011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11440
11441 Read label on UFS1.
11442
11443 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
11444 (grub_ufs_fs): Always set .label.
11445
87661123
VS
114462011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 Use shifts in UFS.
11449
11450 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
11451 (grub_ufs_data): New field log2_blksz.
11452 (grub_ufs_read_file): Use shifts.
11453 (grub_ufs_mount): Check block size and logarithm it.
11454
46bc1dc2
VS
114552011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
11458 long symlinks.
11459
19ee2987
VS
114602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 Handle symlinks and long names on tar and cpio.
11463
11464 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
11465 (ATTR_FILE): Likewise.
11466 (ATTR_DIR): Likewise.
11467 (ATTR_LNK): Likewise.
11468 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
11469 (grub_cpio_find_file): Fill mode, handle linkname field as well as
11470 L and K entries.
11471 (grub_cpio_mount): Zero-fill data.
11472 (handle_symlink): New function.
46bc1dc2
VS
11473 (grub_cpio_dir): Handle symlinks.
11474 (grub_cpio_open): Likewise.
11475 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 11476
c83a08d8
VS
114772011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 Fix iso9660 filename limitations and fix memory leaks.
11480
11481 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
11482 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
11483
45cdd3ea
VS
114842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11485
11486 Fix JFS file name length limitations.
11487
11488 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
11489 (grub_jfs_diropen): Fix maximum filename length.
11490 (grub_jfs_getent): Fix filename length.
11491 (grub_jfs_lookup_symlink): Fix size checks.
11492
94ef05c2
VS
114932011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
11496 string.
11497
785ab8c7
VS
114982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11499
eb0b6b45
VS
11500 Leverage BFS implementation to read AFS.
11501
11502 * Makefile.util.def (libgrubmods): Add afs.c.
11503 * grub-core/Makefile.core.def (afs): New module
11504 * grub-core/fs/afs.c: New file.
11505 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
11506
115072011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 11510
c4a1628f
VS
115112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * grub-core/fs/bfs.c: Run indent.
11514
5825b379
VS
115152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 BFS implementation based on the specification.
11518
11519 * grub-core/fs/bfs.c: New file.
11520 * Makefile.util.def (libgrubmods): Add bfs.c.
11521 * grub-core/Makefile.core.def (bfs): New module.
11522
42b2a706
VS
115232011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * util/grub-fstest.c (cmd_cp): Clarify error message.
11526 (cmd_cmp): Likewise.
11527
61b99bfc
YB
115282011-10-30 Yves Blusseau <blusseau@zetam.org>
11529
11530 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
11531 and befs_be.
11532
faba3d16
VS
115332011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 Remove afs and befs because of copyright problem.
11536
11537 * grub-core/fs/afs.c: Removed.
11538 * grub-core/fs/afs_be.c: Removed.
11539 * grub-core/fs/befs.c: Removed.
11540 * grub-core/fs/befs_be.c: Removed.
11541 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
11542 * grub-core/Makefile.core.def (afs): Removed.
11543 (afs_be): Likewise.
11544 (befs): Likewise.
11545 (befs_be): Likewise.
11546
c39224b0
VS
115472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 Prefer rockridge over Joliet.
11550
11551 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
11552 to ...
11553 (set_rockridge): ... here.
11554 (grub_iso9660_mount): Check rockridge on the primary label when
11555 discovering. Ignore Joliet if Rockridge is present.
11556
e551115a
VS
115572011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 Use shifts in nilfs2.
11560
11561 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
11562 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
11563 (grub_nilfs2_palloc_entries_per_group): Replace with ...
11564 (grub_nilfs2_log_palloc_entries_per_group): ... this.
11565 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
11566 (grub_nilfs2_entries_per_block): Replaced with ...
11567 (grub_nilfs2_log_entries_per_block_log): ... this.
11568 (grub_nilfs2_blocks_per_group): Replaced with ...
11569 (grub_nilfs2_blocks_per_group_log): ... this.
11570 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
11571 (grub_nilfs2_blocks_per_desc_block_log): ... this.
11572 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
11573 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
11574 (grub_nilfs2_palloc_entry_offset): Replaced ...
11575 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
11576 (grub_nilfs2_dat_translate): Use shifts.
11577 (grub_nilfs2_read_inode): Likewise.
11578 (GRUB_MOD_INIT): Ensure that logs are correct.
11579
564dd58c
VS
115802011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 Use shifts in minix filesystem.
11583
11584 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
11585 (GRUB_MINIX_ZONE2SECT): Likewise.
11586 (grub_minix_data): Replace block_size with log_block_size.
11587 (grub_minix_read_file): Use shifts.
11588 (grub_minix_mount): Check block size and take a logarithm.
11589
ed9ba06d
VS
115902011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Use shifts in squash4.
11593
11594 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
11595 (squash_mount): Check block size and take logarithm.
11596 (direct_read): Use shifts.
11597
ad03fe76
VS
115982011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 Correct befs block counting logic.
11601
11602 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
11603 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
11604 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
11605 (grub_afs_read_inode): Use block_shift.
11606 (RANGE_SHIFT): New definition.
11607 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
11608 unexpected conditions, use shifts and appropriate types.
11609 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
11610
6563f63d
VS
116112011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * grub-core/disk/raid.c (scan_devices): Check partition.
11614 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
11615
5b1ae25f
VS
116162011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Support BFS (befs) UUID.
11619
11620 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
11621 (grub_afs_small_data_element_header): New struct.
11622 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
11623 (grub_afs_read_attribute) [MODE_BFS]: New function.
11624 (grub_afs_iterate_dir): Allocate for complete inode.
11625 (grub_afs_mount): Likewise.
11626 (grub_afs_uuid) [MODE_BFS]: New function.
11627 (grub_afs_fs) [MODE_BFS]: Add .uuid.
11628
f8d82408
VS
116292011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
11632 (zfs_unmount): Fix memory leak.
11633
5773fb64
VS
116342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 Support NTFS reparse points.
11637
11638 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
11639 (symlink_descriptor): New struct.
11640 (grub_ntfs_read_symlink): New function.
11641 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
11642 (grub_ntfs_open): Likewise.
11643
91c3fdde
VS
116442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
11647
3be82e10
VS
116482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 fstest xnu_uuid subcommand.
11651
11652 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
11653 grub-core/commands/xnu_uuid.c.
11654 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
11655 (fstest): Handle xnu_uuid.
11656 (options): Document xnu_uuid.
11657 (argp_parser): Parse xnu_uuid.
11658
8e32442e
VS
116592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
11662 -l argument. Add newline at the end if printing.
11663 (GRUB_MOD_INIT): Document -l.
11664
52a05075
VS
116652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
11668
1869edb5
VS
116692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 ZFS multi-device and version 33 support.
11672
11673 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
11674 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
11675 (grub_zfs_data): Add multidev-ice-related fields.
11676 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
11677 (dva_get_offset): Make dva const.
11678 (zfs_fetch_nvlist): New function.
11679 (fill_vdev_info_real): Likewise.
11680 (fill_vdev_info): Likewise.
11681 (check_pool_label): Likewise.
11682 (scan_disk): Likewise.
11683 (scan_devices): Likewise.
11684 (read_device): Likewise.
11685 (read_dva): Likewise.
11686 (zio_read_gang): Use read_dva.
11687 (zio_read_data): Likewise.
11688 (zap_leaf_lookup): Add missing endian conversion.
11689 (zap_verify): Add missing endian conversion. All users updated.
11690 (fzap_lookup): Likewise.
11691 (fzap_iterate): Likewise.
11692 (dnode_get_path): Handle SA bonus.
11693 (nvlist_find_value): Make input const. All users updated.
11694 (unmount_device): New function.
11695 (zfs_unmount): Use unmount_device.
11696 (zfs_mount): Use scan_disk.
11697 (zfs_mtime): New function.
11698 (grub_zfs_open): Handle system attributes.
11699 (fill_fs_info): Likewise.
11700 (grub_zfs_dir): Likewise.
11701 (grub_zfs_fs): Add mtime.
11702 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
11703 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
11704 (SA_MTIME_OFFSET): Likewise.
11705 (SA_SYMLINK_OFFSET): Likewise.
11706 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
11707 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
11708 (fstest): Support zfsinfo.
11709 (argp_parser): Likewise.
11710
186b4028
VS
117112011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
11714 error.
11715
117162011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
11717
11718 ZFS fixes.
11719
11720 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
11721 sharing the same block. Iterate over correct number of indices.
11722 (dnode_get_path): Handle symlinks correctly.
11723
c0584900
VS
117242011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
11727
67e2bd71
VS
117282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 Read label on HFS+.
11731
11732 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
11733 (grub_hfsplus_btree_search): Fix types.
11734 (grub_hfsplus_label): Implement.
11735
e9cc6b7b
VS
117362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
11739
19832ddb
VS
117402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
11743
66b40850
VS
117442011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 Fix symlink handling on iso9660.
11747
11748 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
11749 All users updated.
11750 (grub_iso9660_susp_iterate): Accept zero-size iterate.
11751 (grub_iso9660_read_symlink): Moved most of code ...
11752 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
11753
db821363
VS
117542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11757 Use union to avoid breaking strict-aliasing rules.
11758
e1211949
VS
117592011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 Support multi-extent iso files.
11762
11763 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
11764 Add node.
11765 (grub_fshelp_node): Revamp. All users updated.
11766 (FLAG_*): New enum.
11767 (read_node): New function.
11768 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
11769 All users updated.
11770 (grub_iso9660_mount): Don't attempt to read sua when there is none.
11771 (get_node_size): New function.
11772 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
11773 entries.
11774 Fix memory leak on . and ..
11775 (grub_iso9660_read): Use read_node.
11776 (grub_iso9660_close): Free node.
11777
d4888031
VS
117782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 Fix tar 4G limit and handle paths containing dot.
11781
11782 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
11783 (canonicalize): New function.
11784 (grub_cpio_find_file): Use canonicalize. Store offs in
11785 grub_disk_addr_t.
11786 (grub_cpio_dir): Use grub_disk_addr_t.
11787 (grub_cpio_open): Likewise.
11788
9f12e664
VS
117892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 Fix handling of uncompressed blocks on squashfs and break 4G limit.
11792
11793 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
11794 unused flags.
11795 (grub_squash_inode): Add long_file and block_size.
11796 (grub_squash_cache_inode): New struct.
11797 (grub_squash_dirent): Make types into enum.
11798 (SQUASH_TYPE_LONG_REGULAR): New type.
11799 (grub_squash_frag_desc): Add field size.
11800 (SQUASH_BLOCK_FLAGS): New enum.
11801 (grub_squash_data): Use grub_squash_cache_inode.
11802 (grub_fshelp_node): Make ino_chunk 64-bit.
11803 (read_chunk): Minor argument change. All users updated.
11804 (squash_mount): Use correct le_to_cpu.
11805 (grub_squash_open): Handle LONG_REGULAR.
11806 (direct_read): New function.
11807 (grub_squash_read_data): Handle blocks correctly.
11808
9f326fba
VS
118092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
11812
f4d9b64b
VS
118132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
11816
5bbd28b8
VS
118172011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11818
11819 Fix 2G limit on ZFS.
11820
11821 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
11822 types.
11823 (uberblock_verify): Likewise.
11824 (dmu_read): Likewise.
11825 (grub_zfs_read): Likewise. Remove invalid cast.
11826
68c72069
VS
118272011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
11830 (grub_jfs_blkno): Fix incorrect shift.
11831 (grub_jfs_read_file): Use more appropriate types.
11832
6e536dc8
VS
118332011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Support triple indirect on minix2 and minix3.
11836
11837 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
11838 Declare triple_indir_zone.
11839 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
11840 indirect.
11841
e0864e7a
VS
118422011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 Minix FS fixes.
11845
11846 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
11847 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
11848 Rename ctime to mtime. All users updated.
11849 (grub_minix_get_file_block): Fix types and double indirect computations.
11850
89481cab
VS
118512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11852
11853 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
11854 if no label is found.
11855 (grub_fat_iterate_dir): Fix file size type.
11856 (grub_fat_iterate_dir): Likewise.
11857
f646e143
VS
118582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
11861 save some space.
11862 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11863 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11864
534d769e
VS
118652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
11868
e084ba18
VS
118692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * util/import_gcry.py: Accept space between # and include.
11872
3471ecdf
VS
118732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
11876
124df5f6
VS
118772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11878
11879 Fine grainely disable warnings on lexer. Remove Wno-error on it.
11880
11881 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
11882 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
11883 yylex_strncpy.
11884 * grub-core/script/yylex.l: Add fine-grained #pragma.
11885
4defb8d5
VS
118862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11887
11888 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
11889 New inline function.
11890 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
11891 Likewise.
11892 (memset) [GRUB_UTIL]: Likewise.
11893 (memcmp) [GRUB_UTIL]: Likewise.
11894
4e94ae65
VS
118952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
11898 inline function rather than a define.
11899
18c575e5
VS
119002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11901
11902 * util/grub-setup.c: Add missing include.
11903
f8bc22a8
VS
119042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * util/ieee1275/grub-ofpathname.c: Add missing include.
11907
3ce69fc9
VS
119082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
11911 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
11912 Likewise.
11913
d1e293bb
VS
119142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
11917 grub_memcmp usage.
11918
7a5c54a4
VS
119192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * util/grub-install.in: Add datarootdir as per automake manual
11922 suggestion.
11923 * util/grub-mknetdir.in: Likewise.
11924
119252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
11926
11927 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
11928 suggestion.
11929 * util/grub.d/10_kfreebsd.in: Likewise.
11930 * util/grub.d/10_linux.in: Likewise.
11931 * util/grub.d/10_netbsd.in: Likewise.
11932 * util/grub.d/10_windows.in: Likewise.
11933 * util/grub.d/20_linux_xen.in: Likewise.
11934
766f7d08
VS
119352011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 Remove redundant grub_kernel_image_size.
11938
11939 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
11940 _edata and _start.
11941 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
11942 the small code. It moves it only by few bytes but simplifies the code.
11943 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
11944 _start.
11945 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
11946 (grub_kernel_image_size): Removed.
11947 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
11948 (grub_kernel_image_size): Removed.
11949 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
11950 compiled with Apple toolchain.
11951 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
11952 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
11953 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
11954 (grub_total_module_size): Likewise.
11955 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
11956 Removed.
11957 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
11958 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
11959 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11960 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
11961 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
11962 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
11963 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
11964 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
11965 Removed.
11966 (grub_total_module_size): Removed.
11967 * util/grub-mkimage.c (image_target_desc): Remove image_size.
11968 (image_targets): Likewise.
11969 Set .compressed_size to no field on sparc.
11970 (generate_image): Remove kernel_image_size handling.
11971
fcf1d672
SJ
119722011-10-19 Szymon Janc <szymon@janc.net.pl>
11973
11974 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
11975 NULL pointer dereference.
11976
de9c615e
VS
119772011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11978
11979 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
11980 done with a dedicated section.
11981
11982 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
11983 Ensure the correct position of boot_path.
11984 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
11985 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
11986 other fields.
11987 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
11988 * include/grub/boot.h: Removed. All references removed.
11989 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11990 Removed.
11991 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
11992
e55599dc
VS
119932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
11996 name.
11997
36dd20ad
VS
119982011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
12001
f8f72eb8
VS
120022011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12005 Don't add the bogus brackets.
12006
a374751b
VS
120072011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12008
12009 ExFAT support.
12010
12011 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
12012 * grub-core/Makefile.core.def (exfat): New module.
12013 * grub-core/fs/exfat.c: New file.
12014 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
12015 (GRUB_FAT_ATTR_*): Make into an enum.
12016 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
12017 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12018 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
12019 (GRUB_FAT_MAXFILE): Removed.
12020 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
12021 (grub_current_fat_bpb_t): New type.
12022 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
12023 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
12024 (grub_fat_dir_node_t): New type.
12025 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
12026 (fat_log2) [MODE_EXFAT]: Removed.
12027 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
12028 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
12029 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
12030 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
12031 (grub_fat_label) [MODE_EXFAT]: New function.
12032 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
12033 reserved_first_sector to 0.
12034
544c2487
VS
120352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
12036
12037 Move grub_reboot out of the kernel.
12038
12039 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
12040 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
12041 * grub-core/lib/efi/reboot.c: ... here.
12042 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
12043 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12044 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
12045 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
12046 * grub-core/lib/i386/reboot_trampoline.S: ... here.
12047 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
12048 * grub-core/lib/ieee1275/reboot.c: ... here.
12049 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
12050 * grub-core/lib/mips/arc/reboot.c: ... here.
12051 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
12052 * grub-core/lib/mips/loongson/reboot.c: ...here.
12053 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
12054 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
12055 * include/grub/emu/misc.h (grub_reboot): New function declaration.
12056 * include/grub/i386/reboot.h: New file.
12057 * include/grub/mips/loongson/ec.h: Fix includes.
12058 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
12059 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
12060 * grub-core/lib/i386/reboot.c: New file.
12061
a97501d2
VS
120622011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 Make grub_prefix into module to fix the arbitrary limit and save
12065 some space.
12066
12067 * grub-core/kern/emu/main.c (grub_prefix): Removed.
12068 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
12069 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
12070 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
12071 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
12072 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
12073 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
12074 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
12075 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12076 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
12077 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
12078 * include/grub/ia64/efi/kernel.h: Removed.
12079 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
12080 (grub_prefix): Removed.
12081 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
12082 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
12083 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
12084 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
12085 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
12086 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
12087 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
12088 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
12089 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
12090 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
12091 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
12092 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
12093 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
12094 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
12095 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
12096 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
12097 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
12098 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
12099 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
12100 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
12101 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
12102 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
12103 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
12104 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
12105 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
12106 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
12107 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
12108 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
12109 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
12110 from module.
12111 * util/grub-mkimage.c (image_target_desc): Removed prefix and
12112 prefix_end.
12113 (image_targets): Likewise.
12114 (generate_image): Put prefix as a module.
12115
39705fad
VS
121162011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 Replace grub_module_iterate with FOR_MODULES.
12119
12120 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
12121 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
12122 (grub_efi_modules_addr): ...this.
12123 * grub-core/kern/efi/init.c (grub_modbase): New variable.
12124 (grub_efi_init): Set grub_modbase.
12125 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
12126 (grub_modbase): New variable.
12127 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
12128 (grub_modbase): New variable.
12129 (grub_machine_init): Set grub_modbase.
12130 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
12131 (grub_modbase): New variable.
12132 (grub_machine_init): Set grub_modbase.
12133 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
12134 (grub_modbase): New variable.
12135 (grub_machine_init): Set grub_modbase.
12136 * grub-core/kern/main.c (grub_module_iterate): Remove.
12137 (grub_modules_get_end): Use grub_modbase.
12138 (grub_load_modules): Use FOR_MODULES.
12139 (grub_load_config): Likewise.
12140 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
12141 (grub_modbase): New variable.
12142 (grub_machine_init): Set grub_modbase.
12143 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
12144 (grub_modbase): New variable.
12145 (grub_machine_init): Set grub_modbase.
12146 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
12147 Removed.
12148 (grub_modbase): New variable.
12149 (grub_machine_init): Set grub_modbase.
12150 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
12151 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
12152 (grub_module_iterate): Likewise.
12153 (grub_modbase): New variable declaration.
12154 (FOR_MODULES): New macro.
12155
2afb7f6c
VS
121562011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * configure.ac: Check for __ctzdi2 and __ctzsi2.
12159 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
12160
366e34fa
VS
121612011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 Fix few obvious type discrepancies.
12164
12165 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
12166 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
12167 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
12168 variable.
12169 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
12170 and connected types.
12171 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
12172 offset.
12173 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
12174 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
12175 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
12176 and connected types.
12177
177b960e
VS
121782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 Fix python 3.x incompatibilities.
12181
12182 * gentpl.py: Put brackets around print strings.
12183 * util/import_gcry.py: Open explicitly as utf-8.
12184 Use in instead of has_key.
12185
3b619ae1
VS
121862011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
12189 (GRUB_XFS_INO_AGBITS): Make into inline function.
12190 (GRUB_XFS_INO_INOINAG): Likewise.
12191 (GRUB_XFS_INO_AG): Likewise.
12192 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
12193 (GRUB_XFS_EXTENT_OFFSET): Likewise.
12194 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12195 (GRUB_XFS_EXTENT_SIZE): Likewise.
12196 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
12197 (GRUB_XFS_NEXT_DIRENT): Likewise.
12198 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
12199 (grub_xfs_read_file): Fix offset type.
12200
8bcebcb8
RM
122012011-10-15 Robert Millan <rmh@gnu.org>
12202
12203 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
12204
0017e5ef
RM
122052011-10-15 Robert Millan <rmh@gnu.org>
12206
12207 Fix build problem on FreeBSD and GNU/kFreeBSD.
12208
12209 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
12210
d8919552
VS
122112011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
12214
12215 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
12216 types.
12217 (grub_hfsplus_btree_recoffset): Likewise.
12218 (grub_hfsplus_btree_recptr): Likewise.
12219 (grub_hfsplus_find_block): Likewise.
12220 (grub_hfsplus_btree_search): Likewise.
12221 (grub_hfsplus_read_block): Likewise.
12222 (grub_hfsplus_read_file): Likewise.
12223 (grub_hfsplus_mount): Likewise.
12224 (grub_hfsplus_btree_iterate_node): Likewise.
12225 (grub_hfsplus_btree_search): Likewise.
12226 (grub_hfsplus_iterate_dir): Likewise.
12227 (grub_hfsplus_read): A small code simplification.
12228
c81296b6
VS
122292011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 * grub-core/kern/emu/hostdisk.c
12232 (convert_system_partition_to_system_disk): Don't assume that children
12233 of mapper nodes are mapper nodes.
12234
0eb8ffb1
VS
122352011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
12238 * include/grub/misc.h (grub_isxdigit): New function.
12239 * grub-core/video/colors.c (my_isxdigit): Removed. All users
12240 switched to grub_isxdigit.
12241 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
12242 number starting with a letter.
12243
a98f4a08
RM
122442011-10-09 Robert Millan <rmh@gnu.org>
12245
12246 LVM support for FreeBSD and GNU/kFreeBSD.
12247
12248 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
12249 GNU/kFreeBSD.
12250 (LVM_DEV_MAPPER_STRING): Move from here ...
12251 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
12252 * util/getroot.c: Include `<grub/util/lvm.h>'.
12253 (grub_util_get_dev_abstraction): Enable
12254 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
12255 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
12256 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
12257 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
12258 support it.
12259 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
12260 GNU/kFreeBSD.
12261 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
12262 when LVM abstraction is required for ${GRUB_DEVICE}.
12263
050e8e90
SJ
122642011-10-06 Szymon Janc <szymon@janc.net.pl>
12265
12266 Add support for LZO compression in GRUB:
12267 - import of minilzo library,
12268 - LZO decompression for btrfs,
12269 - lzop files decompression.
12270
12271 * grub-core/io/lzopio.c: New file.
12272 * grub-core/lib/adler32.c: Likewise.
12273 * grub-core/lib/minilzo/lzoconf.h: Likewise.
12274 * grub-core/lib/minilzo/lzodefs.h: Likewise.
12275 * grub-core/lib/minilzo/minilzo.c: Likewise.
12276 * grub-core/lib/minilzo/minilzo.h: Likewise.
12277 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
12278 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
12279 grub-core/lib/minilzo/minilzo.c to common.
12280 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
12281 cflags in cppflags.
12282 * grub-core/Makefile.core.def (btrfs): Likewise.
12283 * grub-core/Makefile.core.def (lzopio): New module.
12284 (adler32): Likewise.
12285 * grub-core/fs/btrfs.c: Include minilzo.h.
12286 (GRUB_BTRFS_COMPRESSION_LZO): New define.
12287 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
12288 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
12289 (grub_btrfs_lzo_decompress): New function.
12290 (grub_btrfs_extent_read): Add support for LZO compression type.
12291 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
12292 (GRUB_USHRT_MAX): Likewise.
12293 (GRUB_UINT_MAX): Likewise.
12294 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
12295 (UINT_MAX): Likewise.
12296 (CHAR_BIT): Likewise.
12297 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
12298 grub-core/lib/posix_wrap/limits.h
12299 (UCHAR_MAX): Likewise.
12300 * include/grub/file.h (grub_file_filter_id): New compression filter
12301 GRUB_FILE_FILTER_LZOPIO.
12302 * include/grub/file.h (grub_file_filter_id): Set
12303 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
12304 * include/grub/types.h (grub_get_unaligned16): New function.
12305 (grub_get_unaligned32): Likewise.
12306 (grub_get_unaligned64): Likewise.
12307 * util/import_gcry.py (cryptolist): Add adler32.
12308
0eb8ffb1
VS
123092011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
12312 in perspective decreases the complexity of build system and fixes
12313 compilation right now.
12314
ce79cc99 123152011-10-01 Ales Nesrsta <starous@volny.cz>
12316
12317 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
12318 (fixed problem related to using UHCI with coreboot).
12319
8667a314
BC
123202011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12321
12322 * gentpl.py: Use Autogen macros so that the output template file
12323 (Makefile.tpl) size is reduced.
12324
fc5efcc0
MK
123252011-09-29 Mads Kiilerich <mads@kiilerich.com>
12326
12327 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
12328 extra_dist.
12329
d1ab689d
ML
123302011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12331
12332 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
12333 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
12334
c05de032
ML
123352011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12336
12337 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
12338 _fullpath.
12339
cca7ccd8
ML
123402011-09-29 Mario Limonciello <mario_limonciello@dell.com>
12341
12342 Remove extra declaration of sleep for mingw32.
12343
12344 * util/misc.c (sleep) [__MINGW32__]: Removed.
12345 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
12346
e0b0dc83
GS
123472011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
12348
12349 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
12350 type and packname.
12351 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
12352 Resurrected.
12353 (NETBSD_BTINFO_BOOTWEDGE): New definition.
12354 (grub_netbsd_btinfo_bootwedge): New struct.
12355 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
12356 New function.
12357 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
12358
91a1a164
TH
123592011-09-28 Thomas Haller <thomas.haller@fen-net.de>
12360
12361 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
12362 loader.
12363
2ded951e
AB
123642011-09-28 Andreas Born <futur.andy@googlemail.com>
12365
12366 Fix incorrect identifiers in bash-completion.
12367
12368 * util/bash-completion.d/grub-completion.bash.in
12369 (_grub_mkpasswd-pbkdf2): Rename to ...
12370 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
12371 (_grub_script-check): Rename to ...
12372 (_grub_script_check): ... this. All users updated.
12373
69915030
VS
123742011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12377 Return 0 if disk isn't biosdisk.
12378
20fd15f9
GS
123792011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12380
12381 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
12382 on NetBSD.
12383 * Makefile.util.def (grub-fstest): Likewise.
12384
1a7d7db9
GS
123852011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
12386
12387 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
12388 Get sector size from disk label.
12389
2221ab6c
CW
123902011-09-05 Colin Watson <cjwatson@ubuntu.com>
12391
12392 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
12393 */README* as well as README*.
12394 Reported by: Axel Beckert.
12395
ca51c4a0
VS
123962011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
12399 case of less than 256 MiB of RAM.
12400
ab80f326
VS
124012011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * grub-core/commands/wildcard.c (make_regex): Handle @.
12404
4155e697
VS
124052011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * util/grub-install.in: Move cryptodisk logic to appropriate place.
12408
ab178c08
SJ
124092011-08-21 Szymon Janc <szymon@janc.net.pl>
12410
12411 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
12412 AC_LANG_CONFTEST macros.
12413
7dc3c686
SJ
124142011-08-20 Szymon Janc <szymon@janc.net.pl>
12415
12416 Add grub-fstest option to uncompress data for commands.
12417
12418 * util/grub-fstest.c (uncompress): New var.
12419 (options): New option -u.
12420
fe8d4a7b
SJ
124212011-08-20 Szymon Janc <szymon@janc.net.pl>
12422
12423 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
12424 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
12425
a5219af1
SJ
124262011-08-20 Szymon Janc <szymon@janc.net.pl>
12427
12428 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
12429 file type was not recognized correctly (not gzip or corrupted).
12430
f87abff5
VS
124312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12432
12433 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
12434 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
12435
d94497ea
VS
124362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
12439 loongson.
12440 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
12441 video_radeon_fuloong2e.
12442 * grub-core/video/radeon_fuloong2e.c: New file.
12443 * include/grub/video.h (grub_video_id_t): Add new ID
12444 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
12445
0d1fd011
VS
124462011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
12449 define.
12450 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
12451 that PRID matches the detected subplatform and reset the subplatform
12452 if it doesn't.
12453
84beb0ee
VS
124542011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12455
12456 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
12457
1227c133
VS
124582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 Fix PCI iterating on functions >= 4.
12461
12462 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
12463 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
12464 Removed.
12465 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
12466 (grub_pci_read): Fix bitmask.
12467 (grub_pci_read_word): Likewise.
12468 (grub_pci_read_byte): Likewise.
12469 (grub_pci_write): Likewise.
12470 (grub_pci_write_word): Likewise.
12471 (grub_pci_write_byte): Likewise.
12472
9594c689
VS
124732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
12476 can still be specified in TARGET_CFLAGS)
12477
14a2562c
VS
124782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
12481
12482 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
12483 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
12484 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
12485 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
12486 (FULOONG): Rename to ...
12487 (FULOONG2F): ... this. All users updated.
12488 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
12489 (machtype_fuloong2f_str): ... this.
12490 (machtype_fuloong2e_str): New string.
12491 Check for machtype_fuloong2e_str.
12492 * grub-core/loader/mips/linux.c (loongson_machtypes)
12493 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
12494 * grub-core/term/serial.c (loongson_defserial)
12495 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
12496 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
12497 loongson_defserial.
12498 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
12499 Rename to ...
12500 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
12501 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
12502 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
12503 to IMAGE_FULOONG2F_FLASH. All users updated.
12504 (image_targets): Rename images.
12505 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
12506
b526cbb6
SJ
125072011-08-19 Szymon Janc <szymon@janc.net.pl>
12508
12509 Make enable of disk cache statistics code configurable.
12510
12511 * configure.ac: --enable-cache-stats added.
12512 * config.h.in (DISK_CACHE_STATS): New define.
12513 * grub-core/Makefile.core.def (cacheinfo): New command.
12514 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
12515 * grub-core/commands/cacheinfo.c: New file.
12516 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
12517 moved to cacheinfo.c.
12518 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
12519 debug code.
12520 * include/grub/disk.h: Likewise.
12521
fb739ccd
SJ
125222011-08-19 Szymon Janc <szymon@janc.net.pl>
12523
12524 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
12525 * grub-core/Makefile.am: Likewise.
12526
2bba8cfd
VS
125272011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
12530 non-zero pull.
12531
43526629
VS
125322011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
12535 All users updated.
12536 (grub_jfs_lookup_symlink): Use correct starting inode.
12537
5c144cc8
VS
125382011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * util/grub-setup.c (main): Add missing gcry initialisation.
12541
b1257f65
VS
125422011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 Don't accept text modes on EFI when booting Linux.
12545
12546 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
12547 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
12548
828bc390
ML
125492011-08-15 Mario Limonciello <mario_limonciello@dell.com>
125502011-08-15 Colin Watson <cjwatson@ubuntu.com>
12551
12552 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
12553 use of "/path/.." as in grub-install for EFI as well as handling
12554 symlinks correctly.
12555 Fixes Debian bug #637768.
12556
5f60ccac
CW
125572011-08-15 Colin Watson <cjwatson@ubuntu.com>
12558
12559 * util/grub-probe.c: Remove duplicate #include.
12560
6dc212f9
RM
125612011-08-10 Robert Millan <rmh@gnu.org>
12562
12563 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
12564
12565 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
12566 function.
12567 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
12568 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
12569
66816d85
RM
125702011-08-03 Robert Millan <rmh@gnu.org>
12571
12572 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
12573 la_array as packed.
12574 Reported by: Zachary Bedell
12575
20168fca
CW
125762011-07-26 Colin Watson <cjwatson@ubuntu.com>
12577
12578 * configure.ac: The Loongson port requires grub-mkfont due to its
12579 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
12580 be built.
12581
303b6246
CW
125822011-07-26 Colin Watson <cjwatson@ubuntu.com>
12583
12584 * util/grub-install.in: Don't source grub-mkconfig_lib until after
12585 processing arguments (otherwise help2man fails when GRUB has not yet
12586 been installed).
12587
6795300e
VS
125882011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12589
41aa28ea
VS
12590 New script grub-mkstandalone.
12591
12592 * Makefile.util.def (grub-mkstandalone): New script.
12593 * docs/man/grub-mkstandalone.h2m: New file.
12594 * util/grub-mkstandalone.in: Likewise.
12595
125962011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 Support ATA disks with 4K sectors.
6795300e
VS
12599
12600 * include/grub/ata.h (grub_ata): New member log_sector_size.
12601 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
12602 (grub_ata_identify): Read sector size.
12603 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
12604
92227597
VS
126052011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 * util/grub-install.in: Don't use uhci outside of x86.
12608
c77069f5
VS
126092011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * util/grub-mkrescue.in: Add missing quotes.
12612
126132011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
12614
12615 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
12616 dereference.
12617
583168a2
VS
126182011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
12621
6be1c01f
VS
126222011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 * include/grub/video.h: add missing EXPORT_FUND on
12625 grub_video_edid_checksum and grub_video_edid_preferred_mode.
12626
a1167439
VS
126272011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * include/grub/mips/kernel.h: Fix define conflict.
12630
bf66054f
VS
126312011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
12634 all four ways.
12635
8fc4fa45
CW
126362011-07-21 Colin Watson <cjwatson@ubuntu.com>
12637
12638 Preferred resolution detection for VBE.
12639
12640 * grub-core/video/video.c (grub_video_edid_checksum): New function.
12641 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
12642 the Flat Panel extension, in line with the X.org VESA driver.
12643 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
12644 New function.
12645 (grub_vbe_bios_get_ddc_capabilities): Likewise.
12646 (grub_vbe_bios_read_edid): Likewise.
12647 (grub_vbe_get_preferred_mode): Likewise.
12648 (grub_video_vbe_setup): When the mode is "auto", try to get the
12649 preferred mode from VBE, and use the largest mode that is no larger
12650 than the preferred mode (some BIOSes expose a preferred mode that is
12651 not in their mode list!). If this fails, fall back to 640x480 as a
12652 safe conservative choice.
12653 (grub_video_vbe_get_edid): New function.
12654 (grub_video_vbe_adapter): Add get_edid.
12655 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
12656 (struct grub_video_adapter): Add get_edid.
12657 (grub_video_edid_checksum): Add prototype.
12658 (grub_video_edid_preferred_mode): Likewise.
12659 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
12660 structure.
12661
12662 * grub-core/commands/videoinfo.c (print_edid): New function.
12663 (grub_cmd_videoinfo): Print EDID if available.
12664
12665 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
12666 is more appropriate on a wider range of platforms than 640x480.
12667 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
12668 documentation.
12669
ca5572a9
VS
126702011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
12673
e4bcf625
VS
126742011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * po/POTFILES.in: Regenerate.
12677
c4edd548
VS
126782011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
12681 incorrect memory usage.
12682
16a2bab0
VS
126832011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * util/grub-install.in: Source grub-mkconfig_lib.
12686
2e418de6
VS
126872011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Remove getroot.c from core on emu platform.
12690
12691 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
12692 kern/emu/raid.c.
12693 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
12694 useless.
12695 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
12696 * util/getroot.c (get_win32_path): ... here.
12697 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
12698 * util/getroot.c (fini_libzfs): ... here.
12699 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
12700 * util/getroot.c (grub_get_libzfs_handle): ... here.
12701 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
12702 Moved from here...
12703 * util/getroot.c (grub_find_zpool_from_dir): ... here.
12704 * grub-core/kern/emu/misc.c
12705 (grub_make_system_path_relative_to_its_root): Moved from here...
12706 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
12707 * grub-core/kern/emu/getroot.c: Moved from here ...
12708 * util/getroot.c: ... here. All users updated.
12709 * grub-core/kern/emu/raid.c: Moved from here ...
12710 * util/raid.c: ... here. All users updated.
12711
def9832a
VS
127122011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * po/POTFILES.in: Regenerate.
12715
cd8fe79a
VS
127162011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 Fix compilation on GNU/Linux.
12719
12720 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
12721 Disable geli.
12722 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
12723 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
12724 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
12725
a251b719
VS
127262011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
127272011-07-07 Michael Gorven <michael@gorven.za.net>
127282011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
12729
12730 LUKS and GELI support.
12731
12732 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
12733 grub-core/disk/luks.c, grub-core/disk/geli.c,
12734 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
12735 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
12736 grub-core/lib/arg.c.
12737 (libgrubmods.a): Remove gcrypts cflags and cppflags.
12738 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
12739 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
12740 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
12741 (grub-bin2h): Add libgcry.a.
12742 (grub-mkimage): Likewise.
12743 (grub-mkrelpath): Likewise.
12744 (grub-script-check): Likewise.
12745 (grub-editenv): Likewise.
12746 (grub-mkpasswd-pbkdf2): Likewise.
12747 (grub-pe2elf): Likewise.
12748 (grub-fstest): Likewise.
12749 (grub-mkfont): Likewise.
12750 (grub-mkdevicemap): Likewise.
12751 (grub-probe): Likewise.
12752 (grub-ofpath): Likewise.
12753 (grub-mklayout): Likewise.
12754 (example_unit_test): Likewise.
12755 (grub-menulst2cfg): Likewise.
12756 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
12757 * grub-core/Makefile.core.def (cryptodisk): New module.
12758 (luks): Likewise.
12759 (geli): Likewise.
12760 * grub-core/disk/AFSplitter.c: New file.
12761 * grub-core/disk/cryptodisk.c: Likewise.
12762 * grub-core/disk/geli.c: Likewise.
12763 * grub-core/disk/luks.c: Likewise.
12764 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
12765 grub_util_is_lvm.
12766 (grub_util_get_dm_abstraction): New function.
12767 (grub_util_follow_gpart_up): Likewise.
12768 (grub_util_get_geom_abstraction): Likewise.
12769 (grub_util_get_dev_abstraction): Use new functions.
12770 (grub_util_pull_device): Pull GELI and LUKS.
12771 (grub_util_get_grub_dev): Handle LUKS and GELI.
12772 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
12773 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
12774 (follow_geom_up): Removed.
12775 (grub_util_fd_seek): New function.
12776 (open_device): Use grub_util_fd_seek.
12777 (nread): Rename to ..
12778 (grub_util_fd_read): ... this. All users updated.
12779 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
12780 (grub_crypto_cbc_decrypt): Likewise.
12781 (grub_crypto_hmac_write): Likewise.
12782 (grub_crypto_hmac_buffer): Likewise.
12783 (grub_password_get): Extend to util.
12784 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
12785 New member modname.
12786 (gcry_md_spec) [GRUB_UTIL]: Likewise.
12787 * include/grub/cryptodisk.h: New file.
12788 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
12789 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
12790 LUKS and GELI.
12791 (grub_util_follow_gpart_up): New proto.
12792 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
12793 (grub_util_fd_read): Likewise.
12794 (grub_cryptodisk_cheat_mount): Likewise.
12795 (grub_util_cryptodisk_print_uuid): Likewise.
12796 (grub_util_get_fd_sectors): Likewise.
12797 * util/grub-fstest.c (mount_crypt): New var.
12798 (fstest): Mount crypto if requested.
12799 (options): New option -C.
12800 (argp_parser): Parse -C.
12801 (main): Init and fini gcry.
12802 * util/grub-install.in: Support cryptodisk install.
12803 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
12804 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
12805 cryptodisk.
12806 (prepare_grub_to_access_device): Likewise.
12807 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
12808 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
12809 (probe_cryptodisk_uuid): New function.
12810 (probe_abstraction): Likewise.
12811 (probe): Use new functions.
12812 * util/import_gcry.py: Create Makefile.utilgcry.def.
12813 Add modname member.
12814
9bfdcbbc
VS
128152011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 Lazy device scanning.
12818
12819 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
12820 (grub-setup): Remove util/raid.c.
12821 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
12822 * grub-core/disk/lvm.c (scan_depth): New variable.
12823 (grub_lvm_iterate): Rescan if necessary.
12824 (find_lv): New function based on grub_lvm_open.
12825 (grub_lvm_open): Use find_lv. Rescan on error.
12826 (is_node_readable): New function.
12827 (is_lv_readable): Likewise.
12828 (grub_lvm_scan_device): Skip already found disks.
12829 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
12830 Stop if searched device is found and readable.
12831 * grub-core/disk/raid.c (inscnt): New variable.
12832 (scan_depth): Likewise.
12833 (scan_devices): New function based on grub_raid_register. Abort if
12834 looked for device is found.
12835 (grub_raid_iterate): Rescan if needed.
12836 (find_array): NEw function based on -grub_raid_open.
12837 (grub_raid_open): Use find_array and rescan.
12838 (insert_array): Set became_readable_at.
12839 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
12840 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
12841 New function.
12842 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
12843 (grub_util_pull_device): New function.
12844 (grub_util_get_grub_dev): Call grub_util_pull_device.
12845 * util/raid.c: Moved to ..
12846 * grub-core/kern/emu/raid.c: ... here.
12847 (grub_util_raid_getmembers): New parameter "bootable".
12848 All users updated. Support 1.x.
12849 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
12850 All users updated.
12851 * include/grub/disk.h (grub_disk_pull_t): New enum.
12852 (grub_disk_dev): Change iterate prototype.
12853 All users updated.
12854 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
12855 New proto.
12856 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
12857 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
12858 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
12859 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
12860 All users updated.
12861 * include/grub/util/raid.h: Removed.
12862
1c358e59
VS
128632011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12864
12865 * po/POTFILES.in: Regenerate.
12866
abee94ed
VS
128672011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 Unify sparc init with other ieee1275.
12870
12871 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
12872 instead of kern/sparc64/ieee1275/init.c.
12873 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
12874 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
12875 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
12876 grub/machine/kernel.h.
12877 (grub_ieee1275_original_stack) [__sparc__]: New variable.
12878 (grub_claim_heap) [__sparc__]: Use sparc version.
12879 (grub_machine_init): Moved args parsing to
12880 (grub_parse_cmdline): ...this.
12881 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
12882 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
12883 New definition.
12884 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
12885
12886 Move BOOTP to separate file.
12887
12888 * grub-core/Makefile.core.def (net): Add net/bootp.c.
12889 * grub-core/net/net.c: Move all BOOTP functions to
12890 * grub-core/net/bootp.c: ... here.
12891
12892 Use frame interface on PXE.
12893
12894 * grub-core/Makefile.core.def (pxecmd): Removed.
12895 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
12896 * grub-core/commands/i386/pc/pxecmd.c: Removed.
12897 * grub-core/i386/pc/pxe.c: Moved from here ...
12898 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
12899 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
12900 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
12901
12902 EFI network support.
12903
12904 * grub-core/Makefile.core.def (efinet): New module.
12905 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
12906 here...
12907 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
12908 All users updated.
12909 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
12910 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
12911 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
12912 * grub-core/net/drivers/efi/efinet.c: New file.
12913 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
12914 (grub_efi_net_config): New extern var.
12915
12916 Various cleanups and bugfixes.
12917
12918 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
12919 error.
12920 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
12921 disk declared as partition.
12922 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
12923 leak on failure.
12924 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
12925 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
12926 (grub_debug_zalloc): Likewise.
12927 (grub_debug_realloc): Likewise.
12928 (grub_debug_memalign): Likewise.
12929 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
12930 Check that target is IPv4.
12931 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
12932 local-mac-address as fallback.
12933 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
12934 memory leak.
12935 * grub-core/net/ip.c (ipchksum): Rename to ...
12936 (grub_net_ip_chksum): ... this. All users updated.
12937 (grub_net_recv_ip_packets): Special handling for DHCP.
12938 * util/grub-mkimage.c (generate_image): Zero-out aout header.
12939
12940 Unify prefix handling
12941
12942 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
12943 (grub_machine_get_bootlocation): ... this.
12944 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
12945 (grub_machine_get_bootlocation): ... this.
12946 (grub_prefix): New variable.
12947 (prefix): Removed.
12948 (root_dev): New variable.
12949 (dir): Likewise.
12950 (main): Use new variables.
12951 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
12952 Revamped into ...
12953 (grub_machine_get_bootlocation): ... this.
12954 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
12955 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
12956 (grub_machine_get_bootlocation): ... this.
12957 (grub_machine_set_prefix): Removed.
12958 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
12959 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
12960 Revamped into ...
12961 (grub_machine_get_bootlocation): ... this.
12962 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
12963 (grub_set_prefix_and_root): ... this. All users updated.
12964 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
12965 Revamped into ...
12966 (grub_machine_get_bootlocation): ... this.
12967 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
12968 (grub_machine_get_bootlocation): New proto.
12969 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
12970
12971 Less intrusive and more reliable seek on network implementation.
12972
12973 * grub-core/kern/file.c (grub_file_net_seek): Removed.
12974 (grub_file_seek): Don't call grub_file_net_seek.
12975 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
12976 (grub_net_fs_read_real): .. this.
12977 (grub_net_seek_real): Use net->offset.
12978 (grub_net_fs_read): Seek if necessary.
12979
12980 Unify IEEE1275 netwotk config with the other platforms.
12981
12982 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
12983 New variable.
12984 (grub_machine_get_bootlocation): Support network.
12985 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12986 Support type and device parsing.
12987 (grub_ieee1275_get_device_type): New function.
12988 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
12989 into ...
12990 (grub_ieee1275_net_config_real): ... this.
12991 (grub_ofnet_probecards): Removed.
12992 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
12993 * include/grub/ieee1275/ofnet.h: Removed.
12994 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
12995 extern var.
12996 (grub_ieee1275_get_device_type): New function.
12997
12998 Unify network device closing across platforms and make more robust.
12999
13000 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
13001 grub_grubnet_fini.
13002 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
13003 already.
13004 * grub-core/net/net.c (grub_net_network_level_interface_register):
13005 Update num_ifaces.
13006 (grub_net_card_unregister): Close all interfaces.
13007 (receive_packets): Don't poll if no iterfaces are registered.
13008 Open if necessary.
13009 (grub_net_fini_hw): New function.
13010 (grub_net_restore_hw): Likewise.
13011 (fini_hnd): New variable.
13012 (GRUB_MOD_INIT): Register preboot hook.
13013 (GRUB_MOD_FINI): Run and unregister preboot hook.
13014
13015 Poll network cards when idle.
13016
13017 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
13018 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
13019 * grub-core/net/net.c (receive_packets): Save last poll time.
13020 (grub_net_poll_cards_idle_real): New function.
13021 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
13022 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
13023 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
13024
13025 Rename ofnet interfaces.
13026
13027 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
13028 (grub_ofnet_findcards): Use ofnet_%s names.
13029
13030 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
13031
13032 Cleanup socket opening.
13033
13034 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
13035 (grub_net_fs_close): Likewise.
13036 (grub_net_fs_read_real): Use eof member.
13037 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
13038 (+grub_net_udp_close): New inline function.
13039
13040 * include/grub/net/tftp.h: Moved to the top of ...
13041 * grub-core/net/tftp.c: ... here.
13042 * include/grub/net/ip.h: Moved mostly to the top of ...
13043 * grub-core/net/ip.c: ... here.
13044 * include/grub/net/ethernet.h: Moved mostly to the top of ...
13045 * grub-core/net/ethernet.c: ... here.
13046
13047 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
13048
13049 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
13050 FS name.
13051
13052 * include/grub/net/ip.h (ipv4_ini): Removed.
13053 (ipv4_fini): Likewise.
13054
13055 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
13056 (grub_net_send_ip_packets): Likewise.
13057
cf1337aa
VS
130582011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
13061 grub_read_cmos prototype.
13062
93c06ff9
VS
130632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 VGA text support in qemu-mips
13066
13067 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
13068 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
13069 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
13070 text.
13071 * grub-core/kern/i386/qemu/init.c: Renamed to ...
13072 * grub-core/kern/vga_init.c: ... this.
13073 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
13074 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
13075 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
13076 Adjust.
13077 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
13078 GRUB_MACHINE_PCI_IO_BASE.
13079
748ccabe
VS
130802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13081
13082 MIPS qemu flash support.
13083
13084 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
13085 magic.
13086 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
13087 (grub_machine_init): Probe memory if its size isn't known.
13088 * util/grub-mkimage.c (image_targets): Add flash targets.
13089 (generate_image): Handle flash targets.
13090
d7345994
VS
130912011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 MIPS qemu at_keyboard support.
13094
13095 * gentpl.py (videoinkernel): Add qemu-mips.
13096 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
13097 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
13098 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
13099 modules.
13100 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
13101 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
13102 * grub-core/term/serial.c (grub_serial_register)
13103 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
13104
a07a81b3
VS
131052011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 CMOS support on sparc.
13108
13109 * gentpl.py (cmos): Add powerpc and sparc.
13110 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
13111 powerpc and sparc.
13112 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
13113 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
13114 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
13115 grub_set_datetime_cmos.
13116 * grub-core/lib/ieee1275/cmos.c: New file.
13117 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
13118 (find_rtc): Set no_ieee1275_rtc on error.
13119 (grub_get_datetime): Call grub_get_datetime_cmos on error.
13120 (grub_set_datetime): Call grub_set_datetime_cmos on error.
13121 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
13122 fail. Move value to argument. All users updated
13123 (grub_cmos_write): Likewise.
13124 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
13125 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
13126 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
13127 grub_get_datetime_cmos and grub_set_datetime_cmos.
13128
77546584
GS
131292011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13130
13131 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
13132 sourcing grub-mkconfig_lib.
13133 * util/update-grub_lib.in: Likewise.
13134 * util/grub.d/00_header.in: Likewise.
13135 * util/grub.d/10_hurd.in: Likewise.
13136 * util/grub.d/10_kfreebsd.in: Likewise.
13137 * util/grub.d/10_linux.in: Likewise.
13138 * util/grub.d/10_netbsd.in: Likewise.
13139 * util/grub.d/10_windows.in: Likewise.
13140 * util/grub.d/20_linux_xen.in: Likewise.
13141 * util/grub.d/30_os-prober.in: Likewise.
13142
54894791
CW
131432011-06-28 Colin Watson <cjwatson@ubuntu.com>
13144
13145 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
13146 default_bg_color rather than black.
13147 (grub_gfxterm_fullscreen): Likewise.
13148 (grub_gfxterm_background_color_cmd): Save new background color in
13149 default_bg_color.
13150
8d5d8444
VS
131512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
13154
5afeb5bd
VS
131552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13156
13157 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
13158 mismerge.
13159
ba7df45e
VS
131602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 Chainloading on coreboot support.
13163
13164 * grub-core/Makefile.core.def (chain): Add coreboot.
13165 * grub-core/loader/i386/coreboot/chainloader.c: New file.
13166
d0b526b2
VS
131672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
13170 if it happens.
13171
5ff1d945
VS
131722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 Implement time command.
13175
13176 * grub-core/Makefile.core.def (time): New module.
13177 * grub-core/commands/time.c: New file.
13178 * grub-core/script/parser.y: Remove "time" keyword.
13179 * grub-core/script/yylex.l: Likewise.
13180
5ebaad7e
VS
131812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13182
13183 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
13184
bdea3798
VS
131852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13186
13187 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
13188 when handling leftovers.
13189
b28c5655
VS
131902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13191
13192 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
13193 so that help2man doesn't fail.
13194
b6f945dc
VS
131952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
13198 type in pointers on sparc64.
13199 (get_card_packet): Likewise.
13200
f9b75e8a
CW
132012011-06-27 Colin Watson <cjwatson@ubuntu.com>
13202
13203 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
13204 with `*'.
13205 (grub_cmd_videoinfo): Fetch current video mode.
13206
1e3d9b86
VS
132072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
13210 because of underlying system restrictions.
13211
efff4b1c
VS
132122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13213
13214 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
13215 necessary.
13216
9fc9ce37
VS
132172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 Coreboot video support.
13220
13221 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
13222 (vbe): Likewise.
13223 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
13224 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
13225 here ...
13226 * grub-core/kern/i386/int.S: ... here.
13227 * grub-core/video/i386/pc/vbe.c: Updated includes.
13228 * grub-core/video/i386/pc/vga.c: Likewise.
13229 * include/grub/i386/coreboot/memory.h
13230 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
13231 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
13232 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
13233 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
13234 Disable interrupts.
13235 * include/grub/i386/pc/vga.h: Removed. All users updated.
13236
41bec7fe
VS
132372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
13240 definitions for dprintf.
13241 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
13242
ca80309d
VS
132432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
13246 prototype.
13247 (get_card_packet): Likewise.
13248
9e322ce8
YB
132492011-06-26 Yves Blusseau <blusseau@zetam.org>
13250
13251 Display the path of the file when file is not found
13252
13253 * grub-core/fs/fat.c: Display the filename when file is not found.
13254 * grub-core/fs/fshelp.c: Likewise.
13255 * grub-core/fs/hfs.c: Likewise.
13256 * grub-core/fs/jfs.c: Likewise.
13257 * grub-core/fs/minix.c: Likewise.
13258 * grub-core/fs/ufs.c: Likewise.
13259 * grub-core/fs/btrfs.c: Likewise.
13260 * grub-core/commands/i386/pc/play.c: Likewise.
13261
cbf597af
SJ
132622011-06-26 Szymon Janc <szymon@janc.net.pl>
13263
13264 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
13265 pointer checks before calling grub_free().
13266 * grub-core/commands/wildcard.c (match_devices): Likewise.
13267 * grub-core/commands/wildcard.c (match_files): Likewise.
13268 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
13269 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
13270 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
13271 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
13272 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
13273 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
13274 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
13275 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
13276 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
13277
6295b32f
P
132782011-06-25 Patrick <p55@mailinator.com>
13279
13280 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
13281
77c0840b
VS
132822011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
13285 (grub_pxe_send): Likewise.
13286 (GRUB_MOD_INIT): Fix types.
13287
40ea05de
SJ
132882011-06-24 Szymon Janc <szymon@janc.net.pl>
13289
13290 * grub-core/io/xzio.c: Fix code style issues
13291
90162423
MRA
132922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
132932011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
13294
13295 Network infrastructure.
13296 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
13297
13298 * include/grub/net/arp.h: New file.
90162423
MRA
13299 * include/grub/net/device.h: Likewise.
13300 * include/grub/net/ethernet.h: Likewise.
13301 * include/grub/net/ip.h: Likewise.
13302 * include/grub/net/netbuff.h: Likewise.
13303 * include/grub/net/tftp.h: Likewise.
13304 * include/grub/net/udp.h: Likewise.
13305 * include/grub/ieee1275/ofnet.h: Likewise.
13306 * include/grub/emu/export.h: Likewise.
13307 * include/grub/net.h: Likewise.
13308 * grub-core/net/arp.c: Likewise.
13309 * grub-core/net/ethernet.c: Likewise.
13310 * grub-core/net/ip.c: Likewise.
13311 * grub-core/net/udp.c: Likewise.
13312 * grub-core/net/tftp.c: Likewise.
13313 * grub-core/net/netbuff.c: Likewise.
13314 * grub-core/net/net.c: Likewise.
13315 * grub-core/net/drivers/emu/emunet.c: Likewise.
13316 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
13317 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
13318 export.h.
13319 * grub-core/Makefile.core.def (net): New module.
13320 (tftp): Likewise.
13321 (ofnet): Likewise.
13322 (emunet): Likewise.
13323 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
13324 network protocols.
13325 * grub-core/kern/device.c (grub_net_open) : New variable.
13326 (grub_device_open): Handle network device.
13327 (grub_device_close): Likewise.
13328 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
13329 (grub_grubnet_fini): Likewise.
13330 (grub_file_seek): Seek in network device.
13331 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
13332 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
13333 network root.
13334 (grub_machine_fini): Call grub_grubnet_fini.
13335 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
13336 network.
13337 (grub_ieee1275_get_aliasdevname): New function.
13338 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13339 Add unofficial Solaris network info.
13340 (grub_multiboot_make_mbi): Likewise.
13341 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
13342 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
13343 * include/grub/device.h (grub_fs): Removed.
13344 * include/grub/err.h (grub_err_t): Add network-related values.
13345 * include/grub/i386/pc/pxe.h: Removed bootp parts.
13346 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
13347 (grub_ieee1275_get_aliasdevname): New proto.
13348 * include/grub/net.h: Rewritten.
423a1849 13349
031f22a0
VS
133502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
13353 names.
13354
4388ca72
VS
133552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
13358 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
13359 it truncates the output.
13360 Reported by: Ximin Luo.
13361
98e2f506
VS
133622011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
13365
2a5e94d8
VS
133662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
13369 partmap before abstraction.
13370
535c1910
AK
133712011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
13372
13373 * util/grub-mkconfig_lib.in: Add missing quotes.
13374
bc09e1a2
VS
133752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
13378 old method if mountinfo would return /dev/root and /dev/root doesn't
13379 exist.
13380
290766fb
VS
133812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 ZFS zlib support
13384
13385 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
13386 (decomp_table): Add zlib entries.
13387 (zio_read): USe 8 bits for compression function rather than 3.
13388 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
13389
133902011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/disk/ahci.c: Add missing license statements.
13393 * grub-core/fs/romfs.c: Likewise.
13394 * grub-core/lib/ia64/setjmp.S: Likewise.
13395 * grub-core/loader/i386/pc/freedos.c: Likewise.
13396 * grub-core/loader/ia64/efi/linux.c: Likewise.
13397 * grub-core/video/colors.c: Likewise.
13398 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
13399
5ab3f48a
VS
134002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 AHCI support.
13403
13404 * grub-core/Makefile.core.def (ata_pthru): Removed.
13405 (ahci): New module.
13406 (pata): Likewise.
13407 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
13408 on unload.
13409 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
13410 readwrite.
13411 (grub_hdparm_do_check_powermode_cmd): Likewise.
13412 (grub_hdparm_do_smart_cmd): Likewise.
13413 (grub_hdparm_set_val_cmd): Likewise.
13414 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
13415 * grub-core/disk/ahci.c: New file.
13416 * grub-core/disk/ata.c: Factor out the low-level part into ...
13417 * grub-core/disk/pata.c: ... here.
13418 * grub-core/disk/ata_pthru.c: Contents moved to ...
13419 * grub-core/disk/pata.c: ... here.
13420 * grub-core/disk/scsi.c (grub_scsi_names): New array.
13421 (grub_scsi_iterate): Use grub_scsi_names.
13422 (grub_scsi_open): Likewise.
13423 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
13424 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
13425 (grub_ata_regs_t): New struct.
13426 (grub_disk_ata_pass_through_parms): Likewise.
13427 (grub_ata_device): Renamed to ...
13428 (grub_ata): ... this.
13429 (grub_ata_dev): New struct.
13430 Removed all low-level inline functions.
13431 * include/grub/scsi.h: Add PATA and AHCI subsystems.
13432 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
13433 iterate hooks and open. All users updated.
13434 * util/grub-install.in: Handle AHCI disk module.
13435
c31dc5f5
SJ
134362011-06-23 Szymon Janc <szymon@janc.net.pl>
13437
13438 Add support for DRI and RSTn markers in JPEG files.
13439
13440 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
13441 (JPEG_MARKER_RST0): Likewise.
13442 (JPEG_MARKER_RST1): Likewise.
13443 (JPEG_MARKER_RST2): Likewise.
13444 (JPEG_MARKER_RST3): Likewise.
13445 (JPEG_MARKER_RST4): Likewise.
13446 (JPEG_MARKER_RST5): Likewise.
13447 (JPEG_MARKER_RST6): Likewise.
13448 (JPEG_MARKER_RST7): Likewise.
13449 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
13450 (grub_jpeg_decode_dri): New function.
13451 (grub_jpeg_decode_sos): Move image data related part into
13452 grub_jpeg_decode_data function.
13453 (grub_jpeg_decode_data): New function.
13454 (grub_jpeg_reset): New function.
13455 (grub_jpeg_decode_jpeg): Handle new markers.
13456
fe12fd5b
VS
134572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * util/ieee1275/ofpath.c (check_sas): Close fd.
13460 (main): Free of_path.
13461 Reported by: David Volgyes <dvolgyes>.
13462
03147f46
VS
134632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
13466 Reported by: David Volgyes <dvolgyes>.
13467
cad3237f
VS
134682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
13471 file after stat.
13472 Reported by: David Volgyes <dvolgyes>.
13473
13548d26
VS
134742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
13477
13478 Reported by: David Volgyes <dvolgyes>.
13479
e061a1b5
VS
134802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
13483 Prevent memory leak.
13484
1abe47dc
VS
134852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
13488 (main): Close file.
e061a1b5 13489 Reported by: David Volgyes <dvolgyes>.
1abe47dc 13490
fbc62666
VS
134912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
13494 to continue if allocation is failed.
13495
13496 Reported by: David Volgyes <dvolgyes>.
13497
e98c83e9
DV
134982011-06-23 David Volgyes <dvolgyes>
13499
13500 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
13501 dereference.
13502
a199a8cd
VS
135032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 Fix spurious warning.
13506
13507 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
13508 (acorn_partition_map_find): Use .bin member.
13509
e2d1dba0
VS
135102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
13513 /dev/root as a valid device.
13514
8a5d6919
JM
135152011-06-23 Jim Meyering <meyering@redhat.com>
13516
e2d1dba0
VS
13517 Avoid NULL deref in grub_device_open.
13518
8a5d6919
JM
13519 * grub-core/kern/device.c (grub_device_open): Don't dereference
13520 a NULL pointer upon failed grub_env_get.
13521
f7db6f4a
VS
135222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
13523
13524 Support non-512B sectors and agglomerate reads.
13525
13526 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
13527 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
13528 (disk_io_guid): Removed.
13529 (make_devices): Locate solely by BlockIO.
13530 (grub_efidisk_open): Fill log_sector_size and total_sectors.
13531 (grub_efidisk_read): Use read_blocks.
13532 (grub_efidisk_write): Use write_blocks.
13533 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
13534 log_sector_size.
13535 (get_safe_sectors): Handle non-512B sectors.
13536 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
13537 sectors.
13538 (grub_biosdisk_write): Handle non-512B sectors.
13539 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
13540 (grub_scsi_read): Remove special non-512B block handling (now handled
13541 one level up).
13542 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
13543 and do sanity checks.
13544 (grub_disk_adjust_range): Handle non-512B sectors.
13545 (transform_sector): New function.
13546 (grub_disk_read_small): Likewise.
13547 (grub_disk_read): Rewritten.
13548 (grub_disk_write): Handle non-512B sectors.
13549 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
13550 log_sector_size.
13551 (open_device): Use log_sector_size.
13552 (grub_util_biosdisk_read): Likewise.
13553 (grub_util_biosdisk_write): Likewise.
13554 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
13555 non-512B sectors.
13556 (pc_partition_map_embed): Likewise.
13557 * include/grub/disk.h (grub_disk): New field log_sector_size.
13558 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
13559 (GRUB_DISK_CACHE_BITS): Increased to 6.
13560 * util/grub-fstest.c (fstest): New command testload.
13561 (argp_parser): Likewise.
13562
881ac815
RM
135632011-06-16 Robert Millan <rmh@gnu.org>
13564
13565 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
13566 `ata' driver on kernel of FreeBSD 9.
13567
13568 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
13569 (get_ataraid_disk_name): New functions.
13570 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
13571 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
13572 get_ataraid_disk_name() and get_ada_disk_name().
13573
1e9aef7d
CW
135742011-06-13 Colin Watson <cjwatson@ubuntu.com>
13575
13576 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
13577 input format.
13578
351c7c8a
CW
135792011-05-29 Colin Watson <cjwatson@ubuntu.com>
13580
13581 * docs/grub.texi (Obtaining and Building GRUB): Substitute
13582 `ftp.gnu.org' for `alpha.gnu.org'.
13583
6b4e6430
CW
135842011-05-27 Colin Watson <cjwatson@ubuntu.com>
13585
13586 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
13587 partitions under /dev/disk/by-id/.
13588
c64db050
CW
135892011-05-27 Colin Watson <cjwatson@ubuntu.com>
13590
13591 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
13592 after ten consecutive open failures. Scanning all the way up to
13593 10000 is excessive and can cause serious performance problems in
13594 some configurations.
13595 Fixes Ubuntu bug #787461.
13596
245f4aba
VS
135972011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
13600 opening new one.
13601
f767c929
VS
136022011-05-21 Colin Watson <cjwatson@ubuntu.com>
136032011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 Don't stat devices unless we have to.
13606
13607 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
13608 dir == /dev/mapper.
13609 (grub_guess_root_device): Use already known os_dev if possible.
13610 * grub-core/kern/emu/hostdisk.c
13611 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
13612 if device is known to be a dm one.
13613
f35fa3a6
CW
136142011-05-20 Colin Watson <cjwatson@ubuntu.com>
13615
13616 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
13617 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
13618 Reported by: Pawel Tecza.
13619
9a79fcf2
VS
136202011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
13621
13622 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
13623 (lsefisystab): Likewise.
13624 (lssal): Likewise.
13625 (lsefimmap): Likewise.
13626 (hdparm): Enable on qemu-mips.
13627 (setjmp): Add ia64 nodist.
13628 (serial): Simplify tags.
13629
63e3eea9
CW
136302011-05-18 Colin Watson <cjwatson@ubuntu.com>
13631
13632 * Makefile.util.def (grub-ofpathname): Install manual page.
13633
09728256
CW
136342011-05-18 Colin Watson <cjwatson@ubuntu.com>
13635
13636 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
13637
8b63a142
CW
136382011-05-18 Colin Watson <cjwatson@ubuntu.com>
13639
13640 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
13641
e775d8ed
VS
136422011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
13645 into dprintf.
13646
bf947d36
VS
136472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13648
13649 Use full 64-bit division.
13650
13651 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
13652 (grub_divmod64): ... this.
13653 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
13654 version.
13655
b84f26c5
CW
136562011-05-18 Colin Watson <cjwatson@ubuntu.com>
13657
13658 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
13659 `source'.
13660
5626056f
CW
136612011-05-18 Colin Watson <cjwatson@ubuntu.com>
13662
13663 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
13664 to avoid accidents when debugging with 'sh -x'.
13665 * grub-core/gensyminfo.sh.in: Likewise.
13666 * tests/example_scripted_test.in: Likewise.
13667 * tests/grub_cmd_regexp.in: Likewise.
13668 * tests/grub_script_blanklines.in: Likewise.
13669 * tests/grub_script_dollar.in: Likewise.
13670 * tests/grub_script_expansion.in: Likewise.
13671 * tests/grub_script_final_semicolon.in: Likewise.
13672 * tests/partmap_test.in: Likewise.
13673 * tests/util/grub-shell-tester.in: Likewise.
13674 * tests/util/grub-shell.in: Likewise.
13675
e2965f4a
CW
136762011-05-18 Colin Watson <cjwatson@ubuntu.com>
13677
13678 Move gfxmenu color handling to video, so that gfxterm can use it
13679 too.
13680
13681 * grub-core/gfxmenu/named_colors.c: Move to ...
13682 * grub-core/video/colors.c: ... here. Rename
13683 grub_gui_get_named_color to grub_video_get_named_color.
13684 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
13685 * grub-core/video/colors.c (my_isxdigit): ... here.
13686 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
13687 Move to ...
13688 * grub-core/video/colors.c (parse_hex_color_component): ... here.
13689 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
13690 to ...
13691 * grub-core/video/colors.c (grub_video_parse_color): ... here.
13692
13693 * include/grub/gui.h (grub_gui_color_t): Move to ...
13694 * include/grub/video.h (grub_video_rgba_color_t): ... here.
13695 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
13696 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
13697 * include/grub/gui.h (grub_gui_map_color): Move to ...
13698 * include/grub/video.h (grub_video_map_rgba_color): ... here.
13699 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
13700 to ...
13701 * include/grub/video.h (grub_video_get_named_color): ... here.
13702 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
13703 * include/grub/video.h (grub_video_parse_color): ... here.
13704
13705 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
13706 video/colors.c.
13707 (gfxmenu): Remove gfxmenu/named_colors.c.
13708 (video) [videomodules]: Add video/colors.c.
13709
13710 Add a background_color command.
13711
13712 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
13713 function.
13714 (GRUB_MOD_INIT): Register background_color command.
13715 (GRUB_MOD_FINI): Unregister background_color command.
13716 (redraw_screen_rect): Allow blend/replace of text layer to be
13717 controlled independently from whether there is a background bitmap.
13718 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
13719 changing bitmap.
13720
1e4b4390
VS
137212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13722
26618ff0
VS
13723 Patch BPB in ntldr and chainloader --bpb.
13724
1e4b4390
VS
13725 * grub-core/fs/fat.c: Include grub/fat.h.
13726 (grub_fat_bpb): Moved to ...
13727 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
13728 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
13729 grub/ntfs.h.
13730 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
13731 Moved from here...
13732 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
13733 here.
13734 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
13735 New function.
13736 (grub_chainloader_cmd): Patch BPB if --bpb is given.
13737 (GRUB_MOD_INIT): Show --bpb.
13738 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
13739 * grub-core/normal/main.c (features): New variable.
13740 (GRUB_MOD_INIT): Set feature_* variables.
13741 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
13742 proto.
13743 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
13744
cf02731e
VS
137452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
13748 for cleanness.
13749
e3a1073f
VS
137502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 FreeDOS direct loading support.
13753
13754 * docs/grub.texi (Supported OS): Add FreeDOS.
13755 * grub-core/Makefile.core.def (freedos): New module.
13756 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
13757 variable.
13758 (grub_relocator16_boot): Handle %ebx.
13759 * grub-core/lib/i386/relocator16.S: Likewise.
13760 * grub-core/loader/i386/pc/freedos.c: New file.
13761
05caa461
VS
137622011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 Long Linux command line support.
13765
13766 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13767 (maximal_cmdline_size): New variable.
13768 (allocate_pages): Use maximal_cmdline_size.
13769 (grub_cmd_linux): Set and use maximal_cmdline_size.
13770 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
13771 (allocate_pages): Use maximal_cmdline_size.
13772 (grub_cmd_linux): Set and use maximal_cmdline_size.
13773 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
13774 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
13775 and cmdline_size.
13776
a2491e23
VS
137772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
137782011-05-18 Colin Watson <cjwatson@ubuntu.com>
13779
13780 Improve devmapper support
13781
13782 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
13783 (grub_util_is_lvm): New function.
13784 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
13785 than lvm if not dmraid.
13786 Handle mapped md nodes.
13787 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
13788 (grub_util_device_is_mapped): ... this. Make always available. All users
13789 updated.
13790 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
13791 (convert_system_partition_to_system_disk): Handle lvm, mpath and
13792 dmraid nodes.
13793 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
13794
6ad6223e
VS
137952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
13798
13799 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
13800 * grub-core/modinfo.sh.in: New file.
13801 * grub-core/Makefile.core.def (modinfo.sh): New script.
13802 * util/grub-mknetdir.in: Use modinfo.sh.
13803 * util/grub-mkrescue.in: Likewise.
13804
543a8f6e
VS
138052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
13808 Fix potential usage of Elf32 instead of Elf64 when compiling on
13809 32-bit architecture. Add endianness macros while on it.
13810
4959e111
VS
138112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 Use mipsel- rather than mips- in directories involving mipsel ports to
13814 allow both endiannesses coexist.
13815
13816 * configure.ac: proparate target_cpu=mipsel rather than resetting to
13817 mips. All conditions adjusted.
13818 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
13819 variable.
13820 * util/grub-install.in: Adjust conditions to take renaming into account.
13821 * util/grub-mkimage.c (image_targets): Likewise. New target
13822 mips-qemu_mips-elf for bigendian mips.
13823
35341bbc
VS
138242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 Avoid unnecessary copying on MIPS.
13827
13828 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
13829 early if src == dest.
13830 * util/grub-mkimage.c (generate_image): Arange for src == dest if
13831 compression is none.
13832
b772baed
VS
138332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 Reduce memory footprint on SGI by putting modules before the kernel
13836 as opposed to after.
13837
13838 * grub-core/Makefile.core.def (kernel): Increase linking address.
13839 (none_decompress): Likewise.
13840 (xz_decompress): Likewise.
13841 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
13842 address.
13843 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
13844 layout change.
13845 (grub_arch_modules_addr): New function.
13846 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
13847 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
13848 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
13849 here.
13850 * grub-core/kern/mips/startup.S (total_size): Rename to ...
13851 (grub_total_modules_size): ... this. Make global.
13852 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
13853 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
13854 New definition.
13855 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
13856 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
13857 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
13858 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
13859 * util/grub-mkimage.c (image_target_desc): New flag
13860 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
13861 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
13862 (generate_image): Handle images with modules before kernel.
13863
566a1917
VS
138642011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 Prevent potential loss of memory map by overwrite on qemu-mips.
13867
13868 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13869 Save ram size in $s4.
13870 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
13871 All users changed to grub_arch_memsize.
13872 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
13873 Loongson.
13874 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
13875 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
13876 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
13877 external variable.
13878
5d420cd9
CW
138792011-05-17 Colin Watson <cjwatson@ubuntu.com>
13880
13881 * .bzrignore: Remove grub-dumpbios.
13882
d064b830
CW
138832011-05-17 Colin Watson <cjwatson@ubuntu.com>
13884
13885 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
13886 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
13887 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
13888 existing options which append).
13889 * docs/grub.texi (Simple configuration): Document new options.
13890 Reported by: Ian Jackson. Fixes Debian bug #617538.
13891
3ca2b466
CW
138922011-05-17 Colin Watson <cjwatson@ubuntu.com>
13893
13894 * util/grub-fstest.c (cmd_cat): New function.
13895 (fstest): Handle CMD_CAT.
13896 (options): Add cat.
13897 (argp_parser): Handle cat.
13898
24c9143a
CW
138992011-05-17 Colin Watson <cjwatson@ubuntu.com>
13900
13901 * Makefile.util.def (grub-bin2h): Don't install.
13902 * docs/man/grub-bin2h.h2m: Remove.
13903
90f7ac19
VS
139042011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
13907 place.
13908
8d4a5178
VS
139092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 Reenable qemu-mips port.
13912
13913 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
13914 Fix small arc bug while on it.
13915 * gentpl.py: Handle qemu_mips.
13916 * grub-core/Makefile.am: Likewise.
13917 * grub-core/Makefile.core.def: Likewise.
13918 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
13919 inappropriate includes.
13920 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
13921 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
13922 * grub-core/kern/main.c (grub_modules_get_end)
13923 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
13924 * grub-core/kern/mips/qemu-mips: Moved to ..
13925 * grub-core/kern/mips/qemu_mips: ... this.
13926 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
13927 (grub_machine_init): Call terminfo_init and serial_init.
13928 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
13929 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
13930 New variable.
13931 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
13932 parameter passing.
13933 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
13934 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
13935 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
13936 * include/grub/mips/qemu_mips/cmos.h: New file.
13937 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
13938 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
13939 Removed.
13940 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
13941 Use correct mips-style address.
13942 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
13943 (GRUB_TICKS_PER_SECOND): Removed.
13944 (grub_get_rtc): Likewise.
13945 (grub_cpu_idle): Likewise.
13946 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
13947 New definition.
13948 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
13949 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
13950 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
13951 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
13952 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13953 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13954 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
13955 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
13956
400b9371
VS
139572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 SGI ARCS port.
13960
13961 * Makefile.util.def (libgrubmods.a): Add dvh.c.
13962 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
13963 platforms.
13964 * configure.ac: New target mips-arc.
13965 * gentpl.py: Likewise.
13966 * grub-core/Makefile.am: Likewise.
13967 * grub-core/Makefile.core.def: Likewise.
13968 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
13969 (none_decompress): Likewise.
13970 (lsdev): New module.
13971 (datetime): Use lib/arc/datetime.c on ARC.
13972 (part_dvh): New module.
13973 * grub-core/commands/arc/lsdev.c: New file.
13974 * grub-core/disk/arc/arcdisk.c: Likewise.
13975 * grub-core/kern/mips/arc/init.c: Likewise.
13976 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
13977 aligned addresses.
13978 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
13979 support.
13980 (grub_arch_dl_relocate_symbols): Likewise.
13981 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
13982 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
13983 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
13984 platforms.
13985 * grub-core/lib/arc/datetime.c: New file.
13986 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
13987 pci.h on non-loongson.
13988 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
13989 (grub_linux_boot): Set unused registers to 0.
13990 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
13991 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
13992 * grub-core/mmap/mips/uppermem.c: ...here.
13993 * grub-core/partmap/dvh.c: New file.
13994 * grub-core/term/arc/console.c: Likewise.
13995 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
13996 (grub_terminfo_set_current): Add terminal "arc".
13997 (grub_terminfo_readkey): Support ARC sequences.
13998 * include/grub/arc/arc.h: New file.
13999 * include/grub/arc/console.h: Likewise.
14000 * include/grub/disk.h (grub_disk_dev_id): Add
14001 GRUB_DISK_DEVICE_ARCDISK_ID.
14002 * include/grub/mips/arc/kernel.h: New file.
14003 * include/grub/mips/arc/memory.h: Likewise.
14004 * include/grub/mips/arc/time.h: Likewise.
14005 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
14006 * include/grub/mips/kernel.h (grub_halt): ... here.
14007 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
14008 here...
14009 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
14010 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
14011 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
14012 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
14013 proto.
14014 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
14015 from here ...
14016 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
14017 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
14018 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
14019 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
14020 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
14021 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
14022 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
14023 (grub_phys_addr_t): Moved from here ...
14024 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
14025 (grub_vtop): Moved from here ...
14026 * include/grub/mips/memory.h (grub_vtop): ... here.
14027 (grub_map_memory): Moved from here ...
14028 * include/grub/mips/memory.h (grub_map_memory): ... here.
14029 (grub_unmap_memory): Moved from here ...
14030 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
14031 (grub_machine_mmap_iterate): Moved from here ...
14032 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
14033 (grub_mmap_get_lower): Moved from here ...
14034 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
14035 (grub_mmap_get_upper): Moved from here ...
14036 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
14037 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14038 here ...
14039 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14040 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
14041 here ...
14042 * include/grub/mips/time.h (grub_get_rtc): ... here.
14043 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
14044 here ...
14045 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
14046 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
14047 here ...
14048 * include/grub/mips/time.h (grub_cpu_idle): ... here.
14049 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
14050 definition.
14051 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
14052 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
14053 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
14054 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
14055 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
14056 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
14057 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
14058 (GRUB_MACHINE_LINK_ADDR): Likewise.
14059 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
14060 to 6.
14061 * util/grub-install.in: Run dvhtool on ARC.
14062 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 14063 (generate_image): Handle ECOFF output for mips-arc.
400b9371 14064
c8ecc840
VS
140652011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
14068 blocks.
14069
153a4b55
VS
140702011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
14073 after enabling port.
14074
ff44d107
VS
140752011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 Skip incorrect USB devices.
14078
14079 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
14080 configcnt == 0.
14081 * include/grub/usb.h (grub_usb_err_t): New enum value
14082 GRUB_USB_ERR_BADDEVICE.
14083
638dbe4f
VS
140842011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 Fuloong video init support.
14087
14088 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
14089 well.
14090 (grub_vga_read_arx): New function.
14091 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
14092 definition.
14093 (framebuffer): New members io, mmioptr and mmiobase.
14094 (read_sis_cmd): New function.
14095 (write_sis_cmd): Likewise.
14096 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
14097 rather than 640x400.
14098 * grub-core/video/sis315_init.c: New file.
14099
c3fc520c
VS
141002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
14103 non-loongson.
14104 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
14105 to grub_dl_register_symbol.
14106
67b1e5c9
VS
141072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 Fix compilation errors.
14110
14111 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
14112 potentially unused.
14113 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
14114 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
14115 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
14116 to loongson machines.
14117
b756f75f
VS
141182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 Several FS mtime support.
14121
14122 * grub-core/fs/affs.c (grub_affs_time): New struct.
14123 (grub_affs_file): New field mtime.
14124 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
14125 type. Removed 'size'. New field 'di'. All users updated.
14126 (grub_affs_mount): Simplify checsum checking.
14127 (grub_affs_iterate_dir): New helper grub_affs_create_node.
14128 (grub_affs_dir): Handle mtime.
14129 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
14130 (grub_cpio_dir): Likewise.
14131 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
14132 (grub_hfs_filerec): New field mtime.
14133 (grub_hfs_dir): Handle mtime.
14134 (grub_hfs_mtime): New function.
14135 (grub_hfs_fs): Register grub_hfs_mtime.
14136 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
14137 (grub_iso9660_dir): New field mtime.
14138 (grub_fshelp_node): New field dirent.
14139 (iso9660_to_unixtime): New function.
14140 (iso9660_to_unixtime2): Likewise.
14141 (grub_iso9660_read_symlink): Use node->dirent.
14142 (grub_iso9660_iterate_dir): Likewise.
14143 (grub_iso9660_dir): Set mtime.
14144 (grub_iso9660_mtime): New function.
14145 (grub_iso9660_fs): Register grub_iso9660_mtime.
14146 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
14147 (grub_jfs_inode): New fields atime, ctime and mtime.
14148 (grub_jfs_dir): Set mtime.
14149 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14150 * grub-core/fs/ntfs.c (list_file): Set mtime.
14151 (grub_ntfs_dir): Likewise.
14152 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
14153 (grub_reiserfs_iterate_dir): Set mtime.
14154 (grub_reiserfs_dir): Likewise.
14155 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
14156 (grub_fshelp_node): Likewise.
14157 (grub_sfs_iterate_dir): Set mtime.
14158 (grub_sfs_dir): Likewise.
14159 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
14160 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
14161 (grub_xfs_inode): New fields atime, mtime, ctime.
14162 (grub_xfs_dir): Set mtime.
14163 * include/grub/datetime.h (grub_datetime2unixtime): New function.
14164 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
14165 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
14166
14167 Support UDF symlinks.
14168
14169 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
14170 (grub_ufs_read_symlink): New function. All users updated.
14171
14172 Check amiga partmap checksum.
14173
14174 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
14175 (grub_amiga_partition): Likewise.
14176 (amiga_partition_map_checksum): New function.
14177 (amiga_partition_map_iterate): Check checksum.
14178
5470225d
VS
141792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 ROMFS support.
14182
14183 * Makefile.util.def (libgrubmods.a): Add romfs.
14184 * grub-core/Makefile.core.def (romfs): New module.
14185 * grub-core/fs/romfs.c: New file.
14186
d4680a35
VS
141872011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 Squashfs v4 support.
14190
14191 * Makefile.util.def (libgrubmods.a): Add squash4.
14192 * grub-core/Makefile.core.def (squash4): New module.
14193 * grub-core/fs/squash4.c: New file.
14194 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
14195 disk_input_start, disk_input.
14196 (get_byte): Handle disk_input.
14197 (grub_zlib_disk_read): New function.
14198 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
14199
bcb18e74
FZ
142002011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
142012011-05-15 Feiran Zheng <famcool@gmail.com>
14202
14203 * Makefile.util.def (libgrubmods.a): Add minix3.
14204 * grub-core/Makefile.core.def (minix3): New module.
14205 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
14206 (GRUB_MINIX_BSIZE): Removed.
14207 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
14208 (grub_minix_ino_t): New type.
14209 (grub_minix_le_to_cpu_ino): New macro.
14210 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
14211 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
14212 (grub_minix_data): New field block_size.
14213 (grub_minix_read_file): Handle 64-bit correctly.
14214 * grub-core/fs/minix3.c: New file.
14215
32297d5f
TG
142162011-05-15 Tristan Gingold <gingold@free.fr>
142172011-05-15 Robert Millan <rmh.grub@aybabtu.com>
142182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 IA64 support.
14221
14222 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
14223 * configure.ac: Add ia64-efi target.
14224 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
14225 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
14226 * gentpl.py: Add ia64_efi platform.
14227 Rename x86_efi to efi and Add ia64-efi. All users updated.
14228 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
14229 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
14230 Remove kern/generic/rtc_get_time_ms.c on EFI.
14231 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
14232 kern/ia64/dl_helper.c on ia64-efi.
14233 Add kern/emu/cache.c on emu.
14234 (linux): Use on loader/ia64/efi/linux.c on ia64.
14235 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
14236 whether symbol is a function.
14237 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
14238 (grub_symbol): New field 'isfunc'.
14239 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
14240 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
14241 (grub_dl_load_segments): Place all sections into the same region.
14242 [__ia64__]: Create trampolines and got.
14243 [GRUB_MACHINE_EMU]: Call mprotect.
14244 (grub_dl_resolve_symbols): Resolve symbol type as well.
14245 [__ia64__]: Create function descriptors.
14246 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
14247 (grub_rtc_get_time_ms): ... this. Expressions simplified.
14248 (grub_get_rtc): New function.
14249 * grub-core/kern/emu/cache.c [__ia64__]: New file.
14250 * grub-core/kern/emu/cache.S: Renamed to ...
14251 * grub-core/kern/emu/cache_s.S: ... this.
14252 [__ia64__]: Add a nop.
14253 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
14254 [__ia64__]: New function.
14255 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
14256 * grub-core/kern/ia64/dl.c: New file.
14257 * grub-core/kern/ia64/dl_helper.c: Likewise.
14258 * grub-core/kern/ia64/efi/init.c: New file.
14259 * grub-core/kern/ia64/efi/startup.S: Likewise.
14260 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
14261 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
14262 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
14263 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
14264 * grub-core/loader/ia64/efi/linux.c: New file.
14265 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
14266 (GRUB_MOD_DEP): Likewise.
14267 (grub_dl) [__ia64__]: New fields got and tramp.
14268 (grub_dl): New field 'base'.
14269 (grub_dl_register_symbol): New argument isfunc. All users updated.
14270 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
14271 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
14272 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
14273 (grub_ia64_dl_get_tramp_got_size): New proto.
14274 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
14275 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
14276 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
14277 * include/grub/efi/api.h: Skip call wrappers on ia64.
14278 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
14279 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
14280 * include/grub/elf.h (ELF_ST_INFO): New definition.
14281 * include/grub/ia64/efi/kernel.h: New file.
14282 * include/grub/ia64/efi/memory.h: Likewise.
14283 * include/grub/ia64/efi/time.h: Likewise.
14284 * include/grub/ia64/kernel.h: Likewise.
14285 * include/grub/ia64/setjmp.h: Likewise (from glibc).
14286 * include/grub/ia64/time.h: New file.
14287 * include/grub/ia64/types.h: Likewise.
14288 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
14289 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
14290 New protos.
14291 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
14292 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
14293 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
14294 * util/grub-mkimage.c (image_target_desc): New field pe_target.
14295 All users updated.
14296 (EFI64_HEADER_SIZE): New definition. All users updated.
14297 (image_targets): Add ia64-efi.
14298 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
14299 jumpers_addr. All users updated.
14300 Create function descriptors.
14301 (count_funcs): New function.
14302 (unaligned_uint32): New struct.
14303 (MASK20): New definition.
14304 (MASK19): Likewise.
14305 (MASKF21): Likewise.
14306 (add_value_to_slot_20b): New function.
14307 (add_value_to_slot_21_real): Likewise.
14308 (add_value_to_slot_21): Likewise.
14309 (ia64_kernel_trampoline): New struct.
14310 (nopm): New variable.
14311 (jump): Likewise.
14312 (make_trampoline): New function.
14313 (relocate_addresses): Handle ia64.
14314 (make_reloc_section): Likewise.
14315 (load_image): Likewise.
14316
983b414d
VS
143172011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
14320 warning. Move variables before code while on it.
14321
5d063cdc
VS
143222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 Fuloong support.
14325
14326 * configure.ac: Rename yeeloong platform to loongson. All users updated.
14327 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
14328 * grub-core/boot/mips/loongson/fuloong.S: New file.
14329 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
14330 Explicitly init CS5536.
14331 [FULOONG]: Don't use serial until CS5536 is available.
14332 Set GPIO based on dumps.
14333 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
14334 [FULOONG]: Handle GPIO and memory controller differences.
14335 Parse machine type in $a2.
14336 * grub-core/boot/mips/startup_raw.S: Determine and save the
14337 architecture.
14338 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
14339 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
14340 init on architecture type.
14341 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
14342 SIS315E. Don't init at_keyboard on fuloong.
14343 (grub_halt): Support Fuloong.
14344 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
14345 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
14346 (loongson_machtypes): New array.
14347 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
14348 type.
14349 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
14350 config. All users updated. Handle CS5536 serial.
14351 * grub-core/term/serial.c (grub_serial_register): Conditionalise
14352 default port on machine type. Register serial as inactive.
14353 * grub-core/video/sis315pro.c: New file.
14354 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
14355 definition.
14356 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
14357 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
14358 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
14359 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
14360 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
14361 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
14362 to ...
14363 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
14364 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
14365 definition.
14366 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
14367 (grub_arch_machine): New extern var.
14368 * include/grub/mips/loongson/serial.h
14369 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
14370 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
14371 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
14372 (GRUB_MACHINE_SERIAL_PORT0): ... this.
14373 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
14374 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
14375 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
14376 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
14377 * include/grub/term.h (grub_term_register_input_inactive): New inline
14378 function.
14379 (grub_term_register_output_inactive): Likewise.
14380 * include/grub/video.h (grub_video_driver_id): New value
14381 GRUB_VIDEO_DRIVER_SIS315PRO.
14382 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
14383 New field "names". All users updated.
14384 New field value IMAGE_FULOONG_FLASH.
14385 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
14386
6ada82d1
JU
143872011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
14388
14389 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
14390 and add some clarification.
14391
90c571a4
VS
143922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
14395 platforms if kernel is compressed.
14396
de04eecf
VS
143972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
14400 unused modules since currently referrence counter isn't reliable and
14401 there isn't much memory to recover there anyway.
14402
57688121
VS
144032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
14406 rather than resetting it to allow modules to reference themselves
14407 in init.
14408
3d2c7e35
VS
144092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
14412 counter on dependencies since grub_dl_unref already handles this.
14413
b25db218
VS
144142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
14417 on error if not already done.
14418
25a45338
VS
144192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14420
14421 Fix few potential memory misusage.
14422
14423 * grub-core/font/font.c (load_font_index): Don't free char_index to
14424 avoid double free.
b25db218
VS
14425 (grub_font_load): Zero-fill font at alloc for safety.
14426 Close file on error.
14427 (free_font): Free bmp_idx.
25a45338 14428
0cac83df
VS
144292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 * docs/grub.texi (Installation): Fix several outdated claims.
14432
2217a143
VS
144332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 Handle module_license on windows.
14436
14437 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
14438 sections shifted.
14439 (insert_string): Make argument const char * instead of char *.
14440 (write_section_data): Handle long section names.
14441 Handle module_license.
14442
d4de6b01
VS
144432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
14446 handle class-free menuentries.
14447 (grub_normal_add_menu_entry): Add a check to be sure.
14448
4c2a3b43
VS
144492011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
14452 PgUp and PgDown.
14453
85c6210f
VS
144542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * configure.ac: Bump version to 1.99.
14457
36084912
VS
144582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 Give ATA device a bit more time on first try in order to allow disks
14461 to spin up.
14462
14463 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
14464 if dev->present is 1. Reset dev->present on failure.
14465 (grub_ata_device_initialize): Set dev->present to 1.
14466 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
14467 (grub_ata_device): New member 'present'.
14468
bda0e219
VS
144692011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * util/grub-mkimage.c (generate_image): Update hash.
14472
19e1c41b
VS
144732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 Flush caches on DMA memory.
14476
14477 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
14478 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
14479 (grub_dma_free): Likewise.
14480 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
14481
91bbcc0c
VS
144822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
14485 to avoid asm treating ld and sd as macros.
14486
60ddfad3
VS
144872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
14490 decompressor.
14491
a298aa04
VS
144922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
14495 grub_decompress_core since later would fail if grub_decompress_core
14496 is too far.
14497
9b44feca
VS
144982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14499
14500 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
14501 R_MIPS_JALR since it's used by newer compiler.
14502
56dbe7b4
VS
145032011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
14506
52856af2
VS
145072011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
14510 file_path to 0 for surety.
14511 (grub_chainloader_boot): Set exit_data to NULL.
14512 Unset the loader once done.
14513 (grub_cmd_chainloader): Fix confusing error message if file is empty.
14514
9c9bfc6d
VS
145152011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14516
14517 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
14518 unknown key into a dprintf.
14519
dd94a3df
VS
145202011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
14523 on first non-existant partition.
14524
fa68d99c
VS
145252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
14528 openning fails.
14529 Reported by: Mark Korenberg.
14530
157effb7
VS
145312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
14534 overflow.
14535
ea75312f
VS
145362011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14537
14538 * util/grub-mkimage.c (main): Explicitely flush and sync the output
14539 before closing to ensure that it will be readable by grub-setup.
14540
072b5d31
VS
145412011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
14544 (devpath_1): Use MAKE_PIWG_PATH.
14545 (devpath_2): Likewise.
14546 (devpath_3): Likewise.
14547 (devpath_4): Likewise.
14548 (devpath_5): Likewise.
14549 (devpath_6): Likewise.
14550
14551 The appleldr.mod was checked that to be binary identical to previous
14552 version.
14553
7fae0051
Z
145542011-05-05 Zach <mikezackles>
14555
14556 Support 2010 Macbooks.
14557
14558 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
14559 (devs): Add devpath_6.
14560
7c515bee
VS
145612011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
14564 /dev/random. /dev/urandom is good enough for our purposes (salting).
14565
ed660bd8
VS
145662011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
14569
ee5614b7
VS
145702011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
14573 hexadecimal.
14574
664889a6
VS
145752011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
14578 and not 0 on failure.
14579
bd405bbc
CW
145802011-05-03 Colin Watson <cjwatson@ubuntu.com>
14581
14582 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14583 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
14584 disk; otherwise grub_fs_probe will not fall back to the next
14585 filesystem.
14586 (grub_pxefs_open): Likewise, for consistency.
14587 Reported and tested by: Ezekiel Grave.
14588
4ebff753
CW
145892011-05-03 Colin Watson <cjwatson@ubuntu.com>
14590
14591 * tests/partmap_test.in: Don't hardcode path to parted.
14592 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
14593
8f942553
CW
145942011-05-01 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
14597 of `ls' to find out which devices are available.
14598
3c62402d
VS
145992011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
14602 than source address for efi mmap buffer.
14603
723f63f2
VS
146042011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14605
14606 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
14607 wrong action on non-detecting the magic.
14608
68797f92
VS
146092011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
14612 already supplied by another part of the module (fixes compilation on
14613 FreeBSD).
14614
6be8715d
VS
146152011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
14618 match the one used by mdadm.
14619
e91dba5b
CW
146202011-04-21 Colin Watson <cjwatson@ubuntu.com>
14621
14622 * po/README: Add instructions for creating po/LINGUAS.
14623
c85140b3
CW
146242011-04-21 Colin Watson <cjwatson@ubuntu.com>
14625
14626 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
14627 #551428.
14628
14629 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
14630 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
14631 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
14632 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
14633 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
14634 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
14635 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
14636 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
14637 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
14638 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
14639 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
14640 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
14641 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
14642 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
14643 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
14644 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
14645 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
14646 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
14647 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
14648 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
14649 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
14650 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
14651
92051871
CW
146522011-04-21 Colin Watson <cjwatson@ubuntu.com>
14653
14654 * grub-core/kern/emu/getroot.c
14655 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
14656 test that was incorrectly reintroduced in r3214.
14657 Reported by: Ian Dall. Fixes Savannah bug #33133.
14658
b13f79a4
CW
146592011-04-21 Colin Watson <cjwatson@ubuntu.com>
14660
14661 Fix stack pointer handling in 16-bit relocator.
14662
14663 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
14664 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
14665 Fixes Ubuntu bug #683904.
14666
9b710a88
VS
146672011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 * configure.ac: Bump version to 1.99~rc2.
14670
d97e7b59
VS
146712011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14672
14673 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
14674 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
14675 * grub-core/lib/x86_64/setjmp.S: Likewise.
14676 * grub-core/lib/mips/setjmp.S: Likewise.
14677 * grub-core/lib/powerpc/setjmp.S: Likewise.
14678 * grub-core/lib/sparc64/setjmp.S: Likewise.
14679
0624551c
VS
146802011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
14683 * grub-core/lib/efi/datetime.c: Likewise.
14684
e8f28d4c
VS
146852011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14686
14687 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
14688 New function.
14689 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
14690 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
14691 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
14692
bba79a15
VS
146932011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
14696 bitmap.
14697 (grub_gfxterm_term_init): Likewise.
14698
abc474ef
VS
146992011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 Take into account the decorations the computing menu entry width.
14702
14703 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
14704 (grub_gfxmenu_create_box): Register get_border_width.
14705 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
14706 if available.
14707 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
14708 get_border_width.
14709
e74b3947
EP
147102011-04-18 Endres Puschner <code@e7p.de>
14711
14712 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
14713 Don't skip first class.
14714
34faa595
VS
147152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
14718 chunks.
14719 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
14720
93a777e3
VS
147212011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 Complete 64-bit division support.
14724
14725 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
14726 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
14727 * include/grub/misc.h (grub_divmod64): Rename to ...
14728 (grub_divmod64_full): ... this.
14729 (grub_divmod64): New inline function.
14730
a5102d94
VS
147312011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * util/grub-mkimage.c (generate_image): Add forgotten comma.
14734
f3fb7b36
VS
147352011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
14738 performing the necessary test.
14739
9ac718b0
VS
147402011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
14743 (kfreebsd.elf): Likewise.
14744 (pc-chainloader.elf): Likewise.
14745 (ntldr.elf): Likewise.
14746
50d2cc5a
VS
147472011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 Identify RAID by its UUID rather than (guessed) name.
14750
14751 * grub-core/disk/raid.c (ascii2hex): New function.
14752 (grub_raid_open): Accept mduuid/%s specification.
14753 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
14754 (get_mdadm_uuid): ... this.
14755 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
14756
e03f7bea
VS
147572011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
14760 to negative size.
14761
e74c3112
CW
147622011-04-13 Colin Watson <cjwatson@ubuntu.com>
14763
14764 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
14765 btrfs subvolume.
14766 * util/grub.d/20_linux_xen.in: Likewise.
14767
78fa584f
CW
147682011-04-13 Colin Watson <cjwatson@ubuntu.com>
14769
14770 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
14771 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
14772
14773 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
14774 Build a list of relevant visible mounts using the mnt_id and
14775 parent_mnt_id fields, and then scan that list at the end.
14776
9d5f8162
CW
147772011-04-12 Colin Watson <cjwatson@ubuntu.com>
14778
14779 * docs/grub.texi (normal): New section.
14780 (normal_exit): New section.
14781 (Embedded configuration): Add reference to normal.
14782 (GRUB only offers a rescue shell): Likewise.
14783 * docs/grub-dev.texi (Error Handling): Fix typo.
14784
09a9d66f
CW
147852011-04-12 Colin Watson <cjwatson@ubuntu.com>
14786
14787 * NEWS: Drop obsolete entry about probe-only btrfs support.
14788
0c676933
CW
147892011-04-12 Colin Watson <cjwatson@ubuntu.com>
14790
14791 * util/import_gcry.py: Fix typo.
14792
ec9f5e0d
VS
147932011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 * NEWS: Add btrfs support.
14796
fe6b2cba
VS
147972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
147982011-04-11 Colin Watson <cjwatson@ubuntu.com>
14799
14800 BtrFS support. Written by me (Vladimir) with important bugfixes and
14801 even more important testing by Colin.
14802
14803 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
14804 * grub-core/Makefile.core.def (btrfs): Add crc.c.
14805 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
14806 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
14807 mem_input_off and mem_input. All users updated to accept in-RAM input.
14808 (gzio_seek): New function.
14809 (test_zlib_header): Likewise.
14810 (grub_gzio_read): Likewise.
14811 (grub_zlib_decompress): Likewise.
14812 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
14813 Accept partial and non-virtual mounts.
14814 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
14815 avoid receiving /dev/dm-X as device.
14816 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
14817 Handle bind and partial mounts.
14818 * grub-core/lib/crc.c: New file.
14819 * include/grub/deflate.h: Likewise.
14820 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
14821 proto.
14822 * include/grub/lib/crc.h: New file.
14823
e745cf0c
VS
148242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 Implement automatic module license checking according to new GNU
14827 guidelines.
14828
14829 * grub-core/kern/dl.c (grub_dl_check_license): New function.
14830 (grub_dl_load_core): Use grub_dl_check_license.
14831 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
14832 (GRUB_MOD_LICENSE): Likewise.
14833 (GRUB_MOD_DUAL_LICENSE): Likewise.
14834 All modules updated.
14835
2a9bc016
CW
148362011-04-11 Colin Watson <cjwatson@ubuntu.com>
14837
14838 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
14839 reserved_first_sector to 1. btrfs reserves plenty of space for boot
14840 loaders.
14841 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
14842
8a3bc88e
VS
148432011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
14846
af869a4a
VS
148472011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * util/grub-fstest.c (read_file): Report GRUB error if file opening
14850 failed.
14851
9ee8d94f
VS
148522011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * grub-core/kern/file.c (grub_file_open): Don't take into account the
14855 parenthesis in the middle of the filename.
14856
b01abe3e
VS
148572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
14860 rather than trying to put initrd way too high.
14861 Reported by: Ryan Lortie <desrt@desrt.ca>
14862
335bda1e
VS
148632011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
14866 improperly removed string.
14867
5ca1a64d
VS
148682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14869
14870 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
14871 is_disk.
14872 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
14873 (open_device) Likewise.
14874 (grub_util_biosdisk_close): Likewise.
d8ce9995 14875 Reported by: Mark Korenberg.
5ca1a64d 14876
cbac5b1e
AK
148772011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
14878
14879 * util/grub-mkconfig_lib.in: Add missing quotes.
14880
088cdb65
CW
148812011-04-10 Colin Watson <cjwatson@ubuntu.com>
14882
14883 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
14884 is NULL.
14885
8b8a81fa
VS
148862011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 Dynamically count the number of lines for the lower banner.
14889
14890 * grub-core/normal/menu_entry.c (per_term_screen): New member
14891 num_entries.
14892 (print_down): Use num_entries.
14893 (update_screen): Likewise.
14894 (grub_menu_entry_run): Set num_entries.
14895 * grub-core/normal/menu_text.c (menu_viewer_data): New member
14896 num_entries.
14897 (grub_print_message_indented): Move real part to ...
14898 (grub_print_message_indented_real): ... here. Additional argument
14899 dry_run.
14900 (draw_border): Additional argument num_entries.
14901 (print_message): Additional argument dry_run.
14902 (print_entries): Receive menu viewer data.
14903 (grub_menu_init_page): New argment num_entries.
14904 (menu_text_set_chosen_entry): Use num_entries.
14905 (grub_menu_try_text): Likewise.
14906 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
14907 All users updated.
14908 (grub_ucs4_count_lines): New function.
14909 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
14910 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
14911 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
14912 (grub_term_border_height): Likewise.
14913 (grub_term_num_entries): Likewise.
14914
277f955b
VS
149152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
14918 Remove now unused string.
14919
536ce85a
CW
149202011-04-09 Colin Watson <cjwatson@ubuntu.com>
14921
14922 * docs/grub-dev.texi (Finding your way around): Update for 1.99
14923 build system.
14924 (Getting started): GRUB is developed in Bazaar now, not Subversion.
14925
14926 (Comment): Fix typo.
14927 (Getting started): General copy-editing.
14928 (Typical Development Experience): Likewise.
14929 (Error Handling): Likewise.
14930 (Video API): Likewise.
14931
2cf09e32
CW
149322011-04-09 Colin Watson <cjwatson@ubuntu.com>
14933
14934 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
14935 throughout.
14936
1ec652f4
VS
149372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14940 directory.
14941
2c583728
CW
149422011-04-08 Colin Watson <cjwatson@ubuntu.com>
14943
14944 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
14945 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
14946 "development".
14947
d7a565e9
VS
149482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
14951 grub_strcpy since the lines aren't necessarily 0-terminated.
14952
7c2e4909
VS
149532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
14956 root on legacy.
14957
34c09785
VS
149582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * grub-core/commands/probe.c (options): Argument to set isn't optional.
14961 (GRUB_MOD_INIT): DEVICE isn't optional.
14962
6a6f8058
VS
149632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
14966 word on new line if it's too long anyway. Fixes a hang.
14967
2e335e90
VS
149682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14969
14970 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
14971 const.
14972 * util/grub-setup.c (main): Reuse md device name if available.
14973 * util/raid.c (grub_util_raid_getmembers): Receive device name and
14974 not GRUB name as argument.
14975 Based on patch by: Florian Wagner <fwagner>.
14976
10a7a867
VS
149772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14980 Place mbi on low memory for better compatibility.
14981
7a3d6cd9
VS
149822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14985
18dd6b47
VS
149862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
149872011-04-08 Colin Watson <cjwatson@ubuntu.com>
14988
14989 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 14990 * conf/Makefile.common: Likewise.
18dd6b47 14991
3c0e3f14
VS
149922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14993
f7148863
VS
14994 * grub-core/normal/menu.c: Add missing include.
14995
149962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 14999
6d1fa41f
MZ
150002011-04-08 Martin Zuther <mzuther@mzuther.de>
15001
15002 * util/grub-mkconfig.in: Ignore emacsen backup.
15003
478182a8
VS
150042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
15007 on open.
15008 (grub_util_biosdisk_close): Likewise.
15009
72a89a54
VS
150102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
15013 const attribute and use grub_isdigit.
15014
b5ebecfa
A
150152011-04-06 Andrey <dev_null@ukr.net>
15016
15017 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
15018 gcc warning.
15019
7755f66e
VS
150202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
15023 useful grub_dprintf's.
15024
461121ff
VS
150252011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
15028
2a961775
VS
150292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
15032
adf594cc
VS
150332011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15034
15035 Output errors if theme loading failed.
15036
15037 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
15038 grub_gfxterm_fullscreen on error paths to ...
15039 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
15040 theme loading error.
15041
665900a3
VS
150422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
15045 space for older compilers.
15046 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15047
a562b479
VS
150482011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
15051 and report them as not RAID members since they are useless for GRUB.
15052 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15053
850e9373
VS
150542011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 Increase LVM implementation robustness in order not to crash on
15057 configurations like pvmove. Previously code assumed that in some places
15058 only lvs or only pvs are used whereas it seems that they are used
15059 interchangeably.
15060
15061 * grub-core/disk/lvm.c (read_node): New function.
15062 (read_lv): Use read_node.
15063 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
15064 Match volumes only at the end when all lvs are found. Take both
15065 pvs (first) and lvs (second) into account.
15066 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
15067 mirror_* into node_*. All users updated.
15068 (grub_lvm_stripe): Merge this ...
15069 (grub_lvm_mirror): ... and this ...
15070 (grub_lvm_node): ... into this. All users updated.
15071
6f332153
VS
150722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
15075 of function to allow further scanning for LVMs.
15076
829ea451
VS
150772011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
15080 on failed seek as it breaks open fd reusage.
15081
09ceb9a5
VS
150822011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * util/grub-install.in: Add a recommendation to use --recheck before
15085 reporting bugs.
15086
67e11623
VS
150872011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
15090 are obtained.
15091
caee5efd
VS
150922011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 GRUB developper manual based on existing Internals section and
15095 contributions by the various authors with active copyright assignment.
15096
15097 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
15098 * docs/font_char_metrics.png: New file.
15099 * docs/font_char_metrics.txt: Likewise.
15100 * docs/grub-dev.texi: Likewise.
15101 * docs/grub.texi (Internals): Move from here ...
15102 * docs/grub-dev.texi: ... here.
15103
2cccc747
CW
151042011-04-01 Colin Watson <cjwatson@ubuntu.com>
15105
15106 Store the loopback device as data on loopback grub_disk structures,
15107 rather than the file it points to. This fixes use of freed memory
15108 if an existing loopback device is replaced.
15109
15110 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
15111 disk->data, not dev->file.
15112 (grub_loopback_read): Adjust file assignment to match.
15113 Fixes Ubuntu bug #742967.
15114
186ae367
CW
151152011-04-01 Colin Watson <cjwatson@ubuntu.com>
15116
15117 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
15118 when replacing an existing device.
15119
cfed2ad0
VS
151202011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
15123 memory corruptions.
15124
15125 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
15126 unsigned.
15127 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
15128 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
15129 (grub_jfs_read_inode): Likewise.
15130 (grub_jfs_opendir): Likewise. Remove now useless casts.
15131 (grub_jfs_getent): Likewise.
15132 Make ino a grub_uint32_t rather than int.
15133 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
15134 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
15135 division and module with bit operations.
15136 (grub_jfs_find_file): Make ino a grub_uint32_t.
15137 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
15138
05d2ed32
CW
151392011-04-01 Colin Watson <cjwatson@ubuntu.com>
15140
15141 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
15142 warning. (This was in fact always initialised before use, but GCC
15143 wasn't smart enough to prove that.)
15144 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
15145
91dc6073
VS
151462011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
15149 stack alignment.
15150 (efi_wrap_1): Likewise.
15151 (efi_wrap_2): Likewise.
15152 (efi_wrap_3): Likewise.
15153 (efi_wrap_4): Likewise.
15154 (efi_wrap_5): Likewise.
15155 (efi_wrap_6): Likewise.
15156 (efi_wrap_10): Likewise.
15157 Based on information by: Red Hat/Peter Jones.
15158
a8afc1d1
CW
151592011-03-31 Colin Watson <cjwatson@ubuntu.com>
15160
15161 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
15162 set-but-not-used variable.
15163
a826cc7d
CW
151642011-03-31 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * docs/grub.texi (Simple configuration): Be more explicit about
15167 GRUB_DEFAULT, and add an example.
15168 Reported by: Leslie Rhorer.
15169
875b67ba
CW
151702011-03-30 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
15173 shell".
15174
fd7cd914
AS
151752011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15176
15177 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
15178 * util/grub.d/20_linux_xen.in: Likewise.
15179
090b1b6a
VS
151802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 * util/grub.d/10_linux.in: Try alternative config filenames where
15183 we parse config file.
15184 * util/grub.d/20_linux_xen.in: Likewise.
15185
baad885c
AS
151862011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
15187
15188 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
15189 * util/grub.d/20_linux_xen.in: Likewise.
15190
241e41f5
VS
151912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 * grub-core/disk/raid.c (insert_array): Add few potentially
15194 useful grub_util_info.
15195 (grub_raid_register): Likewise.
15196
56445fb2
VS
151972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
15200 Preserve partition number in mdadm code path.
15201
c871b1c6
VS
152022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
15205 few potentially useful grub_util_info.
15206
5e631b4f
CW
152072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
15210
2d5d0333
CW
152112011-03-30 Colin Watson <cjwatson@ubuntu.com>
15212
15213 * docs/grub.texi (default): Use @example rather than nested
15214 itemized lists to avoid breaking gendocs.
15215
3d7ed04e
CW
152162011-03-30 Colin Watson <cjwatson@ubuntu.com>
15217
15218 * docs/grub.texi (Future): Update.
15219
abf04200 152202011-03-30 Colin Watson <cjwatson@ubuntu.com>
15221
15222 * docs/grub.texi (Environment): New chapter.
15223 (Changes from GRUB Legacy): Link to "Environment block" section for
15224 details of limitations.
15225 (Simple configuration): Likewise. Link to documentation of gfxmode
15226 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
15227 respectively.
15228 (Shell-like scripting): Note that normal variables are stored in the
15229 environment.
15230 (gettext): Link to documentation of lang and locale_dir.
15231 (list_env): New section.
15232 (load_env): New section.
15233 (save_env): New section.
15234
15235 (Reporting bugs): Fix typo.
15236
e1ad0edd
VS
152372011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15238
15239 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
15240 the example.
15241
5d803174
VS
152422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15243
15244 * grub-core/term/at_keyboard.c (set_scancodes)
15245 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
15246
2a2da1d0
CW
152472011-03-30 Colin Watson <cjwatson@ubuntu.com>
15248
15249 * docs/grub.texi (Menu-specific commands): Remove some semantics
15250 that were true in GRUB Legacy but not in GRUB 2.
15251 (submenu): New section.
15252 (false): New section.
15253 (read): New section.
15254 (true): New section.
15255
a7527639
CW
152562011-03-30 Colin Watson <cjwatson@ubuntu.com>
15257
15258 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
15259
152602011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
15261
15262 * docs/grub.texi (Simple configuration): Explain some of the
15263 current limitations of grub-mkconfig.
8a748df2 15264 Reported by: Leslie Rhorer.
e30af029 15265
fc858482
VS
152662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Old macs search for boot.efi rather than for bootia32.efi.
15269
15270 * util/grub-install.in: Copy bootia32.efi to boot.efi.
15271 * util/grub-mkrescue.in: Likewise.
15272 Suggested by: Peter Jones.
15273
e1eb511d
VS
152742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15275
15276 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
15277
70e75364
VS
152782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
15281 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
15282 (grub_lvm_mirror): New struct.
15283 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
15284 (grub_lvm_iterate): Iterate only visible volumes.
15285 (grub_lvm_read): Factor out to ..
15286 (read_lv): ... this. Support mirrors.
15287 (grub_lvm_read): New wrapper function.
15288 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
15289 stripped or mirrored.
15290
fc18f6a3
VS
152912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
15294
5c650f4c
CW
152952011-03-29 Colin Watson <cjwatson@ubuntu.com>
15296
15297 * docs/grub.texi (loopback): New section.
15298
61d7156b
CW
152992011-03-29 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
15302 removed -p option.
15303
994b8264
CW
153042011-03-29 Colin Watson <cjwatson@ubuntu.com>
15305
15306 * docs/grub.texi (BIOS installation): New section, partly based on
15307 previous text in other sections.
15308 (Installing GRUB using grub-install): Replace BIOS discussion with a
15309 cross-reference.
15310 (Images): Likewise.
15311
9e4d19e0
VS
153122011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15313
15314 * grub-core/kern/emu/hostdisk.c (find_partition_start)
15315 [HAVE_DIOCGDINFO]: Add safety checks.
15316
a307c0b2
VS
153172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
15320 per default compiled in kernel and prior to 8.0 isn't shipped at all.
15321
b4db4f39
CW
153222011-03-29 Colin Watson <cjwatson@ubuntu.com>
15323
15324 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
15325 real_sb->size is zero (e.g. RAID-0), get the disk size from
15326 real_sb->data_size instead.
15327 Fixes Ubuntu bug #743136.
15328
35e5f84c
VS
153292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
15332 printf clauses for printing size and start.
15333
d2e29d81
VS
153342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
15337 Reported and tested by: Timothy Nikkel.
15338
ed5587af
VS
153392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
15342 (dirty_region_add_real): ... this.
15343 (dirty_region_add): Don't discard margin refresh when performing
15344 scheduled repaint.
15345
a1dc717c
VS
153462011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * grub-core/lib/relocator.c (allocate_regstart)
15349 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
15350 terminals are capabple of malloc-free operation.
15351 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15352 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
15353
9f3677d3
VS
153542011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
15355
15356 * util/grub-setup.c: Copy the partition table zone if floppy support
15357 is disabled, even if no partition table is found.
15358
15359 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
15360 during POST if an invalid partition table is contained in the PBR
15361 of the active partition when GRUB is installed to a partition.
15362
24148725
CW
153632011-03-28 Colin Watson <cjwatson@debian.org>
15364
15365 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
15366 comment.
15367
f329eda7
CW
153682011-03-28 Colin Watson <cjwatson@debian.org>
15369
15370 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
15371 to be specific about what kind of RAID device we're scanning for.
15372
c482ad98
SG
153732011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
15374
15375 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
15376 return freed string.
15377
5ee04984
VS
153782011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
15381
f4727da9
VS
153822011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15383
15384 Use libgeom on FreeBSD to detect partitions.
15385
15386 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
15387 (grub-mkrelpath): Likewise.
15388 (grub-script-check): Likewise.
15389 (grub-editenv): Likewise.
15390 (grub-mkpasswd-pbkdf2): Likewise.
15391 (grub-fstest): Likewise.
15392 (grub-mkfont): Likewise.
15393 (grub-mkdevicemap): Likewise.
15394 (grub-probe): Likewise.
15395 (grub-setup): Likewise.
15396 (grub-ofpathname): Likewise.
15397 (grub-mklayout): Likewise.
15398 (example_unit_test): Likewise.
15399 (grub-menulst2cfg): Likewise.
15400 * grub-core/Makefile.core.def (grub-emu): Likewise.
15401 (grub-emu-lite): Likewise.
15402 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
15403 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
15404 define HAVE_DIOCGDINFO.
15405 (follow_geom_up) [FreeBSD]: New function.
15406 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
15407 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
15408 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
15409 unconditionally of HAVE_DIOCGDINFO.
15410
82fe6c75
VS
154112011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 Fix FreeBSD compilation problem.
15414
15415 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
15416 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
15417
4c6c9431
CW
154182011-03-24 Colin Watson <cjwatson@ubuntu.com>
15419
15420 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
15421 Switch back to page zero before loading a kernel, since some kernel
15422 drivers expect that.
15423 Thanks to: Felix Kuehling.
15424
c7064d94
VS
154252011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
15428 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
15429 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
15430
3f71cded
VS
154312011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
15434 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
15435
ef6de21a
VS
154362011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
15439 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
15440 malloc is disabled.
15441
8bc66a2c
VS
154422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
15445 for modules headers when counting the needed allocation size.
15446
5657722c
VS
154472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
15450 if no ASCII character is found to prevent crash.
15451
41a85f55
AK
154522011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
15453
15454 * grub-core/video/bitmap.c (match_extension): Ignore case.
15455
59e1e5f1
VS
154562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
15459
bd4d051a
VS
154602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * grub-core/script/parser.y: Declare "time" as valid argument.
15463
bae7fcc1
PJ
154642011-03-23 Peter Jones <pjones@redhat.com>
15465
15466 Fix incorrect assert failure reporting.
15467
15468 * grub-core/tests/example_functional_test.c (example_test): Add
15469 a failure comment.
15470 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
15471 (failure_start): ...this. Check that malloc succeeded.
15472 Don't call xvasprintf. Return failure struct.
15473 (failure_append_vtext): New function.
15474 (failure_append_text): Likewise.
15475 (add_failure): Likewise.
15476 (grub_test_assert_helper): Likewise.
15477 * include/grub/test.h (grub_test_assert_helper): New declaration.
15478 (grub_test_assert): Macro rewritten.
15479
537dc9be
VS
154802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
15483
fa3e01bf
VS
154842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
15487
b1d28404
VS
154882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
15491 into GRUB-style one.
15492
2e3e2e09
VS
154932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
15496 error and not grub_errno.
15497 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
15498
ed57e557
VS
154992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
15502 GRUB_USB_SPEED_NONE in case of failure and not the error code.
15503
d1611f01
VS
155042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 * grub-core/efiemu/i386/pc/cfgtables.c
15507 (grub_machine_efiemu_init_tables): Make declaration a prototype.
15508 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
15509 (grub_xnu_unlock): Likewise.
15510 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
15511
7d4e39d6
VS
155122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
15515 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
15516 * grub-core/commands/hashsum.c (aliases): Likewise.
15517 * grub-core/commands/setpci.c (pci_registers): Likewise.
15518 * grub-core/disk/usbms.c (attach_hook): Likewise.
15519 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
15520 (zio_checksum_table): Likewise.
15521 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
15522 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
15523 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
15524 * grub-core/lib/relocator.c (leftovers): Likewise.
15525 (extra_blocks): Likewise.
15526 * grub-core/loader/i386/bsd.c (relocator): Likewise.
15527 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
15528 (modules_last): Likewise.
15529 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
15530 (devices): Likewise.
15531 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
15532 (modules_last): Likewise.
15533 * grub-core/normal/auth.c (users): Likewise.
15534 * grub-core/normal/context.c (initial_menu): Likewise.
15535 (current_menu): Likewise.
15536 * grub-core/normal/crypto.c (crypto_specs): Likewise.
15537 * grub-core/term/serial.c (grub_serial_ports): Likewise.
15538 (grub_serial_terminfo_input_template): Likewise.
15539 (grub_serial_terminfo_output_template): Likewise.
15540 (grub_serial_terminfo_input): Likewise.
15541 (grub_serial_terminfo_output): Likewise.
15542 (registered): Likewise.
15543 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
15544
40fc4659
VS
155452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
15548 grub_video_mode_type_t.
15549 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
15550 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
15551 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
15552
2da48d28
VS
155532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 * util/grub-install.in: Correct the x86-64 name as x86_64.
15556
9b43bf39
CW
155572011-03-11 Colin Watson <cjwatson@ubuntu.com>
15558
15559 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
15560 initial chunk read from the kernel always includes GRUB's multiboot
15561 header, which is now outside the first sector.
15562
be1a7ce0
CW
155632011-03-09 Colin Watson <cjwatson@ubuntu.com>
15564
15565 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
15566 cached mmap_size, so that this works correctly when called multiple
15567 times.
15568 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
15569
83a3c48d
CW
155702011-03-09 Colin Watson <cjwatson@ubuntu.com>
15571
15572 * docs/grub.texi (Simple configuration): Tidy up formatting.
15573
57d75699
SJ
155742011-03-07 Szymon Janc <szymon@janc.net.pl>
15575
15576 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
15577 Set-but-not-used variable removed.
15578
028501a0
VS
155792011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 Workaround yet another IEEE1275 bug.
15582
15583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
15584 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
15585 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
15586 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
15587 is set.
15588 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15589 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
15590
d998657d
VS
155912011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
15594 error.
15595
fee7cdd4
CW
155962011-02-11 Colin Watson <cjwatson@ubuntu.com>
15597
15598 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
15599 empty, since in that case we can only generate either nothing or a
15600 syntactically invalid configuration file.
15601 Reported by: Michal Suchanek. Fixes Debian bug #612898.
15602
97286eb5
CW
156032011-02-09 Colin Watson <cjwatson@ubuntu.com>
15604
15605 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
15606 (Making a GRUB bootable CD-ROM): Likewise.
15607 (Invoking grub-mkrescue): New section.
15608 Reported by: Yann Dirson. Fixes Debian bug #612585.
15609
22b28eb3
CW
156102011-02-09 Colin Watson <cjwatson@ubuntu.com>
15611
15612 * util/grub-install.in: Remove unnecessary brackets from tr
15613 arguments.
15614 * util/grub.d/10_hurd.in: Likewise.
15615 * util/grub.d/10_kfreebsd.in: Likewise.
15616 * util/grub.d/10_linux.in: Likewise.
15617 * util/grub.d/20_linux_xen.in: Likewise.
15618 Reported by: Jamie Heilman. Fixes Debian bug #612564.
15619
7e735e43
CW
156202011-02-08 Colin Watson <cjwatson@ubuntu.com>
15621
15622 * include/grub/file.h (not_easly_seekable): Rename to ...
15623 (not_easily_seekable): ... this. Update all users.
15624
800f1881
CW
156252011-01-28 Colin Watson <cjwatson@ubuntu.com>
15626
15627 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
15628 grub-mkrescue.
15629
3281d3d6
VS
156302011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
15631
15632 * util/grub-mkimage.c (generate_image): Refuse to create the images
15633 bigger than the actual flash (512K) in Loongson machines. 512K is also
15634 the biggest chip supported by them.
15635
3533413c
VS
156362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
15639
73ae4f4f
VS
156402011-01-22 Anthony DeRobertis <anthony@derobert.net>
15641
15642 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
15643 super_offset field.
15644
37f4f608
VS
156452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 * util/grub-install.in: Ignore install device on platforms
15648 where it doesn't make sense. Always use UUIDs except on pc, efi and
15649 sparc64.
15650 Reported by: Daniel Kahn Gillmor.
15651
03a4ccb5
VS
156522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15653
15654 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
15655
ffc8f4d8
VS
156562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15657
15658 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
15659 (iterate_real): Don't rely on partition being non-NULL.
15660
80f23be7
VS
156612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15662
15663 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
15664 supported platforms. Put a compile time assert for this rather than
15665 generate a warning with 32-bit shift.
15666
5d4f4dd5
VS
156672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
15670 logical expression more readable.
15671
e489601a
VS
156722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
15675 even if some elements have a name.
15676 Reported by: Alexander GQ Gerasiov.
15677
96e0a6ea
CW
156782011-01-22 Colin Watson <cjwatson@ubuntu.com>
15679
15680 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
15681 path unreadable if `grub-probe -t abstraction' fails, for example if
15682 memberlist fails on an LVM volume group.
15683 Reported by: Darius Jahandarie.
15684
81431e2b
CW
156852011-01-22 Colin Watson <cjwatson@ubuntu.com>
15686
15687 * docs/grub.texi (Simple configuration): Document
15688 GRUB_PRELOAD_MODULES.
15689
5e79d66a
CW
156902011-01-17 Colin Watson <cjwatson@ubuntu.com>
15691
15692 * .bzrignore: Remove nonexistent grub-pbkdf2.
15693
646ada34
VS
156942011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
15695
15696 * configure.ac: Bump version to 1.99~rc1.
15697
04360337
VS
156982011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
15701 for safety.
15702
46c9db88
VS
157032011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
15706 module.
15707
157082011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
15709
15710 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
15711
4fbf1852
VS
157122011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
15715 diskdevid.
15716
f1632d4d
VS
157172011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 Fix compilation on cygwin.
15720
15721 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
15722 -R .drectve on cygwin.
15723 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
15724 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
15725 (COND_CYGWIN): New condition.
15726 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
15727 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
15728 not @TARGET_OBJ2ELF@.
15729 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
15730 type to determine whether aux is to be used.
15731
0b5e127b
VS
157322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
15735 realpath'ed device string.
15736 Handle floppy (somewhat).
15737 Issue error in unknown case rather than garbage.
15738 Reported by: Axel Beckert.
15739
173b71e9
VS
157402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 * util/grub.d/00_header.in (load_video): Handle the case when no video
15743 drivers available.
15744 Thanks to: Axel Beckert.
15745
f8f479db
VS
157462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
15749 variable. Fixes problem on big endian platforms.
15750
8fc0a245
VS
157512011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
15754 It doesn't work well there.
15755
b8494fbe
VS
157562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
15759 warning.
15760 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
15761 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
15762 counter.
15763
b44a558c
VS
157642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 Use alias->path rather than buggy "canon".
15767
15768 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
15769 (ofdisk_hash_add): New argument curcan. All users updated.
15770
51fa856c
CW
157712011-01-11 Colin Watson <cjwatson@ubuntu.com>
15772
15773 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
15774
9da068a5
VS
157752011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
15778 loadmask before doing any calculations. Use correct type for offset.
15779 (grub_linux_load64): Likewise.
15780
86205c94
CW
157812011-01-11 Colin Watson <cjwatson@ubuntu.com>
15782
15783 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
15784 with NULL.
15785 (console_grub_equivalences_unshift): Likewise.
15786 Reported by: Daniel Dehennin.
15787
4531a206
VS
157882011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
15791 (set_env_limn_ro): Likewise.
15792 (GRUB_MOD_INIT): Likewise.
15793 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
15794 ARRAY_SIZE while on it.
15795 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
15796 * grub-core/normal/context.c (grub_env_export): Move from here ...
15797 * grub-core/kern/env.c (grub_env_export): ... here.
15798 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
15799 prefix.
15800 * grub-core/kern/main.c (grub_main): Export root and prefix.
15801 * include/grub/env.h (grub_env_export): Export.
15802 Reported by: Seth Goldberg.
15803
45146057
VS
158042011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15807 Take into account space used by ELF sections and multiboot palette.
15808 Reported by: Grégoire Sutre.
15809
f093110b
VS
158102011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * BUGS: New file.
15813
3395fe52
VS
158142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 Pass more appropriate video id to Linux.
15817
15818 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
15819 grub_video_get_driver_id and variable gfxpayloadforcelfb to
15820 fill have_vga.
15821 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
15822 shift params->lfb_size.
15823 * include/grub/i386/linux.h: Make an enume out of have_vga values.
15824
c2fa6cbb
VS
158252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * util/grub-menulst2cfg.c: Add missing include of misc.h.
15828
b3ff6ff0
VS
158292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
15832 separator and pass bootpath/devid even if only one of them is available.
15833 Reported by: Seth Goldberg.
15834
ae67942e
VS
158352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
15838 implementations bug on them.
15839
15840 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
15841 memory.
15842 (filter_memory_map): Likewise.
15843
d570097a
VS
158442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
15847 Reported by: nebuchadnezzar.
15848
a508e776
VS
158492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
15852 Reported by: nebuchadnezzar.
15853
dcb883b1
VS
158542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 Submenu default support.
15857
15858 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
15859 auto_boot. All users updated.
15860 Declared static.
15861 Handle chosen and default with submenus.
15862 (grub_menu_execute_with_fallback): Declared static.
15863 Don't notify failure if autobooted. Upper level does it.
15864 (menuentry_eq): New function.
15865 (get_entry_number): Use menuentry_eq.
15866 (show_menu): New parameter "autobooted". All users updated.
15867 (grub_show_menu): Likewise.
15868 * include/grub/normal.h (grub_show_menu): Likewise.
15869 * include/grub/menu.h (grub_menu_execute_entry): Removed.
15870 (grub_menu_execute_with_fallback): Likewise.
15871
6fef99b4
VS
158722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * util/grub-mklayout.c (usage): Update help text.
15875
47a77af5
VS
158762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
15879
ce6bb3ee
VS
158802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * util/grub-menulst2cfg.c (main): Trim the line.
15883
db87be2a
VS
158842011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
15887 (grub_machine_init): Don't check amount of low memory as reportedly
15888 INT 12h can be broken and if low memory is too low we wouldn't have
15889 gotten into grub_machine_init anyway.
15890
c49849cc
VS
158912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15892
15893 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
15894 (grub_machine_mmap_iterate): Take low memory into account
15895
b1969b30
VS
158962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15897
15898 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
15899 badfs.
15900 Reported by: TiCPU.
15901
cf0eaf13
VS
159022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
15905 members errors.
15906
1f060f39
GS
159072011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15908
15909 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15910 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
15911
a21e5672
GS
159122011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
15913
15914 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
15915 openbsd and netbsd types being in part_bsd module.
15916
c88172fa
VS
159172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
15920 (_FILE_OFFSET_BITS): Likewise.
15921 Reported by: Seth Goldberg.
15922
53798c4b
GS
159232011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15924
15925 * configure.ac: Check for libdevmapper header.
15926
e7121b69
VS
159272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
15930 avoid aliasing.
15931 (fzap_lookup): Likewise.
15932 (dnode_get): Likewise.
15933 (make_mdn): Likewise.
15934 (zfs_mount): Likewise.
15935 (fzap_iterate): Use temporary pointer to avoid aliasing.
15936 (grub_zfs_read): Likewise.
15937 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
15938 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
15939 pointers to avoid aliasing.
15940 (grub_cmd_xnu_kernel64): Likewise.
15941 (grub_xnu_load_driver): Likewise.
15942
fc836af9
VS
159432011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
15946 aliasing warning.
15947 (grub_cmd_terminal_output): Likewise.
15948 Reported and tested by: Grégoire Sutre.
15949
f9f37648
VS
159502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
15953 warning.
15954 Reported and tested by: Grégoire Sutre.
15955
ec1dfd63
VS
159562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * configure.ac: Do CPU substitution even if it's specified explicitly.
15959 Reported and tested by: Alain Greppin.
15960
9462775a
VS
159612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
15964 Reported and tested by: Alain Greppin.
15965
0fd48e35
VS
159662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 Satisfy some bison versions need for inttypes.h.
15969
15970 * grub-core/lib/posix_wrap/inttypes.h: New file.
15971 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
15972 (int16_t): Likewise.
15973 (int32_t): Likewise.
15974 (int64_t): Likewise.
15975 Reported and tested by: Alain Greppin.
15976
43f1bc83
VS
159772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
15980 Silence spurious warning.
15981 Reported and tested by: Alain Greppin.
15982
64d1f041
SJ
159832011-01-07 Szymon Janc <szymon@janc.net.pl>
15984
15985 * docs/grub.texi (Support automatic decompression): Update with xz
15986 decompression support.
15987
25953e10
SJ
159882011-01-07 Szymon Janc <szymon@janc.net.pl>
15989
15990 Improve loaders' kernel command line handling.
15991
15992 * grub-core/lib/cmdline.c: New file.
15993 * include/grub/lib/cmdline.h: Likewise.
15994 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
15995 grub_create_loader_cmdline to create kernel command line.
15996 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15997 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
15998 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
15999 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
16000 (linux): Add lib/cmdline.c on common.
16001
e72d259f
VS
160022011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
16005 inopos might be unaligned.
16006
c0cf26da
VS
160072011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
16010 endian transformations.
16011 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16012 Based on report by: Doug Nazar.
16013
0ca09e6c
DN
160142011-01-07 Doug Nazar <nazard.michi@gmail.com>
16015
16016 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
16017 array->members[i].start_sector.
16018 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
16019
014b6806
VS
160202011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
16023 Reported and tested by: Grégoire Sutre.
16024
415502c2
CW
160252011-01-06 Colin Watson <cjwatson@ubuntu.com>
16026
16027 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
16028 avoid causing test failures by clearing the screen.
16029
71b6a2b7
CW
160302011-01-06 Colin Watson <cjwatson@ubuntu.com>
16031
16032 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16033 Fix prefix check to handle the case where dir ends with a slash
16034 (most significantly, "/" itself).
16035 Reported by: Michael Vogt.
16036
b3f8d28a
VS
160372011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 Run terminfo_cls on initing terminfo output to clear the screen and
16040 move the cursor to (0,0).
16041
16042 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
16043 Call grub_terminfo_output_init.
16044 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
16045 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
16046 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
16047
4c3e4f37
VS
160482011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16049
16050 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
16051 only when needed.
16052
488f71f1
VS
160532011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
16056 CTRL.
16057
18a38098
VS
160582011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 The E820 type 5 is BADRAM, not EXEC_CODE.
16061
16062 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16063 (GRUB_E820_BADRAM): New define.
16064 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
16065 into reserved. Propagate BADRAM.
16066 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
16067 (GRUB_E820_BADRAM): New define.
16068
9eae2084
VS
160692011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
16072 Ignore the memory post-4G.
16073 (grub_relocator_firmware_alloc_region): Additional debug statement.
16074
ebc71d28
VS
160752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
16078 names.
16079 Reported by: David Pravec.
16080
446fa400
VS
160812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
16084 BIOSes.
16085
a0159f37
VS
160862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
16089 Prevent overflow.
16090 (grub_reed_solomon_recover): Likewise.
16091
e5146ca1
VS
160922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16093
16094 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
16095
160962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
16097
16098 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
16099 variable.
16100
5b1bdf12
CW
161012011-01-04 Colin Watson <cjwatson@ubuntu.com>
16102
16103 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
16104 descriptions of extract_legacy_entries_source and
16105 extract_legacy_entries_configfile.
16106 Reported by: Seung Soo, Ha.
16107
99d925aa
CW
161082011-01-03 Colin Watson <cjwatson@ubuntu.com>
16109
16110 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
16111 on devices that do not implement function 0.
16112
4af0504b
DV
161132011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
16114
16115 * grub-core/fs/hfsplus.c: Make parent unsigned.
16116 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
16117 overflows.
16118 (grub_hfsplus_cmp_extkey): Likewise
16119
469ee10a
VS
161202011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * util/grub-install.in: Correctly use bootloader_id and not
16123 GRUB_DISTRIBUTOR on efibootmgr line.
16124
323a8e9c
VS
161252011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
16126
16127 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
16128
1b394975
IC
161292010-12-31 Ian Campbell <ijc@hellion.org.uk>
16130
16131 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
16132 Xen and reorder menu item wording to make it clearer that this entry
16133 will launch Xen. Print separate messages when loading Xen and
16134 Linux.
16135
275bff5f
VS
161362010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
16139 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
16140 loop in case of incorrect amiga partmap.
16141
307806cb
VS
161422010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
16145 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
16146 Reported by:EHeM.
16147
b12b923e
VS
161482010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
16151 spurious warning.
16152 Reported by: crocket
16153
14b48a19
VS
161542010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
16157 Preload EFIemu.
16158 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
16159
693db2df
VS
161602010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
16163 is loaded
16164 (grub_cmd_xnu_kextdir): Likewise.
16165 (grub_cmd_xnu_splash): Likewise.
16166
c7638645
VS
161672010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 Avoid using Reed-Solomon with 0 redundancy.
16170
16171 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
16172 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
16173 or 0 redundancy.
16174 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
16175 (grub_reed_solomon_recover): Likewise.
16176
25dd4780
VS
161772010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 Don't use disk subsystem in freebsd_boot.
16180
16181 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
16182 (freebsd_biosdev): Likewise.
16183 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
16184 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
16185
0b2db943
VS
161862010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 Handling of files of unknown size is currently limited. They can't be
16189 used e.g. for initrd or modules. Moreover gzip handling of not
16190 easily seekable files is buggy. Disable unknown file size for now. May
16191 be inefficient but works.
16192
16193 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
16194 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
16195
5c408d0f
MP
161962010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
16197
16198 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
16199 floppy probe.
16200
190a011a
JD
162012010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
16202
16203 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
16204
022d01b8
SL
162052010-12-25 Shea Levy <shlevy>
16206
16207 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
16208
c4855fdc
VS
162092010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
16212 Windows Server 2008.
16213 Reported by: Devin Giddings.
16214
0354b867
VS
162152010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
16218 writing an error message because of async power management.
16219 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
16220 (grub_reboot): Likewise.
16221
ab66c69f
JU
162222010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
16223
16224 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
16225 keep unit tests from failing when they shouldn't.
16226
1426ef35
CW
162272010-12-21 Colin Watson <cjwatson@ubuntu.com>
16228
16229 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
16230 previous patch increased the size of the RS code by 20 bytes (at
16231 least with gcc-4.4), so increase this by 20 bytes to match.
16232 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16233
20641b6b
CW
162342010-12-21 Colin Watson <cjwatson@ubuntu.com>
16235
16236 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
16237 scratch area. Make sure to initialise chosen in standalone mode as
16238 well as non-standalone.
16239 Reported by: Robert Hooker and Andy Whitcroft.
16240 Tested by: Andy Whitcroft.
16241
d060ad60
CW
162422010-12-21 Colin Watson <cjwatson@ubuntu.com>
16243
16244 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
16245 constructing a new unescaped string and passing it to grub_xputs in
16246 one go, rather than passing characters to grub_printf one at a time.
16247
b889cfad
CW
162482010-12-21 Colin Watson <cjwatson@ubuntu.com>
16249
16250 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
16251 initialising utf16.
16252
4e01b6c8
CW
162532010-12-21 Colin Watson <cjwatson@ubuntu.com>
16254
16255 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
16256 comment. Add an extra layer of quotation, requiring the output of
16257 this function to be used in a printf format string.
16258 (gettext_printf): New function.
16259 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
16260 Extract translatable strings from here-documents and use a temporary
16261 variable instead, so that xgettext can find them.
16262 * util/grub.d/10_kfreebsd.in: Likewise.
16263 * util/grub.d/10_linux.in: Likewise.
16264 * util/grub.d/20_linux_xen.in: Likewise.
16265
16266 * po/grub.d.sed: New file.
16267 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
16268 arguments. Set c-format flags on all strings extracted from
16269 util/grub.d/ (xgettext refuses to include these itself for strings
16270 it extracted from a shell file, but these really are c-format).
16271
5318fe98
VS
162722010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16273
16274 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
16275 Avoid next pointing to nowhere.
16276
6c85b743
VS
162772010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
16280 rather than assuming than rootblock is exactly in the middle.
16281 (grub_affs_label): Likewise.
16282
a2a08a35
VS
162832010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16284
16285 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
16286 reserved_first_sector to 0.
16287 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
16288 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
16289 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
16290
7059d1ec
VS
162912010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Fix handling of UTF-16 UDF labels.
16294
16295 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
16296 (read_string): .. here.
16297 (grub_udf_label): Use read_string.
16298
30aff4cb
BC
162992010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
16300
16301 * grub-core/normal/menu_entry.c (run): Execute commands from menu
16302 editor under argument scope.
16303 Reported by: Jordan Uggla
16304
5cf86f4b
VS
163052010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
16308
32570200
CW
163092010-12-18 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
16312 line, and other keys scroll an entire page (previous handling was
16313 for \r and \n to scroll a page and other keys to scroll two lines).
16314
e1dffcf2
VS
163152010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16316
16317 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16318 Set ptrdest to correct get_physical_target_address rather than
16319 incorrect get_virtual_current_address.
16320
b04298cf 163212010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
16322
16323 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
16324 correct cat to grub_uint8_t * rather than grub_uint32_t *.
16325
5367ecd3
CW
163262010-12-10 Colin Watson <cjwatson@ubuntu.com>
16327
16328 * .bzrignore: Ignore grub-core/rs_decoder.S.
16329
1fb430f8
CW
163302010-12-10 Colin Watson <cjwatson@ubuntu.com>
16331
16332 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
16333 .mo/.mo.gz opening sequence to ...
16334 (grub_mofile_open_lang): ... here.
16335 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
16336 * util/grub.d/00_header.in (grub_lang): Include country part of
16337 locale.
16338 Reported by: Mario Limonciello.
16339
a94a6671
RM
163402010-12-09 Robert Millan <rmh@gnu.org>
16341
16342 * NEWS: Document addition of ZFS support.
16343
24b7938b
CW
163442010-12-04 Colin Watson <cjwatson@ubuntu.com>
16345
16346 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
16347 rather than `/ 2', as the latter requires -Wa,--divide which would
16348 require bumping our minimum binutils version.
16349
bddc3ef6
BC
163502010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
16351
16352 * util/grub-script-check.c (main): Print script line number on
16353 error.
16354
bf78d5b2
RM
163552010-12-01 Robert Millan <rmh@gnu.org>
16356
16357 * grub-core/fs/zfs/zfs.c: New file.
16358 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16359 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
16360 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
16361 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16362
16363 * include/grub/zfs/dmu.h: Likewise.
16364 * include/grub/zfs/dmu_objset.h: Likewise.
16365 * include/grub/zfs/dnode.h: Likewise.
16366 * include/grub/zfs/dsl_dataset.h: Likewise.
16367 * include/grub/zfs/dsl_dir.h: Likewise.
16368 * include/grub/zfs/sa_impl.h: Likewise.
16369 * include/grub/zfs/spa.h: Likewise.
16370 * include/grub/zfs/uberblock_impl.h: Likewise.
16371 * include/grub/zfs/vdev_impl.h: Likewise.
16372 * include/grub/zfs/zap_impl.h: Likewise.
16373 * include/grub/zfs/zap_leaf.h: Likewise.
16374 * include/grub/zfs/zfs.h: Likewise.
16375 * include/grub/zfs/zfs_acl.h: Likewise.
16376 * include/grub/zfs/zfs_znode.h: Likewise.
16377 * include/grub/zfs/zil.h: Likewise.
16378 * include/grub/zfs/zio.h: Likewise.
16379 * include/grub/zfs/zio_checksum.h: Likewise.
16380
16381 * Makefile.util.def: Build ZFS into libgrubmods.
16382 * grub-core/Makefile.core.def: Build zfs.mod.
16383
3f0f3831
SJ
163842010-11-30 Szymon Janc <szymon@janc.net.pl>
16385
16386 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
16387 variable.
16388 * grub-core/commands/wildcard.c (match_files): Likewise.
16389
3a4253b2
RM
163902010-11-30 Robert Millan <rmh@gnu.org>
16391
16392 * grub-core/loader/i386/bsd.c
16393 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
16394 whether kernel is loaded using grub_loader_is_loaded(), rather
16395 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
16396 certain error conditions.
16397
8c317b27
RM
163982010-11-30 Robert Millan <rmh@gnu.org>
16399
c5c9cd3e
RM
16400 * grub-core/commands/echo.c: Include `<grub/term.h>'.
16401 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 16402
49d3ab46
VS
164032010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16404
16405 Avoid using tricks for initialising endian variables.
16406
16407 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
16408 Make const.
16409 (GRUB_MOD_INIT): Don't byte-swap.
16410 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16411 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
16412 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
16413 (grub_swap_bytes32_compile_time): Likewise.
16414 (grub_cpu_to_le32_compile_time): Likewise.
16415 (grub_cpu_to_le16_compile_time): Likewise.
16416
f420a804
VS
164172010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * util/grub-setup.c (setup): Stop recommending --force. People who
16420 understand the dangers of blocklists are able to find this option
16421 anyway and the ones who don't shouldn't use it anyway.
16422
4e7db17b
RM
164232010-11-26 Robert Millan <rmh@gnu.org>
16424
16425 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
16426 Update all users.
16427
9be57a0d
CW
164282010-11-26 Colin Watson <cjwatson@ubuntu.com>
16429
16430 Fix LVM-on-RAID probing.
16431
16432 * util/grub-probe.c (probe): Remember which disk was detected as
16433 RAID (perhaps an LVM physical volume). Use that disk's raidname
16434 rather than that of the top-level disk.
16435
2c7859b3 164362010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 16437
d7647bb6
BC
16438 Fix cmdline argument quotes for setparams command of menuentry
16439 definitions.
7e623b0d
BC
16440
16441 * grub-core/commands/menuentry.c (setparams_prefix): Use single
16442 quotes for arguments.
f866fe80 16443 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 16444 grub_strchrsub function instead.
f866fe80 16445
7955bea0 16446 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 16447
74f72a64
CW
164482010-11-24 Colin Watson <cjwatson@ubuntu.com>
16449
16450 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
16451 effort by skipping "." and ".." entries up-front.
16452 Suggested by: Michael Lazarev.
16453
5a407278
CW
164542010-11-24 Colin Watson <cjwatson@ubuntu.com>
16455
16456 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
16457 ldflags to ldadd, to fix link line ordering.
16458 (none_decompress): Likewise.
16459
3030d8ec
CW
164602010-11-24 Colin Watson <cjwatson@ubuntu.com>
16461
16462 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
16463 platforms.
16464 (grub-emu-lite): Remove kern/emu/cache.S.
16465
b7fbac12
CW
164662010-11-23 Colin Watson <cjwatson@ubuntu.com>
16467
16468 * util/deviceiter.c (compare_devices): If the by-id link for a
16469 device couldn't be resolved, fall back to sorting by the by-id link
16470 rather than segfaulting.
16471 Reported and tested by: Daniel Mierswa.
16472
5225f328
CW
164732010-11-23 Colin Watson <cjwatson@ubuntu.com>
16474
16475 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
16476 ldflags, to fix link line ordering.
16477
038b3ce8
CW
164782010-11-23 Colin Watson <cjwatson@ubuntu.com>
16479
16480 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
16481 linkers are picky about this.
16482
bf16e98e
CW
164832010-11-23 Colin Watson <cjwatson@ubuntu.com>
16484
16485 * grub-core/Makefile.am (command.lst): Adjust sed expression
16486 ordering so that extended and priority commands aren't treated as
16487 ordinary commands.
16488
7242bab6
CW
164892010-11-23 Colin Watson <cjwatson@ubuntu.com>
16490
16491 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
16492 Remove byte-swapping function calls, which are not valid in
16493 structure initialisers.
16494 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
16495 non-const.
16496 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
16497 grub_gpt_partition_type_bios_boot.
16498
14e8b279
CW
164992010-11-22 Colin Watson <cjwatson@ubuntu.com>
16500
16501 Fix test program build on GNU/kFreeBSD.
16502
16503 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
16504 $(LIBNVPAIR)' library dependencies.
16505
e6f63338 165062010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
16507
16508 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
16509
cf8ffc38
CW
165102010-11-22 Colin Watson <cjwatson@ubuntu.com>
16511
16512 * util/grub-install.in: Remove excessive quoting that broke
16513 installations to RAID devices.
16514
7f8b0fd7
VS
165152010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16516
16517 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
16518 bootloader version instead of 0.
16519
dfd240b1
VS
165202010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
16523 warning.
16524
7b61e609
VS
165252010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
16528 retrieve the metadat sector if size isn't known.
16529 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16530
9dfe92d0
RM
165312010-11-18 Robert Millan <rmh@gnu.org>
16532
16533 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
16534 with grub_memcmp().
16535
41cc919e
VS
165362010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
16539 arrow.
16540 Reported by: Jordan Uggla.
16541
1afcc914
VS
165422010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16543
16544 Make better UTF compliant.
16545
16546 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
16547 sequences as incorrect.
16548 (grub_is_valid_utf8): Likewise.
16549 (grub_utf8_to_ucs4): Likewise.
16550 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
16551 (grub_ucs4_to_utf8_alloc): Likewise.
16552 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
16553
f1808884
VS
165542010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16555
16556 Make legacy_source behave like source.
16557
16558 * grub-core/commands/legacycfg.c (legacy_file): Don't call
16559 grub_show_menu.
16560 (grub_cmd_legacy_source): Call grub_show_menu if needed.
16561
24ec575b
CW
165622010-11-16 Colin Watson <cjwatson@debian.org>
16563
16564 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
16565 (-Wunused implies -Wunused-parameter, but not vice versa).
16566
72b7c7aa
CW
165672010-11-16 Colin Watson <cjwatson@ubuntu.com>
16568
16569 * configure.ac: Make error messages less confusing by testing for
16570 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
16571 accepted, but produces a diagnostic if something else is wrong).
16572
e98937aa
VS
165732010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
16576 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
16577 (now unused).
16578 (grub_keyboard_controller_init)
16579 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
16580 read the initial state since controller isn't inited yet.
16581
f6bbabc3
VS
165822010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
16585 allocate_regbeg may need to create new chunk header.
16586
22e7dbb2
VS
165872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 Fix quoting in legacy parser.
16590
16591 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
16592 single quotes.
16593 (grub_legacy_parse): Likewise.
16594 Reported by: Jordan Uggla.
16595 Tested by: Jordan Uggla.
16596
03f80960
VS
165972010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 Don't add -lgcc on i386 and x86_64.
16600
16601 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
16602 * conf/Makefile.common (LDADD_KERNEL): Likewise.
16603 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
16604
779dc15b
VS
166052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 * configure.ac: Add -Wno-trampolines when supported.
16608
d20a3b37
MV
166092010-11-14 Modestas Vainius <modax@debian.org>
16610
16611 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
16612 fakeraid.
16613
e5360933
GC
166142010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16615
16616 Add generic logical block size support for UDF.
16617
16618 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
16619 (GRUB_UDF_BLKSZ): Removed.
16620 (struct grub_udf_data): New field "lbshift" to hold the logical block
16621 size of the file system in log2 format. All users updated.
16622 (sblocklist): Change type to unsigned.
16623 (grub_udf_mount): Change type of "sblklist" to unsigned.
16624 Move AVDP search before VRS recognition, because the latter requires
16625 knowledge of the logical block size, which is detected during the
16626 former.
16627 Detect and validate logical block size during AVDP search, adding
16628 support for block sizes 512, 1024 and 4096.
16629 Make VRS recognition independent of block size.
16630
cb0229c5
GC
166312010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16632
16633 Properly handle deleted files on UDF.
16634
16635 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
16636 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
16637 set.
16638
406858a8
GC
166392010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
16640
16641 Support reading files larger than 2 GiB.
16642
16643 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
16644 "offset" to grub_off_t.
16645 (grub_udf_read_file): Likewise for parameter "pos".
16646
130da6a7
VS
166472010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
16650 unavailable.
16651 (Simple configuration): Refer to Changes from GRUB Legacy about
16652 save_env availability.
16653
65e93f6b
VS
166542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * util/grub-install.in: Ignore empty partition table detection
16657 instead of trying to include part_ module.
16658
1fd08bf1
VS
166592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
16662 LVM on RAID support.
16663
de1a024f
VS
166642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 Properly define WORDS_BIGENDIAN in wrapped environments.
16667
16668 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
16669 definition.
16670 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
16671
16672 Reported by: Manoel Rebelo Abranches.
16673 Tested by: Manoel Rebelo Abranches.
16674
bc5dd0b9
VS
166752010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * util/grub-mkconfig.in: Fix quoting.
16678
58c184be
VS
166792010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 Support big ext2 files.
16682
16683 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
16684 (grub_ext2_read_block): Support triple indirect blocks.
16685 (grub_ext2_read_file): Use 64-bit types and read size_high.
16686 (grub_ext2_open): Read size_high.
16687 Reported by: Ximin Luo.
16688 Tested by: Manoel Rebelo Abranches.
16689
5f0c02b3
VS
166902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16691
16692 * util/grub-install.in: Handle filenames containing spaces.
16693 Reported by: Jordan Uggla.
16694 Tested by: Jordan Uggla.
16695
4417aae6
VS
166962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * util/grub-mkconfig.in (grub_script_check): New variable.
16699 Use grub_script_check instead of grub-script-check.
16700 Reported by: Barry Jackson.
16701
7625a68e
VS
167022010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16703
16704 * docs/grub.texi (menu): Correct the order.
16705 Reported by: D. Hugh Redelmeier.
16706
10001ac5
VS
167072010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16708
16709 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
16710 jump.
16711
9c4cf53b
MRA
167122010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16713
10001ac5
VS
16714 * include/grub/elfload.h (grub_elf32_size): New parameter.
16715 All users updated.
9c4cf53b
MRA
16716 Return maximum segments alignment.
16717 (grub_elf64_size): Likewise.
16718 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
16719 Return maximum segments alignment.
16720 (grub_elf64_size): Likewise.
16721 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
16722 (grub_linux_claimmap_iterate): New function. Uses the
16723 "available" property in the "memory" node for memory allocation
16724 for kernel in the PowerPC loader.
9c4cf53b
MRA
16725 (grub_linux_load32): Correctly find linux entry point offset.
16726 (grub_linux_load64): Likewise.
16727
d2bf06bf
RM
167282010-11-07 Robert Millan <rmh@gnu.org>
16729
16730 On mips-yeeloong, build with -march=loongson2f when this flag is
16731 available (GCC >= 4.4).
16732 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
16733 `-march=mips3'.
16734 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
16735 or otherwise add -march=mips3.
16736
898c99a2
BC
167372010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
16738
87220a68
BC
16739 Suppress shell expansion on echo '*' and echo "*" like cases.
16740 Reported by: Jordan Uggla.
898c99a2
BC
16741
16742 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
16743 string arguments before shell expansion.
16744 * tests/grub_cmd_echo.in: New testcases.
16745
4f9b406a
RM
167462010-11-07 Robert Millan <rmh@gnu.org>
16747
16748 * conf/mips-qemu-mips.rmk: Remove stale file from previous
16749 transition.
16750
80c6d25e
VS
167512010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 * grub-core/kern/emu/hostdisk.c
16754 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
16755
4a1a0153
VS
167562010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
16759 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
16760 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
16761
34706ddc
VS
167622010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16763
16764 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
16765
6972dea9
VS
167662010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16767
16768 * util/grub-install.in: Replace useless recomendation to pass
16769 --modules with a recomendation to report a bug.
16770
9c693bd6
VS
167712010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16772
16773 Properly register serial terminfo.
16774 Reported by: Jordan Uggla
16775
16776 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
16777 const.
16778 (grub_serial_terminfo_output_template): Likewise.
16779 (grub_cmd_serial): Register "serial" with terminfo.
16780 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
16781 grub_serial_terminfo_output.
16782
6c9e4c0c
RM
167832010-11-05 Robert Millan <rmh@gnu.org>
16784
16785 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
16786 needed).
16787
b9b3839f
RM
167882010-11-05 Robert Millan <rmh@gnu.org>
16789
16790 On Yeeloong, pass machine type information to Linux.
16791
16792 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
16793 (LOONGSON_MACHTYPE): New macro, set to
16794 "machtype=lemote-yeeloong-2f-8.9inches".
16795 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
16796 additional argument to Linux.
16797
1a3aaff4
RM
167982010-11-04 Robert Millan <rmh@gnu.org>
16799
16800 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
16801 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
16802 (its SATA disks are detected as slaveless IDE master drives on
16803 kFreeBSD).
16804 Reported by Carsten Aulbert.
16805
a75f4f62
CW
168062010-11-02 Colin Watson <cjwatson@ubuntu.com>
16807
16808 * util/bin2h.c (main): Fix spelling error in generated output.
16809
33b4b0c6
GS
168102010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
16811
16812 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
16813
2b36fbf4
VS
168142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
16817 vga= option is supplied.
16818
74aaf558
VS
168192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
16822 * util/grub.d/10_kfreebsd.in: Likewise.
16823 * util/grub.d/10_linux.in: Likewise.
16824 * util/grub.d/20_linux_xen.in: Likewise.
16825
6428dec3
VS
168262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16827
16828 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
16829 argument as an argument to no-argument option.
16830
f8729d98
VS
168312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 * util/grub.d/10_linux.in: Add missing load_video with explicit
16834 GRUB_GFXPAYLOAD_LINUX.
16835
89d68fa6
VS
168362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16837
16838 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
16839
3a1197cd
VS
168402010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
16843 elements with invlid index.
16844 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16845 * grub-core/disk/raid.c (insert_array): Automatically reallocate
16846 members.
16847 * include/grub/raid.h (grub_raid_member): New struct.
16848 (grub_raid_array): Transform devices and start_sector into usage of
16849 grub_raid_member. All users updated
16850 (allocated_devs): New member.
16851
71574288
VS
168522010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
16855 is modified
16856
8d40ec65
BC
168572010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
16858
16859 NetBSD build fix for getline function conflict from gnulib.
16860
16861 * Makefile.util.def (libgrubkern.a): New library for grub kernel
16862 components that depend on gnulib headers.
16863 (libgrubmods.a): Renamed from earlier libgrub.a.
16864 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
16865
95b9257e
VS
168662010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16867
16868 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
16869 install rather than creating a broken install.
16870
26c53dc6
VS
168712010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 * util/grub-setup.c (argp): Remove misleading example of installing to
16874 a partition.
16875
4171b3c5
VS
168762010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * util/grub-setup.c (setup): Clarify the error message.
16879
18568d18
VS
168802010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
16883
4f6a2e21
VS
168842010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 * grub-core/kern/emu/misc.c
16887 (grub_make_system_path_relative_to_its_root)
16888 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
16889
168902010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
16891
16892 * grub-core/kern/emu/misc.c
16893 (grub_make_system_path_relative_to_its_root): Revert r2882.
16894
e138c458
VS
168952010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
16896
16897 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
16898 useless field head. All users updated.
16899 (free_subchunk): Correct handling of IN_REGION subchunk.
16900
0cbcdf0e
CW
169012010-10-22 Colin Watson <cjwatson@ubuntu.com>
16902
16903 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
16904 (Supported kernels): Likewise.
16905
b65ea155
GS
169062010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16907
16908 Make mktemp invocations portable.
16909
16910 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
16911 exit if mktemp fails.
16912 * tests/grub_script_blockarg.in: Likewise.
16913 * tests/partmap_test.in: Likewise.
16914 * tests/util/grub-shell-tester.in: Likewise.
16915 * tests/util/grub-shell.in: Likewise.
16916 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16917 * Makefile.am: Likewise, and chain shell commands with `&&'
16918 instead of ';'.
16919 * util/grub-mkrescue.in: Use the same explicit template as above, and
16920 exit if mktemp fails.
16921
05f43cdd
BC
169222010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
16923
16924 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
16925 Linux kernel, reported by Dennis Schridde.
16926
800e6a9b
SJ
169272010-10-17 Szymon Janc <szymon@janc.net.pl>
16928
16929 * grub-core/normal/auth.c (grub_auth_check_authentication):
16930 Set-but-not-used variable removed.
16931
d82df574
VS
169322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 * docs/grub.texi (GNU/Linux): Document APM unavailability with
16935 32-bit linux protocol.
16936
7bced458
VS
169372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16938
16939 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
16940 cursor shape for sanity.
16941
5b027690
VS
169422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16943
16944 * docs/grub.texi (Installation): Document buggy BIOS install.
16945
ba5f65cf
VS
169462010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * docs/grub.texi (Installation): Indent.
16949
fdf2ec9c
VS
169502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * util/grub-setup.c (setup): New parameter allow_floppy.
16953 (arguments): New member allow_floppy.
16954 (argp_parser): Handle --allow-floppy.
16955 (main): Pass allow_floppy.
16956 * util/grub-install.in: New option --allow-floppy passed though to
16957 grub-setup.
16958
861dfd4c
VS
169592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * util/grub-install.in: Handle partitionless disks.
16962
f77a8c24
VS
169632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 * util/grub-setup.c (setup): Don't clean blocklists before readability
16966 verfification.
16967
27d9ee32
VS
169682010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 * docs/grub.texi (Installation): Document embedding zone. Remove
16971 obsolete grub-install example.
16972
6bdda8f8
SJ
169732010-10-16 Szymon Janc <szymon@janc.net.pl>
16974
16975 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
16976 Set-but-not-used variable ifdef'ed.
16977 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
16978 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
16979 variable removed.
16980 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
16981 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
16982 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16983 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
16984 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
16985 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16986 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
16987 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
16988 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
16989 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
16990 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
16991 Likewise.
16992
e19b016b
VS
169932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
16996 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
16997 enum value.
16998
6c8d3002
VS
169992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
17002 synonym to _S5_. Needed for some DSDTs.
17003
c32b51c9
VS
170042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 Userspace ACPI parser debugging.
17007
17008 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
17009 headers and add relevant defines. Don't include standard headers.
17010 (main) [GRUB_DSDT_TEST]: New function.
17011 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
17012 Don't declare functions.
17013
fbfbeb39
VS
170142010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 Remove dead grub_efi_mm_fini.
17017
17018 * grub-core/kern/efi/mm.c (allocated_page): Removed.
17019 (ALLOCATED_PAGES_SIZE): Likewise.
17020 (MAX_ALLOCATED_PAGES): Likewise.
17021 (allocated_pages): Likewise.
17022 (grub_efi_allocate_pages): Don't record allocated pages.
17023 (grub_efi_free_pages): Likewise.
17024 (grub_efi_mm_init): Likewise.
17025 (grub_efi_mm_fini): Removed.
17026
65f7ed7c
VS
170272010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17028
17029 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
17030 (grub_efi_mm_init): Take into account the memory map size increase.
17031
24977b44
VS
170322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17033
17034 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
17035 (serial_hw_put): Wait based on real time rather than port reads. Don't
17036 roken ports.
17037 * include/grub/serial.h (grub_serial_port): New field broken.
17038
1eb01cd2
RM
170392010-10-16 Robert Millan <rmh@gnu.org>
17040
17041 * grub-core/kern/emu/misc.c
17042 (grub_make_system_path_relative_to_its_root): Fix premature return
17043 when processing non-root ZFS filesystems.
5f8b440b 17044 Reported by Sergio Talens-Oliag.
1eb01cd2 17045
2d5fed60
RM
170462010-10-15 Robert Millan <rmh@gnu.org>
17047
17048 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
17049 guarantee compressed ones are processed first.
17050
d0f4c1ea
VS
170512010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
17054 grub_efiemu_autocore.
17055
d87c681f
VS
170562010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
17059 rather than 0x1b.
17060 (grub_console_getkey): Use correct jae opcode rather than ja.
17061
219b3564
RM
170622010-10-12 Robert Millan <rmh@gnu.org>
17063
17064 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
17065 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
17066 variable. All references updated.
17067
17068 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
17069
20c6bb7e
VS
170702010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 Correctly distinguish mdraid flavours.
17073
17074 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
17075 (insert_array): New argument raid.
17076 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
17077 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
17078 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
17079
74baff84
VS
170802010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
17083 handling of special keys.
17084
3ef068df 170852010-10-02 Aleš Nesrsta <starous@volny.cz>
17086
c7980ad9
VS
17087 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
17088 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 17089
a9455194 170902010-10-02 Aleš Nesrsta <starous@volny.cz>
17091
c7980ad9
VS
17092 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
17093 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
17094 users updated.
a9455194 17095 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 17096 Use right endpoint when querying descriptor.
a9455194 17097
441cfe65
VS
170982010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 Clear out 0x80 color bit on EFI.
17101 Tested by: decoder
17102 Reported by: decoder and meta tech.
17103
17104 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
17105 (grub_console_setcolorstate): Clear out 0x80 bit.
17106 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
17107 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
17108 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
17109
bf26bcc4
VS
171102010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
17113 Set to "auto".
17114
6e3c515d
VS
171152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
17118 mo_file after freeing.
17119
e6d983ba
VS
171202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
17123
74ccb5b5
VS
171242010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
17127 flags.
17128
17821956
VS
171292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
17132 usage.
17133
ee74fa48
VS
171342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 Put terminfo into core on ieee1275 and yeeloong (needed for console).
17137
17138 * gentpl.py: New groups terminfoinkernel and terminfomodule.
17139 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
17140 and terminfo.h when needed.
17141 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
17142 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
17143 (terminfo): Enable only on terminfokernel.
17144 (extcmd): Likewise.
17145 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
17146 * include/grub/lib/arg.h: Likewise.
17147 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
17148 incorrect usage of ->.
17149
aa438e68
VS
171502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17151
17152 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
17153 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
17154
57994012
VS
171552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17156
17157 Fix coreboot compilation.
17158
17159 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17160 Take VBE info into account even if only text is supported.
17161 (fill_vbe_info): Take into account the case when only VGA text
17162 is supported.
17163 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
17164 on coreboot, multiboot and qemu.
17165
2a406611
VS
171662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
17169 debug messages.
17170 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
17171
d33613fc
VS
171722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
17175 parameters.
17176
44a1b432
VS
171772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
17180 if they were BSD-style.
17181
edde54e6
VS
171822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/boot/i386/pc/lnxboot.S: Replace
17185 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
17186 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
17187
b65830fa
VS
171882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 Write embedding zone using Reed-Solomon.
17191
17192 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
17193 * grub-core/Makefile.am (rs_decoder.S): New target.
17194 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
17195 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
17196 (multiboot): Move to RS part.
17197 (post_reed_solomon): New label.
17198 (grub_boot_drive): Move to non-RS part since it's modified in memory
17199 on boot.
17200 Include rs_decoder.S.
17201 * grub-core/lib/reed_solomon.c: New file.
17202 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
17203 New definition.
17204 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
17205 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
17206 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
17207 * include/grub/partition.h (grub_partition_map): Change prototype of
17208 embed to allow returning additional sectors.
17209 * include/grub/reed_solomon.h: New file.
17210 * util/grub-setup.c (setup): Handle Reed-Solomon.
17211
0b4b227f
CW
172122010-09-28 Colin Watson <cjwatson@ubuntu.com>
17213
17214 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17215 i386 and x86-64 definedness tests.
17216
f772623b
YB
172172010-09-27 Yves Blusseau <blusseau@zetam.org>
17218
17219 Fix generation of kernel_syms.lst
17220
17221 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
17222 ASM_PREFIX
17223
8e57a6ca
RM
172242010-09-26 Robert Millan <rmh@gnu.org>
17225
17226 Support degraded ZFS arrays in "grub-probe -t device" resolution.
17227
17228 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
17229 the pool is an array of devices, iterate through it and return the
17230 first device that passes a stat() test (instead of blindly returning
17231 the first one).
17232
f9130836
RM
172332010-09-26 Robert Millan <rmh@gnu.org>
17234
17235 Build fixes for GNU/kFreeBSD.
17236
17237 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
17238 to programs that require ZFS conversion.
17239 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
17240 kernels that don't have FLOPPY_MAJOR.
17241
96510faf
BC
172422010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17243
17244 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
17245
449333eb
BC
172462010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
17247
17248 Fix grub-emu build.
17249
17250 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
17251 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
17252 mdraid09 and mdraid1x.
17253
e1fd1939
CW
172542010-09-24 Colin Watson <cjwatson@ubuntu.com>
17255
17256 Re-enable grub-extras.
17257
17258 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
17259 avoid confusing Automake. Run autogen only twice, once for the top
17260 level and once for grub-core. Add Makefile.util.def and
17261 Makefile.core.def from extra modules to the appropriate autogen
17262 invocations. If Makefile.common exists in an extra module, include
17263 it in both Makefile.util.am and grub-core/Makefile.core.am;
17264 similarly, include any Makefile.util.common file in Makefile.util.am
17265 and any Makefile.core.common file in grub-core/Makefile.core.am.
17266 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
17267 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
17268 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
17269 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
17270
17271 * gentpl.py (gvar_add): Turn GVARS into a set.
17272 (global_variable_initializers): Sort global variables on output.
17273 (vars_init): New function.
17274 (first_time): Likewise.
17275 (library): Ensure that non-global variable initialisations are
17276 emitted before the first time we emit code for a library block.
17277 Append to variables rather than setting them. Only emit
17278 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
17279 each conditional path.
17280 (program): installdir() emits an Autogen macro, so must be passed to
17281 var_add rather than gvar_add.
17282 (data): Likewise.
17283 (script): Likewise.
17284 (rules): New function, centralising handling for different target
17285 types. Set up Guile association lists for first_time and vars_init,
17286 and send most output to a diversion so that variable initialisations
17287 can be emitted first.
17288 (module_rules): Use new rules function.
17289 (kernel_rules): Likewise.
17290 (image_rules): Likewise.
17291 (library_rules): Likewise.
17292 (program_rules): Likewise.
17293 (script_rules): Likewise.
17294 (data_rules): Likewise.
17295
17296 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
17297
17298 * .bzrignore: Add contrib and grub-core/contrib. Remove
17299 grub-core/Makefile.gcry.am.
17300
1d12cf29
YB
173012010-09-24 Yves Blusseau <blusseau@zetam.org>
17302
17303 * grub-core/lib/LzFind.c: Add missing include.
17304 * grub-core/lib/LzmaEnc.c: Likewise.
17305 * grub-core/script/lexer.c: Likewise.
17306 * grub-core/script/yylex.l: Likewise.
17307 * util/grub-macho2img.c: Likewise.
17308 * util/grub-menulst2cfg.c: Likewise.
17309 * util/grub-mklayout.c: Likewise.
17310 * util/grub-mkpasswd-pbkdf2.c
17311 * util/grub-mkrelpath.c: Likewise.
17312 * util/resolve.c: Likewise.
17313
dd363028
BC
173142010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
17315
17316 * Makefile.util.def (example_unit_test): Add
17317 grub-core/gnulib/libgnu.a.
17318
f5a109e2
GS
173192010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
17320
17321 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
17322
6d0fa83c
VS
173232010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
17324
17325 Support xz compression on yeeloong.
17326
17327 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
17328 * configure.ac: Check for LZMA.
17329 * grub-core/Makefile.core.def (xz_decompress): New target.
17330 (none_decompress): Likewise.
17331 * grub-core/boot/decompressor/minilib.c: New file.
17332 * grub-core/boot/decompressor/none.c: Likewise.
17333 * grub-core/boot/decompressor/xz.c: Likewise.
17334 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
17335 * grub-core/kern/mips/cache_flush.S: Likewise.
17336 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
17337 * grub-core/kern/mips/startup.S: Move first stage to ...
17338 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
17339 nomacro.
17340 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
17341 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
17342 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
17343 Allocate statically.
17344 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
17345 Allocate statically or use scratch. Don't check CRC32.
17346 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
17347 Allocate statically. Don't check CRC32.
17348 * include/grub/decompressor.h: New file.
17349 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
17350 Removed.
17351 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
17352 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
17353 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
17354 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
17355 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
17356 * util/grub-mkimage.c (grub_compression_t): New type.
17357 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
17358 (image_target_desc): New field default_compression.
17359 (image_targets): Adjust yeeloong targets.
17360 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
17361 (compress_kernel): New parameter comp.
17362 (generate_image): Likewise. Handle new compression case.
17363 (options): New option --compression
17364 (help): Likewise.
17365 (main): Handle new option.
17366
1b655af6
GS
173672010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
17368
17369 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
17370
8f03f0b5
CW
173712010-09-22 Colin Watson <cjwatson@ubuntu.com>
17372
17373 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
17374 typo in __i386__ conditional.
17375
7835dfd3
VS
173762010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
17379 include.
17380
e255597e
VS
173812010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
17382
6d0fa83c 17383 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
17384
17385 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
17386 new tags as supported.
17387 (acpiv2_size): New function.
17388 (grub_multiboot_get_mbi_size): Take new tags into account.
17389 (grub_multiboot_make_mbi): Add new tags.
17390 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 17391
6cc14051 173922010-09-21 Aleš Nesrsta <starous@volny.cz>
17393
17394 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
17395 Added missing configuration of USB device.
17396
df7769d8
CW
173972010-09-21 Colin Watson <cjwatson@ubuntu.com>
17398
17399 * grub-core/normal/menu_entry.c (run): Make sure we always return
17400 a value.
17401
b031012d
CW
174022010-09-21 Colin Watson <cjwatson@ubuntu.com>
17403
17404 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
17405 NumberOfPages is UINT64 according to the UEFI specification, not
17406 UINTN. Fix printf format.
17407
174de8f3
CW
174082010-09-21 Colin Watson <cjwatson@ubuntu.com>
17409
17410 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
17411 `err' to grub_usb_err_t.
17412 Reported and tested by: KESHAV P.R.
17413
d7dbe923
CW
174142010-09-21 Colin Watson <cjwatson@ubuntu.com>
17415
17416 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
17417 tpart non-const, so that we can assign to it. (Since this is a
17418 typedef, the constness refers to the pointer rather than what it
17419 points to.)
17420
8d5e2af3
CW
174212010-09-21 Colin Watson <cjwatson@ubuntu.com>
17422
17423 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
17424 $(top_srcdir)/grub-core/gnulib as well as
17425 $(top_builddir)/grub-core/gnulib.
17426 Reported by: KESHAV P.R.
17427
5c527783
CW
174282010-09-21 Colin Watson <cjwatson@ubuntu.com>
17429
17430 * util/grub-install.in: Fix the bootloader ID option to be
17431 consistently --bootloader-id, not --bootloader_id.
17432 Reported by: KESHAV P.R.
17433
d309a16e
CW
174342010-09-21 Colin Watson <cjwatson@ubuntu.com>
17435
17436 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
17437 check hash checksum." consistently translatable.
17438
b830cd16
YB
174392010-09-21 Yves Blusseau <blusseau@zetam.org>
17440
17441 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
17442 $(top_builddir).
17443
c4fe27a8
CW
174442010-09-21 Colin Watson <cjwatson@ubuntu.com>
17445
17446 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
17447 (GRUB_MOD_INIT): Register sha1sum command.
17448 (GRUB_MOD_FINI): Unregister sha1sum command.
17449
a4c1d277
YB
174502010-09-21 Yves Blusseau <blusseau@zetam.org>
17451
17452 Keep boot and grub directory names in sync with utils scripts
17453
17454 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
17455 * config.h.in: Add previous macros.
17456 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
17457 * util/grub-install.in: Use $bootdir and $grubdir variables.
17458
4eff79d2
CW
174592010-09-21 Colin Watson <cjwatson@ubuntu.com>
17460
17461 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
17462 convert partition names to disk names if the new `convert' parameter
17463 is set.
17464 (grub_util_biosdisk_get_grub_dev): If opening the disk device
17465 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
17466 disk in its own right. This can happen with Xen disk images.
17467
934d7e44
YB
174682010-09-21 Yves Blusseau <blusseau@zetam.org>
17469
17470 * util/grub-editenv.c: Update strings to avoid warnings when generating
17471 grub.pot file.
17472 * util/grub-setup.c: Likewise.
934d7e44 17473
df3367cc
VS
174742010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * configure.ac: Change version to 1.99~beta0.
17477
77a94e98
VS
174782010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
17481 Add BADRAM.
17482 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
17483 Likewise.
17484 * include/multiboot.h: Resynced with specification.
17485 * include/multiboot2.h: Likewise.
17486
269004c1
CW
174872010-09-21 Colin Watson <cjwatson@ubuntu.com>
17488
17489 Fix po directory handling.
17490
17491 * configure.ac: Create po/Makefile.in rather than po/Makefile.
17492 * grub-core/gnulib/Makefile.am: Import gettext module.
17493 * m4/gnulib-cache.m4: Likewise.
17494 * m4/gnulib-comp.m4: Likewise.
17495 * m4/gettext.m4: New file, from gnulib.
17496 * m4/glibc2.m4: Likewise.
17497 * m4/iconv.m4: Likewise.
17498 * m4/intdiv0.m4: Likewise.
17499 * m4/intl.m4: Likewise.
17500 * m4/intldir.m4: Likewise.
17501 * m4/intlmacosx.m4: Likewise.
17502 * m4/intmax.m4: Likewise.
17503 * m4/inttypes-pri.m4: Likewise.
17504 * m4/lcmessage.m4: Likewise.
17505 * m4/lib-ld.m4: Likewise.
17506 * m4/lib-link.m4: Likewise.
17507 * m4/lib-prefix.m4: Likewise.
17508 * m4/lock.m4: Likewise.
17509 * m4/nls.m4: Likewise.
17510 * m4/po.m4: Likewise.
17511 * m4/printf-posix.m4: Likewise.
17512 * m4/progtest.m4: Likewise.
17513 * m4/threadlib.m4: Likewise.
17514 * m4/uintmax_t.m4: Likewise.
17515 * m4/visibility.m4: Likewise.
17516 * po/Makefile.am: Remove.
17517 * po/Makefile.in.in: New file, from gettext.
17518 ($(DOMAIN).pot-update): Support POTFILES-shell.
17519 * po/Makevars: New file.
17520 * po/POTFILES-shell: Rename to ...
17521 * po/POTFILES-shell.in: ... this. Update.
17522 * po/POTFILES: Rename to ...
17523 * po/POTFILES.in: ... this. Update.
17524 * po/Rules-quot: New file, from gettext.
17525 * po/boldquot.sed: Likewise.
17526 * po/en@boldquot.header: Likewise.
17527 * po/en@quot.header: Likewise.
17528 * po/insert-header.sin: Likewise.
17529 * po/quot.sed: Likewise.
17530 * po/remove-potcdate.sin: Likewise.
17531
3e0fa5d0
VS
175322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
17535
ade9bd66
VS
175362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 * util/grub.d/20_linux_xen.in: Use submenus.
17539
fc55cc4c
VS
175402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17541
17542 Support submenus.
17543
17544 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
17545 parameter submenu. All users updated.
17546 * grub-core/normal/main.c (free_menu): Rename to ...
17547 (grub_normal_free_menu): ... this. Made global.
17548 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
17549 if requested.
17550 * grub-core/normal/menu_entry.c (screen): New field submenu.
17551 (make_screen): Set submenu.
17552 (run): Open new context if requested.
17553 * include/grub/menu.h (grub_menu_entry): New field submenu.
17554 * include/grub/normal.h (grub_normal_free_menu): New proto.
17555
600cedf7
VS
175562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 Menu entries extractor.
17559
17560 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
17561 variants.
17562 (GRUB_MOD_INIT): Register new variants.
17563 (GRUB_MOD_FINI): Unregister new variants.
17564 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
17565 into grub_cmd_legacy_source.
17566 (grub_cmd_legacy_source): Implement extractor variants.
17567 (GRUB_MOD_INIT): Register new variants.
17568 (GRUB_MOD_FINI): Unregister new variants.
17569 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
17570 as an extractor.
17571 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
17572 search as an extractor.
17573 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
17574 test as an extractor.
17575 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
17576 as an extractor.
17577 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
17578 (grub_env_new_context): New function.
17579 (grub_env_context_open): Likewise.
17580 (grub_env_extractor_open): Likewise.
17581 (grub_env_extractor_close): Likewise.
17582 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17583 grub_extractor_level.
17584 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
17585 * include/grub/env.h (grub_env_extractor_open): New proto.
17586 (grub_env_extractor_close): Likewise.
17587 * include/grub/normal.h (grub_extractor_level): New external variable.
17588
7bda3a87
VS
175892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 Make cutmem accept a region specification.
17592 Suggested by: Samuel Thibault
17593
17594 * grub-core/mmap/mmap.c (parsemem): New function.
17595 (grub_cmd_cutmem): Handle new arguments.
17596
2ea57f88
VS
175972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 New command cutmem.
17600
17601 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
17602 (GRUB_MOD_INIT): Register new command.
17603 (GRUB_MOD_FINI): Unregister new command.
17604
74342e31
VS
176052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 Support some annoying BSD and Minix subpartitions.
17608
17609 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
17610 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
17611 Properly handle concatenation.
17612 * grub-core/kern/device.c (grub_device_iterate): Likewise.
17613 * grub-core/normal/completion.c (iterate_partition): Likewise.
17614 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
17615 contain partition. All users updated.
17616 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
17617 struct.
17618 (grub_openbsdlabel_partition_map): Likewise.
17619 (bsdlabel_partition_map_iterate): Rename to ..
17620 (iterate_real): ... this. New arguments sector, freebsd and pmap.
17621 (bsdlabel_partition_map_iterate): New function.
17622 (netopenbsdlabel_partition_map_iterate): Likewise.
17623 (netbsdlabel_partition_map_iterate): Likewise.
17624 (openbsdlabel_partition_map_iterate): Likewise.
17625 (GRUB_MOD_INIT): Register new partmaps.
17626 (GRUB_MOD_FINI): Unregister new partmaps.
17627 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
17628 (grub_partition_msdos_iterate): ... this. All users updated.
17629 Don't support embedding other than in a minix partition.
17630 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
17631 proto.
17632 * include/grub/partition.h (grub_partition): New field msdostype.
17633 * util/grub-install.in: Handle openbsd and netbsd types being in
17634 part_bsd module.
17635
1e8d555b
VS
176362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
17639
17640 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
17641 * grub-core/Makefile.core.def (mdraid): Renamed to ...
17642 (mdraid09): ... this.
17643 (mdraid1x): New module.
17644 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
17645 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
17646
899d8af4
VS
176472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17648
17649 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
17650 vsprintf.
17651
40901acd
CW
176522010-09-20 Colin Watson <cjwatson@ubuntu.com>
17653
17654 * grub-core/commands/efi/lsefimmap.c: Correct header.
17655 * NEWS: Update.
17656
dfe3b247
CW
176572010-09-20 Colin Watson <cjwatson@ubuntu.com>
17658
17659 * util/grub-editenv.c (argp_parser): Don't pass translated strings
17660 as printf format strings; the translations might contain '%' which
17661 could cause a crash.
17662 (main): Likewise.
17663 * util/grub-fstest.c (argp_parser): Likewise.
17664 * util/grub-setup.c (argp_parser): Likewise.
17665 (main): Likewise.
17666
3286a4b4
VS
176672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 Use argp in grub-fstest.
17670
17671 * util/grub-fstest.c: Don't include getopt.h.
17672 Include argp.h.
17673 (root): New variable.
17674 (args_count): Likewise.
17675 (nparm): Likewise.
17676 (num_disks): Likewise.
17677 (images): Likewise.
17678 (cmd): Likewise.
17679 (debug_str): Likewise.
17680 (args): Likewise.
17681 (options): Transformed to argp.
17682 (usage): Removed.
17683 (main): Split argument parsing into ...
17684 (argp_parser): ... this. Changed to argp format.
17685 (argp): New variable.
17686 (main): Use argp_parse.
17687
3dccbe4b
TG
176882010-09-20 Tristan Gingold <gingold@free.fr>
176892010-09-20 Robert Millan <rmh.grub@aybabtu.com>
176902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 * grub-core/commands/efi/lsefimmap.c: New file.
17693 * grub-core/Makefile.core.def (lsefimmap): New module.
17694 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
17695
38c259a7
VS
176962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17697
17698 Pause the execution (10s max) if any errors are displayed so the user
17699 has a chance to see them.
17700
17701 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
17702 (grub_print_error): Increment grub_err_printed_errors.
17703 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
17704 execution if any errors were displayed.
17705 (show_menu): Remove old code for pause.
17706 * grub-core/normal/menu_entry.c (run): Likewise.
17707 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
17708 users updated.
17709 (grub_normal_get_char_counter): Likewise.
17710 * include/grub/err.h (grub_err_printed_errors): New external variable.
17711 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
17712
f218b09c
VS
177132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 Support multiboot VBE info.
17716
17717 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
17718 Take VBE info into account.
17719 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
17720 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17721 Call fill_vbe_info when appropriate.
17722 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
17723 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
17724 as supported.
17725 (grub_multiboot_get_mbi_size): Take new tags into account.
17726 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
17727 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
17728 Call fill_vbe_tag when appropriate.
17729 (grub_multiboot_make_mbi): Properly align tags.
17730 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
17731 function.
17732 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
17733 proto.
17734 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
17735
a9cc5438
VS
177362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17737
17738 Suport manual terminal geometry specification.
17739
17740 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
17741 Save state in grub_ofconsole_terminfo_output.
17742 (grub_ofconsole_term): Use grub_terminfo_getwh.
17743 (grub_ofconsole_getwh): Removed.
17744 * grub-core/term/serial.c (grub_serial_getwh): Removed.
17745 (grub_serial_term): Use grub_terminfo_getwh.
17746 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
17747 (options): New struct.
17748 (OPTION_*): New enum.
17749 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
17750 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
17751 width and height.
17752 (grub_terminfo_getwh): New proto.
17753 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
17754
1a8fed20
VS
177552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 Handle legacy "terminal" command.
17758
17759 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
17760 and FLAG_TERMINAL.
17761 (legacy_commands): Add terminal and title.
17762 (grub_legacy_parse): Handle terminal. Simplify title handling.
17763
41e9c57d
VS
177642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
17767 parameters overflow.
17768
61c874c5
CW
177692010-09-20 Colin Watson <cjwatson@ubuntu.com>
17770
17771 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
17772 widthspec.h.
17773
17774 * docs/grub.texi (Shell-like scripting): Document `!'.
17775 (Network): Simplify using new i386-pc-pxe format. Mention
17776 grub-mknetdir.
17777
17778 * NEWS: Update.
17779
943682b4
CW
177802010-09-20 Colin Watson <cjwatson@ubuntu.com>
17781
17782 * Makefile.am (SUBDIRS): Restore "."; it's important to force
17783 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
17784 when needed.
17785
6d3d698d
CW
177862010-09-20 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * grub-core/commands/efi/lsefisystab.c: Correct header.
17789 * grub-core/commands/efi/lssal.c: Likewise.
17790 * grub-core/commands/testload.c: Likewise.
17791
c982589f
CW
177922010-09-20 Colin Watson <cjwatson@ubuntu.com>
17793
17794 * util/grub-mkrescue.in: Add explicit root argument to --set to
17795 prevent the UUID being interpreted as an argument to --set (matches
17796 previous change to prepare_grub_to_access_device).
17797
a63c31b6
CW
177982010-09-20 Colin Watson <cjwatson@ubuntu.com>
17799
17800 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
17801 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
17802 the verbosity of later #ifs.
17803 (find_partition_start): Define this function on FreeBSD too.
17804 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
17805 function.
17806 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
17807 on FreeBSD.
17808
6439b8ee
YB
178092010-09-20 Yves Blusseau <blusseau@zetam.org>
17810
17811 * util/grub-editenv.c: Use argp instead of getopt.
17812
c5930ec8
YB
178132010-09-20 Yves Blusseau <blusseau@zetam.org>
17814
17815 * util/grub-setup.c: Use argp instead of getopt.
17816
15c69261
YB
178172010-09-20 Yves Blusseau <blusseau@zetam.org>
17818
17819 Use gnulib-tool to create gnulib source files.
17820
17821 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
17822 grub-core/gnulib directories
17823 * .bzignore: Add **/.deps and autogenerated gnulib files
17824 * configure.ac: Assign auxiliary directory to build-aux, add invocation
17825 of gnulib macros, add grub-core/gnulib/Makefile
17826 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
17827 include m4 directory to aclocal.
17828 * Makefile.util.def: Remove direct compilation of gnulib source files
17829 and use the new grub-core/gnulib/libgnu.a.
17830 * build-aux/config.rpath: move config.rpath from top directory to
17831 build-aux
17832 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
17833 in gnulib headers
17834 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
17835 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
17836 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
17837 header.
17838 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
17839 string.
17840
e511c9f5
YB
178412010-09-20 Yves Blusseau <blusseau@zetam.org>
17842
17843 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
17844 grub-core/genmod.sh and grub-core/gensyminfo.sh
17845
c2dede05
BC
178462010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
17847
17848 Add a test for echo command options.
17849
17850 * tests/grub_cmd_echo.in: New test.
17851 * Makefile.util.def: Rules for new test.
17852
c55f5018
SJ
178532010-09-20 Szymon Janc <szymon@janc.net.pl>
17854
17855 Remove crc.mod and move crc command to hashsum.mod.
17856 Remove lib/crc.c - users updated to use gcrypt implementation.
17857
17858 * grub-core/commands/crc.c: Removed.
17859 * grub-core/Makefile.core.def (crc): Module removed.
17860 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
17861 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
17862 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
17863 * grub-core/lib/crc.c: Removed.
17864 * include/grub/lib/crc.h: Removed.
17865 * Makefile.util.def (crc): Remove lib/crc.c
17866 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
17867 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
17868 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
17869 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
17870 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
17871 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
17872
e0337366
VS
178732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
17876
742f9232
VS
178772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 Split config.h for util and core.
17880
17881 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
17882 (ADDR32): Likewise.
17883 (DATA32): Likewise.
17884 (BSS_START_SYMBOL): Likewise.
17885 (END_SYMBOL): Likewise.
17886 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
17887 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
17888 * config.h.in: New file.
17889 * configure.ac: Use config-util.h as config define file.
17890 Rename MACHINE into GRUB_MACHINE. All users updated.
17891 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
17892 updated.
17893 (NESTED_FUNC_ATTR): Likewise.
17894 Substitue new variables.
17895 (COND_HAVE_ASM_USCORE): New conditional.
17896 * grub-core/Makefile.am (ASM_PREFIX): New variable.
17897 (kernel_syms.lst): Use ASM_PREFIX.
17898 * grub-core/kern/emu/console.c: Include config-util.h.
17899 * grub-core/kern/emu/misc.c: Likewise.
17900 * grub-core/kern/emu/mm.c: Likewise.
17901 * include/grub/emu/misc.h: Likewise.
17902 * include/grub/libgcc.h: Likewise.
17903
39feb0e8
VS
179042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
17907 constants usage.
17908 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
17909 Fix GRUB_TERM_KEY_* constants usage.
17910 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
17911
9af6dac3
VS
179122010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17913
17914 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
17915 print pointer.
17916 * grub-core/bus/usb/uhci.c: Remove empty define.
17917 (grub_uhci_check_transfer): Add missing cast.
17918 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
17919 print pointer.
17920 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
17921 PRIuGRUB_SIZE.
17922 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
17923
d6d94820
VS
179242010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17925
17926 * grub-core/Makefile.core.def (legacycfg): Add
17927 lib/i386/pc/vesa_modes_table.c on emu.
17928
3572f2b6
BC
179292010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17930
17931 Reduce number of temporary files generated by build system.
17932
17933 * grub-core/gencmdlist.sh: Removed.
17934 * grub-core/genfslist.sh: Removed.
17935 * grub-core/genhandlerlist.sh: Removed.
17936 * grub-core/genmodsrc.sh: Removed.
17937 * grub-core/genpartmaplist.sh: Removed.
17938 * grub-core/genparttoollist.sh: Removed.
17939 * grub-core/gentermiinallist.sh: Removed.
17940 * grub-core/genvideolist.sh: Removed.
17941
17942 * grub-core/genmod.sh.in: New file.
17943 * grub-core/gensyminfo.sh.in: New file.
17944
17945 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
17946 * conf/Makefile.extra-dist: Update with new files.
17947 * gentpl.py: Remove rules related to unnecessary temporary files.
17948 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
17949 and und-* files.
17950 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
17951 genmod.sh scripts.
17952 * grub-core/bus/usb/uhci.c: Remove empty #define.
17953 * grub-core/genmoddep.awk: Updated with new syminfo format.
17954 * util/bash-completion.d/Makefile.am: Add config.log to
17955 CLEANFILES.
17956
c836b030
YB
179572010-09-19 Yves Blusseau <blusseau@zetam.org>
17958
17959 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17960
2f4e8053
BC
179612010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17962
17963 * util/grub-mkconfig.in: Check the config script for syntax errors
17964 before saving.
17965
75831c34
CW
179662010-09-19 Colin Watson <cjwatson@ubuntu.com>
179672010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * Makefile.util.def (grub-install): Use util/grub-install.in on all
17970 platforms.
17971 * util/grub-install.in: Add EFI and IEEE1275 support.
17972 * util/i386/efi/grub-install.in: Removed.
17973 * util/ieee1275/grub-install.in: Likewise.
17974
eaf41b25
VS
179752010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
17978 (grub_cmd_cmosclean): Likewise.
17979 (GRUB_MOD_INIT): Register command cmosclean.
17980 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
17981 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
17982
1a9130dd
CPE
179832010-09-18 Carles Pina i Estany <carles@pina.cat>
179842010-09-18 Aleš Nesrsta <starous@volny.cz>
179852010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 Add keyboard layouts support.
17988
17989 * Makefile.util.def (grub-mklayout): New file.
17990 (grub-kbdcomp): New script.
17991 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
17992 Add keyboard_layouts.h.
17993 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
17994 commands/boot.c on yeeloong.
17995 (keylayouts): New module.
17996 * grub-core/bus/usb/ohci.c
17997 * grub-core/bus/usb/uhci.c
17998 * grub-core/bus/usb/usbhub.c (rescan): New variable.
17999 (grub_usb_add_hub): Poll interrupt pipe for device handling.
18000 (attach_root_port): Likewise.
18001 (poll_nonroot_hub): Likewise.
18002 (grub_usb_poll_devices): Likewise.
18003 (detach_device): Close transfer.
18004 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
18005 function.
18006 (grub_usb_bulk_setup_readwrite): Likewise.
18007 (grub_usb_bulk_finish_readwrite): Likewise.
18008 * grub-core/commands/keylayouts.c: New file.
18009 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
18010 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
18011 aliases.
18012 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
18013 support scancode 2.
18014 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
18015 * include/grub/keyboard_layouts.h: New file.
18016 * util/grub-mklayout.c: New file.
18017 * util/grub-kbdcomp.in: Likewise.
18018
a1d84a5e
VS
180192010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18020
18021 Unify memory types.
18022
18023 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
18024 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
18025 types.
18026 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
18027 (grub_upper_mem): Likewise.
18028 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
18029 * include/grub/memory.h (grub_memory_type_t): New enum.
18030 All users updated.
18031
9696382e
VS
180322010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * grub-core/Makefile.core.def (lsapm): New module.
18035 * grub-core/commands/i386/pc/lsapm.c: New file.
18036 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
18037 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
18038 Likewise.
18039 * include/grub/i386/pc/apm.h: New file.
18040 * include/multiboot.h (multiboot_apm_info): New struct.
18041
180422010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 GRUB-legacy configuration file support.
18045
18046 * Makefile.util.def (grub-menulst2cfg): New util.
18047 * docs/man/grub-menulst2cfg.h2m: New file.
18048 * grub-core/Makefile.core.def (legacycfg): New module.
18049 * grub-core/commands/legacycfg.c: New file.
18050 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
18051 (grub_normal_add_menu_entry): ... this.
18052 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
18053 (grub_normal_set_password): ...this.
18054 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
18055 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
18056 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
18057 * grub-core/lib/legacy_parse.c: New file.
18058 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
18059 * include/grub/i386/pc/vesa_modes_table.h: New file.
18060 * include/grub/legacy_parse.h: Likewise.
18061 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
18062 * util/grub-menulst2cfg.c: New file.
18063
bf8d1338
CW
180642010-09-17 Colin Watson <cjwatson@ubuntu.com>
18065
18066 * grub-core/kern/emu/hostdisk.c
18067 (convert_system_partition_to_system_disk): Initialise node.
18068
9c0bad2e
CW
180692010-09-17 Colin Watson <cjwatson@ubuntu.com>
18070
18071 * grub-core/kern/emu/hostdisk.c
18072 (convert_system_partition_to_system_disk): Fix devmapper memory pool
18073 leak.
18074 Reported and based on patch by: Modestas Vainius.
18075
a939d135
CW
180762010-09-17 Colin Watson <cjwatson@ubuntu.com>
18077
18078 Fix DM-RAID probing with recent versions of device-mapper udev
18079 rules.
18080
18081 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
18082 canonicalise device paths under /dev/mapper/.
18083 (convert_system_partition_to_system_disk): Compare the
18084 uncanonicalised path to /dev/mapper/ rather than the canonicalised
18085 path, since device nodes under /dev/mapper/ are often symlinks.
18086
0f7ee3c9
YB
180872010-09-17 Yves Blusseau <blusseau@zetam.org>
18088
18089 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
18090
10854d0d
YB
180912010-09-16 Yves Blusseau <blusseau@zetam.org>
18092
18093 * configure.ac: Avoid some annoying error messages if freetype-config
18094 program is not found.
18095
108538d8
CW
180962010-09-16 Colin Watson <cjwatson@ubuntu.com>
18097
18098 Support RAID on virtio devices, and others.
18099
18100 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
18101 Rename to ...
18102 [__MINGW32__] (grub_find_device): ... this.
18103 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
18104 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
18105 reasonable default if dir is NULL.
18106 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
18107 ...
18108 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
18109 (grub_guess_root_device): Update callers.
18110 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
18111
18112 * util/raid.c (grub_util_getdiskname): Remove.
18113 (grub_util_raid_getmembers): Use grub_find_device rather than
18114 grub_util_getdiskname.
18115
e5bfc130
CW
181162010-09-16 Colin Watson <cjwatson@ubuntu.com>
18117
18118 * docs/grub.texi (serial): Remove obsolete comment about GRUB
18119 needing to be compiled with serial support.
18120 (ls): Indicate that multiple files are accepted.
18121 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
18122 indicate that multiple files are accepted.
18123
be458ae2
CW
181242010-09-16 Colin Watson <cjwatson@ubuntu.com>
18125
18126 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
18127 libgrub_a_init.c, and util/bash-completion.d/grub.
18128
cb731b5e
VS
181292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * util/grub-setup.c (setup): Fix incorrect container semantics.
18132
35139e8a
VS
181332010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
18136 misusage.
18137 Reported by: J. Nick Terry
18138
e50fca4a
VS
181392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18140
18141 Move embedding routines to partmap sources files.
18142
18143 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
18144 [GRUB_UTIL]: New variable.
18145 (gpt_partition_map_iterate): Set part.parent.
18146 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
18147 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
18148 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
18149 New function.
18150 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
18151 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
18152 (grub_partition_map) [GRUB_UTIL]: New field embed.
18153 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
18154 (setup): Use ->embed.
18155
f00478b7
VS
181562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
18159 function.
18160 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
18161 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
18162
2b94e3ff
YB
181632010-09-15 Yves Blusseau <blusseau@zetam.org>
18164
18165 Add function to get completions from usage.
18166
18167 * util/bash-completion.d/grub-completion.bash.in: Add function to get
18168 completions from usage. Use LC_ALL=C to get options properly.
18169
2e04a006
VS
181702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * grub-core/gnulib/basename-lgpl.c: Imported.
18173 * grub-core/gnulib/basename.c: Likewise.
18174 * grub-core/gnulib/dirname-lgpl.c: Likewise.
18175 * grub-core/gnulib/dirname.c: Likewise.
18176 * grub-core/gnulib/dirname.h: Likewise.
18177 * grub-core/gnulib/stripslash.c: Likewise.
18178
5dcdf93a
VS
181792010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18180
18181 * grub-core/gnulib/error.c: Resynced.
18182 * grub-core/gnulib/getopt.c: Likewise.
18183 * grub-core/gnulib/getopt_int.h: Likewise.
18184 * grub-core/gnulib/regex.h: Likewise.
18185 * grub-core/gnulib/regex_internal.c: Likewise.
18186 * grub-core/gnulib/regex_internal.h: Likewise.
18187
014f47b7
SJ
181882010-09-15 Szymon Janc <szymon@janc.net.pl>
18189
18190 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
18191 CRC calculations and validity checks.
18192 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
18193 calculations.
18194
dd521a4a
SJ
181952010-09-15 Szymon Janc <szymon@janc.net.pl>
18196
18197 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
18198
79c4eeb9
VS
181992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 Fix incorrect echo options handling.
18202 Reported by: Yves Blusseau.
18203
18204 * include/grub/command.h (grub_command_flags_t): New flags
18205 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
18206 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
18207 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
18208
ed80f7d5
VS
182092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
18212 users updated.
18213 (GRUB_COMMAND_FLAG_MENU): Likewise.
18214 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18215 (GRUB_COMMAND_FLAG_TITLE): Removed.
18216 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18217 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
18218 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
18219 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
18220 (grub_command_flags_t): New enum. All users updated.
18221
5fe7620a
SG
182222010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
18223
18224 Fix solaris compilation.
18225
18226 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
18227 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
18228 (grub-emu-list): Likewise.
18229
545b752f
VS
182302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Remove deprecated root command.
18233
18234 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
18235 updated.
18236
6c1a338c
VS
182372010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * util/i386/pc/grub-setup.c: Merge this ...
18240 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
18241 * util/grub-setup.c: ... into this.
18242 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
18243 New struct.
18244
182452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18246
18247 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
18248 possible.
18249
d2ea4551
VS
182502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
18253 allocate p.
18254
3c3b5040
VS
182552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
18258 explicit root argument to set to prevent UUID to be interpreted as
18259 argument to set.
18260
b71c3fae
VS
182612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18262
18263 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
18264
275433e6
VS
182652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 Don't export grub_gate_a20.
18268
18269 * grub-core/kern/i386/pc/init.c: Remove leftovers.
18270 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
18271 to ...
18272 (grub_gate_a20): ... this. All users updated.
18273 * include/grub/i386/pc/init.h: Removed. All users updated.
18274
a5dbb1f1
VS
182752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18276
18277 Create euro.pf2 which supports most European languages.
18278
18279 * Makefile.am (grubdata_DATA): Add euro.pf2.
18280 (euro.pf2): New target.
18281 (CLEANFILES): Add euro.pf2.
18282
62a747cb
VS
182832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
18284
18285 * configure.ac: Disable emu-usb by default to prevent inadvertent
18286 device takeover.
18287
608e43b1
VS
182882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 Disable usbserial on grub-emu since our libusb code isn't good enough
18291 yet.
18292
18293 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
18294 (usbserial_pl2303): Likewise.
18295 (usbserial_ftdi): Likewise.
18296
94564f81
VS
182972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * include/grub/disk.h (grub_disk): Remove has_partitions.
18300 All users updated.
18301 * disk/loopback.c (grub_loopback): Remove has_partitions.
18302 All users updated.
18303 (options): Remove partitions. All users updated.
18304 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
18305 * util/i386/pc/grub-setup.c (setup): copy partition table only when
18306 actual partition table is found.
18307
3352800b
VS
183082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 Remove readability checks (too many false negatives).
18311
18312 * util/grub-install.in: Remove readability checks.
18313 * util/grub-mkconfig.in: Likewise.
18314 * util/grub.d/10_hurd.in: Likewise.
18315 * util/grub.d/10_kfreebsd.in: Likewise.
18316 * util/grub.d/10_linux.in: Likewise.
18317 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
18318 way.
18319
2419f17a
VS
183202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 Enable acpi shutdown on all ACPI platforms.
18323
18324 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
18325 on coreboo, multiboot and EFI.
18326 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
18327 (grub_acpi_halt): Likewise.
18328 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
18329 (grub_cmd_halt): Don't call grub_acpi_halt directly.
18330 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
18331 * grub-core/lib/i386/halt.c (grub_halt)
18332 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
18333
0575c7c3
VS
183342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
18337 context.
18338
54ac3cd1
VS
183392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * grub-core/video/efi_gop.c: Fix over-80-chars line.
18342 * grub-core/video/efi_uga.c: Likewise.
18343
b2a30ac5
VS
183442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 Filter devaliases and never open same device twice.
18347
18348 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
18349 (last_ihandle): Likewise.
18350 (ofdisk_hash_ent): New member shortest.
18351 (ofdisk_hash_add): Add canonical path too.
18352 (scan): New function.
18353 (grub_ofdisk_iterate): Iterate over hashed entries.
18354 (compute_dev_path): Don't add :0.
18355 (grub_ofdisk_open): Don't really open the disk.
18356 (grub_ofdisk_close): Avoid closing unrelated disk.
18357 (grub_ofdisk_read): Implement reopen logic.
18358 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
18359 New function.
18360 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
18361 New proto.
18362
fb53b340
VS
183632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18364
18365 Fix sparc64.
18366
18367 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
18368 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
18369 right address. Add sparc64_ieee1275_ldflags.
18370 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
18371 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
18372 to grub_host_to_target_addr
18373 (load_image): Likewise.
18374
f452b040
VS
183752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18376
18377 * grub-core/normal/completion.c (complete_file): Handle device
18378 containing slash.
18379 Fix based on patch by Doug Nazar.
18380
9b5b2541
VS
183812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18382
18383 grub-mknetdir script.
18384
18385 * Makefile.util.def (grub-mknetdir): New module.
18386 * tests/util/grub-shell.in: Support boot=net
18387 * util/grub-mknetdir.in: New file.
18388
9d2be652
VS
183892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 videoinfo on non-vbe.
18392
18393 * grub-core/Makefile.core.def (vbeinfo): Removed.
18394 (vbetest): Removed.
18395 (videoinfo): New module.
18396 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
18397 * grub-core/commands/i386/pc/vbetest.c: Removed.
18398 * grub-core/commands/videoinfo.c: New file.
18399 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
18400 specification.
18401 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
18402 as vbetest.
18403 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
18404 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
18405 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
18406 mode_number. New parameter mode. All users updated.
18407 (grub_video_gop_iterate): New function.
18408 (grub_video_efi_gop): New member iterate.
18409 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
18410 (grub_vbe_set_video_mode): Remove setting useless fields.
18411 (vbe2videoinfo): New function.
18412 (grub_video_vbe_iterate): Likewise.
18413 (grub_video_vbe_setup): Use vbe2videoinfo.
18414 (grub_video_vbe_print_adapter_specific_info): New function.
18415 (grub_video_vbe_adapter): New fields iterate and
18416 print_adapter_specific_info.
18417 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
18418 All users updated.
18419 (grub_video_mode_info): New field mode_number.
18420 (grub_video_adapter): New fields iterate and
18421 print_adapter_specific_info.
18422
179503f5
TG
184232010-09-13 Tristan Gingold <gingold@free.fr>
184242010-09-13 Robert Millan <rmh.grub@aybabtu.com>
184252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 * grub-core/commands/efi/lsefisystab.c: New file.
18428 * grub-core/commands/efi/lssal.c: Likewise.
18429 * grub-core/Makefile.core.def (lsacpi): New module.
18430 (lsefisystab): Likewise.
18431 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
18432 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
18433 (grub_efi_sal_system_table): New struct.
18434 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
18435 (grub_efi_sal_system_table_memory_descriptor): Likewise.
18436 (grub_efi_sal_system_table_platform_features): Likewise.
18437 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
18438 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
18439 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18440 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
18441
cf9827de
VS
184422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18443
18444 Support explicit user claim that a device is BIOS-visible.
18445
18446 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
18447 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
18448 * grub-core/kern/emu/hostdisk.c
18449 (convert_system_partition_to_system_disk): Support mdX.
18450 (find_system_device): New parameter add. All users updated.
18451 (grub_util_biosdisk_is_present): New function.
18452 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
18453 proto.
18454
53f0eb1f
VS
184552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 Search hints support.
18458
18459 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
18460 All users updated.
18461
b23ffd70
YB
184622010-09-13 Yves Blusseau <blusseau@zetam.org>
18463
18464 Bash completion script for util commands
18465
18466 * Makefile.am: Add util/bash-completion.d directory
18467 * configure.ac: Likewise.
18468 * util/bash-completion.d/Makefile.am: New file.
18469 * util/bash-completion.d/grub-completion.bash.in: Likewise.
18470
d547dc28
VS
184712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
18474 (print_backlog): set backlog_ucs4 and backlog_glyphs.
18475 Reported by: Yves Blusseau.
18476
2fc8ccb9
VS
184772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
18480 partition size and offset.
18481
d8a84076
VS
184822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
18485
84fb3b3d
VS
184862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
18489
768ec2e2
VS
184902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18491
18492 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
18493 (grub_xvasprintf): Likewise.
18494
4870900f
VS
184952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18496
18497 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
18498
faca6bec
VS
184992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
18502 args ending with NULL.
18503
185042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
18505
18506 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
18507 pointer.
18508
3c70f225
SJ
185092010-09-11 Szymon Janc <szymon@janc.net.pl>
18510
18511 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
18512
4df7996d
VS
185132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 Shutdown using ACPI.
18516
18517 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
18518 * grub-core/commands/acpihalt.c: New file.
18519 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
18520 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
18521 (grub_acpi_halt): New proto.
18522 (GRUB_ACPI_SLP_EN): New const.
18523 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
18524 (GRUB_ACPI_OPCODE_*): New enum.
18525 (GRUB_ACPI_EXTOPCODE_*): Likewise.
18526
126b4c32
TG
185272010-09-11 Tristan Gingold <gingold@free.fr>
185282010-09-11 Robert Millan <rmh.grub@aybabtu.com>
185292010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 * commands/lsacpi.c: New file.
18532 * grub-core/Makefile.core.def (lsacpi): New module.
18533 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
18534 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
18535 (grub_acpi_madt_entry_header): New struct.
18536 (grub_acpi_madt): Likewise.
18537 (grub_acpi_madt_entry_interrupt_override): Likewise.
18538 (grub_acpi_madt_entry_sapic): Likewise.
18539 (grub_acpi_madt_entry_lsapic): Likewise.
18540 (grub_acpi_madt_entry_platform_int_source): Likewise.
18541 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
18542 (PRIuGRUB_UINT32_T): Likewise.
18543 (PRIxGRUB_UINT64_T): Likewise.
18544
1aa4fe88
VS
185452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18546
18547 Implement loading palette on ieee1275_fb.
18548
18549 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
18550 (have_setcolors): Likewise.
18551 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
18552 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
18553 (grub_video_ieee1275_set_palette): Implement.
18554
25761e13
VS
185552010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
185562010-09-11 Colin Watson <cjwatson@ubuntu.com>
18557
18558 * util/grub-install.in (grub_partition): New variable.
18559 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
18560 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
18561 Fixes a bug reported by Yves Blusseau.
18562
050abaea
VS
185632010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
18564
18565 Fix emu on mipsel.
18566
18567 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
18568 =grub_cpu_flush_cache on all mips and not only yeeloong.
18569 * configure.ac (COND_mips): New conditional.
18570 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
18571 platforms.
18572 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
18573 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
18574 [GRUB_LINKER_HAVE_INIT]: New function.
18575 (grub_emu_post_init): Likewise.
18576 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
18577 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
18578 * include/grub/cache.h (_mips): Include mips/cache.h.
18579 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
18580 LVM and RAID prototypes.
18581 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
18582 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
18583 function.
18584
5ed7d816
CW
185852010-09-10 Colin Watson <cjwatson@ubuntu.com>
18586
18587 * util/grub-install.in: Don't try to verify core.img until after
18588 running grub-mkimage to create it.
18589
90367e04
RM
185902010-09-10 Robert Millan <rmh@gnu.org>
18591
18592 * util/grub.d/10_hurd.in: Add misc readability checks.
18593 * util/grub.d/10_kfreebsd.in: Likewise.
18594 * util/grub.d/10_linux.in: Likewise.
18595
c452fa66
CW
185962010-09-10 Colin Watson <cjwatson@ubuntu.com>
18597
18598 * util/grub-install.in: ${imgext} won't be defined here until the
18599 install branch is merged. For the meantime, only verify core.img on
18600 i386-pc and sparc64-ieee1275 platforms.
18601
c38fe9f4
RM
186022010-09-10 Robert Millan <rmh@gnu.org>
18603
18604 Solaris support in grub_find_zpool_from_dir(). Thanks
18605 Seth Goldberg for referring to getextmntent() facility.
18606
18607 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
18608 `sys/mkdev.h'.
18609 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
18610 `<sys/mnttab.h>'.
18611 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
18612 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
18613 method for finding zpool name.
18614
905f7773
CW
186152010-09-10 Colin Watson <cjwatson@ubuntu.com>
18616
18617 grub-fstest needs the host and hostfs modules while other utilities
18618 actively require those modules to be absent, so grub-fstest needs
18619 its own initialisation and finalisation code.
18620
18621 * Makefile.am (grub_fstest.pp): New target.
18622 (grub_fstest_init.lst): Likewise.
18623 (grub_fstest_init.c): Likewise.
18624 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
18625
fb90b546
RM
186262010-09-10 Robert Millan <rmh@gnu.org>
18627
18628 * configure.ac: Check for `struct statfs.f_fstypename' and
18629 `struct statfs.f_mntfromname'.
18630
18631 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
18632 kFreeBSD-specific code.
18633
66d4bea5
RM
186342010-09-10 Robert Millan <rmh@gnu.org>
18635
18636 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
18637 on ZFS. Now non-main filesystems are supported as / too.
18638
b6a690ee
CW
186392010-09-09 Colin Watson <cjwatson@ubuntu.com>
18640
18641 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
18642 and grub-core/disk/host.c to ...
18643 (grub-fstest): ... here. Having the host disk implementation
18644 present confuses grub-probe and other utility programs.
18645
18646 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
18647 when writing to a file, not when writing to stdout.
18648
8901b00c 186492010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
18650
18651 * tests/partmap_test.in: New test for partitions.
18652 * Makefile.util.def: Rules for new test.
18653
7bf45fdd
RM
186542010-09-09 Robert Millan <rmh@gnu.org>
18655
18656 * util/grub-probe.c (probe): Fix a pair of unhandled error
18657 conditions.
18658
4dfbc574
RM
186592010-09-09 Robert Millan <rmh@gnu.org>
18660
18661 Basic Btrfs support (detection and UUID).
18662
18663 * grub-core/fs/btrfs.c: New file.
18664 * Makefile.util.def (library): Register btrfs.c.
18665 * grub-core/Makefile.core.def: Likewise.
18666
6b8e78ae
RM
186672010-09-08 Robert Millan <rmh@gnu.org>
18668
18669 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
18670 with (optional) parameters to specify device and relative path.
18671 * util/grub-install.in: Use is_path_readable_by_grub() to
18672 verify readability of a few critical files.
18673 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
18674 verify readability of grub.cfg.new.
18675
27f21a8b
VS
186762010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 Split minix.mod into minix.mod and minix2.mod.
18679
18680 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
18681 * grub-core/Makefile.core.def (minix2): New module.
18682 * grub-core/fs/minix.c: Use definitions instead of runtime version
18683 checking.
18684 * grub-core/fs/minix2.c: New file.
18685
c0e53ea5
YB
186862010-09-08 Yves Blusseau <blusseau@zetam.org>
18687
18688 Add new --boot-directory option to replace --root-directory
18689
18690 * util/grub-install.in: Add new --boot-directory option
18691 * util/grub-reboot.in: Likewise.
18692 * util/grub-set-default.in: Likewise.
18693
b9fe6ea2
YB
186942010-09-08 Yves Blusseau <blusseau@zetam.org>
18695
18696 * util/grub-mkconfig.in: Use new variable.
18697
d87aedff
YB
186982010-09-08 Yves Blusseau <blusseau@zetam.org>
18699
18700 * configure.ac: Define some useful variables.
18701
e55e8495
VS
187022010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
18703
18704 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18705 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
18706 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
18707 Use terminfo and don't use cursor-on/cursor-off unless it's known
18708 to work.
18709 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
18710 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
18711
6fa6d675
CW
187122010-09-08 Colin Watson <cjwatson@ubuntu.com>
18713
18714 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
18715 starts with "(,", fill the drive containing the loaded image in
18716 between those two characters, but expect that a full partition
18717 specification including partition map names will follow.
18718
92f2aef0
RM
187192010-09-08 Robert Millan <rmh@gnu.org>
18720
18721 * configure.ac: Remove `--enable-grub-fstest' option.
18722 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
18723
18724 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
18725 `grub-fstest' instead of `grub-probe' for readability verification.
18726 * util/grub-probe.c (probe): Remove readability verification kludge.
18727
99fd620d
RM
187282010-09-08 Robert Millan <rmh@gnu.org>
18729
18730 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
18731 initializing `GRUB_FS'.
18732
058e30ac 187332010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
18734
18735 Not command (!) support to GRUB script.
18736
18737 * tests/grub_script_not.in: New test.
18738 * Makefile.util.def: Rules for new test.
18739
18740 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18741 ! command as a special case.
18742 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
18743
b61d05ed 187442010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18745
058e30ac 18746 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
18747 grub_free.
b61d05ed 18748
4d69c786 187492010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18750
18751 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
18752
aa3119c4 187532010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
18754
18755 * docs/grub.texi (Shell-like scripting): Documentation for break,
18756 continue, shift and return commands.
18757
db0f7e3d
VS
187582010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
18759
18760 Rename CD-ROM to cd on BIOS.
18761
18762 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
18763 "cd".
18764 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
18765
88b87c93
VS
187662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
18769 * util/grub-probe.c (main): Likewise.
18770 * util/i386/pc/grub-setup.c (main): Likewise.
18771 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18772 Reported and debugged by: alexxy
18773
294f324d
VS
187742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18775
18776 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
18777 diagnostic info.
18778
d7ee3441
JS
187792010-09-05 Jo Shields <directhex@apebox.org>
18780
18781 * util/grub.d/30_os-prober.in: Add missing classes.
18782
d7e06c1f
VS
187832010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18784
18785 * docs/grub.texi (Theme file format): Document new position format.
18786
fc157e53
VS
187872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18788
18789 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
18790 a table. Use @code instead of @verbatim.
18791
506e9a1c
CB
187922010-09-05 Colin D Bennett <colin@gibibit.com>
18793
18794 Gfxmenu documentation.
18795
18796 * docs/grub.texi (Theme file format): New chapter.
18797
f0aff67c
SJ
187982010-09-05 Szymon Janc <szymon@janc.net.pl>
18799
18800 * grub-core/Makefile.core.def (xzio): New module.
18801 * grub-core/io/xzio.c: New file.
18802 * grub-core/lib/xzembed/xz.h: New file (from xembed).
18803 * grub-core/lib/xzembed/xz_config.h: Likewise.
18804 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
18805 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
18806 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
18807 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
18808 * grub-core/lib/xzembed/xz_private.h: Likewise.
18809 * grub-core/lib/xzembed/xz_stream.h: Likewise.
18810 * include/grub/file.h (grub_file_filter_id): New compression filter
18811 GRUB_FILE_FILTER_XZIO.
18812
82a85062
VS
188132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
18816 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
18817 size.
18818
3579415d
VS
188192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
18822 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
18823
5124ae6d
VS
188242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 Uncompressed checksum support.
18827
18828 * grub-core/commands/hashsum.c (options): Add option --uncompress.
18829 (check_list): New parameter uncompress.
18830 (grub_cmd_hashsum): Handle --uncompress.
18831
9aadb3d1
VS
188322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 Reintroduce testload.
18835
18836 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
18837 from here ...
18838 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
18839 (GRUB_MOD_INIT): New function.
18840 (GRUB_MOD_FINI): Likewise.
18841 * grub-core/Makefile.core.def (testload): New module.
18842
a17792c3
SJ
188432010-09-05 Szymon Janc <szymon@janc.net.pl>
18844
18845 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
18846 (uint8_t): New type.
18847 (uint16_t): Likewise.
18848 (uint32_t): Likewise.
18849 (uint64_t): Likewise.
18850
b81e40a3
SJ
188512010-09-05 Szymon Janc <szymon@janc.net.pl>
18852
18853 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
18854
fc2ef117
VS
188552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
18856
18857 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
18858 Made static.
18859 (grub_gzfile_open): Removed. All users updated.
18860 (GRUB_MOD_INIT): New function.
18861 (GRUB_MOD_FINI): Likewise.
18862 * grub-core/kern/file.c (grub_file_filters_all): New variable.
18863 (grub_file_filters_enabled): Likewise.
18864 (grub_file_open): Handle filters.
18865 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
18866 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
18867 * include/grub/file.h (grub_file_filter_id_t): New type.
18868 (grub_file_filter_t): Likewise.
18869 (grub_file_filters_all): New extern variable.
18870 (grub_file_filters_enabled): Likewise.
18871 (grub_file_filter_register): New inline function.
18872 (grub_file_filter_unregister): Likewise.
18873 (grub_file_filter_disable): Likewise.
18874 (grub_file_filter_disable_compression): Likewise.
18875 * include/grub/gzio.h: Removed.
18876
35ee15e0
BC
188772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18878
18879 Filename expansion support for wildcards in GRUB script.
18880
18881 * tests/grub_script_expansion.in: New test.
18882 * Makefile.util.def: Rule for new test.
18883
18884 * grub-core/commands/wildcard.c: New file, implements filename
18885 expansion support for GRUB script.
18886 * grub-core/Makefile.core.def: Rule update for regexp.mod.
18887 * grub-core/script/argv.c: Cosmetic changes.
18888 * grub-core/script/execute.c (grub_script_arglist_to_argv):
18889 Refactored to perform wildcard expansion on arguments.
18890 * include/grub/script_sh.h (grub_script_wildcard_translator): New
18891 struct.
18892
18893 * tests/util/grub-shell.in: Fix quoting for read input.
18894
5f0c4aca
BC
188952010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18896
18897 Support for updating environment variables with matched substrings
18898 of regexp.
18899
18900 * tests/grub_cmd_regexp.in: New test.
18901 * Makefile.util.def: Rule for new test.
18902
18903 * grub-core/commands/regexp.c: New option -s to update environment
18904 variables with regexp matches.
18905
3759a35f
SJ
189062010-09-04 Szymon Janc <szymon@janc.net.pl>
18907
18908 * include/grub/file.h (grub_file): New member not_easly_seekable.
18909 (grub_file_seekable): New inline function.
18910 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
18911 easily seekable.
18912 (grub_gzio_open): Set not_easly_seekable.
18913 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
18914 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
18915
ed8c6dec
BC
189162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18917
18918 Support for options to appear multiple times on cmdline.
18919
18920 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
18921 * grub-core/commands/extcmd.c: Support for repeatable option.
18922 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
18923 repeatable option support.
18924
18925 Refactor menuentry into a regular command.
18926
18927 * grub-core/commands/menuentry.c: New file, menuentry command
18928 implementation.
18929 * grub-core/Makefile.core.def: Rule update for normal.mod.
18930 * grub-core/normal/main.c: Moved menuentry creation to
18931 grub-core/commands/menuentry.c.
18932 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
18933 (grub_menu_execute_entry_real): Removed.
18934 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
18935 function.
18936 (grub_script_execute_menuentry): Removed.
18937 * grub-core/script/parser.y (menuentry): Removed.
18938 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
18939 * grub-core/script/yylex.l (menuentry): Removed.
18940 * include/grub/menu.h (grub_menu_init): New prototype.
18941 (grub_menu_fini): New prototype.
18942 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
18943 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
18944 (grub_script_execute_sourcecode): New prototype.
18945
dacd0cf0
BC
189462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18947
18948 "return" command for GRUB script functions.
18949
18950 * tests/grub_script_return.in: New test.
18951 * Makefile.util.def: Rules for new test.
18952
18953 * grub-core/script/execute.c (grub_script_return): New function.
18954 * grub-core/script/main.c: Register/unregister return commaond.
18955 * include/grub/script_sh.h (grub_script_return): New prototype.
18956
52e72f9d
BC
189572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18958
18959 "setparams" command to update positional parameters.
18960
18961 * tests/grub_script_setparams.in: New test.
18962 * Makefile.util.def: Rules for new test.
18963
18964 * grub-core/script/argv.c (grub_script_argv_make): New function.
18965 * grub-core/script/execute.c (replace_scope): New function.
18966 (grub_script_setparams): New function.
18967 * grub-core/script/lexer.c: Remove unused variables.
18968 * grub-core/script/main.c: Register/unregister setparams command.
18969 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
18970 (grub_script_setparams): New prototype.
18971
25b60c91
BC
189722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18973
18974 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
18975 grub_free order.
18976
37e7bf68
BC
189772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18978
18979 Support for passing block of commands as an argument to extcmds.
18980
18981 * Makefile.util.def: Rules for new test.
18982 * tests/grub_script_blockarg.in: New test.
18983 * grub-core/tests/test_blockarg.c: New file, block argument
18984 command used in the test.
18985
18986 * include/grub/extcmd.h (grub_extcmd_context): New struct.
18987 (grub_register_extcmd_prio): New function prototype.
18988 (grub_extcmd_dispatcher): New function prototype.
18989 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
18990 type.
18991 * include/grub/script_sh.h (struct grub_script): New members
18992 `children', `next_siblings' and `refcnt' for block arguments and
18993 reference counting.
18994 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
18995 (grub_script_arg): New member `script' for block argument.
18996 (grub_script_argv): New member `script' for block argument.
18997 (grub_parser_param): New member `scripts' for block argument.
18998 (grub_script_mem_free): New extern function prototype.
18999 (grub_script_ref): New function prototype.
19000 (grub_script_unref): New function prototype.
19001
19002 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
19003 extcmd form to support block arguments.
19004 * grub-core/script/argv.c: Block arguments support.
19005 * grub-core/script/execute.c: Likewise.
19006 * grub-core/script/lexer.c: Likewise.
19007 * grub-core/script/main.c: Likewise.
19008 * grub-core/script/script.c: Likewise.
19009 * grub-core/script/parser.y: Likewise. New `block' and `block0'
19010 non-terminals.
19011
19012 * grub-core/commands/acpi.c: Update extcmd implementations with
19013 grub_extcmd_context_t.
19014 * grub-core/commands/cat.c: Likewise.
19015 * grub-core/commands/echo.c: Likewise.
19016 * grub-core/commands/extcmd.c: Likewise.
19017 * grub-core/commands/hashsum.c: Likewise.
19018 * grub-core/commands/hdparm.c: Likewise.
19019 * grub-core/commands/help.c: Likewise.
19020 * grub-core/commands/hexdump.c: Likewise.
19021 * grub-core/commands/i386/cpuid.c: Likewise.
19022 * grub-core/commands/i386/pc/drivemap.c: Likewise.
19023 * grub-core/commands/i386/pc/halt.c: Likewise.
19024 * grub-core/commands/i386/pc/sendkey.c: Likewise.
19025 * grub-core/commands/iorw.c: Likewise.
19026 * grub-core/commands/keystatus.c: Likewise.
19027 * grub-core/commands/loadenv.c: Likewise.
19028 * grub-core/commands/ls.c: Likewise.
19029 * grub-core/commands/lspci.c: Likewise.
19030 * grub-core/commands/memrw.c: Likewise.
19031 * grub-core/commands/probe.c: Likewise.
19032 * grub-core/commands/search_wrap.c: Likewise.
19033 * grub-core/commands/setpci.c: Likewise.
19034 * grub-core/commands/sleep.c: Likewise.
19035 * grub-core/disk/loopback.c: Likewise.
19036 * grub-core/hello/hello.c: Likewise.
19037 * grub-core/loader/i386/bsd.c: Likewise.
19038 * grub-core/loader/xnu.c: Likewise.
19039 * grub-core/term/gfxterm.c: Likewise.
19040 * grub-core/term/serial.c: Likewise.
19041 * grub-core/tests/lib/functional_test.c: Likewise.
19042
888d1500
BC
190432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
19044
19045 Multi-line quoted strings support.
19046
19047 * grub-core/script/lexer.c (append_newline): Removed.
19048 (grub_script_lexer_yywrap): Refactored.
19049 (grub_script_lexer_init): Refactored.
19050 * grub-core/script/yylex.l (yywrap): New function.
19051 (grub_lexer_resplit): New function.
19052 (grub_lexer_unput): New function.
19053 * include/grub/script_sh.h (grub_lexer_param): New members, unput
19054 and resplit.
19055 * tests/grub_script_echo1.in: Added few more testcases.
19056
dda060dd
VS
190572010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 * grub-core/kern/misc.c: Don't add abort alias in utils.
19060 Reported by: echoline.
19061
6556eba9
BC
190622010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
19063
19064 Add missing files into "make dist" tarball for other platforms.
19065
19066 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
19067 * conf/Makefile.common (dist_noinst_DATA): New variable.
19068 * conf/Makefile.extra-dist: Added missing make dist files.
19069 * grub-core/Makefile.core.def: Likewise.
19070
c8e7bf5f
VS
190712010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19072
19073 Compress grub_prefix.
19074
19075 * grub-core/boot/i386/pc/lnxboot.S: Use
19076 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
19077 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
19078 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
19079 GRUB_MACHINE_PREFIX_END. All users updated.
19080 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
19081 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
19082 + 0x40.
19083 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
19084 * util/grub-mkimage.c (image_target_desc): Change data_end to
19085 prefix_end. All users updated.
19086
a7c00cdb
VS
190872010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
19090 value.
19091 (grub_openbsd_boot): Likewise.
19092 (grub_netbsd_boot): Likewise.
19093 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
19094 (grub_xnu_boot): Likewise.
19095
9f915872
VS
190962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * configure.ac: Clean LIBS variable after tests.
19099
efa1bee7
CW
191002010-09-02 Colin Watson <cjwatson@ubuntu.com>
19101
19102 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
19103
61d720e5
VS
191042010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
19107 echo if libdevmapper will be used.
19108
ef8e0ec8
IT
191092010-09-02 Ian Turner <Ian.Turner@deshaw.com>
19110
19111 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
19112 constant for the same file.
19113
03e261d8
VS
191142010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19115
19116 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
19117
c2a4eba6
CW
191182010-09-02 Colin Watson <cjwatson@ubuntu.com>
19119
19120 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
19121 grub-core/*.pp.
19122
9056cbf3
CW
191232010-09-02 Colin Watson <cjwatson@ubuntu.com>
19124
19125 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
19126 required by the boot protocol.
19127
19128 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
19129 ebp and edi members.
19130 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
19131 state.ebp and state.edi.
19132 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
19133 %ebp and %edi according to grub_relocator32_ebp and
19134 grub_relocator32_edi respectively.
19135 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
19136 and state.edi.
19137
529cc99a
VS
191382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19139
19140 Add i386-pc-pxe image target.
19141
19142 * util/grub-mkimage.c (image_target_desc): New enum value
19143 IMAGE_I386_PC_PXE.
19144 (image_targets): New target i386-pc-pxe.
19145 (generate_image): Handle i386-pc-pxe image.
19146
9a093920
VS
191472010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19148
19149 Fix grub_pxe_scan.
19150
19151 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
19152 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
19153 All users updated.
19154 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
19155 (grub_pxe_pxenv): Correct type.
19156
f9cefc4e
CW
191572010-09-01 Colin Watson <cjwatson@ubuntu.com>
19158
19159 * NEWS: Document most of the important changes since 1.98.
19160
4066f57f
CW
191612010-09-01 Colin Watson <cjwatson@ubuntu.com>
19162
19163 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
19164 generated manual page) a little.
19165
da2891f9
CW
191662010-09-01 Colin Watson <cjwatson@ubuntu.com>
19167
19168 * docs/grub.texi: Add myself as an author.
19169
ad717fae
VS
191702010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * Makefile.util.def (libgrub.a): Add missing sunpc.
19173 Reported by: Seth Goldberg.
19174
eefe8abd
VS
191752010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 Interrupt wrapping and code simplifications.
19178
9494ef9a
VS
19179 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
19180 x86_noieee1275 which are functionaly equivalent in this case.
19181 (grub-install): Make source on each platform explicit. Enable on
19182 all noemu.
19183 * gentpl.py (x86_efi_pc): Removed group.
19184 (x86_noefi): Likewise.
19185 (i386_noefi): Likewise.
19186 (x86_noieee1275): Likewise.
19187 (i386_noieee1275): Likewise.
19188 (i386_noefi_noieee1275): Likewise.
19189 (i386_pc_qemu_coreboot): Likewise.
19190 (i386_coreboot_multiboot): Likewise.
19191 (i386_pc_coreboot_multiboot_qemu): Likewise.
19192 (x86_noefi_mips): Likewise.
19193 (noieee1275): Likewise.
19194 (ieee1275_mips): Likewise.
19195 (noemu_noieee1275): Likewise.
19196 (cmos): New group.
19197 (usb): Likewise.
19198 (videoinkernel): Likewise.
19199 (videomodules): Likewise.
eefe8abd 19200 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
19201 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
19202 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
19203 include/grub/loader.h, include/grub/msdos_partition.h,
19204 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
19205 include/grub/machine/console.h, include/grub/machine/vga.h,
19206 include/grub/machine/vbe.h, include/grub/machine/init.h,
19207 include/grub/machine/kernel.h, include/grub/cpu/time.h,
19208 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 19209 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
19210 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
19211 * grub-core/Makefile.core.def (kernel): Explicit the source for
19212 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
19213 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
19214 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
19215 Use videoinkernel tag.
19216 (usb): Enable on all usb.
19217 (usbserial_common): Likewise.
19218 (usbserial_pl2303): Likewise.
19219 (usbserial_ftdi): Likewise.
19220 (uhci): Enable on all x86.
19221 (ohci): Enable on all pci.
19222 (cmostest): Enable on all CMOS.
19223 (acpi): Include commands/acpi.c on all platforms.
19224 (halt): Add relevant lib/*/halt.c.
19225 (hdparm): Enable on all pci.
19226 (lspci): Likewise.
19227 (usbtest): Enable on all usb.
19228 (ata): Enable on all pci.
19229 (ata_pthru): Likewise.
19230 (usbms): Enable on all usb.
19231 (usb_keyboard): Likewise.
19232 (font): Use tag videomodules.
19233 (bufio): Likewise.
19234 (datetime): Use tag cmos. Enable on all noemu.
19235 (mmap): Use tags common and x86.
19236 (gfxterm): Use tag videomodules.
19237 (bitmap): Likewise.
19238 (bitmap_scale): Likewise.
19239 (video_fb): Likewise.
19240 (video): Likewise.
19241 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
19242 adjust padding accordingly. All users updated.
19243 (grub_ohci_transaction): Fix bad format specification.
19244 (GRUB_MOD_INIT): Add asserts for struct size.
19245 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
19246 (grub_alloc_td): Likewise.
19247 (grub_free_queue): Likewise.
19248 (grub_uhci_transfer): Likewise.
19249 (grub_uhci_transaction): Fix bad format specification.
19250 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19251 (grub_usb_bulk_readwrite): Likewise.
19252 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
19253 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
19254 Made static.
19255 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
19256 Made static.
19257 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
19258 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
19259 Transformed into C.
19260 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
19261 Moved from here ...
19262 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
19263 ... here. Transformed into C. Made static.
19264 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
19265 Moved from here ...
19266 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
19267 ... here. Transformed into C. Made static.
19268 * grub-core/kern/i386/pc/startup.S
19269 (grub_biosdisk_check_int13_extensions): Moved from here ...
19270 * grub-core/disk/i386/pc/biosdisk.c
19271 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
19272 Made static.
19273 * grub-core/kern/i386/pc/startup.S
19274 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
19275 * grub-core/disk/i386/pc/biosdisk.c
19276 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
19277 Transformed into C. Made static.
19278 * grub-core/kern/i386/pc/startup.S
19279 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
19280 * grub-core/disk/i386/pc/biosdisk.c
19281 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
19282 Transformed into C. Made static.
19283 * grub-core/kern/i386/pc/startup.S
19284 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
19285 * grub-core/disk/i386/pc/biosdisk.c
19286 (grub_biosdisk_get_diskinfo_standard): ... here.
19287 Transformed into C. Made static.
19288 * grub-core/kern/i386/pc/startup.S
19289 (grub_biosdisk_get_num_floppies): Moved from here ...
19290 * grub-core/disk/i386/pc/biosdisk.c
19291 (grub_biosdisk_get_num_floppies): ... here.
19292 Transformed into C. Made static.
19293 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
19294 New function.
19295 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
19296 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
19297 Transformed into C. Made static.
19298 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
19299 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
19300 Transformed into C. Made static.
19301 * grub-core/kern/i386/ieee1275/init.c: Removed.
19302 * grub-core/kern/i386/misc.S: Likewise.
19303 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
19304 Splitted from here ...
19305 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
19306 Transformed into C. Made static. All users updated.
19307 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
19308 Transformed into C. Made static. All users updated.
19309 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
19310 Moved from here...
19311 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
19312 Transformed into C. Made static. All users updated.
19313 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
19314 Moved from here...
19315 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
19316 Transformed into C. Made static. All users updated.
19317 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
19318 Removed (replaced by C version).
19319 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
19320 Moved from here...
19321 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
19322 Transformed into C. Made static.
19323 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
19324 Moved from here...
19325 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
19326 ... here. Transformed into C.
19327 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
19328 Moved from here...
19329 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
19330 ... here. Transformed into C.
19331 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
19332 Moved from here...
19333 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
19334 ... here. Transformed into C. Made static.
19335 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
19336 Moved from here...
19337 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
19338 ... here. Transformed into C.
21ed554b
VS
19339 * grub-core/kern/i386/pc/startup.S
19340 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
19341 * grub-core/video/i386/pc/vbe.c
19342 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
19343 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
19344 Moved from here...
19345 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
19346 ... here. Transformed into C.
19347 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
19348 Moved from here...
19349 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
19350 ... here. Transformed into C.
19351 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
19352 Moved from here...
19353 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
19354 ... here. Transformed into C.
19355 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
19356 Moved from here...
19357 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
19358 ... here. Transformed into C.
19359 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
19360 Moved from here...
19361 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
19362 ... here. Transformed into C. Made static.
19363 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
19364 Moved from here...
19365 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
19366 ... here. Transformed into C. Made static.
19367 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
19368 Moved from here...
19369 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
19370 ... here. Transformed into C. Made static.
19371 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
19372 pxe_rm_entry as third argument.
19373 (grub_bios_interrupt): New function.
19374 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
19375 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
19376 of calling grub_stop.
19377 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
19378 * grub-core/lib/efi/halt.c (grub_halt): ...here.
19379 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
19380 * grub-core/lib/emu/halt.c (grub_halt): ... here.
19381 * grub-core/lib/i386/halt.c: Moved from here ...
19382 * grub-core/lib/i386/halt.c: ... here.
19383 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
19384 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
19385 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
19386 grub_stop_floppy.
19387 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
19388 * include/grub/i386/coreboot/init.h: Removed.
19389 * include/grub/i386/multiboot/init.h: Likewise.
19390 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
19391 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
19392 * include/grub/i386/pc/int.h: New file.
19393 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
19394 (grub_pxe_scan): Removed.
19395 (grub_pxe_call): Update prototype.
19396 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
19397 prototypes.
19398 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
19399 * include/grub/i386/qemu/init.h: Removed.
19400 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
19401 noreturn.
19402 (grub_halt): Likewise.
19403 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
19404 (grub_reboot): Likewise.
19405 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
19406 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
19407 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
19408
215dd471
RM
194092010-08-30 Robert Millan <rmh@gnu.org>
19410
19411 * NEWS: Document addition of ZFS support in `grub-install' and
19412 `grub-mkconfig'.
19413
ebd65b82
BC
194142010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
19415
19416 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
19417 dprintf output.
19418
11721d19
VS
194192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19420
19421 Remove leftover embedding of font objects.
19422
19423 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19424 * util/grub-install.in (font): Removed.
19425 * util/grub-mkimage.c (generate_image): Remove font support. All users
19426 updated.
19427
37837d4e
VS
194282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 Remove leftover embedding of font objects.
19431
19432 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
19433 * util/grub-install.in (font): Removed.
19434 * util/grub-mkimage.c (generate_image): Remove font support. All users
19435 updated.
19436
b4c1aae0
VS
194372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 19440 Reported by: Ian Turner
b4c1aae0 19441
8920a08d
VS
194422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
19445 timeout to avoid indefinite boot stalling.
19446
f21db033
VS
194472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19448
19449 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
19450 (grub_env_write_color_highlight): Likewise.
19451
9a9de209
VS
194522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19453
19454 * grub-core/normal/term.c (print_more): Return to normal and not
19455 to standard state after printing "---MORE---".
19456
3dca01d7
VS
194572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19458
19459 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
19460 Mask out the bit 0x80 since it has other meaning that specifiing color.
19461
0b986c40
VS
194622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 New relocator. Allows for more kernel support and more straightforward
19465 loader writing.
19466
19467 * Makefile.am (BOOTTARGET): New variable.
19468 (QEMU32): Likewise.
19469 (linux.init.x86_64): New target.
19470 (linux.init.i386): Likewise.
19471 (multiboot.elf): Likewise.
19472 (kfreebsd.elf): Likewise.
19473 (kfreebsd.aout): Likewise.
19474 (pc-chainloader.elf): Likewise.
19475 (pc-chainloader.bin): Likewise.
19476 (ntldr.elf): Likewise.
19477 (ntldr.bin): Likewise.
19478 (multiboot2.elf): Likewise.
19479 (kfreebsd.init.x86_64): Likewise.
19480 (kfreebsd.init.i386): Likewise.
19481 (knetbsd.init.i386): Likewise.
19482 (kopenbsd.init.i386): Likewise.
19483 (knetbsd.init.x86_64): Likewise.
19484 (kopenbsd.init.x86_64): Likewise.
19485 (linux-initramfs.i386): Likewise.
19486 (linux-initramfs.x86_64): Likewise.
19487 (kfreebsd-mfsroot.i386.img): Likewise.
19488 (knetbsd.image.i386): Likewise.
19489 (kopenbsd.image.i386): Likewise.
19490 (kopenbsd.image.x86_64): Likewise.
19491 (knetbsd.miniroot-image.i386.img): Likewise.
19492 (kfreebsd-mfsroot.x86_64.img): Likewise.
19493 (knetbsd.image.x86_64): Likewise.
19494 (knetbsd.miniroot-image.x86_64.img): Likewise.
19495 (kfreebsd-mfsroot.i386.gz): Likewise.
19496 (bootcheck-kfreebsd-i386): Likewise.
19497 (kfreebsd-mfsroot.x86_64.gz): Likewise.
19498 (bootcheck-kfreebsd-x86_64): Likewise.
19499 (knetbsd.miniroot-image.i386.gz): Likewise.
19500 (bootcheck-knetbsd-i386): Likewise.
19501 (bootcheck-kopenbsd-i386): Likewise.
19502 (bootcheck-kopenbsd-x86_64): Likewise.
19503 (knetbsd.miniroot-image.x86_64.gz): Likewise.
19504 (bootcheck-knetbsd-x86_64): Likewise.
19505 (bootcheck-linux-i386): Likewise.
19506 (bootcheck-linux-x86_64): Likewise.
19507 (bootcheck-linux16-i386): Likewise.
19508 (bootcheck-linux16-x86_64): Likewise.
19509 (bootcheck-multiboot): Likewise.
19510 (bootcheck-multiboot2): Likewise.
19511 (bootcheck-kfreebsd-aout): Likewise.
19512 (bootcheck-pc-chainloader): Likewise.
19513 (bootcheck-ntldr): Likewise.
19514 (CLEANFILES): Add new targets.
19515 (BOOTCHECKS): New variable.
19516 (.PHONY): Add bootchecks.
19517 (SUCCESSFUL_BOOT_STRING): New variable.
19518 (BOOTCHECK_TIMEOUT): Likewise.
19519 (bootcheck): New target
19520 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
19521 * configure.ac: Correct efiemu excuse.
19522 * docs/grub.texi (Supported kernels): New chapter.
19523 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
19524 include/grub/mm_private.h. Simplify inclusion of
19525 include/grub/boot.h, include/grub/loader.h
19526 and include/grub/msdos_partition.h
19527 (KERNEL_HEADER_FILES) [i386_coreboot]:
19528 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
19529 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
19530 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
19531 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
19532 include/grub/machine/loader.h.
19533 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
19534 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
19535 extra_dist.
19536 (pci.mod): Enable on i386-multiboot.
19537 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
19538 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
19539 i386-qemu.
19540 (relocator.mod): Rewritten.
19541 (aout.mod): Enable on all x86.
19542 (bsd.mod): Likewise.
19543 (ntldr.mod): New module.
19544 (linux.mod): Use loader/i386/linux.c on all x86.
19545 (xnu.mod): Enable on all x86.
19546 (vga_text.mod): disable on EFI and QEMU.
19547 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
19548 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
19549 * grub-core/efiemu/loadcore.c: Likewise.
19550 * grub-core/efiemu/main.c: Likewise.
19551 (grub_efiemu_exit_boot_services): Removed.
19552 (grub_efiemu_finish_boot_services): Likewise.
19553 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
19554 function.
19555 * grub-core/efiemu/i386/nocfgtables.c: New file.
19556 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
19557 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
19558 (grub_efi_finish_boot_services): Moved from here ...
19559 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
19560 Fille finish memory map and related data.
19561 (finish_mmap_buf): New variable.
19562 (grub_efi_uintn_t finish_mmap_size): Likewise.
19563 (grub_efi_uintn_t finish_key): Likewise.
19564 (grub_efi_uintn_t finish_desc_size): Likewise.
19565 (grub_efi_uint32_t finish_desc_version): Likewise.
19566 (grub_efi_is_finished): Likewise.
19567 (grub_efi_get_memory_map): Use saved memory map if EFI is already
19568 finished.
19569 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
19570 (grub_elf64_phdr_iterate): Likewise.
19571 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
19572 (grub_os_area_size): Likewise.
19573 (grub_machine_init): Don't reserve os area.
19574 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
19575 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
19576 * grub-core/kern/i386/loader.S: Removed.
19577 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
19578 (grub_os_area_size): Likewise.
19579 (grub_machine_init): Don't reserve os area.
19580 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
19581 Don't call grub_dl_unload_all.
19582 Don't include loader.S.
19583 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
19584 Declare the memory after _end as available.
19585 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 19586 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 19587 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
19588 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
19589 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
19590 * include/grub/mm_private.h (grub_mm_header): ... here.
19591 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
19592 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
19593 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
19594 (grub_mm_region): ..here. Removed addr. Added pre_size.
19595 All users updated.
19596 * grub-core/kern/mm.c (base): Renamed to ...
19597 (grub_mm_base): ... this. Made global.
19598 (grub_real_malloc): Alloc from end of region.
19599 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
19600 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
19601 * grub-core/kern/powerpc/cache_flush.S: ... here.
19602 * grub-core/lib/efi/relocator.c: New file.
19603 * grub-core/lib/i386/relocator.c: Rewritten.
19604 * grub-core/lib/i386/relocator16.S: New file.
19605 * grub-core/lib/i386/relocator32.S: Likewise.
19606 * grub-core/lib/i386/relocator64.S: Likewise.
19607 * grub-core/lib/i386/relocator_asm.S: Rewritten.
19608 * grub-core/lib/i386/relocator_common.S: New file.
19609 * grub-core/lib/ieee1275/relocator.c: Likewise.
19610 * grub-core/lib/mips/relocator.c: Rewritten.
19611 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
19612 stylistic adjustments.
19613 * grub-core/lib/powerpc/relocator.c: New file.
19614 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
19615 * grub-core/lib/relocator.c: Rewritten.
19616 * grub-core/lib/x86_64/relocator_asm.S: New file.
19617 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
19618 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
19619 (bsd_tag): New struct.
19620 (tags): New variable.
19621 (tags_last): Likewise.
19622 (netbsd_module): New struct.
19623 (netbsd_mods): New variable.
19624 (netbsd_mods_last): Likewise.
19625 (openbsd_opts): New parameter "serial".
19626 (OPENBSD_SERIAL_ARG): New definition.
19627 (netbsd_opts): New parameter "serial".
19628 (NETBSD_SERIAL_ARG): New definition.
19629 (grub_freebsd_add_meta): Reorganised into ...
19630 (grub_bsd_add_meta): ...this. All users updated.
19631 (grub_freebsd_add_mmap): Reorganised into ...
19632 (generate_e820_mmap): ...this...
19633 (grub_bsd_add_mmap): ...and this. All users updated.
19634 (grub_freebsd_list_modules): Use tags.
19635 (grub_netbsd_add_meta_module): New function.
19636 (grub_netbsd_list_modules): Likewise.
19637 (grub_freebsd_boot): Use relocator and finish EFI.
19638 (grub_openbsd_boot): Likewise.
19639 (grub_netbsd_setup_video): New function.
19640 (grub_netbsd_add_modules): Likewise.
19641 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
19642 and finish EFI.
19643 (grub_bsd_unload): Unload tags.
19644 (grub_bsd_load_aout): Use relocator.
19645 (grub_bsd_elf32_size_hook): New function.
19646 (grub_bsd_elf32_hook): Use relocator.
19647 (grub_bsd_elf64_size_hook): New function.
19648 (grub_bsd_elf64_hook): Use relocator.
19649 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
19650 (grub_bsd_load): Zero-out openbsd_ramdisk.
19651 (grub_bsd_load): Use relocator.
19652 (grub_cmd_openbsd): Support serial.
19653 (grub_cmd_netbsd): Support modules.
19654 (grub_cmd_freebsd_module): Use relocator.
19655 (grub_netbsd_module_load): New function.
19656 (grub_cmd_netbsd_module): Likewise.
19657 (grub_cmd_openbsd_ramdisk): Likewise.
19658 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
19659 kopenbsd_ramdisk.
19660 (GRUB_MOD_FINI): Unregister new commands.
19661 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
19662 (grub_freebsd_load_elfmodule_obj): Use relocator.
19663 (grub_freebsd_load_elfmodule): Likewise.
19664 (grub_freebsd_load_elf_meta): Likewise.
19665 (grub_netbsd_load_elf_meta): New function.
19666 (grub_openbsd_find_ramdisk): Likewise.
19667 * grub-core/loader/i386/bsd_helper.S: Removed.
19668 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
19669 * grub-core/loader/i386/bsd_trampoline.S: Removed.
19670 * grub-core/loader/i386/efi/linux.c: Likewise.
19671 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
19672 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
19673 (DEFAULT_VIDEO_MODE): Likewise.
19674 (real_mode_target): New variable.
19675 (prot_mode_target): Likewise.
19676 (initrd_mem_target): Likewise.
19677 (relocator): Likewise.
19678 (efi_mmap_buf): Likewise.
19679 (efi_mmap_size): Likewise.
19680 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
19681 (free_pages): Use relocator.
19682 (allocate_pages): Account for efi_mmap and use relocator. Return error.
19683 (grub_linux_setup_video): Return error.
19684 (grub_linux_trampoline_start): Removed.
19685 (grub_linux_trampoline_end): Likewise.
19686 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
19687 andd video parameters depending on firmware.
19688 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
19689 [GRUB_MACHINE_EFI]: Pass EFI parameters.
19690 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
19691 (grub_cmd_initrd): Use relocator.
19692 * grub-core/loader/i386/linux_trampoline.S: Removed.
19693 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
19694 (elf_sec_entsize): Likewise.
19695 (elf_sec_shstrndx): Likewise.
19696 (elf_sections): Likewise.
19697 (grub_multiboot_load): Use relocator.
19698 (grub_multiboot_get_mbi_size): Account for sections.
19699 (grub_multiboot_make_mbi): Use relocator and support sections.
19700 (grub_multiboot_add_elfsyms): New function.
19701 (grub_multiboot_free_mbi): Free sections.
19702 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
19703 (grub_linux_real_target): Likewise.
19704 (grub_linux_real_chunk): Likewise.
19705 (grub_linux16_prot_size): Likewise.
19706 (grub_linux16_boot): Use relocator.
19707 (grub_linux_unload): Unload relocator.
19708 (grub_cmd_linux): Use relocator.
19709 (grub_cmd_initrd): Likewise.
19710 * grub-core/loader/i386/pc/ntldr.c: New file.
19711 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
19712 Don't try to guess CPU frequency.
19713 (grub_xnu_set_video): Stretch bitmap.
19714 (grub_xnu_boot): Use relocator.
19715 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
19716 (grub_linux_unload): Free relocator.
19717 (grub_linux_load32): Use relocator.
19718 (grub_linux_load64): Likewise.
19719 (grub_cmd_initrd): Likewise.
19720 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
19721 (grub_multiboot_unload): Unload relocator.
19722 (grub_cmd_multiboot): Use relocator.
19723 (grub_cmd_module): Likewise.
19724 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
19725 Use relocator and support sections.
19726 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
19727 (elf_sec_entsize): Likewise.
19728 (elf_sec_shstrndx): Likewise.
19729 (elf_sections): Likewise.
19730 (grub_multiboot_load): Use relocator.
19731 (grub_multiboot_get_mbi_size): Account for sections.
19732 (grub_multiboot_make_mbi): Use relocator and support sections.
19733 (grub_multiboot_add_elfsyms): New function.
19734 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
19735 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
19736 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
19737 Prototype changed. All users updated.
19738 (grub_xnu_align_heap): Simplified.
19739 (grub_xnu_writetree_toheap): Likewise.
19740 (grub_xnu_unload): Unload relocator.
19741 (grub_cmd_xnu_kernel): Use relocator.
19742 (grub_cmd_xnu_kernel64): Likewise.
19743 (grub_xnu_register_memory): Simplified.
19744 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
19745 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
19746 EFI is finished.
19747 (grub_console_checkkey): Likewise.
19748 (grub_console_getkey): Likewise.
19749 (grub_console_getwh): Likewise.
19750 (grub_console_getxy): Likewise.
19751 (grub_console_gotoxy): Likewise.
19752 (grub_console_cls): Likewise.
19753 (grub_console_setcolorstate): Likewise.
19754 (grub_console_setcursor): Likewise.
19755 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
19756 * grub-core/tests/boot/kbsd.init-i386.S: New file.
19757 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
19758 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
19759 * grub-core/tests/boot/kernel-8086.S: Likewise.
19760 * grub-core/tests/boot/kernel-i386.S: Likewise.
19761 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
19762 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
19763 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
19764 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
19765 * grub-core/tests/boot/knetbsd.cfg: Likewise.
19766 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
19767 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
19768 * grub-core/tests/boot/linux.cfg: Likewise.
19769 * grub-core/tests/boot/linux.init-i386.S: Likewise.
19770 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
19771 * grub-core/tests/boot/linux16.cfg: Likewise.
19772 * grub-core/tests/boot/multiboot.cfg: Likewise.
19773 * grub-core/tests/boot/multiboot2.cfg: Likewise.
19774 * grub-core/tests/boot/ntldr.cfg: Likewise.
19775 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
19776 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
19777 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
19778 New definition.
19779 * include/grub/dl.h (grub_dl_unload_all): Removed.
19780 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
19781 (grub_efi_finish_boot_services): Change prototype.
19782 (grub_efi_is_finished): New variable.
19783 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
19784 Changed prototype.
19785 (grub_efiemu_finish_boot_services): Removed.
19786 (grub_machine_efiemu_init_tables): New prototype.
19787 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
19788 (grub_elf64_phdr_iterate): Likewise.
19789 * include/grub/i386/bsd.h: Include relocator.h.
19790 (freebsd_tag_header): New struct.
19791 (grub_openbsd_bios_mmap): Removed.
19792 (grub_unix_real_boot): Removed.
19793 (grub_freebsd_load_elfmodule32): Changed prototype.
19794 (grub_freebsd_load_elfmodule_obj64): Likewise.
19795 (grub_freebsd_load_elf_meta32): Likewise.
19796 (grub_freebsd_load_elf_meta64): Likewise.
19797 (grub_freebsd_add_meta): Removed.
19798 (grub_netbsd_load_elf_meta32): New prototype.
19799 (grub_netbsd_load_elf_meta64): Likewise.
19800 (grub_bsd_add_meta): Likewise.
19801 (grub_openbsd_ramdisk_descriptor): New struct.
19802 (grub_openbsd_find_ramdisk32): New prototype.
19803 (grub_openbsd_find_ramdisk64): Likewise.
19804 * include/grub/i386/coreboot/loader.h: Removed.
19805 * include/grub/i386/efi/loader.h: Likewise.
19806 * include/grub/i386/ieee1275/loader.h: Likewise.
19807 * include/grub/i386/linux.h (linux_kernel_header): Change void *
19808 to grub_uint32_t.
19809 * include/grub/i386/loader.h: Removed.
19810 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
19811 value.
19812 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
19813 (grub_phys_addr_t): New type.
19814 (grub_vtop): New inline function.
19815 (grub_map_memory): Likewise.
19816 (grub_unmap_memory): Likewise.
19817 * include/grub/i386/multiboot/loader.h: Removed.
19818 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
19819 (NETBSD_BTINFO_CONSOLE): New definition.
19820 (NETBSD_BTINFO_SYMTAB): Likewise.
19821 (NETBSD_BTINFO_MODULES): Likewise.
19822 (NETBSD_BTINFO_FRAMEBUF): Likewise.
19823 (grub_netbsd_bootinfo): New struct.
19824 (grub_netbsd_btinfo_common): Use explicit bitsize.
19825 (grub_netbsd_btinfo_mmap_entry): Removed.
19826 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
19827 (grub_netbsd_btinfo_bootdisk): New struct.
19828 (grub_netbsd_btinfo_symtab): Likewise.
19829 (grub_netbsd_btinfo_serial): Likewise.
19830 (grub_netbsd_btinfo_modules): Likewise.
19831 (grub_netbsd_btinfo_framebuf): Likewise.
19832 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
19833 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
19834 Likewise.
19835 (grub_openbsd_bootargs): Use explicit bitsize.
19836 (grub_openbsd_bootarg_console): New struct.
19837 (GRUB_OPENBSD_COM_MAJOR): New definition.
19838 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
19839 * include/grub/i386/pc/efiemu.h: Removed.
19840 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
19841 * include/grub/i386/qemu/loader.h: Removed.
19842 * include/grub/i386/relocator.h: Rewritten.
19843 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
19844 * include/grub/mips/memory.h: New file.
19845 * include/grub/mips/multiboot.h: Rewritten.
19846 * include/grub/mips/relocator.h: Rewritten.
19847 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
19848 (grub_vtop): New function.
19849 (grub_map_memory): Likewise.
19850 (grub_unmap_memory): Likewise.
19851 * include/grub/misc.h (ALIGN_DOWN): New definition.
19852 * include/grub/mm.h (grub_mm_check_real): New proto.
19853 (GRUB_MM_CHECK): New definition.
19854 * include/grub/mm_private.h: New file.
19855 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
19856 (grub_multiboot_get_mbi_size): Removed.
19857 (grub_multiboot_make_mbi): Change prottype.
19858 (grub_multiboot_set_accepts_video): New proto.
19859 (grub_multiboot_add_elfsyms): Likewise.
19860 (grub_multiboot_payload_eip): New variable.
19861 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
19862 New prototype.
19863 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
19864 New definition.
19865 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
19866 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
19867 * include/grub/powerpc/ieee1275/loader.h: Removed.
19868 * include/grub/powerpc/memory.h: New file.
19869 * include/grub/powerpc/relocator.h: Likewise.
19870 * include/grub/relocator.h: Likewise.
19871 * include/grub/relocator_private.h: Likewise.
19872 * include/grub/sparc64/ieee1275/loader.h: Removed.
19873 * include/grub/x86_64/memory.h: New file.
19874 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
19875 (grub_xnu_heap_malloc): Likewise.
19876 (grub_xnu_heap_real_start): Removed.
19877 (grub_xnu_heap_start): Likewise.
19878 (grub_xnu_relocator): New variable.
19879 (grub_xnu_heap_target_start): Likewise.
19880 * tests/util/grub-shell.in: Support non-pc.
19881 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 19882
5303b85d
VS
198832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
19886 on malloc error.
19887 (grub_bidi_logical_to_visual): Check that malloc succeded.
19888 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
19889 puts.
19890 (grub_xputs_normal): Likewise.
19891
d768d159
VS
198922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19893
19894 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
19895 extra_dist.
19896
198972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * grub-core/efiemu/runtime/efiemu.sh: Removed.
19900
5bf84df4
VS
199012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
19904
3626810e
VS
199052010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
19908 dprintf.
19909
a7363f53
BC
199102010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
19911
19912 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
19913
902f75f6
VS
199142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19915
19916 * grub-core/normal/term.c (print_more): Fix a memory leak.
19917 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
19918 (grub_xputs_normal): Likewise.
19919
3c707967
VS
199202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19921
19922 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
19923 the begining of the string
19924
2053cc07
VS
199252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19926
19927 * grub-core/script/script.c (grub_script_parse): Free parsed on
19928 failure.
19929
46422ebf
VS
199302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
19933 on failure.
19934
9e0fa3f6
VS
199352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19936
19937 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
19938 return.
19939
3393cf16
VS
199402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
19943 (scroll_up): Fix a memory leak.
19944
b17540cb
VS
199452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
19948 errors.
19949
67140446
VS
199502010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
19951
19952 Handle USB pendrives exposed as floppies.
19953
19954 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
19955 floppy.
19956 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19957 Check for partitions on all devices.
19958
e35e46fc
VS
199592010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19962 (readkey): Likewise.
19963
d24c6190
BC
199642010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
19965
19966 Multiple variable names support to "export" command.
19967
19968 * normal/context.c (grub_cmd_export): "export" command supports
19969 multiple variable names.
19970
04ddcc6a
ST
199712010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
19972
19973 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
19974 --target=drive output to Mach device name.
19975
0c8b61d8
BC
199762010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19977
19978 New Automake based build system for GRUB.
19979
19980 * ABOUT-NLS: New file.
19981 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
19982 in Makefile.util.def file.
19983 * Makefile.util.def: New file. Autogen build definitions file for
19984 GRUB host utils.
19985 * conf/Makefile.common: New file. Common variables for GRUB host
19986 utils and target modules.
19987 * conf/Makefile.extra-dist: New file. Extra files for make dist.
19988 * docs/Makefile.am: New file. Automake file for docs.
19989 * gentpl.py: New file. Python script to generate Autogen
19990 template.
19991 * grub-core/Makefile.am: New file. GRUB target modules' rules
19992 that doesn't fit in Makefile.core.def file.
19993 * grub-core/Makefile.core.def: New file. Autogen build
19994 definitions file for GRUB target modules.
19995 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
19996 specific setjmp.S file.
19997 * po/Makefile.am: New file.
19998
19999 * .bzrignore: New ignores.
20000 * INSTALL: New requirements, without Ruby.
20001 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
20002 * autogen.sh: Updated to invoke autogen as necessary.
20003 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
20004 and defines for Automake conditionals.
20005 * geninit.sh: Refactoring.
20006
20007 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
20008 necessary.
20009 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
20010 New prototype.
20011
20012 * include/grub/test.h: Fix functional test modules' naming.
20013 * grub-core/tests/example_functional_test.c: Fix test module name.
20014
20015 * util/misc.c: Hosted versions' of grub functions for libgrub.a
20016 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
20017 * util/grub-editenv.c: Likewise.
20018 * util/grub-fstest.c: Likewise.
20019 * util/grub-mkdevicemap.c: Likewise.
20020 * util/grub-mkfont.c: Likewise.
20021 * util/grub-mkimage.c: Likewise.
20022 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20023 * util/grub-probe.c: Likewise.
20024 * util/grub-script-check.c: Likewise.
20025 * util/i386/pc/grub-setup.c: Likewise.
20026 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20027
20028 * tests/util/grub-shell.in: Fix override directory path.
20029 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
20030 * util/import_gcry.py: Create Makefile.gcry.def file instead.
20031
20032 * util/lvm.c: Update #includes.
20033 * util/raid.c: Likewise.
20034 * util/resolve.c: Likewise.
20035 * grub-core/bus/emu/pci.c: Likewise.
20036 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
20037 * grub-core/lib/posix_wrap/string.h: Likewise.
20038 * grub-core/kern/emu/main.c: Likewise.
20039
20040 * grub-core/gensymlist.sh: New file. Script for generating kernel
20041 symbols file.
20042 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
20043
20044 * grub-core/gentrigtables.c: Fix unused variable warnings.
20045
20046 * Makefile.in: Removed.
20047 * conf/any-emu.rmk: Removed.
20048 * conf/common.rmk: Removed.
20049 * conf/i386-coreboot.rmk: Removed.
20050 * conf/i386-efi.rmk: Removed.
20051 * conf/i386-ieee1275.rmk: Removed.
20052 * conf/i386-multiboot.rmk: Removed.
20053 * conf/i386-pc.rmk: Removed.
20054 * conf/i386-qemu.rmk: Removed.
20055 * conf/i386.rmk: Removed.
20056 * conf/mips-yeeloong.rmk: Removed.
20057 * conf/mips.rmk: Removed.
20058 * conf/powerpc-ieee1275.rmk: Removed.
20059 * conf/sparc64-ieee1275.rmk: Removed.
20060 * conf/tests.rmk: Removed.
20061 * conf/x86-efi.rmk: Removed.
20062 * conf/x86_64-efi.rmk: Removed.
20063 * gendistlist.sh: Removed.
20064 * geninitheader.sh: Removed.
20065 * genkernsyms.sh.in: Removed.
20066 * genmk.rb: Removed.
20067 * gensymlist.sh.in: Removed.
20068 * mkinstalldirs: Removed.
20069 * boot: Moved ...
20070 * grub-core/boot: ... to here.
20071 * bus: Moved ...
20072 * grub-core/bus: ... to here.
20073 * commands: Moved ...
20074 * grub-core/commands: ... to here.
20075 * disk: Moved ...
20076 * grub-core/disk: ... to here.
20077 * efiemu: Moved ...
20078 * grub-core/efiemu: ... to here.
20079 * font: Moved ...
20080 * grub-core/font: ... to here.
20081 * fs: Moved ...
20082 * grub-core/fs: ... to here.
20083 * gencmdlist.sh: Moved ...
20084 * grub-core/gencmdlist.sh: ... to here.
20085 * genemuinit.sh: Moved ...
20086 * grub-core/genemuinit.sh: ... to here.
20087 * genemuinitheader.sh: Moved ...
20088 * grub-core/genemuinitheader.sh: ... to here.
20089 * genfslist.sh: Moved ...
20090 * grub-core/genfslist.sh: ... to here.
20091 * genhandlerlist.sh: Moved ...
20092 * grub-core/genhandlerlist.sh: ... to here.
20093 * genmoddep.awk: Moved ...
20094 * grub-core/genmoddep.awk: ... to here.
20095 * genmodsrc.sh: Moved ...
20096 * grub-core/genmodsrc.sh: ... to here.
20097 * genpartmaplist.sh: Moved ...
20098 * grub-core/genpartmaplist.sh: ... to here.
20099 * genparttoollist.sh: Moved ...
20100 * grub-core/genparttoollist.sh: ... to here.
20101 * genterminallist.sh: Moved ...
20102 * grub-core/genterminallist.sh: ... to here.
20103 * gentrigtables.c: Moved ...
20104 * grub-core/gentrigtables.c: ... to here.
20105 * genvideolist.sh: Moved ...
20106 * grub-core/genvideolist.sh: ... to here.
20107 * gettext: Moved ...
20108 * grub-core/gettext: ... to here.
20109 * gfxmenu: Moved ...
20110 * grub-core/gfxmenu: ... to here.
20111 * gnulib: Moved ...
20112 * grub-core/gnulib: ... to here.
20113 * hello: Moved ...
20114 * grub-core/hello: ... to here.
20115 * hook: Moved ...
20116 * grub-core/hook: ... to here.
20117 * io: Moved ...
20118 * grub-core/io: ... to here.
20119 * kern: Moved ...
20120 * grub-core/kern: ... to here.
20121 * lib: Moved ...
20122 * grub-core/lib: ... to here.
20123 * loader: Moved ...
20124 * grub-core/loader: ... to here.
20125 * mmap: Moved ...
20126 * grub-core/mmap: ... to here.
20127 * normal: Moved ...
20128 * grub-core/normal: ... to here.
20129 * partmap: Moved ...
20130 * grub-core/partmap: ... to here.
20131 * parttool: Moved ...
20132 * grub-core/parttool: ... to here.
20133 * script: Moved ...
20134 * grub-core/script: ... to here.
20135 * term: Moved ...
20136 * grub-core/term: ... to here
20137 * tests/example_functional_test.c: Moved ...
20138 * grub-core/tests/example_functional_test.c: ... to here.
20139 * tests/lib/functional_test.c: Moved ...
20140 * grub-core/tests/lib/functional_test.c: ... to here.
20141 * tests/lib/test.c: Moved ...
20142 * grub-core/tests/lib/test.c: ... to here.
20143 * video: Moved ...
20144 * grub-core/video: ... to here.
20145
645586e6
BC
201462010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
20147
20148 Replace --enable-grub-emu-modules with grub-emu-lite.
20149
20150 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
20151 cache.S.
20152
20153 * include/grub/emu/misc.h (grub_emu_init): New prototype.
20154 * kern/emu/full.c: New file. For grub-emu specific initialization.
20155 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
20156 * kern/emu/main.c: Call initialization function grub_emu_init.
20157
20158 * Makefile.in: Include grub-emu-lite in install.
20159 * commands/parttool.c: Use grub_no_autoload to differentiate
20160 between grub-emu and grub-emu-lite.
20161 * include/grub/misc.h: New variable grub_no_autoload.
20162
20163 * conf/any-emu.rmk: New rules for grub-emu-lite.
20164 * configure.ac: Remove --enable-grub-emu-modules.
20165 * genmk.rb: Cleanup unnecessary rules.
20166 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
20167
20168 * normal/main.c: Don't load list files on grub-emu-lite.
20169 * util/misc.c (grub_arch_sync_caches): Removed.
20170
f86a4030
CW
201712010-08-23 Colin Watson <cjwatson@ubuntu.com>
20172
20173 * kern/mips/startup.S (grub_prefix): Update comment to refer to
20174 grub-mkimage rather than grub-mkelfimage.
20175 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
20176
06776944
VS
201772010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
20180 a key after CapsLock or NumLock. It's just a qemu bug.
20181
df262419
VS
201822010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
20185 needed by libusb wrapper.
20186
b40ea81b
ST
201872010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
20188
20189 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
20190
dee50575
VS
201912010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
20194 --nounzip is passed.
20195
fb1d7b79
VS
201962010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
20197
20198 USB hotunplugging and USB serial support.
20199
20200 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
20201 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
20202 (grub_uhci_transfer): Respect timeout and set *actual.
20203 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
20204 non-standard length.
20205 (grub_usb_device_attach): Autoload modules.
20206 (GRUB_MOD_INIT): Set grub_term_poll_usb.
20207 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
20208 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
20209 users updated.
20210 (grub_usb_add_hub): Fill nports and children.
20211 (attach_root_port): Receive hub instead of controller.
20212 All users updated. Fill hub->devices.
20213 (grub_usb_root_hub): Allocate hub->devices.
20214 (detach_device): New function.
20215 (poll_nonroot_hub): Fill children and detach devices.
20216 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
20217 actual arguments. All users updated.
20218 (grub_usb_bulk_read_extended): New function.
20219 * bus/usb/serial/common.c: New file.
20220 * bus/usb/serial/ftdi.c: Likewise.
20221 * bus/usb/serial/pl2303.c: Likewise.
20222 * commands/terminal.c (handle_command): Support wildcard.
20223 * commands/usbtest.c: Output "Unknown" instead of empty string.
20224 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
20225 (usbserial_common_mod_SOURCES): New variable.
20226 (usbserial_common_mod_CFLAGS): Likewise.
20227 (usbserial_common_mod_LDFLAGS): Likewise.
20228 (pkglib_MODULES): Add usbserial_pl2303.mod.
20229 (usbserial_pl2303_mod_SOURCES): New variable.
20230 (usbserial_pl2303_mod_CFLAGS): Likewise.
20231 (usbserial_pl2303_mod_LDFLAGS): Likewise.
20232 (pkglib_MODULES): Add usbserial_ftdi.mod.
20233 (usbserial_ftdi_mod_SOURCES): New variable.
20234 (usbserial_ftdi_mod_CFLAGS): Likewise.
20235 (usbserial_ftdi_mod_LDFLAGS): Likewise.
20236 (pkglib_MODULES): Add serial.mod.
20237 (serial_mod_SOURCES): New variable.
20238 (serial_mod_CFLAGS): Likewise.
20239 (serial_mod_LDFLAGS): Likewise.
20240 * conf/i386-pc.rmk: Likewise.
20241 * conf/mips-yeeloong.rmk: Likewise.
20242 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
20243 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
20244 * disk/usbms.c (first_available_slot): New variable.
20245 (grub_usbms_attach): Don't reuse free slots due to potential cache
20246 problems.
20247 * include/grub/serial.h: Moved to ..
20248 * include/grub/ns8250.h: ...this.
20249 * include/grub/serial.h: New file.
20250 * include/grub/term.h (grub_term_poll_usb): New variable.
20251 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
20252 readkey. All users updated.
20253 (grub_terminfo_output_state): Pass term to put.
20254 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
20255 (grub_usb_controller_dev): Add timeout and actual arguments to
20256 transfer. All users updated.
20257 (grub_usb_interface): New field detach_data.
20258 (grub_usb_device): New fields children and nports.
20259 (grub_usb_ep_type_t): New type.
20260 (grub_usb_get_ep_type): New function.
20261 (grub_usb_bulk_read_extended): Likewise.
20262 * include/grub/usbdesc.h (grub_usb_desc): New type.
20263 * include/grub/usbserial.h: New file.
20264 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
20265 * kern/term.c (grub_term_poll_usb): New variable.
20266 (grub_getkey): Call grub_term_poll_usb if set.
20267 (grub_checkkey): Likewise.
20268 (grub_getkeystatus): Likewise.
20269 * term/serial.c: Moved controller-specific parts to ...
20270 * term/ns8250.c: ... here.
20271 * term/serial.c: Mostly rewritten.
20272 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
20273 according to spec.
20274
21a313de
RM
202752010-08-20 Robert Millan <rmh@gnu.org>
20276
20277 Make kFreeBSD code more generic to support ext2fs as root, ufs as
20278 a separate module and maybe other interesting combinations.
20279
20280 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
20281 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
20282 (kfreebsd_entry): Add generic filesystem module load routine.
20283 Map GRUB `ext2' to kFreeBSD `ext2fs'.
20284
63c734a6
CW
202852010-08-20 Colin Watson <cjwatson@ubuntu.com>
20286
20287 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
20288 "numcenter" (I misunderstood the purpose of this entry).
20289 * docs/grub.texi (sendkey): Likewise.
20290
c4d16542
CW
202912010-08-20 Colin Watson <cjwatson@ubuntu.com>
20292
20293 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
20294 status flag options; simply omitting the option is equivalent and
20295 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
20296 (keysym_table): Rename "num5numlock" to "numlock".
20297 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
20298 can uniformly say that only the last of multiple `sendkey'
20299 invocations has any effect.
20300 * docs/grub.texi (sendkey): New section.
20301
93541d66
CW
203022010-08-19 Colin Watson <cjwatson@ubuntu.com>
20303
20304 * commands/i386/pc/sendkey.c (options): Fix three typos.
20305
b4ece5e1
VS
203062010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
20307
20308 Implement sendkey support.
20309
20310 * commands/i386/pc/sendkey.c: New file.
20311 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
20312 (sendkey_mod_SOURCES): New variable.
20313 (sendkey_mod_CFLAGS): Likewise.
20314 (sendkey_mod_LDFLAGS): Likewise.
20315
51f1f5af
CW
203162010-08-18 Colin Watson <cjwatson@ubuntu.com>
20317
20318 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
20319 fix warnings from Autoconf.
20320
9da94e05
CW
203212010-08-18 Colin Watson <cjwatson@ubuntu.com>
20322
20323 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
20324 to avoid false positives with some assemblers that output things
20325 like "someprefix_func" as part of their output.
20326
729a0f2e
RM
203272010-08-15 Robert Millan <rmh@gnu.org>
20328
20329 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
20330 errors.
20331 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
20332 grub_get_libzfs_handle() errors.
20333
f3710e08
RM
203342010-08-14 Robert Millan <rmh@gnu.org>
20335
20336 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
20337 filesystem is not ZFS.
20338
7a3c13de
BC
203392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20340
20341 Fix for misspelled color names defaulting to black/black (bug
20342 reported by Doug Nazar)
20343
20344 * include/grub/normal.h (grub_parse_color_name_pair): Add return
20345 status to prototype.
20346 * normal/color.c (grub_parse_color_name_pair): Return failure
20347 status.
20348 (grub_env_write_color_normal): Ignore bad color names.
20349 (grub_env_write_color_highlight): Likewise.
20350 * normal/main.c (GRUB_MOD_INIT): Set default color names.
20351
ab8ba50d
BC
203522010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20353
20354 "shift" command support to GRUB script.
20355
20356 * include/grub/script_sh.h (grub_script_shift): New prototype.
20357 * script/execute.c (grub_script_shift): New function.
20358 * script/main.c (grub_script_init): Register shift command.
20359 (grub_script_fini): Unregister shift command.
20360 * util/grub-script-check.c (grub_script_cmd_shift): New function.
20361
20362 * tests/grub_script_shift.in: New testcase.
20363 * conf/tests.rmk: Rules for new testcase.
20364
4d61999e
BC
203652010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20366
20367 "continue" command support to GRUB script.
20368
20369 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
20370 (grub_script_break): Continue support.
20371 * script/main.c (grub_script_init): Register continue command.
20372 (grub_script_fini): Unregister continue command.
20373
20374 * tests/grub_script_continue.in: New testcase.
20375 * conf/tests.rmk: Rules for new testcase.
20376
4df51e00
BC
203772010-08-12 BVK Chaitanya <bvk@dbook>
20378
20379 "break" command support to GRUB script.
20380
20381 * conf/common.rmk: Rule updates to grub-script-check.
20382 * include/grub/misc.h (grub_min): New function.
20383 * include/grub/script_sh.h (grub_script_init): New prototype.
20384 (grub_script_fini): New prototype.
20385 (grub_script_break): New prototype.
20386 * script/main.c (grub_script_init): New function.
20387 (grub_script_fini): New function.
20388 * script/execute.c (grub_script_break): New function.
20389 * normal/main.c: Calls to grub_script_{init,fini}.
20390 * util/grub-script-check.c (grub_script_break): New function.
20391
20392 * tests/grub_script_break.in: New testcase.
20393 * conf/tests.rmk: Rules for new test case.
20394
f12c8420
BC
203952010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20396
20397 Function parameters support to GRUB script.
20398
20399 * script/yylex.l (VARIABLE): Regular expression update.
20400 * script/function.c (grub_script_function_call): Moved ...
20401 * script/execute.c (grub_script_function_call): ... to here.
20402 (grub_script_execute_arglist_to_argv): Removed.
20403 (grub_script_arglist_to_argv): New function.
20404 * script/argv.c: New file.
20405 (grub_script_argv_free): New function.
20406 (grub_script_argv_next): Likewise.
20407 (grub_script_argv_append): Likewise.
20408 (grub_script_argv_split_append): Likewise.
20409 * include/grub/script_sh.h (grub_script_argv): New struct.
20410 (grub_script_argv_free): New function.
20411 (grub_script_argv_next): Likewise.
20412 (grub_script_argv_append): Likewise.
20413 (grub_script_argv_split_append): Likewise.
20414
20415 * conf/common.rmk (normal.mod): New source script/argv.c.
20416
20417 * tests/grub_script_echo1.in: More tests.
20418 * tests/grub_script_vars1.in: Likewise.
20419 * tests/grub_script_functions.in: New test case.
20420 * conf/tests.rmk: Rules for new testcase.
20421
8022b748
BC
204222010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
20423
20424 Remove grub_script_cmdblock struct.
20425
20426 * include/grub/script_sh.h: Remove grub_script_cmdblock.
20427 * script/parser.y: Likewise.
20428 * script/execute.c: Rename cmdblock suffix to cmdlist.
20429 * script/script.c: Likewise.
20430 * util/grub-script-check.c: Likewise.
20431
79a6ba61
YB
204322010-08-11 Yves Blusseau <blusseau@zetam.org>
20433
20434 * .bzrignore: add grub-macho2img
20435
d04b9414
VS
204362010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
20439
f947ab49
VS
204402010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 Remove the dump of sm712 initialisation sequence.
20443
20444 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
20445 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
20446 (GRUB_VGA_IO_MISC_WRITE): Likewise.
20447 (GRUB_VGA_CR_*): Added many registers.
20448 (GRUB_VGA_SR_*): Likewise.
20449 (GRUB_VGA_GR_*): Likewise.
20450 (grub_vga_write_arx): New function.
20451 (grub_video_hw_config): New struct.
20452 (grub_vga_set_geometry): New function.
20453 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
20454 GRUB_PCI_CLASS_SUBCLASS_VGA.
20455 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
20456 * video/sm712.c (grub_sm712_write_reg): New function
20457 (grub_sm712_read_reg): Likewise.
20458 (grub_sm712_sr_write): Likewise.
20459 (grub_sm712_gr_write): Likewise.
20460 (grub_sm712_cr_write): Likewise.
20461 (grub_sm712_write_arx): Likewise.
20462 (grub_sm712_cr_shadow_write): Likewise.
20463 (grub_sm712_write_dda_lookup): Likewise.
20464 (grub_video_sm712_setup): Initialise the video rather then
20465 blindly replay the dump.
20466 (main) [TEST]: Add a routine to be able to compile as standalone for
20467 tests.
20468 * video/sm712_init.c (sm712_init): Removed.
20469 (sm712_sr_seq1): New array.
20470 (sm712_sr_seq2): Likewise.
20471
f0206638
VS
204722010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * include/grub/vga.h: Add missing grub/pci.h include.
20475
2764da3b
YB
204762010-08-10 Yves Blusseau <blusseau@zetam.org>
20477
20478 * util/grub-macho2img.c (main): fix typo
20479
cf0c775e
VS
204802010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
20483 (grub_vga_gr_read): Likewise.
20484 (grub_vga_cr_write): Likewise.
20485 (grub_vga_cr_read): Likewise.
20486 (grub_vga_sr_write): Likewise.
20487 (grub_vga_sr_read): Likewise.
20488 (grub_vga_palette_read): Likewise.
20489 (grub_vga_palette_write): Likewise.
20490 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
20491 (grub_sm712_sr_read): New function.
20492 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
20493 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
20494
07f360e9
RM
204952010-08-09 Robert Millan <rmh@gnu.org>
20496
20497 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
20498 out unused variables on non-ZFS build.
20499
346c2072
RM
205002010-08-08 Robert Millan <rmh@gnu.org>
20501
20502 Fix path generation for sub-filesystems in ZFS.
20503
20504 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
20505 missing slash.
20506
71175420
RM
205072010-08-08 Robert Millan <rmh@gnu.org>
20508
20509 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
20510
0d8286f3
RM
205112010-08-08 Robert Millan <rmh@gnu.org>
20512
20513 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
20514 exist, issue a proper error message (rely on `ls' for translated
20515 strings).
20516
55dd2924
RM
205172010-08-08 Robert Millan <rmh@gnu.org>
20518
20519 Fix grub-probe invocation.
20520
20521 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
20522
d3dd9e80
RM
205232010-08-04 Robert Millan <rmh@gnu.org>
20524
20525 * configure.ac: Remove checks for getfsstat() and getmntany().
20526 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
20527 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
20528 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
20529 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
20530 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
20531 function.
20532 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
20533 via find_mount_point_from_dir() and getfsstat() / getmntany().
20534
0de22aa9
RM
205352010-08-04 Robert Millan <rmh@gnu.org>
20536
20537 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20538 (grub_find_zpool_from_mount_point): Merge into ...
20539 (grub_find_zpool_from_dir): ... this.
20540 * kern/emu/misc.c: Likewise.
20541
20542 * kern/emu/misc.c
20543 (grub_make_system_path_relative_to_its_root): Replace
20544 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
20545 with grub_find_zpool_from_dir().
20546 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
20547
62858144
RM
205482010-08-04 Robert Millan <rmh@gnu.org>
20549
20550 Support OpenSolaris in ZFS device resolution.
20551
20552 * configure.ac: Check for getmntany().
20553 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
20554 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
20555 support.
20556
9dd6fd50
RM
205572010-08-03 Robert Millan <rmh@gnu.org>
20558
20559 Fix grub-emu build.
20560
20561 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
20562 * include/grub/emu/misc.h: ... here.
20563
20564 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
20565 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
20566
20567 * util/misc.c: Remove `<grub/util/libzfs.h>'.
20568 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
20569 (grub_get_libzfs_handle): Move to ...
20570 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
20571 (grub_get_libzfs_handle): ... here.
20572
c9f7ff97
BC
205732010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
20574
20575 * script/execute.c (grub_script_execute_cmdline): Check for NULL
20576 as command name case.
20577
a870a783
CW
205782010-08-02 Colin Watson <cjwatson@ubuntu.com>
20579
20580 * disk/raid.c (insert_array): Select unique numbers for named arrays
20581 as well, for use as keys in the disk cache.
20582
c7db243b
RM
205832010-08-01 Robert Millan <rmh@gnu.org>
20584
20585 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
20586 kFreeBSD device name, except on ZFS where the filesystem label is
20587 used.
20588 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
20589 `/boot/zfs/zpool.cache'.
20590 Set mountfrom kernel variable using ${kfreebsd_device}.
20591
f7abdefb
RM
205922010-08-01 Robert Millan <rmh@gnu.org>
20593
20594 Make it even harder to use uninitialized `libzfs_handle' (and
20595 make the interface a bit simpler).
20596
20597 * include/grub/util/misc.h (grub_util_init_libzfs)
20598 (libzfs_handle): Remove.
20599 (grub_get_libzfs_handle): New prototype.
20600
20601 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
20602 attribute.
20603 (grub_util_init_libzfs): Remove.
20604 (grub_get_libzfs_handle): New function.
20605
20606 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
20607 grub_get_libzfs_handle() to obtain a libzfs handle instead of
20608 accessing `libzfs_handle' directly.
20609
c882acc0
RM
206102010-08-01 Robert Millan <rmh@gnu.org>
20611
20612 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20613 (grub_find_zpool_from_mount_point): New function prototypes.
20614
20615 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20616 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20617
20618 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20619 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20620 `static' attribute.
20621
20622 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20623 finding zpool from mount point into ...
20624 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20625
20626 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20627 requested path is part of a ZFS pool, use
20628 grub_find_zpool_from_mount_point() to detect its filesystem name,
20629 and generate a path with `/fsname@path' syntax.
20630
8bfe31d8
CW
206312010-08-01 Colin Watson <cjwatson@ubuntu.com>
20632
20633 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
20634 (void) rather than () so that this is a proper prototype.
20635
553df63d
VS
206362010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20637
20638 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
20639
8687cf07
VS
206402010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20641
20642 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
20643 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
20644
ea9be8ea
CW
206452010-08-01 Colin Watson <cjwatson@ubuntu.com>
20646
20647 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
20648
6eea041a
CW
206492010-08-01 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
20652
2cfb45df
CW
206532010-08-01 Colin Watson <cjwatson@ubuntu.com>
20654
20655 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
20656 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
20657 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
20658 disable gfxpayload.
20659 (Shell-like scripting): Add real content.
20660 (Serial terminal): Suggest `terminal_input serial; terminal_output
20661 serial' rather than putting the two commands on separate lines,
20662 since console input will be inoperative after the first command.
20663 (menuentry): Document --class, --users, and --hotkey options.
20664 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
20665 Vladimir Serbinenko).
20666
7decd202
VS
206672010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
206682010-08-01 Colin Watson <cjwatson@ubuntu.com>
20669
20670 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
20671
c882acc0
RM
206722010-08-01 Robert Millan <rmh@gnu.org>
20673
20674 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
20675 (grub_find_zpool_from_mount_point): New function prototypes.
20676
20677 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
20678 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
20679
20680 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
20681 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
20682 `static' attribute.
20683
20684 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
20685 finding zpool from mount point into ...
20686 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
20687
20688 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
20689 requested path is part of a ZFS pool, use
20690 grub_find_zpool_from_mount_point() to detect its filesystem name,
20691 and generate a path with `/fsname@path' syntax.
20692
deb0caa3
RM
206932010-08-01 Robert Millan <rmh@gnu.org>
20694
20695 Prevent accidental use of uninitialized libzfs_handle.
20696
20697 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
20698 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
20699 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
20700
ce04ef47
CW
207012010-08-01 Colin Watson <cjwatson@ubuntu.com>
20702
20703 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
20704 util/grub.d/10_linux.in). Fixes Debian bug #591093.
20705
ebf53056
RM
207062010-08-01 Robert Millan <rmh@gnu.org>
20707
20708 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 20709
3710bb6b
RM
207102010-07-31 Robert Millan <rmh@gnu.org>
20711
20712 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
20713
8072efeb
RM
207142010-07-31 Robert Millan <rmh@gnu.org>
20715
20716 * kern/emu/misc.c: Add missing license header.
20717
3169f4c7
RM
207182010-07-31 Robert Millan <rmh@gnu.org>
20719
20720 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
20721
20722 * include/grub/util/libnvpair.h: Include `<config.h>'.
20723 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
20724 declaring libnvpair prototypes ourselves.
20725 * include/grub/util/libzfs.h: Include `<config.h>'.
20726 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
20727 declaring libzfs prototypes ourselves.
20728
20729 (libzfs_handle): Moved to ...
20730 * include/grub/util/misc.h (libzfs_handle): ... here.
20731 Include `<grub/util/libzfs.h>'.
20732
c9a00aee
RM
207332010-07-30 Robert Millan <rmh@gnu.org>
20734
20735 * include/grub/emu/misc.h: Add missing license header.
20736
a184f9c8
RM
207372010-07-30 Robert Millan <rmh@gnu.org>
20738
20739 Enable `grub-probe -t device' resolution on ZFS.
20740
20741 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
20742 * include/grub/util/libnvpair.h: New file.
20743 * include/grub/util/libzfs.h: New file.
20744
20745 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
20746 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
20747 `<grub/util/libnvpair.h>'.
20748 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
20749
20750 (find_mount_point_from_dir): New static function.
20751 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
20752 function.
20753 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
20754 find_root_device_from_libzfs() before ressorting to find_root_device().
20755
20756 * include/grub/util/misc.h (grub_util_init_libzfs): New function
20757 prototype.
20758 * util/misc.c: Include `<grub/util/libzfs.h>'.
20759 (grub_util_init_libzfs): New function.
20760 [HAVE_LIBZFS] (libzfs_handle): New global variable.
20761 [HAVE_LIBZFS] (fini_libzfs): New static function.
20762 (grub_util_init_libzfs): New function.
20763 * util/grub-probe.c (main): Call grub_util_init_libzfs().
20764
f7790cdd
RM
207652010-07-30 Robert Millan <rmh@gnu.org>
20766
20767 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
20768 (xmalloc, xrealloc, xstrdup, xasprintf): Add
20769 `warn_unused_result' attribute.
20770 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
20771 (grub_xasprintf, grub_xvasprintf): Likewise.
20772 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
20773
0806b63c
RM
207742010-07-29 Robert Millan <rmh@gnu.org>
20775
20776 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
20777 (probe): Handle `PRINT_FS_LABEL'.
20778 (main): Handle `-t fs_label'.
20779
9f841f5c
RM
207802010-07-29 Robert Millan <rmh@gnu.org>
20781
20782 * configure.ac: Remove grub-mkisofs checks.
20783
46371121
VS
207842010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20785
20786 * util/ieee1275/grub-install.in: Don't use empty grub_device.
20787 Reported by: Lennart Sorensen.
20788
207892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
20792 prior to terminal_input/terminal_output separation. It's been over 1.5
20793 years and those versions weren't widely deployed.
20794
a9600892
CW
207952010-07-22 Colin Watson <cjwatson@ubuntu.com>
20796
20797 * disk/raid.c (insert_array): Don't count named arrays when looking
20798 for unused array numbers.
697e053c 20799 Reported and tested by: Michael Guntsche.
a9600892 20800
c03507df
CW
208012010-07-20 Colin Watson <cjwatson@ubuntu.com>
20802
20803 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
20804 implementation of this so that grub-emu links again, with a note
20805 that this should support hotplugging in the future.
20806
b26f1c11
CW
208072010-07-20 Colin Watson <cjwatson@ubuntu.com>
20808
20809 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20810
efc9d7f1
CW
208112010-07-20 Colin Watson <cjwatson@ubuntu.com>
20812
20813 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
20814 handle on failure.
20815 (grub_loopback_close): Remove empty function.
20816 (grub_loopback_dev): Remove close method.
20817
dd8ff5c9
CW
208182010-07-20 Colin Watson <cjwatson@ubuntu.com>
20819
20820 Disable EFI cursor when the EFI console becomes inactive.
20821
20822 * term/efi/console.c (grub_efi_console_init): New function.
20823 (grub_efi_console_fini): New function.
20824 (grub_console_term_output): Register init and fini methods.
20825
5e3bec67
VS
208262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20827
20828 * tests/util/grub-shell-tester.in: Remove bashism and declare as
20829 sh script.
20830
afaec079
VS
208312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20832
20833 * disk/loopback.c (grub_loopback): Replace filename with file.
20834 (delete_loopback): Handle new semantics.
20835 (grub_cmd_loopback): Likewise.
20836 (grub_loopback_iterate): Likewise.
20837 (grub_loopback_close): Likewise.
20838
a6a11f3c
VS
208392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
20842 with -p "".
20843 Reported by: Tito Keitel.
20844
64a638b0
VS
208452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 * docs/grub.texi (Naming convention): Document new naming convention.
20848
ab8ba957
VS
208492010-07-20 Vadim Solomin <vadic052@gmail.com>
208502010-07-20 Colin Watson <cjwatson@ubuntu.com>
20851
20852 Generate device.map in something closer to the old ordering.
20853
20854 * util/deviceiter.c (struct device): New declaration.
20855 (compare_file_names): Rename to ...
20856 (compare_devices): ... this. Sort by kernel name in preference to
20857 the stable by-id name, but keep the latter as a fallback comparison.
20858 Update header comment.
20859 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
20860 of `struct device' rather than of plain file names.
20861
a29d6a4b
TF
208622010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
20863
20864 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
20865 on i386.
20866
39d824e8
VS
208672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 * commands/acpi.c (setup_common_tables): Use sizeof instead of
20870 hardcoding size.
20871 (setv1table): Likewise.
20872
f058276b
FZ
208732010-07-20 Colin Watson <cjwatson@ubuntu.com>
20874
20875 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
20876 removing the homehost if present.
20877 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
20878 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
20879 removing the homehost if present.
20880 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
20881 if possible.
20882 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
20883
20884 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
20885 parameter. Set its pointer target to 0.
20886 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
20887 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
20888 `data_offset' value from the superblock for 1.x metadata.
20889 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
20890 data on the device.
20891 (insert_array): Record the start sector of data on the device.
20892 (grub_raid_register): Pass start_sector parameters to
20893 grub_raid_list->detect and insert_array.
20894 * include/grub/raid.h (struct grub_raid_array): Add start_sector
20895 member.
20896 (struct grub_raid): Add start_sector parameter to `detect'.
20897
20898 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
20899 __attribute__ ((packed)), leaving a comment.
20900 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
20901 (grub_mdraid_detect_09): ... here and ...
20902 (grub_mdraid_detect_1x): ... here.
20903
209042010-07-20 Peter Henn <peter.henn@web.de>
20905
20906 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
20907 chunk size and disk size, which are already given as sector counts
20908 as distinct from the 0.90 units. Fetch the correct device number
20909 from the role table instead of using the table index.
20910
209112010-07-20 Felix Zielcke <fzielcke@z-51.de>
20912
20913 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
20914 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
20915 (WriteMostly1): New macro.
20916 Set array->name to NULL for metadata format 0.90. Add support for
20917 metadata 1.x. Fix some comments.
20918 * disk/raid.c (): Add support for name based RAID arrays. Fix a
20919 few comments.
20920 * util/getroot.c (grub_util_get_grub_dev): Add support for
20921 /dev/md/name style devices.
20922
4b761da9
CW
209232010-07-20 Colin Watson <cjwatson@ubuntu.com>
20924
20925 * .bzrignore: Ignore 20_linux_xen.
20926
5771289a
CW
209272010-07-17 Colin Watson <cjwatson@ubuntu.com>
20928
20929 * util/import_unicode.py: Remove unnecessary imports.
20930
5dab68df
AN
209312010-07-17 Aleš Nesrsta <starous@volny.cz>
20932
20933 Hotplugging and USB hub support.
20934
20935 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
20936 (grub_ohci): Likewise.
20937 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
20938 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
20939 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
20940 (GRUB_OHCI_CTRL_EDS): Likewise.
20941 (GRUB_OHCI_BULK_EDS): Likewise.
20942 (GRUB_OHCI_TDS): Likewise.
20943 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
20944 (grub_ohci_ed_phys2virt): New function.
20945 (grub_ohci_virt_to_phys): Likewise.
20946 (grub_ohci_td_phys2virt): Likewise.
20947 (grub_ohci_td_virt2phys): Likewise.
20948 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
20949 attachment.
20950 (grub_ohci_find_ed): New function.
20951 (grub_ohci_alloc_td): Likewise.
20952 (grub_ohci_free_td): Likewise.
20953 (grub_ohci_free_tds): Likewise.
20954 (grub_ohci_transfer): Use previously allocated memory.
20955 (grub_ohci_portstatus): Reset status changed bit.
20956 (grub_ohci_detect_dev): Supply status changed.
20957 (grub_ohci_fini_hw): Free memory.
20958 (grub_ohci_restore_hw): Reallocate memory.
20959 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
20960 Reset status change.
20961 (grub_uhci_detect_dev): Supply status_change.
20962 * bus/usb/usb.c (attach_hooks): New var.
20963 (grub_usb_device_attach): New function.
20964 (grub_usb_register_attach_hook_class): Likewise.
20965 (grub_usb_unregister_attach_hook_class): Likewise.
20966 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
20967 (grub_usb_add_hub): Reset connection changed bit.
20968 (attach_root_port): New function.
20969 (grub_usb_root_hub): Likewise.
20970 (poll_nonroot_hub): Likewise.
20971 (grub_usb_poll_devices): Likewise.
20972 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
20973 * disk/usbms.c (grub_usbms_open): Use device hooks.
20974 (grub_usbms_iterate) :Poll devices.
20975 (grub_usbms_finddevs): Split into ...
20976 (grub_usbms_attach): ... this ...
20977 (grub_usbms_attach): ... and this.
20978 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
20979 in detect_dev.
20980 (grub_usb_interface): New fields attached and detach_hook.
20981 (grub_usb_attach_hook_class): New type.
20982 (grub_usb_attach_desc): New struct.
20983 (grub_usb_register_attach_hook_class): New function.
20984 (grub_usb_unregister_attach_hook_class): Likewise.
20985 (grub_usb_poll_devices): Likewise.
20986 (grub_usb_device_attach): Likewise.
20987 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
20988 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
20989
3222efaf
VS
209902010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20991
20992 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
20993 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
20994 delta determination style. Works with most NetBSD partitions too.
20995
139b714a
VS
209962010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
20999 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
21000
986aad56
VS
210012010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
21002
21003 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
21004
99be513c
AB
210052010-07-14 Anton Blanchard <anton@samba.org>
21006
21007 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
21008 ET_DYN files.
21009
18075f62
GS
210102010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21011
21012 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
21013
8d9a5b15
GS
210142010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21015
21016 * kern/partition.c (grub_partition_check_containment): New function to
21017 check that a partition is physically contained in a parent. Since
21018 offsets are relative (and non-negative), this reduces to checking that
21019 the partition ends before its parent.
21020 (grub_partition_map_probe): Discard out-of-range sub-partitions.
21021 (grub_partition_iterate): Likewise.
21022 * include/grub/partition.h (grub_partition_map): Slightly more detailed
21023 comments.
21024 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
21025 partitions that start before their parent, and add debug printfs.
21026
19563c25
CW
210272010-07-13 Colin Watson <cjwatson@ubuntu.com>
21028
21029 * Makefile.in (.SUFFIX): Spell correctly, as ...
21030 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
21031 bare module name without `.mod', e.g. `test') tried to invoke a
21032 Modula-2 compiler.
21033
1a1f1e67
CW
210342010-07-13 Colin Watson <cjwatson@ubuntu.com>
21035
21036 * README: Point to the Info manual.
21037
811b0dca
JS
210382010-07-13 Jiro SEKIBA <jir@unicus.jp>
21039
21040 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
21041 2nd superblock position from partition size.
21042
e4f4eafc
CW
210432010-07-10 Colin Watson <cjwatson@ubuntu.com>
21044
21045 * Makefile.in (MAINTAINER_CLEANFILES): Remove
21046 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
21047 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
21048 outputs.
21049
4274c30f
VS
210502010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21051
21052 Restructure SCSI .id handling.
21053 Reported and tested by: Aleš Nesrsta.
21054
21055 * disk/ata.c (grub_atapi_close): Removed. All users updated.
21056 (grub_atapi_dev): Changed .name to "ata". New field .id.
21057 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
21058 (grub_usbms_dev): New field .id.
21059 * disk/scsi.c (grub_scsi_iterate): Generate name.
21060 (grub_scsi_open): Parse name.
21061 * include/grub/scsi.h (grub_make_scsi_id): New function.
21062 (grub_scsi_dev): Change iterate and open to number instead of naming
21063 busses. All users updated.
21064 (grub_scsi): Remove name. Add .bus.
21065
5bc24388
VS
210662010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21067
21068 * commands/help.c (grub_cmd_help): Fix a typo.
21069
249975ba
VS
210702010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21071
21072 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
21073 Reported and tested by: Colin Watson.
21074
3eaac1a1
VS
210752010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
21078 in this context.
21079
becce1b1
VS
210802010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21081
21082 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
21083
f7bf0918
CW
210842010-07-07 Colin Watson <cjwatson@ubuntu.com>
21085
21086 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
21087 indentation.
21088
0b0f9620
CW
210892010-07-06 Colin Watson <cjwatson@ubuntu.com>
21090
21091 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
21092 and disk/raid6_recover.c.
21093 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21094 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21095
1e545469
CW
210962010-07-06 Colin Watson <cjwatson@ubuntu.com>
21097
21098 * term/gfxterm.c (repaint_schedulded): Rename to ...
21099 (repaint_scheduled): ... this. Update all callers.
21100 (repaint_was_schedulded): Rename to ...
21101 (repaint_was_scheduled): ... this. Update all callers.
21102
5357687a
CW
211032010-07-06 Colin Watson <cjwatson@ubuntu.com>
21104
21105 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
21106 which we expect to be handled by upper layers.
21107
29d7e783
BC
211082010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
21109
21110 * bus/usb/usbhub.c: #include time.h header.
21111
37582066
CW
211122010-07-06 Colin Watson <cjwatson@ubuntu.com>
21113
21114 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
21115 entry_name also for entries without stat blocks (e.g. ".."); fixes
21116 corruption of the first entry in a directory.
21117
c8c06953
CW
211182010-07-06 Colin Watson <cjwatson@ubuntu.com>
21119
21120 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
21121 after setting gfxterm as the active terminal. GRUB_BACKGROUND
21122 doesn't work otherwise.
21123
e75056f1
CW
211242010-07-05 Colin Watson <cjwatson@ubuntu.com>
21125
21126 * docs/grub.texi (Features): Update list of supported file systems.
21127 (GNU/Linux): Update for GRUB 2.
21128 (Serial terminal): Remove mention of --disable-serial, which was a
21129 GRUB Legacy configure option. Update instructions to use
21130 `terminal_input' and `terminal_output' rather than `terminal'.
21131 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
21132 configuration' and `Installing GRUB using grub-install'.
21133 (Menu entry editor): Update for GRUB 2.
21134 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
21135 Document new -a, -u, and -v options.
21136 (initrd): New section.
21137 (initrd16): New section.
21138 (linux): New section.
21139 (linux16): New section.
21140 (search): The `var' argument to `--set' is optional.
21141 (GRUB only offers a rescue shell): Go into a little more detail on
21142 drive ordering.
21143
5cf69151
CW
211442010-07-05 Colin Watson <cjwatson@ubuntu.com>
21145
21146 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
21147
e3f90044
CW
211482010-07-05 Colin Watson <cjwatson@ubuntu.com>
21149
21150 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
21151 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
21152
38d8f4f3
CW
211532010-07-05 Colin Watson <cjwatson@ubuntu.com>
21154
21155 * util/i386/pc/grub-setup.c (setup): Rename prefix to
21156 install_prefix, in line with install_dos_part and install_bsd_part.
21157 Add new prefix variable, which is copied to install_prefix after
21158 comparing core.img in memory with the one read from disk in the
21159 no-embedding case, and use that rather than overwriting
21160 install_prefix immediately when installing to a partition.
21161 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
21162 Bicakci.
21163
57ebd41e
GS
211642010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21165
21166 * configure.ac: Avoid == in test command, it's not portable.
21167 * util/grub.d/30_os-prober.in: Likewise.
21168
cb7f64b2
CW
211692010-07-04 Colin Watson <cjwatson@ubuntu.com>
21170
21171 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
21172
6b654bb0
GS
211732010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
21174
21175 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
21176 multiple (top-level) partmaps.
21177
72a2026d
VS
211782010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 21181 Reported by: Tino Keitel.
72a2026d 21182
df3eb88f
VS
211832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 Bidi and diacritics support.
21186
21187 * Makefile.in (widthspec.bin): New target.
21188 (widthspec.h): Likewise.
21189 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
21190 * autogen.sh: Generate unidata.c.
21191 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
21192 * commands/ls.c (grub_ls_list_devices): Likewise.
21193 (grub_ls_list_files): Likewise.
21194 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
21195 (grub_mini_cmd_lsmod): Likewise.
21196 * commands/read.c: Likewise.
21197 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
21198 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
21199 * lib/arg.c (grub_arg_show_help): Likewise.
21200 * lib/crypto.c (grub_password_get): Likewise.
21201 * normal/auth.c (grub_username_get): Likewise.
21202 * normal/misc.c (grub_normal_print_device_info): Likewise.
21203 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
21204 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
21205 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
21206 (normal/charset.c_DEPENDENCIES): New variable.
21207 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
21208 (pkglib_MODULES): Remove charset.mod.
21209 (charset_mod_SOURCES): Removed.
21210 (charset_mod_CFLAGS): Likewise.
21211 (charset_mod_LDFLAGS): Likewise.
21212 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
21213 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
21214 and term/tparm.c.
21215 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21216 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21217 (kernel_img_HEADERS): Add terminfo.h.
21218 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
21219 Fill ->font. Reverse ascii bitmaps.
21220 (grub_font_get_xheight): New function.
21221 * font/font.c (grub_font_get_string_width): Moved from here ...
21222 * gfxmenu/font.c (grub_font_get_string_width): ... here.
21223 * font/font.c (grub_font_draw_string): Moved from here ...
21224 * gfxmenu/font.c (grub_font_draw_string): ... here.
21225 * font/font.c (grub_font_dup_glyph): New function.
21226 (grub_font_blit_glyph): Likewise.
21227 (grub_font_blit_glyph_mirror): Likewise.
21228 (blit_comb): Likewise.
21229 (grub_font_construct_dry_run): Likewise.
21230 (grub_font_get_constructed_device_width): Likewise.
21231 (grub_font_construct_glyph): Likewise.
21232 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
21233 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
21234 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
21235 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
21236 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
21237 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
21238 (grub_font_get_xheight): New proto.
21239 (grub_font_get_constructed_device_width): Likewise.
21240 (grub_font_construct_glyph): Likewise.
21241 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
21242 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
21243 * include/grub/font.h (grub_font_draw_string): Moved from here ...
21244 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
21245 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
21246 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
21247 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
21248 (grub_console_getcharwidth): Likewise.
21249 * include/grub/misc.h (grub_xputs): New proto.
21250 (grub_puts): Inlined.
21251 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
21252 (grub_normal_get_line_counter): Removed.
21253 (grub_install_newline_hook): Likewise.
21254 (grub_normal_get_char_counter): New proto.
21255 (grub_normal_reset_more): Likewise.
21256 (grub_xputs_normal): Likewise.
21257 * include/grub/powerpc/ieee1275/console.h: Removed.
21258 * include/grub/sparc64/ieee1275/console.h: Likewise.
21259 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
21260 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
21261 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
21262 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
21263 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
21264 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
21265 (grub_term_input): Pass reference to self. All users updated.
21266 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
21267 Pass reference to self. New fields normal_color, highlight_color and
21268 data. All users updated.
21269 (grub_putchar): Removed.
21270 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
21271 (grub_unicode_estimate_width): New function.
21272 (grub_term_getcharwidth): Add defaults.
21273 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
21274 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
21275 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
21276 (grub_cls): Remove EXPORT_FUNC.
21277 (grub_setcolorstate): Inline.
21278 (grub_newline_hook): Removed.
21279 * include/grub/terminfo.h: Rewritten. All users updated.
21280 * include/grub/unicode.h: New file.
21281 * include/grub/video.h (grub_video_signed_rect): New type.
21282 * kern/emu/console.c (grub_console_highlight_color): Removed.
21283 (grub_console_normal_color): Likewise.
21284 (grub_console_standard_color): Made static.
21285 (grub_ncurses_putchar): Remove mapping.
21286 (grub_ncurses_getcharwidth): Removed.
21287 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21288 (grub_ncurses_setcolor): Removed.
21289 (grub_ncurses_getcolor): Likewise.
21290 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
21291 (grub_console_putchar): ... this.
21292 (grub_console_putchar): Handle argument difference.
21293 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
21294 console_init_early and console_init_lately.
21295 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
21296 * kern/misc.c (grub_puts): Removed.
21297 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
21298 (grub_vsnprintf_real): Remove str = NULL support.
21299 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
21300 * normal/charset.c (grub_utf8_to_ucs4): ... here.
21301 * kern/term.c (grub_putcode): Renamed to ...
21302 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
21303 (grub_putchar): Removed.
21304 (grub_xputs_dumb): New function.
21305 (grub_xputs): New variable.
21306 * lib/charset.c: Move from here ...
21307 * normal/charset.c: ... to here.
21308 (grub_ucs4_to_utf8): New function.
21309 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
21310 (join_types): New variable.
21311 (unpack_join): New function.
21312 (bidi_types): New variable.
21313 (unpack_bidi): New function.
21314 (get_bidi_type): Likewise.
21315 (get_join_type): Likewise.
21316 (is_mirrored): Likewise.
21317 (grub_unicode_get_comb_type): Likewise.
21318 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
21319 (is_type_after): Likewise.
21320 (grub_unicode_aglomerate_comb): Likewise.
21321 (bidi_line_wrap): Likewise.
21322 (grub_bidi_line_logical_to_visual): Likewise.
21323 (grub_bidi_logical_to_visual): Likewise.
21324 (grub_unicode_mirror_code): Likewise.
21325 (grub_unicode_shape_code): Likewise.
21326 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
21327 Don't use grub_putchar.
21328 * normal/main.c (grub_normal_init_page): Use grub_putcode.
21329 (grub_normal_reader_init): Likewise.
21330 (grub_xputs_saved): New variable.
21331 (GRUB_MOD_INIT): Set grub_xputs.
21332 (GRUB_MOD_FINI): Restore grub_xputs.
21333 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
21334 (menu_init): Avoid printing gfxmenu error.
21335 (show_menu): Use grub_normal_get_char_counter.
21336 * normal/menu_entry.c (update_screen): Fix out-of-array.
21337 (complete): Avoid NULL dereferencing.
21338 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
21339 * normal/menu_text.c (print_spaces): Removed.
21340 (grub_print_ucs4): Likewise.
21341 (grub_print_message_indented): Use grub_print_ucs4.
21342 (print_message): Use grub_putcode.
21343 (print_entry): Hanlde diacritics.
21344 * normal/term.c (term_state): New type.
21345 (grub_more_lines): Removed.
21346 (term_states): New variable.
21347 (grub_normal_line_counter): Renamed to ..
21348 (grub_normal_char_counter): ...this. All users updated.
21349 (grub_normal_get_line_counter): Renamed to ...
21350 (grub_normal_get_char_counter): ... this.
21351 (grub_normal_reset_more): New function.
21352 (process_newline): Removed.
21353 (print_more): New function.
21354 (grub_install_newline_hook): Removed.
21355 (map_code): New function.
21356 (grub_puts_terminal): Use grub_print_ucs4.
21357 (putglyph): New function.
21358 (putcode_real): Likewise.
21359 (grub_putcode): Use putcode_real.
21360 (get_maxwidth): New function.
21361 (get_startwidth): Likewise.
21362 (print_ucs4_terminal): Likewise.
21363 (find_term_state): Likewise.
21364 (put_glyphs_terminal): Likewise.
21365 (print_backlog): Likewise.
21366 (print_ucs4_real): Likewise.
21367 (grub_print_ucs4): Likewise.
21368 (grub_xputs_normal): Likewise.
21369 * term/efi/console.c (grub_console_putchar): Output diacritics.
21370 (grub_console_getcharwidth): Removed.
21371 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21372 * term/gfxterm.c (clear_char): Free chars.
21373 (scroll_up): Avoid leaking memory.
21374 (grub_gfxterm_putchar): Support diacritics.
21375 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
21376 * term/i386/pc/console.c (grub_console_term_output): Declare as
21377 GRUB_TERM_CODE_TYPE_VGA.
21378 * term/i386/pc/vga.c (grub_vga_term): Declare as
21379 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
21380 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
21381 GRUB_TERM_CODE_TYPE_VGA.
21382 * term/i386/vga_common.c (map_char): Removed.
21383 (grub_console_putchar): Likewise.
21384 (grub_console_getcharwidth): Likewise.
21385 * term/ieee1275/ofconsole.c: Simplify using terminfo.
21386 (colors): Reordered to match terminfo.
21387 (grub_ofconsole_normal_color): Removed.
21388 (grub_ofconsole_writeesc): Likewise.
21389 (grub_ofconsole_highlight_color): Likewise.
21390 (grub_ofconsole_getcharwidth): Likewise.
21391 (grub_ofconsole_setcolorstate): Likewise.
21392 (grub_ofconsole_setcolor): Likewise.
21393 (grub_ofconsole_getcolor): Likewise.
21394 (grub_ofconsole_readkey): Renamed to ...
21395 (readkey): ... this. Remove escape sequence handling. Return -1 on no
21396 key.
21397 (grub_ofconsole_checkkey): Removed.
21398 (grub_ofconsole_getkey): Likewise.
21399 (grub_ofconsole_getxy): Likewise.
21400 (grub_ofconsole_gotoxy): Likewise.
21401 (grub_ofconsole_cls): Likewise.
21402 (grub_ofconsole_refresh): Likewise.
21403 (grub_ofconsole_terminfo_input): New struct.
21404 (grub_ofconsole_terminfo_output): Likewise.
21405 (grub_ofconsole_term_input): Use terminfo.
21406 (grub_ofconsole_term_output): Likewise.
21407 (grub_console_init): Split into ...
21408 (grub_console_init_early): ...this and ...
21409 (grub_console_init_lately): ...this. Use terminfo.
21410 (grub_ofconsole_putchar): Renamed to ...
21411 (put): ... this. Remove mapping.
21412 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
21413 * term/serial.c: Simplify using terminfo.
21414 (xpos): Removed.
21415 (ypos): Likewise.
21416 (keep_track): Likewise.
21417 (registered): Likewise.
21418 (input_buf): Likewise.
21419 (npending): Likewise.
21420 (serial_translate_key_sequence): Likewise.
21421 (fill_input_buf): Likewise.
21422 (grub_serial_checkkey): Likewise.
21423 (grub_serial_getkey): Likewise.
21424 (grub_serial_getxy): Likewise.
21425 (grub_serial_gotoxy): Likewise.
21426 (grub_serial_putchar): Likewise.
21427 (grub_serial_cls): Likewise.
21428 (grub_serial_setcolorstate): Likewise.
21429 (grub_serial_setcursor): Likewise.
21430 (serial_hw_init): Use serial_hw_fetch.
21431 (grub_serial_terminfo_input): New variable.
21432 (grub_serial_terminfo_output): Likewise.
21433 (grub_serial_term_input): Use terminfo.
21434 (grub_serial_term_output): Likewise.
21435 * term/terminfo.c (putstr): Use put.
21436 (grub_terminfo_all_free): New function
21437 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
21438 (grub_terminfo_output_register): New function.
21439 (grub_terminfo_output_unregister): Likewise.
21440 (grub_terminfo_getxy): Likewise.
21441 (grub_terminfo_readkey): Likewise.
21442 (grub_terminfo_checkkey): Likewise.
21443 (grub_terminfo_getkey): Likewise.
21444 (grub_terminfo_input_init): Likewise.
21445 (print_terminfo): Likewise.
21446 (grub_cmd_terminfo): Handle encoding.
21447 (grub_terminfo_gotoxy): Track position.
21448 (grub_terminfo_cls): Likewise.
21449 (grub_terminfo_putchar): Likewise.
21450 (grub_terminfo_setcolorstate): Handle colors
21451 (grub_terminfo_cursor_on): This ...
21452 (grub_terminfo_cursor_off): ... and this merged into ...
21453 (grub_terminfo_setcursor): ... this.
21454 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
21455 * unicode/ArabicShaping.txt: New file (imported from Unicode).
21456 * unicode/BidiMirroring.txt: Likewise.
21457 * unicode/UnicodeData.txt: Likewise.
21458 * unicode/COPYING: Likewise.
21459 * util/grub-editenv.c (grub_putchar): Removed.
21460 (grub_xputs_real): New function.
21461 (grub_xputs): New variable.
21462 * util/grub-fstest.c (grub_putchar): Removed.
21463 (grub_xputs_real): New function.
21464 (grub_xputs): New variable.
21465 * util/grub-mkdevicemap.c (grub_putchar): Removed.
21466 (grub_xputs_real): New function.
21467 (grub_xputs): New variable.
21468 * util/grub-probe.c (grub_putchar): Removed.
21469 (grub_xputs_real): New function.
21470 (grub_xputs): New variable.
21471 * util/grub-script-check.c (grub_putchar): Removed.
21472 (grub_xputs_real): New function.
21473 (grub_xputs): New variable.
21474 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
21475 (grub_xputs_real): New function.
21476 (grub_xputs): New variable.
21477 * util/import_unicode.py: New file.
21478 * util/grub-mkfont.c (ft_errmsgs): New array.
21479 (grub_glyph_info): Make bitmap a pointer.
21480 (file_formats): New type WIDTH_SPEC.
21481 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
21482 (options): Add width-spec.
21483 (help): Likewise.
21484 (add_char): Renamed to ...
21485 (add_glyph): ... this.
21486 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
21487 (glyph_replace): New type.
21488 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
21489 (add_char): New function.
21490 (add_subst): Likewise.
21491 (process_cursive): Likewise.
21492 (add_font): Handle GSUB.
21493 (write_font_width_spec): New function.
21494 (main): Sort glyphs.
21495 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
21496 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
21497 * kern/term.c (grub_cls): Moved from here...
21498 * normal/term.c (grub_cls): ... here.
21499
50f0bcda
CW
215002010-07-02 Colin Watson <cjwatson@ubuntu.com>
21501
21502 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
21503 suitable for using within the format argument of printf when
21504 converting grub_size_t.
21505 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
21506 "x" to convert grub_size_t arguments.
21507
40372103
VS
215082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21509
21510 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
21511 too long captions.
21512 (list_get_minimal_size): Take selection box into account.
21513
942a10c7
VS
215142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21515
21516 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
21517 NULL font.
21518
2bdb2892
CW
215192010-07-02 Colin Watson <cjwatson@ubuntu.com>
21520
21521 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
21522 devices when iterating over /dev/disk/by-id; they will be handled
21523 later if appropriate, which they aren't always (e.g. LVM).
21524
e03ed6c1
CW
215252010-07-02 Colin Watson <cjwatson@ubuntu.com>
21526
21527 * include/grub/misc.h (grub_reboot): Declare as noreturn.
21528 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
21529 fails.
21530 (grub_halt): Likewise.
21531 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
21532 reset-all fails.
21533 (grub_halt): Don't return, even if all of shut-down, power-off, and
21534 poweroff fail.
21535
47695765
CW
215362010-07-02 Colin Watson <cjwatson@ubuntu.com>
21537
21538 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
21539 arguments, not three.
21540
507736c8
CW
215412010-07-02 Colin Watson <cjwatson@ubuntu.com>
21542
21543 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
21544 * util/grub.d/10_linux.in: Use it to check for LVM, so that
21545 LVM-on-RAID is handled correctly.
21546
e3c8cd37
CW
215472010-07-02 Colin Watson <cjwatson@ubuntu.com>
21548
21549 * docs/grub.texi (Changes from GRUB Legacy): New section.
21550 (Future): Fix typo.
21551
8d4a2fec
CW
215522010-07-02 Colin Watson <cjwatson@ubuntu.com>
21553
21554 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
21555 grub.d/README accidentally ends up executable for one reason or
21556 another. Ignore it.
21557
1c4827be
VS
215582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
21561 (gpt_partition_map_iterate): Support non-512B sectors.
21562
d9a0c941
VS
215632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 * kern/efi/init.c (grub_efi_init): Disable watchdog.
21566 Tested by: Seth Goldberg.
21567
48f27e87
VS
215682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
21571 Properly align mbi.
21572 Reported by: Seth Goldberg.
21573
b0c4f956
VS
215742010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21575
21576 * util/grub-mkrescue.in: Avoid module duplication.
21577
105a2e8c
SF
215782010-07-01 Sean Finney <seanius@seanius.net>
21579
21580 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
21581
5944958c
SF
215822010-07-01 Sean Finney <seanius@seanius.net>
21583
21584 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
21585
215862010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21587
21588 * disk/lvm.c (grub_lvm_checkvalue): New function.
21589 (grub_lvm_check_flag): Likewise.
21590
b79889ba
RM
215912010-07-01 Robert Millan <rmh@gnu.org>
21592
21593 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
21594 Support 'p' as partition separator on kernel of FreeBSD (used
21595 with GPT labels).
21596 (grub_util_biosdisk_get_grub_dev): Likewise.
21597
ec1d04f1
VS
215982010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
21599
21600 Yeeloong firmware port.
21601
21602 * boot/mips/yeeloong/fwstart.S: New file.
21603 * bus/cs5536.c (gpiodump): New const.
21604 (set_io_space): New function.
21605 (set_iod): Likewise.
21606 (set_p2d): Likewise.
21607 (grub_cs5536_init_geode): Likewise.
21608 * commands/mips/yeeloong/lsspd.c: New file.
21609 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
21610 (serial_mod_SOURCES): New variable.
21611 (serial_mod_CFLAGS): Likewise.
21612 (serial_mod_LDFLAGS): Likewise.
21613 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
21614 term/terminfo.c and term/tparm.c.
21615 (pkglib_IMAGES): Add fwstart.img.
21616 (fwstart_img_SOURCES): New variable.
21617 (fwstart_img_CFLAGS): Likewise.
21618 (fwstart_img_ASFLAGS): Likewise.
21619 (fwstart_img_LDFLAGS): Likewise.
21620 (fwstart_img_FORMAT): Likewise.
21621 (pkglib_MODULES): Add lsspd.mod.
21622 (lsspd_mod_SOURCES): New variable.
21623 (lsspd_mod_CFLAGS): Likewise.
21624 (lsspd_mod_LDFLAGS): Likewise.
21625 (pkglib_MODULES): Add halt.mod.
21626 (halt_mod_SOURCES): New variable.
21627 (halt_mod_CFLAGS): Likewise.
21628 (halt_mod_LDFLAGS): Likewise.
21629 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
21630 (serial_mod_SOURCES): Removed.
21631 (serial_mod_CFLAGS): Likewise.
21632 (serial_mod_LDFLAGS): Likewise.
21633 * disk/ata.c (check_device): New function.
21634 (grub_ata_device_initialize): Use check_device.
21635 (grub_ata_iterate): Recheck devices.
21636 (grub_ata_open): Likewise.
21637 (grub_atapi_iterate): Likewise.
21638 (grub_atapi_open): Likewise.
21639 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
21640 (GRUB_ATA_CH1_PORT1): Likewise.
21641 (GRUB_ATA_CH0_PORT2): Likewise.
21642 (GRUB_ATA_CH1_PORT2): Likewise.
21643 * include/grub/mips/loongson.h: New file.
21644 * include/grub/mips/yeeloong/ec.h: Likewise.
21645 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
21646 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
21647 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
21648 * include/grub/misc.h (grub_halt): Declare as noreturn.
21649 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
21650 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
21651 (UART_ENABLE_FIFO_TRIGGER1): New definition.
21652 (UART_ENABLE_DTRRTS): Likewise.
21653 (UART_ENABLE_MODEM): Removed.
21654 (UART_ENABLE_OUT2): New const.
21655 * include/grub/term.h (grub_term_register_input_active): New function.
21656 (grub_term_register_output_active): Likewise.
21657 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
21658 argument.
21659 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
21660 (init_pci): New function.
21661 (grub_machine_init): Execute platform init when firmware. Init serial.
21662 (grub_halt): Implement.
21663 (grub_exit): Likewise.
21664 (grub_reboot): Likewise.
21665 * term/serial.c (serial_hw_init): Update macros.
21666 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
21667 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
21668 (image_targets): New target mipsel-yeeloong-flash.
21669 (generate_image): Support IMAGE_YEELOONG_FLASH.
21670 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
21671 (grub_video_sm712_setup): Init card.
21672 (grub_video_sm712_set_palette): Removed.
21673 * video/sm712_init.c: New file.
21674
ff4a70d2
CW
216752010-06-30 Colin Watson <cjwatson@ubuntu.com>
21676
21677 * Makefile.in (install-local): Temporarily prepend $(builddir) to
21678 PATH when running help2man and then run it on the unadorned
21679 executable names, rather than passing $(builddir)/* paths to
21680 help2man. This avoids the build directory ending up in generated
21681 manual pages.
21682
1246efeb
CW
216832010-06-29 Colin Watson <cjwatson@ubuntu.com>
21684
21685 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
21686 to avoid accidents when debugging with 'sh -x'.
21687 * util/grub-mkrescue.in: Likewise.
21688 * util/grub.d/00_header.in: Likewise.
21689 * util/grub.d/10_hurd.in: Likewise.
21690 * util/grub.d/10_kfreebsd.in: Likewise.
21691 * util/grub.d/10_linux.in: Likewise.
21692 * util/grub.d/10_netbsd.in: Likewise.
21693 * util/grub.d/10_windows.in: Likewise.
21694 * util/grub.d/20_linux_xen.in: Likewise.
21695 * util/grub.d/30_os-prober.in: Likewise.
21696 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21697
1ba9b889
CW
216982010-06-29 Colin Watson <cjwatson@ubuntu.com>
21699
21700 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
21701 last character in the buffer.
21702 Reported by: Vladimir Serbinenko.
21703
dccaf99d
RM
217042010-06-29 Robert Millan <rmh@gnu.org>
21705
21706 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
21707 (Command-line and menu entry commands): Document `badram' command.
21708
d500ed12
RM
217092010-06-28 Robert Millan <rmh@gnu.org>
21710
21711 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
21712 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
21713 command using ${GRUB_BADRAM} as parameter.
21714
20bc84a6
CW
217152010-06-28 Colin Watson <cjwatson@ubuntu.com>
21716
21717 * docs/grub.texi (Device map): New section.
21718 (Themes): New section (stub).
21719 * Makefile.in (docs/grub.info): The info documentation now builds
21720 without errors. Make sure it stays that way.
21721
4045dee1
VS
217222010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 Use normal parser for menu entries.
21725 Reported by: Thomas Frauendorfer
21726
21727 * include/grub/parser.h (grub_parser_execute): Don't export.
21728 * normal/menu.c (grub_menu_execute_entry_real): New function.
21729 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
21730
bca58c7b
CW
217312010-06-28 Colin Watson <cjwatson@ubuntu.com>
21732
21733 * docs/grub.texi (Embedded configuration): New section (replacing
21734 old "Preset Menu" stub).
21735 (Images): New section.
21736 (configfile): Note that any menu entries defined in `file' are shown
21737 immediately.
21738
dec53e63
JT
217392010-06-28 Josh Triplett <josh@joshtriplett.org>
21740
21741 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21742
c06e40f7
CW
217432010-06-28 Colin Watson <cjwatson@ubuntu.com>
21744
21745 * util/grub-install.in: Add --debug-image= option.
21746
cb88052b
CW
217472010-06-28 Colin Watson <cjwatson@ubuntu.com>
21748
21749 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
21750 possible on Linux.
21751
21752 * util/deviceiter.c (check_device): Rename to ...
21753 (check_device_readable_unique): ... this. Update all callers.
21754 Maintain and check a list of which devices (by canonicalized name)
21755 have already been seen.
21756 (clear_seen_devices): New function.
21757 (compare_file_names) [__linux__]: New function.
21758 (grub_util_iterate_devices): Clear the list of seen devices on exit
21759 and (just in case) on entry.
21760 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
21761 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
21762 seen-devices list, superseded by general code in check_device.
21763
bbe34652
CW
217642010-06-28 Colin Watson <cjwatson@ubuntu.com>
21765
21766 * commands/cat.c (options): New variable.
21767 (grub_cmd_cat): Parse options. If the --dos option is given, print
21768 DOS-style "\r\n" line endings as simple newlines (Debian bug
21769 #586358).
21770 (GRUB_MOD_INIT): Use extcmd.
21771 (GRUB_MOD_FINI): Likewise.
21772 * docs/grub.texi (cat): Document --dos.
21773
412e09f3
VS
217742010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 XEN with Linux grub-mkconfig support.
21777
21778 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
21779 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
21780 GRUB_CMDLINE_XEN_DEFAULT.
21781 * util/grub.d/20_linux_xen.in: New file.
21782
53f3ef38 217832010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
21784
21785 Initialise VGA video on qemu ourselves.
21786
21787 * boot/i386/qemu/boot.S: Don't call 0xc000.
21788 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
21789 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
21790 (kernel_img_HEADERS): Add pci.h.
21791 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
21792 * configure.ac: Force unifont on qemu and yeeloong.
21793 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
21794 (grub_vga_palette_write): Use correct register.
21795 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
21796 Call grub_qemu_init_cirrus.
21797 * kern/i386/qemu/init.c: New file.
21798 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
21799
21800 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
21801
c75be4fb
PR
218022010-06-26 Pavel Roskin <proski@gnu.org>
21803
21804 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
21805 13.
21806
d8034603
CW
218072010-06-26 Colin Watson <cjwatson@ubuntu.com>
21808
21809 * docs/grub.texi (Simple configuration): Explain that
21810 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
21811 set to `true' to disable their respective recovery entries, not
21812 merely set.
21813
3fa06487
CW
218142010-06-26 Colin Watson <cjwatson@ubuntu.com>
21815
21816 Make the `source' command slightly faster.
21817
21818 * normal/main.c (grub_normal_execute): Don't re-read list files when
21819 nested.
21820
e9b29642
CW
218212010-06-23 Colin Watson <cjwatson@ubuntu.com>
21822
21823 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
21824 field position and mask size to red fields from mode_info, not
21825 green.
21826 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
21827 Remove redundant tag->common.framebuffer_type assignment.
21828 Reported by: Seth Goldberg.
21829
e726542f
CW
218302010-06-23 Colin Watson <cjwatson@ubuntu.com>
21831
21832 Sync up other versions of the Linux loader with Robert Millan's
21833 change of 2010-01-09, "Make loader output a bit more user-friendly".
21834
21835 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
21836 grub_dprintf().
21837 (grub_cmd_linux): Likewise.
21838 (grub_cmd_initrd): Likewise.
21839 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
21840 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21841
d6e98a17
CW
218422010-06-21 Colin Watson <cjwatson@ubuntu.com>
21843
21844 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
21845 larger than MEMORY_MAP_SIZE.
21846
14d3f08e
BC
218472010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
21848
21849 Fix parallel build.
21850
21851 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
21852 dependency.
21853 * script/parser.y: #include grub_script.tab.h header.
21854
4f9613a3
VS
218552010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 Support >3GiB and <16MiB RAM in i386-qemu.
21858
21859 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
21860 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
21861 (grub_lower_mem): Removed.
21862 (grub_upper_mem): Likewise.
21863 (mem_size): Made static.
21864 (above_4g): New variable.
21865 (grub_machine_mmap_init): Detect small mem_size and above_4g.
21866 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
21867 support.
21868
05e51879
VS
218692010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21870
21871 Cirrus 5446 and Bochs video cards support.
21872
21873 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
21874 video_bochs.mod
21875 (video_cirrus_mod_SOURCES): New variable.
21876 (video_cirrus_mod_CFLAGS): Likewise.
21877 (video_cirrus_mod_LDFLAGS): Likewise.
21878 (video_bochs_mod_SOURCES): Likewise.
21879 (video_bochs_mod_CFLAGS): Likewise.
21880 (video_bochs_mod_LDFLAGS): Likewise.
21881 * include/grub/vga.h: New file.
21882 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
21883 (grub_video_fb_set_page_t): New type.
21884 (grub_video_fb_setup): New prototype.
21885 (grub_video_fb_swap_buffers): Likewise.
21886 (grub_video_fb_get_info_and_fini): Likewise.
21887 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
21888 (CRTC_DATA_PORT): Likewise.
21889 (CRTC_CURSOR): Likewise.
21890 (CRTC_CURSOR_ADDR_HIGH): Likewise.
21891 (CRTC_CURSOR_ADDR_LOW): Likewise.
21892 (CRTC_CURSOR_DISABLE): Likewise.
21893 (update_cursor): Use grub_vga_cr_write.
21894 (grub_vga_text_setcursor): Likewise.
21895 * video/bochs.c: New file.
21896 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
21897 (palette): Likewise.
21898 (palette_size): Likewise.
21899 (framebuffer): New variable.
21900 (grub_video_fb_init): Use 'framebuffer'.
21901 (grub_video_fb_fini): Likewise.
21902 (grub_video_fb_get_info): Likewise.
21903 (grub_video_fb_get_palette): Likewise.
21904 (grub_video_fb_set_palette): Likewise.
21905 (grub_video_fb_set_viewport): Likewise.
21906 (grub_video_fb_get_viewport): Likewise.
21907 (grub_video_fb_map_color): Likewise.
21908 (grub_video_fb_map_rgb): Likewise.
21909 (grub_video_fb_map_rgba): Likewise.
21910 (grub_video_fb_unmap_color): Likewise.
21911 (grub_video_fb_unmap_color_int): Likewise.
21912 (grub_video_fb_fill_rect): Likewise.
21913 (grub_video_fb_blit_bitmap): Likewise.
21914 (grub_video_fb_blit_render_target): Likewise.
21915 (grub_video_fb_scroll): Likewise.
21916 (grub_video_fb_create_render_target): Likewise.
21917 (grub_video_fb_doublebuf_blit_init): Likewise.
21918 (grub_video_fb_set_active_render_target): Handle doublebuffering.
21919 (doublebuf_pageflipping_update_screen): New function.
21920 (doublebuf_pageflipping_init): Likewise.
21921 (grub_video_fb_setup): Likewise.
21922 (grub_video_fb_swap_buffers): Likewise.
21923 (grub_video_fb_get_info_and_fini): Likewise.
21924 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
21925 All users updated.
21926 (doublebuf_pageflipping_commit): Restructured into ...
21927 (doublebuf_pageflipping_set_page): ... this.
21928 (doublebuf_pageflipping_update_screen): Removed.
21929 (doublebuf_pageflipping_init): Likewise.
21930 (double_buffering_init): Likewise.
21931 (grub_video_vbe_setup): Use grub_video_fb_setup.
21932 (grub_video_vbe_swap_buffers): Removed.
21933 (grub_video_vbe_set_active_render_target): Likewise.
21934 (grub_video_vbe_get_active_render_target): Likewise.
21935 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
21936 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
21937 grub_video_fb_set_active_render_target and
21938 grub_video_fb_get_active_render_target.
21939 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
21940 (SEQUENCER_DATA_PORT): Likewise.
21941 (MAP_MASK_REGISTER): Likewise.
21942 (CRTC_ADDR_PORT): Likewise.
21943 (CRTC_DATA_PORT): Likewise.
21944 (START_ADDR_HIGH_REGISTER): Likewise.
21945 (START_ADDR_LOW_REGISTER): Likewise.
21946 (GRAPHICS_ADDR_PORT): Likewise.
21947 (GRAPHICS_DATA_PORT): Likewise.
21948 (READ_MAP_REGISTER): Likewise.
21949 (INPUT_STATUS1_REGISTER): Likewise.
21950 (INPUT_STATUS1_VERTR_BIT): Likewise.
21951 (get_map_mask): Use grub_vga_sr_read.
21952 (set_map_mask): Use grub_vga_sr_write.
21953 (set_read_map): Use grub_vga_gr_write.
21954 (set_start_address): Use grub_vga_cr_write.
21955 * video/sm712.c (framebuffer): Remove leftover fields.
21956
4321c64a
CW
219572010-06-20 Colin Watson <cjwatson@ubuntu.com>
21958
21959 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
21960 setting GRUB_VIDEO_BACKEND. Make it available as a user override
21961 instead. Replace the gfxterm backend check with a check that
21962 ${GRUB_PREFIX}/video.lst is non-empty.
21963 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
21964 again.
21965 (load_video): New generated function. Call it before loading
21966 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
21967 * util/grub.d/10_linux.in (linux_entry): Call load_video.
21968 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
21969 * docs/grub.texi (Simple configuration): Document
21970 GRUB_VIDEO_BACKEND.
21971
219722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21973
21974 Use video functions in linux and xnu loaders.
21975
21976 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21977 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
21978 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
21979 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
21980 loader/i386/pc/linux.c.
21981 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
21982 (find_line_len): Removed.
21983 (find_framebuf): Likewise.
21984 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
21985 * loader/i386/efi/xnu.c: Removed.
21986 * loader/i386/pc/xnu.c: Moved from here...
21987 * loader/i386/xnu.c: ...here.
21988
21989 Enable priorities in video drivers.
21990
21991 * include/grub/video.h (grub_video_adapter_prio_t): New type.
21992 (grub_video_adapter): New field prio.
21993 (grub_video_register): Respect prio when inserting.
21994 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
21995 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
21996 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
21997 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
21998 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
21999 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
22000 * video/sm712.c (grub_video_sm712_adapter): Likewise.
22001
22002 Fix SDL driver ID.
22003
22004 * include/grub/video.h (grub_video_driver_id_t): New value
22005 GRUB_VIDEO_DRIVER_SDL.
22006 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
22007
7d24e434
CW
220082010-06-17 Colin Watson <cjwatson@ubuntu.com>
22009
22010 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
22011 argument to printf.
22012 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22013
c88a83f6
CW
220142010-06-17 Colin Watson <cjwatson@ubuntu.com>
22015
22016 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
22017 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22018
094dfb69
CW
220192010-06-17 Colin Watson <cjwatson@ubuntu.com>
22020
22021 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
22022 directly, and recommend grub-install instead.
22023 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
22024
2164da6b
CW
220252010-06-17 Colin Watson <cjwatson@ubuntu.com>
22026
22027 Fix i386-pc prefix handling with nested partitions (Debian bug
22028 #585068). Note that the case where the core image is booted using
22029 multiboot and relocated from its original location still requires
22030 more work.
22031
22032 * kern/i386/pc/init.c (make_install_device): If the prefix starts
22033 with "(,", fill the boot drive in between those two characters, but
22034 expect that a full partition specification including partition map
22035 names will follow.
22036 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
22037 specified, write a prefix without the drive name but including a
22038 full partition specification.
22039
044e2e60
CW
220402010-06-16 Colin Watson <cjwatson@ubuntu.com>
22041
22042 * util/grub-mkconfig.in: Ignore non-option arguments, for
22043 compatibility with older versions (before 2010-06-12) which did the
22044 same. In particular, this makes it easier to ship an update-grub
22045 wrapper which is compatible with that used with GRUB Legacy (Debian
22046 bug #586056).
22047
5591324f
GS
220482010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22049
22050 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
22051 for manual page generation.
22052
662e24d5
GS
220532010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22054
22055 * po/POTFILES: Remove leftover commands/handler.c.
22056
8d70754e
CW
220572010-06-14 Colin Watson <cjwatson@ubuntu.com>
22058
22059 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
22060 left this script non-functional.
22061
41160e2e
CW
220622010-06-14 Colin Watson <cjwatson@ubuntu.com>
22063
22064 * docs/man/grub-emu.h2m: New file.
22065
b5309cc1
CW
220662010-06-13 Colin Watson <cjwatson@ubuntu.com>
22067
22068 * docs/grub.texi (Commands): Document reduced command set in rescue
22069 mode.
22070 (cpuid): New section.
22071
fcb2d090
GS
220722010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
22073
22074 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
22075 new partition naming style.
22076 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
22077
96e5c556
BC
220782010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
22079
22080 Add "-o grub.iso" like cmdline options support.
22081
22082 * util/grub-install.in: Improve cmdline option parsing.
22083 * util/grub-mkconfig.in: Likewise.
22084 * util/grub-mkrescue.in: Likewise.
22085 * util/grub-reboot.in: Likewise.
22086 * util/grub-set-default.in: Likewise.
22087 * util/i386/efi/grub-install.in: Likewise.
22088 * util/ieee1275/grub-install.in: Likewise.
22089 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22090
c16be99b
CW
220912010-06-12 Colin Watson <cjwatson@ubuntu.com>
22092
22093 * .bzrignore: Ignore 41_custom.
22094
ce08a9fb
TS
220952010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22096
22097 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
22098
7beac90c
CW
220992010-06-12 Colin Watson <cjwatson@ubuntu.com>
22100
22101 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
22102 prototype declarations.
22103
22104 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
22105 generating fs, partmap, and video lists.
22106 * include/grub/fs.h (grub_fs_register): Omit prototype if
22107 GRUB_LST_GENERATOR is defined.
22108 * include/grub/partition.h (grub_partition_map_register): Likewise.
22109 * include/grub/video.h (grub_video_register): Likewise.
22110
1c8f0f8d
JM
221112010-06-12 Javier Martín <lordhabbit@gmail.com>
22112
22113 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
22114
a6085973
TS
221152010-06-12 Thomas Schmitt <scdbackup@gmx.net>
22116
22117 * util/grub-mkrescue.in: Support --xorriso argument.
22118
25c56d29
VS
221192010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
22122 Suggested by: Thomas Schmitt.
22123
e03e4b24
VS
221242010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22125
22126 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
22127 Suggested by: Thomas Schmitt.
22128
57711df6
VS
221292010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 custom.cfg support.
22132
22133 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
22134 * util/grub.d/41_custom.in: New file.
22135
ee62c427
CW
221362010-06-12 Colin Watson <cjwatson@ubuntu.com>
22137
22138 * util/grub-mkrescue.in (make_image): Remove sh module, which has
22139 been merged back into normal.
22140
283af07a
CW
221412010-06-11 Colin Watson <cjwatson@ubuntu.com>
22142
22143 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
22144 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
22145
56a0d956
CW
221462010-06-11 Colin Watson <cjwatson@ubuntu.com>
22147
22148 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
22149 when generating manual pages.
22150 * docs/man/grub-bin2h.h2m: New file.
22151 * docs/man/grub-editenv.h2m: New file.
22152 * docs/man/grub-fstest.h2m: New file.
22153 * docs/man/grub-install.h2m: New file.
22154 * docs/man/grub-macho2img.h2m: New file.
22155 * docs/man/grub-mkconfig.h2m: New file.
22156 * docs/man/grub-mkdevicemap.h2m: New file.
22157 * docs/man/grub-mkfont.h2m: New file.
22158 * docs/man/grub-mkimage.h2m: New file.
22159 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
22160 * docs/man/grub-mkrelpath.h2m: New file.
22161 * docs/man/grub-mkrescue.h2m: New file.
22162 * docs/man/grub-ofpathname.h2m: New file.
22163 * docs/man/grub-pe2elf.h2m: New file.
22164 * docs/man/grub-probe.h2m: New file.
22165 * docs/man/grub-reboot.h2m: New file.
22166 * docs/man/grub-script-check.h2m: New file.
22167 * docs/man/grub-set-default.h2m: New file.
22168 * docs/man/grub-setup.h2m: New file.
22169
3a37e322
VS
221702010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
22171
22172 Use FOR_* macros instead of *_iterate whenever possible.
22173
22174 * commands/handler.c: Removed.
22175 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
22176 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
22177 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22178 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
22179 (grub_probe_SOURCES): Remove kern/parser.c.
22180 (util/grub-script-check.c_DEPENDENCIES): Removed.
22181 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
22182 and grub_script_check_init.c.
22183 (grub_script_check_init.lst): Removed.
22184 (grub_script_check_init.h): Likewise.
22185 (grub_script_check_init.c): Likewise.
22186 (pkglib_MODULES): Remove handler.mod and sh.mod.
22187 (handler_mod_SOURCES): Removed.
22188 (handler_mod_CFLAGS): Likewise.
22189 (handler_mod_LDFLAGS): Likewise.
22190 (normal_mod_SOURCES): Remove normal/handler.c.
22191 Add script/main.c, script/script.c, script/execute.c,
22192 script/function.c, script/lexer.c, grub_script.tab.c
22193 and grub_script.yy.c.
22194 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22195 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22196 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
22197 (grub_setup_SOURCES): Remove kern/parser.c.
22198 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22199 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
22200 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
22201 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22202 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22203 (grub_setup_SOURCES): Remove kern/parser.c.
22204 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
22205 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
22206 * include/grub/command.h (grub_command_iterate): Removed.
22207 (FOR_COMMANDS): New macro.
22208 * include/grub/dl.h (grub_dl): New member next.
22209 (grub_dl_iterate): Removed.
22210 (grub_dl_head): New variable declaration.
22211 (FOR_DL_MODULES): New macro.
22212 * include/grub/fs.h: Include list.h.
22213 (grub_fs): Make next first element.
22214 (grub_fs_list): New variable declaration.
22215 (grub_fs_register): Make inline.
22216 (grub_fs_unregister): Likewise.
22217 (grub_fs_iterate): Removed.
22218 (FOR_FILESYSTEMS): New macro.
22219 * include/grub/handler.h: Removed.
22220 * include/grub/list.h (grub_list_hook_t): Removed.
22221 (grub_list_test_t): Likewise.
22222 (grub_list_pop): Likewise.
22223 (grub_list_iterate): Likewise.
22224 (grub_list_insert): Likewise.
22225 (FOR_LIST_ELEMENTS): New macro.
22226 * include/grub/parser.h (grub_parser_class): Removed.
22227 (grub_parser_register): Likewise.
22228 (grub_parser_unregister): Likewise.
22229 (grub_parser_get_current): Likewise.
22230 (grub_parser_set_current): Likewise.
22231 (grub_register_rescue_parser): Likewise.
22232 (grub_rescue_parse_line): New function.
22233 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
22234 * include/grub/script_sh.h (grub_script_function_list): New variable
22235 declaration.
22236 (FOR_SCRIPT_FUNCTIONS): New macro.
22237 (grub_script_function_iterate): Removed.
22238 (grub_normal_parse_line): New prototype.
22239 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
22240 (FOR_DISABLED_TERM_INPUTS): Likewise.
22241 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22242 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22243 * include/grub/video.h (grub_video_adapter): Move 'next' to first
22244 element.
22245 (grub_video_register): Inline.
22246 (grub_video_unregister): Likewise.
22247 (grub_video_adapter_list): New variable declaration.
22248 (grub_video_iterate): Removed.
22249 (FOR_VIDEO_ADAPTERS): New macro.
22250 * kern/dl.c (grub_dl_list): Removed. All users updated.
22251 (grub_dl_iterate): Removed.
22252 * kern/fs.c (grub_fs_list): Make global.
22253 (grub_fs_register): Removed.
22254 (grub_fs_unregister): Likewise.
22255 (grub_fs_iterate): Likewise.
22256 * kern/handler.c: Removed.
22257 * kern/list.c (grub_list_pop): Removed.
22258 (grub_list_iterate): Likewise.
22259 (grub_list_insert): Likewise.
22260 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
22261 (grub_prio_list_insert): Don't use grub_list_insert.
22262 * kern/main.c (grub_register_rescue_parser): Don't call
22263 grub_register_rescue_parser.
22264 * kern/parser.c (grub_parser_class): Removed.
22265 (grub_parser_execute): Use grub_rescue_parse_line.
22266 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
22267 (grub_rescue_parser): Removed.
22268 (grub_register_rescue_parser): Likewise.
22269 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
22270 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
22271 (grub_auth_check_authentication): Likewise.
22272 * normal/completion.c (iterate_command): Removed.
22273 (grub_normal_do_completion): Use FOR_COMMANDS.
22274 * normal/handler.c: Removed.
22275 * normal/main.c (read_config_file): Remove parser changing.
22276 (grub_normal_execute): Don't call read_handler_list.
22277 (grub_normal_read_line_real): Statically allocate prompt.
22278 (grub_cmdline_run): Use grub_normal_parse_line.
22279 (GRUB_MOD_FINI): Don't call free_handler_list.
22280 * normal/menu_entry.c (run): Likewise.
22281 * script/function.c (grub_script_function_list): Make global.
22282 (grub_script_function_iterate): Removed.
22283 * script/main.c (grub_normal_parse_line): Make global.
22284 (grub_sh_parser): Removed.
22285 (GRUB_MOD_INIT): Likewise.
22286 (GRUB_MOD_FINI): Likewise.
22287 * tests/lib/functional_test.c (grub_functional_test): Use
22288 FOR_LIST_ELEMENTS.
22289 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
22290 (grub_test_run): Use FOR_LIST_ELEMENTS.
22291 * tests/lib/unit_test.c (main): Likewise.
22292 * util/deviceiter.c (grub_util_iterate_devices): Don't use
22293 grub_list_pop.
22294 * util/grub-fstest.c (grub_term_input_class): Removed.
22295 (grub_term_output_class): Likewise.
22296 * util/grub-probe.c: Likewise.
22297 * util/i386/pc/grub-setup.c: Likewise.
22298 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22299 * util/grub-script-check.c (main): Don't call grub_init_all and
22300 grub_fini_all.
22301 * video/video.c (grub_video_adapter_list): Make global.
22302 (grub_video_register): Removed.
22303 (grub_video_unregister): Likewise.
22304 (grub_video_iterate): Likewise.
22305
6289c3a7
VS
223062010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
22307
22308 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
22309 reported by Henrique Ferreiro.
22310
91460247
RM
223112010-06-09 Robert Millan <rmh@gnu.org>
22312
22313 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
22314 ones, when both are available.
22315
0ea7c4f9
GS
223162010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22317
22318 Make --version uniform and avoid hard-coded program name.
22319
22320 * util/grub-mkimage.c (main): Use `program_name' instead of
22321 hard-coded string.
22322 * util/i386/pc/grub-setup.c (main): Likewise.
22323 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
22324 * util/grub-install.in: Save the basename of $0 in $self, and use the
22325 latter in informational messages. Use the same format for --version
22326 as the binary programs.
22327 * util/grub-mkconfig.in: Likewise.
22328 * util/grub-mkrescue.in: Likewise.
22329 * util/grub-reboot.in: Likewise.
22330 * util/grub-set-default.in: Likewise.
22331 * util/i386/efi/grub-install.in: Likewise.
22332 * util/ieee1275/grub-install.in: Likewise.
22333 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22334
e8a6f3b6
GS
223352010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22336
22337 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
22338 embedding area. Use <= instead of == when checking for non-emptiness.
22339
f4d095d7
GS
223402010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
22341
22342 * configure.ac: Add `.' to the directories searched for unifont.
22343
50e532ca
CW
223442010-06-08 Colin Watson <cjwatson@ubuntu.com>
22345
22346 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
22347 grub_script.yy.h.
22348
d39f3dec
CW
223492010-06-08 Colin Watson <cjwatson@ubuntu.com>
22350
22351 * docs/grub.texi (History): Expand to cover GRUB 2.
22352 (Serial terminal): Refer to `terminal_input' and `terminal_output'
22353 commands, not `terminal'.
22354 (serial): Likewise.
22355 (terminal_input): New section.
22356 (terminal_output): New section.
22357 (uppermem): New section (stub).
22358 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
22359
6ef0ddb4
CW
223602010-06-08 Colin Watson <cjwatson@ubuntu.com>
22361
22362 * docs/grub.texi (Security): Menu entries are unrestricted by
22363 default, not restricted to superusers as I had previously thought.
22364 Reword to account for this.
22365
e0f4c438
CW
223662010-06-07 Colin Watson <cjwatson@ubuntu.com>
22367
22368 * kern/emu/misc.c (device_mapper_null_log): New function.
22369 (grub_device_mapper_supported): New function.
22370 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
22371 prototype.
22372 * kern/emu/hostdisk.c (find_partition_start): Check whether
22373 device-mapper is supported before trying to use it.
22374 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
22375
da908200
CW
223762010-06-07 Colin Watson <cjwatson@ubuntu.com>
22377
22378 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
22379 (File name syntax): Likewise.
22380 (help): --all is no longer supported in GRUB 2. Be more precise
22381 about pattern matching.
22382
fb55c3ac
CW
223832010-06-07 Colin Watson <cjwatson@ubuntu.com>
22384
22385 * normal/completion.c (grub_normal_do_completion): When completing
22386 arguments to "set" and the current word contains an equals sign,
22387 skip to after the equals sign before starting completion.
22388
258c2573
CW
223892010-06-07 Colin Watson <cjwatson@ubuntu.com>
22390
22391 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
22392
ee75515e
CW
223932010-06-07 Colin Watson <cjwatson@ubuntu.com>
22394
22395 * docs/grub.texi (Network): New section.
22396 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
22397 `(nd)' as in GRUB Legacy.
22398 (pxe_unload): New section.
22399
a6a700aa
CW
224002010-06-07 Colin Watson <cjwatson@ubuntu.com>
22401
22402 * docs/grub.texi (Troubleshooting): `echo' is not usually available
22403 in the rescue shell, so recommend using `set' instead. Thanks,
22404 Jordan Uggla.
22405
4003dd38
CW
224062010-06-07 Colin Watson <cjwatson@ubuntu.com>
22407
22408 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
22409 (password): New section.
22410 (password_pbkdf2): New section.
22411 (search): New section.
22412 (Security): New section.
22413 (Troubleshooting): New section, currently very incomplete.
22414 (Invoking grub-mkpasswd-pbkdf2): New section.
22415 (Internals): New section, currently very incomplete.
22416
e1cbcc40
CW
224172010-06-07 Colin Watson <cjwatson@ubuntu.com>
22418
22419 * util/grub.d/00_header.in: Add some more quoting (of
22420 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
22421 work again.
22422 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
22423
db8fa1ad
CW
224242010-06-07 Colin Watson <cjwatson@ubuntu.com>
22425
22426 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
22427 to `count', fixing variable shadowing that broke the -c option.
22428
224292010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
22430
22431 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
22432 in case they contain spaces.
22433
f28a9212
CW
224342010-06-04 Colin Watson <cjwatson@ubuntu.com>
22435
22436 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
22437 "part_" to partmap module names, in line with grub-install.
22438 Reported by: Jindřich Makovička (Debian bug #584426).
22439
9cdfe32f
CW
224402010-06-04 Colin Watson <cjwatson@ubuntu.com>
22441
22442 * util/grub-mkimage.c: Make target-related error messages slightly
22443 more helpful; -O talks about "format". Explicitly point to the use
22444 of -O if no target is specified.
22445 Reported by: Didier Raboud (Debian bug #584415).
22446
795b593a
CW
224472010-06-03 Colin Watson <cjwatson@ubuntu.com>
22448
22449 * INSTALL: Document several build requirements for optional features
22450 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
22451
9d9b5833
GS
224522010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
22453
22454 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
22455 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
22456 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
22457
0819fec8
CW
224582010-06-02 Colin Watson <cjwatson@ubuntu.com>
22459
22460 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
22461 Thanks to Jordan Uggla for spotting this.
22462
49396b4f
VS
224632010-06-02 Aleš Nesrsta <starous@volny.cz>
22464
22465 Finally make USB usable.
22466
22467 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
22468 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
22469 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
22470 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
22471 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
22472 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
22473 (GRUB_OHCI_FSMPS): Likewise.
22474 (GRUB_OHCI_PERIODIC_START): Likewise.
22475 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
22476 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
22477 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
22478 (GRUB_OHCI_SET_PORT_RESET): Likewise.
22479 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
22480 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
22481 (grub_ohci_transaction): Likewise.
22482 (grub_ohci_transfer): Improve condition detection algorithms.
22483 Handle toggle property. Program the transactions correctly.
22484 Improve error handling. Various important fixups.
22485 (grub_ohci_portstatus): Put register writes in right order.
22486 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
22487 (grub_uhci_transfer): Don't show "failed" message on success.
22488 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
22489 array.
22490 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
22491 determine its size.
22492 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
22493 before initialization is completed. Use IN direction for empty
22494 transfers. Use last_trans and compute toggle.
22495 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
22496 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
22497 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
22498 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
22499 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
22500 (grub_usb_device): Increase toggle to 256.
22501 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
22502 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
22503 GRUB_USBMS_SUBCLASS_SFF8070.
22504 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
22505 (grub_scsi_inquiry): New member page and alloc_length.
22506 (grub_scsi_request_sense): New structure.
22507 (grub_scsi_request_sense_data): Likewise.
22508 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
22509 control.
22510 * disk/scsi.c (grub_scsi_request_sense): New function.
22511 (grub_scsi_test_unit_ready): Likewise.
22512 (grub_scsi_inquiry): Fill new fields.
22513 (grub_scsi_read_capacity): Likewise.
22514 (grub_scsi_read10): Add request sense at the end.
22515 (grub_scsi_read12): Likewise.
22516 (grub_scsi_write10): Likewise.
22517 (grub_scsi_write12): Likewise.
22518 (grub_scsi_open): Add Test Unit Ready.
22519 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
22520 Support additional subclasses. Con't clear halt yet. Activate the
22521 proper config. Calculate LUNs correctly.
22522 (grub_usbms_transfer): Various important fixups.
22523
225242010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22525
22526 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
22527 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
22528 (grub_ohci_fini_hw): New function.
22529 (grub_ohci_restore_hw): Likewise.
22530 (GRUB_MOD_INIT(ohci)): Register preboot hook.
22531 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
22532 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
22533
225342010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 Dedicated DMA allocations.
22537
22538 * bus/pci.c (grub_memalign_dma32): New function
22539 (grub_dma_free): Likewise.
22540 (grub_dma_get_virt): Likewise.
22541 (grub_dma_get_phys): Likewise.
22542 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
22543 (grub_ohci_pci_iter): Use dma32_alloc.
22544 (grub_ohci_transfer): Likewise.
22545 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22546 (grub_usb_bulk_readwrite): Likewise.
22547 * include/grub/pci.h: Add declarations.
22548
225492010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
22550
22551 CS5536 support.
22552
22553 * bus/cs5536.c: New file.
22554 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
22555 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
22556 (cs5536_mod_SOURCES): New variable.
22557 (cs5536_mod_CFLAGS): Likewise.
22558 (cs5536_mod_LDFLAGS): Likewise.
22559 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
22560 machine/pci.h.
22561 (kernel_img_SOURCES): Add bus/cs5536.c.
22562 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
22563 usb_keyboard.mod.
22564 (usb_mod_SOURCES): New variable.
22565 (usb_mod_CFLAGS): New variable.
22566 (usb_mod_LDFLAGS): New variable.
22567 (usbtest_mod_SOURCES): New variable.
22568 (usbtest_mod_CFLAGS): New variable.
22569 (usbtest_mod_LDFLAGS): New variable.
22570 (ohci_mod_SOURCES): New variable.
22571 (ohci_mod_CFLAGS): New variable.
22572 (ohci_mod_LDFLAGS): New variable.
22573 (usbms_mod_SOURCES): New variable.
22574 (usbms_mod_CFLAGS): New variable.
22575 (usbms_mod_LDFLAGS): New variable.
22576 (usb_keyboard_mod_SOURCES): New variable.
22577 (usb_keyboard_mod_CFLAGS): New variable.
22578 (usb_keyboard_mod_LDFLAGS): New variable.
22579 * include/grub/smbus.h: New file.
22580 * include/grub/cs5536.h: New file.
22581
0b35b2a9
CW
225822010-06-02 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * util/grub.d/00_header.in: Add safety check to make sure that
22585 ${locale_dir} exists before trying to probe it.
22586
ca0afd5b
CW
225872010-06-02 Colin Watson <cjwatson@ubuntu.com>
22588
22589 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
22590 per the GNU Coding Standards; this is now too obscure to be worth
22591 documenting.
22592 (QNX): Likewise.
22593 (chainloader): Remove cross-reference to `SCO UnixWare'.
22594
1c41aa78
CW
225952010-06-02 Colin Watson <cjwatson@ubuntu.com>
22596
22597 * docs/grub.texi (Chain-loading): New section.
22598 (DOS/Windows): New section, borrowed from GRUB Legacy with details
22599 adjusted for GRUB 2.
22600 (SCO UnixWare): Likewise.
22601 (QNX): Likewise.
22602 (chainloader): Add reference to `Block list syntax'.
22603 (drivemap): New section.
22604 (parttool): New section.
22605
bb8ea0f5
CW
226062010-06-02 Colin Watson <cjwatson@ubuntu.com>
22607
22608 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
22609 the grub shell'.
22610 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
22611 (Installing GRUB using grub-install): Remove reference to the grub
22612 shell; mention `grub-mkimage' and `grub-setup' instead.
22613 (Invoking grub-install): Likewise.
22614 (Interface): Add reference to `Menu entry editor'.
22615 (serial): Remove `--device' option.
22616
288dd6ed
CW
226172010-06-02 Colin Watson <cjwatson@ubuntu.com>
22618
22619 * docs/grub.texi (Configuration): New section, documenting
22620 configuration file generation using grub-mkconfig. I've left a slot
22621 for documenting the full shell scripting format but have not yet
22622 started on writing that up.
22623 (Invoking grub-mkconfig): New section.
22624
34c9f0e9
CW
226252010-06-02 Colin Watson <cjwatson@ubuntu.com>
22626
22627 * docs/grub.texi (direntry): Remove grub-terminfo reference.
22628 (GNU GRUB manual): Likewise.
22629 (General commands): Update description of `terminfo' for GRUB 2.
22630
9121567e
CW
226312010-06-02 Colin Watson <cjwatson@ubuntu.com>
22632
22633 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
22634 (GRUB_MOD_INIT): Fix capitalisation.
22635 * docs/grub.texi (Command-line and menu entry commands): Document
22636 gettext and gptsync commands.
22637
ab631611
CW
226382010-06-02 Colin Watson <cjwatson@ubuntu.com>
22639
22640 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
22641 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
22642
bde4a9ac
CW
226432010-06-01 Colin Watson <cjwatson@ubuntu.com>
22644
22645 Add btrfs probing support, currently only in the single-device case.
22646
22647 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
22648 function.
22649 (grub_guess_root_device): Call find_root_device_from_mountinfo
22650 before looking in /dev.
22651
b1d17e10
VS
226522010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22653
22654 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
22655 GRUB_DISK_SIZE_UNKNOWN.
22656 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
22657
dfbfe004
JS
226582010-05-31 Jiro SEKIBA <jir@unicus.jp>
22659
22660 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
22661 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
22662 corrupted or not synced properly.
22663
c2ffc8e9
VS
226642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22665
22666 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
22667 Reported by: Seth Goldberg.
22668
56293166
VS
226692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22670
22671 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
22672 addition of dest.
22673 Reported by: Seth Goldberg.
22674
7620e7de
VS
226752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22676
22677 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
22678 Reported by: Seth Goldberg.
22679
c837af3f
VS
226802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
22681
22682 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
22683 64-bit address as signed on MIPS.
22684
c7c75cf4
CW
226852010-05-28 Colin Watson <cjwatson@ubuntu.com>
22686
22687 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
22688 to the empty string.
22689
fa4b8490
BC
226902010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
22691
22692 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
22693
22694 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
22695 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
22696 * kern/misc.c (__enable_execute_stack): Disable on
22697 GRUB_MACHINE_EMU.
22698
a33075b9
CW
226992010-05-28 Colin Watson <cjwatson@ubuntu.com>
22700
22701 Make grub-probe work with symbolic links under /dev/mapper as well
22702 as with real block devices. The Linux world seems to be (at best)
22703 in transition here, and GRUB shouldn't get caught in the middle.
22704
22705 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
22706 /dev/mapper.
22707
d8708134
CW
227082010-05-27 Colin Watson <cjwatson@ubuntu.com>
22709
22710 * util/grub-script-check.c (main): Ensure defined behaviour on empty
22711 input files (in which case exit zero).
22712
db2102a0
CW
227132010-05-27 Colin Watson <cjwatson@ubuntu.com>
22714
22715 * kern/emu/misc.c (canonicalize_file_name): realpath can still
22716 return NULL for various reasons even if it has a maximum-length
22717 buffer: for example, there might be a symlink loop, or the path
22718 might exceed PATH_MAX. If this happens, return NULL.
22719
5fdba519
RM
227202010-05-27 Robert Millan <rmh@gnu.org>
22721
22722 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
22723 partmap module to handle cross-partmap setups.
22724 Reported by Orestes Mas. Gràcies!
22725
d1d368e4
CW
227262010-05-27 Colin Watson <cjwatson@ubuntu.com>
22727
22728 * util/grub-mkrescue.in: Initialise override_dir rather than
22729 assuming that it's unset or empty in the environment.
22730
95ac3c73
GS
227312010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
22732
22733 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
22734 variable index into p_index to suppress a warning with -Wshadow.
22735
7d8c0213
BC
227362010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
22737
22738 * INSTALL: Added flex >= 2.5.35 requirement.
22739
db4d5813
VS
227402010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
22743
f24f4300
VS
227442010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22745
22746 cmostest support.
22747
22748 * commands/i386/cmostest.c: New file.
22749 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
22750 (cmostest_mod_SOURCES): New variable.
22751 (cmostest_mod_CFLAGS): Likewise.
22752 (cmostest_mod_LDFLAGS): Likewise.
22753 * conf/i386-pc.rmk: Likewise.
22754 * docs/grub.texi (Vendor power-on keys): New section.
22755 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
22756 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
22757 and GRUB_BUTTON_CMOS_ADDRESS.
22758 * util/grub.d/00_header.in: Handle powering-on by separate button.
22759
ad603f61
VS
227602010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22761
22762 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
22763 Removed drawing_scrollbar argument. All users updated
22764 Fixes #29792.
22765 Reported by Jo Shields
22766
3ecb080a
VS
227672010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22768
22769 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
22770 buffer since gfxterm handles double repaint.
22771
5f2316c1
VS
227722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
22773
22774 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
22775 * term/gfxterm.c (real_scroll): Likewise.
22776
9a25f885
VS
227772010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22778
22779 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
22780 before calling BIOS.
22781
39fbb79a
VS
227822010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22783
22784 * include/grub/i18n.h: Always enable grub_gettext.
22785
228cfa97
VS
227862010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
22787
22788 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
22789 partition naming style.
22790
21717c8f
CW
227912010-05-21 Colin Watson <cjwatson@ubuntu.com>
22792
22793 * util/grub-mkconfig.in: Fix handling of -o so that it works when
22794 not the first option.
22795
c0f48e65
CW
227962010-05-20 Colin Watson <cjwatson@ubuntu.com>
22797
22798 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
22799
96779aec
CW
228002010-05-20 Colin Watson <cjwatson@ubuntu.com>
22801
22802 * util/misc.c: Move inclusion of <limits.h> to ...
22803 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
22804
fa9d256e
GS
228052010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
22806
22807 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
22808 Fix merge error in NetBSD code.
22809 (find_partition_start) [__NetBSD__]: Likewise.
22810
123b7a85
BC
228112010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
22812
22813 Fix grub-mkrescue usage unit testing.
22814
22815 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
22816
74276c0d
CF
228172010-05-18 Christian Franke <franke@computer.org>
22818
22819 * util/grub.d/10_windows.in: Use path names instead of
22820 drive letters to prevent warning from Cygwin 1.7.
22821 Add drivemap command to menuentry if needed.
22822
c4f7b523
ST
228232010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
22824
22825 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
22826 gnumach and gnumach.gz.
22827
95b97950
VS
228282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22829
22830 * include/grub/i18n.h (gettext): Inline instead of using #define.
22831 (grub_gettext): Likewise.
22832 (_): Likewise.
22833
01b8d2d7
VS
228342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22835
22836 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
22837 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
22838 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
22839 (main): Add a slash after pkglibdirroot.
22840
654e1d1e
VS
228412010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22842
22843 * util/grub-install.in: Add missing "in" keyword.
22844
26966aeb
VS
228452010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22846
22847 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
22848 Reported by: Seth Goldberg.
22849
75006747
VS
228502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
22851
22852 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
22853
74cbf5bd
CW
228542010-05-18 Colin Watson <cjwatson@ubuntu.com>
22855
22856 * configure.ac: Check for Linux device-mapper support.
22857
22858 * util/hostdisk.c (device_is_mapped): New function.
22859 (find_partition_start): New function, partly broken out from
22860 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
22861 device-mapper support added.
22862 (linux_find_partition): Use find_partition_start.
22863 (convert_system_partition_to_system_disk): Add `st' argument.
22864 Support Linux /dev/mapper/* devices if device-mapper support is
22865 available; only DM-RAID devices are understood at present.
22866 (find_system_device): Add `st' argument. Pass it to
22867 convert_system_partition_to_system_disk.
22868 (grub_util_biosdisk_get_grub_dev): Pass stat result to
22869 find_system_device and convert_system_partition_to_system_disk. Use
22870 find_partition_start.
22871
22872 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
22873 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
22874 * util/deviceiter.c [__linux__]: Define MINOR.
22875 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
22876 * util/mkdevicemap.c (grub_putchar): New function.
22877 (grub_getkey): New function.
22878 (grub_refresh): New function.
22879 (main): Set debug=all if -v -v is used.
22880
355b51e9
CW
228812010-05-18 Colin Watson <cjwatson@ubuntu.com>
22882
22883 Fix build with non-GNU libcs.
22884
22885 * util/misc.c (canonicalize_file_name): Move to ...
22886 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
22887 grub_make_system_path_relative_to_its_root.
22888
7fb5c25f
CW
228892010-05-18 Colin Watson <cjwatson@ubuntu.com>
22890
22891 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
22892 we handle finding grub-mkimage. Default to finding grub-mkimage in
22893 ${bindir} with program_transform_name applied, and provide a
22894 --grub-mkimage option to override this.
22895
1d3293d6
VS
228962010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22897
22898 Remove grub-mkisofs.
22899
22900 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
22901 (grub_mkisofs_SOURCES): Removed.
22902 (grub_mkisofs_CFLAGS): Removed.
22903 * util/mkisofs/defaults.h: Removed.
22904 * util/mkisofs/eltorito.c: Likewise.
22905 * util/mkisofs/exclude.h: Likewise.
22906 * util/mkisofs/hash.c: Likewise.
22907 * util/mkisofs/include/: Likewise.
22908 * util/mkisofs/include/fctldefs.h: Likewise.
22909 * util/mkisofs/include/mconfig.h: Likewise.
22910 * util/mkisofs/include/prototyp.h: Likewise.
22911 * util/mkisofs/include/statdefs.h: Likewise.
22912 * util/mkisofs/iso9660.h: Likewise.
22913 * util/mkisofs/joliet.c: Likewise.
22914 * util/mkisofs/match.c: Likewise.
22915 * util/mkisofs/match.h: Likewise.
22916 * util/mkisofs/mkisofs.c: Likewise.
22917 * util/mkisofs/mkisofs.h: Likewise.
22918 * util/mkisofs/msdos_partition.h: Likewise.
22919 * util/mkisofs/multi.c: Likewise.
22920 * util/mkisofs/name.c: Likewise.
22921 * util/mkisofs/rock.c: Likewise.
22922 * util/mkisofs/tree.c: Likewise.
22923 * util/mkisofs/write.c: Likewise.
22924
5dde9afe
VS
229252010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 Unify grub-mkimage accross platforms.
22928
22929 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
22930 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
22931 (grub_mkelfimage_SOURCES): Removed.
22932 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
22933 (util/grub-mkimage.c_DEPENDENCIES): .. this.
22934 (bin_UTILITIES): Add grub-mkimage.
22935 (grub_mkimage_SOURCES): New variable.
22936 (kernel_img_HEADERS): Remove machine/kernel.h.
22937 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
22938 (pkglib_PROGRAMS): Add kernel.img.
22939 (kernel_img_HEADERS): Add machine/kernel.h.
22940 (kernel_img_FORMAT): Removed.
22941 (bin_UTILITIES): Remove grub-mkimage.
22942 (grub_mkimage_SOURCES): Removed.
22943 (grub_mkimage_CFLAGS): Likewise.
22944 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22945 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
22946 (pkglib_PROGRAMS): Add kernel.img.
22947 (bin_UTILITIES): Remove grub-mkimage.
22948 (grub_mkimage_SOURCES): Removed.
22949 (grub_mkimage_CFLAGS): Likewise.
22950 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22951 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
22952 (pkglib_PROGRAMS): Add kernel.img.
22953 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
22954 (pkglib_PROGRAMS): Add kernel.img.
22955 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
22956 (grub_mkimage_SOURCES): Removed.
22957 (grub_mkimage_CFLAGS): Likewise.
22958 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22959 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
22960 (pkglib_PROGRAMS): Add kernel.img.
22961 (bin_UTILITIES): Remove grub-mkimage.
22962 (grub_mkimage_SOURCES): Removed.
22963 (grub_mkimage_CFLAGS): Likewise.
22964 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22965 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
22966 (grub_mkimage_SOURCES): Removed.
22967 (grub_mkimage_CFLAGS): Likewise.
22968 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22969 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
22970 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
22971 (grub_pe32_optional_header): ... this.
22972 (grub_pe64_optional_header): ... and this. All users updated.
22973 (GRUB_PE32_PE32_MAGIC): Split into ..
22974 (GRUB_PE32_PE32_MAGIC): .. this.
22975 (GRUB_PE32_PE64_MAGIC): .. and this.
22976 (GRUB_PE32_SIGNATURE_SIZE): New definition.
22977 * include/grub/elf.h (PT_GNU_STACK): New definition.
22978 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
22979 * include/grub/i386/efi/kernel.h: Likewise.
22980 * include/grub/i386/kernel.h: Likewise.
22981 * include/grub/i386/pc/kernel.h: Likewise.
22982 * include/grub/i386/qemu/boot.h: Likewise.
22983 * include/grub/mips/kernel.h: Likewise.
22984 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22985 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22986 * include/grub/powerpc/kernel.h: Likewise.
22987 * include/grub/sparc64/ieee1275/boot.h: Likewise.
22988 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22989 * include/grub/sparc64/kernel.h: Likewise.
22990 * include/grub/x86_64/efi/kernel.h: Likewise.
22991 * include/grub/x86_64/kernel.h: Likewise.
22992 * include/grub/offsets.h: New file.
22993 * include/grub/kernel.h (grub_module_info): Split into ...
22994 (grub_module_info32): ... this.
22995 (grub_module_info64): ... and this.
22996 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
22997 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
22998 (grub_boot_blocklist): Moved from here ...
22999 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
23000 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
23001 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
23002 * include/grub/types.h (grub_target_to_host16): Removed.
23003 (grub_target_to_host32): Likewise.
23004 (grub_target_to_host64): Likewise.
23005 (grub_host_to_target16): Likewise.
23006 (grub_host_to_target32): Likewise.
23007 (grub_host_to_target64): Likewise.
23008 (grub_host_to_target_addr): Likewise.
23009
23010 Support grub-mkrescue for efi, coreboot and qemu.
23011
23012 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
23013 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
23014 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
23015 * util/grub-mkrawimage.c: Moved from here ...
23016 * util/grub-mkimage.c: ... here. All users updated.
23017 (ALIGN_ADDR): Use image_target.
23018 (TARGET_NO_FIELD): New const.
23019 (image_target_desc): New type.
23020 (image_targets): New array.
23021 (grub_target_to_host64): Use image_target.
23022 (grub_target_to_host32): Likewise.
23023 (grub_target_to_host16): Likewise.
23024 (grub_host_to_target64): Likewise.
23025 (grub_host_to_target32): Likewise.
23026 (grub_host_to_target16): Likewise.
23027 (grub_host_to_target_addr): Likewise.
23028 (generate_image): Handle multiimage.
23029 (main): Require -O parameter. All users updated.
23030 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
23031 util/efi/grub-mkimage.c
23032 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
23033 New option --rom-directory.
23034 Use xorriso.
23035 * util/i386/efi/grub-mkimage.c: Removed.
23036 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
23037 (grub_target_to_host32): Likewise.
23038 (grub_target_to_host64): Likewise.
23039 (grub_host_to_target16): Likewise.
23040 (grub_host_to_target32): Likewise.
23041 (grub_host_to_target64): Likewise.
23042 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
23043 (grub_target_to_host32): Likewise.
23044 (grub_target_to_host64): Likewise.
23045 (grub_host_to_target16): Likewise.
23046 (grub_host_to_target32): Likewise.
23047 (grub_host_to_target64): Likewise.
23048
f4fc97d0
BC
230492010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
23050
23051 Source tree is reorganized for emu build.
23052
23053 * include/grub/util/console.h: Move from here...
23054 * include/grub/emu/console.h: ...to here.
23055 * include/grub/util/getroot.h: Move from here...
23056 * include/grub/emu/getroot.h: ...to here.
23057 * include/grub/util/hostdisk.h: Move from here...
23058 * include/grub/emu/hostdisk.h: ...to here.
23059 * util/console.c: Move from here...
23060 * kern/emu/console.c: ...to here.
23061 * util/getroot.c: Move from here...
23062 * kern/emu/getroot.c: ...to here.
23063 * util/grub-emu.c: Move from here...
23064 * kern/emu/main.c: ...to here.
23065 * util/hostdisk.c: Move from here...
23066 * kern/emu/hostdisk.c: ...to here.
23067 * util/hostfs.c: Move from here...
23068 * kern/emu/hostfs.c: ...to here.
23069 * util/mm.c: Move from here...
23070 * kern/emu/mm.c: ...to here.
23071 * util/pci.c: Move from here...
23072 * bus/emu/pci.c: ...to here.
23073 * util/sdl.c: Move from here...
23074 * video/emu/sdl.c: ...to here.
23075 * util/time.c: Move from here...
23076 * kern/emu/time.c: ...to here.
23077 * util/usb.c: Move from here...
23078 * bus/usb/emu/usb.c: ...to here.
23079
23080 * include/grub/emu/misc.h: New header for grub-emu functions.
23081 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
23082
23083 * conf/any-emu.rmk: Rule updates for above renames.
23084 * conf/common.rmk: Likewise.
23085 * conf/i386-pc.rmk: Likewise.
23086 * conf/i386-qemu.rmk: Likewise.
23087 * conf/mips.rmk: Likewise.
23088 * conf/sparc64-ieee1275.rmk: Likewise.
23089 * conf/x86-efi.rmk: Likewise.
23090
23091 * disk/lvm.h: #include updates for above renames.
23092 * util/grub-mkrelpath.c: Likewise.
23093 * util/grub-probe.c: Likewise.
23094 * util/i386/pc/grub-setup.c: Likewise.
23095 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23096 * kern/emu/console.c: Likewise.
23097 * kern/emu/getroot.c: Likewise.
23098 * kern/emu/hostdisk.c: Likewise.
23099 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
23100
23101 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
23102 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
23103 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
23104 * util/misc.c: Remove grub-emu functions.
23105
cced9145
VS
231062010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
23107
23108 Fix gfxmenu crash.
23109 Reported by: Thorsten Grützmacher.
23110
23111 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
23112 timeout hook.
23113 (circprog_set_property): Register and unregister timeout hook.
23114 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
23115 (label_destroy): Free template. and unregister hook.
23116 (label_set_state): New function.
23117 (label_set_property): Handle templates and hooks.
23118 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
23119 timeout hook.
23120 (progress_bar_set_property): Register and unregister timeout hook.
23121 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
23122 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
23123 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
23124 (update_timeout_visit): Removed.
23125 (update_timeouts): New function.
23126 (redraw_timeouts): Likewise.
23127 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
23128 (grub_gfxmenu_clear_timeout): Likewise.
23129 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
23130 (grub_gfxmenu_timeout_notify): Likewise.
23131 (grub_gfxmenu_timeout_notifications): New external variable.
23132 (grub_gfxmenu_timeout_register): New function.
23133 (grub_gfxmenu_timeout_unregister): Likewise.
23134
c6e5caab
VS
231352010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 Transform (broken) vga terminal into (working) vga video driver.
23138
23139 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
23140 video/i386/pc/vga.c.
23141 * include/grub/video.h (grub_video_driver_id):
23142 Add GRUB_VIDEO_DRIVER_VGA.
23143 * term/i386/pc/vga.c: Renamed to ...
23144 * video/i386/pc/vga.c: ...this
23145 (DEBUG_VGA): Removed.
23146 (CHAR_WIDTH): Likewise.
23147 (CHAR_HEIGHT): Likewise.
23148 (TEXT_WIDTH): Likewise.
23149 (TEXT_HEIGHT): Likewise.
23150 (DEFAULT_FG_COLOR): Likewise.
23151 (DEFAULT_BG_COLOR): Likewise.
23152 (colored_char): Likewise.
23153 (xpos): Likewise.
23154 (ypos): Likewise.
23155 (cursor_state): Likewise.
23156 (fg_color): Likewise.
23157 (bg_color): Likewise.
23158 (text_buf): Likewise.
23159 (page): Likewise.
23160 (font): Likewise.
23161 (framebuffer): New variable.
23162 (set_read_map): Disabled.
23163 (setup): New variable.
23164 (is_target): Likewise.
23165 (grub_vga_mod_init): Likewise.
23166 (grub_vga_mod_fini): Likewise.
23167 (check_vga_mem): Likewise.
23168 (write_char): Likewise.
23169 (write_cursor): Likewise.
23170 (scroll_up): Likewise.
23171 (grub_vga_putchar): Likewise.
23172 (grub_vga_getcharwidth): Likewise.
23173 (grub_vga_getwh): Likewise.
23174 (grub_vga_getxy): Likewise.
23175 (grub_vga_gotoxy): Likewise.
23176 (grub_vga_cls): Likewise.
23177 (grub_vga_setcolorstate): Likewise.
23178 (grub_vga_setcursor): Likewise.
23179 (grub_video_vga_init): New function.
23180 (grub_video_vga_setup): Likewise.
23181 (grub_video_vga_fini): Likewise.
23182 (update_target): Likewise.
23183 (grub_video_vga_blit_bitmap): Likewise.
23184 (grub_video_vga_blit_render_target): Likewise.
23185 (grub_video_vga_set_active_render_target): Likewise.
23186 (grub_video_vga_get_active_render_target): Likewise.
23187 (grub_video_vga_swap_buffers): Likewise.
23188 (grub_video_vga_set_palette): Likewise.
23189 (grub_video_vga_get_info_and_fini): Likewise.
23190 (grub_vga_term): Removed.
23191 (grub_video_vga_adapter): New variable.
23192 (GRUB_MOD_INIT): Register a video driver instead of terminal.
23193 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
23194
2bf61a98
VS
231952010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23196
23197 * video/readers/jpeg.c: Indented.
23198
09ddcd11
VS
231992010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23200
23201 Various jpeg cleanups.
23202
23203 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
23204 (grub_jpeg_decode_quan_table): Use sizeof.
23205 (grub_jpeg_decode_du): Use ARRAY_SIZE.
23206
e5507505
PH
232072010-05-05 Peter Hurley <No e-mail available> (tiny change)
23208
23209 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
23210 tables. Ignore non-last ac bit.
23211 (grub_jpeg_decode_quan_table): Likewise.
23212
7e720a9b
VS
232132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23214
23215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
23216 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
23217 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23218 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
23219 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
23220 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
23221
a7fc080b
VS
232222010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
23225 error.
23226
2bf6012d
VS
232272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
23228
23229 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
23230
265d68cd
VS
232312010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
23234 condition.
23235
232362010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
23237
23238 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
23239 part.
23240
265d68cd 232412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
23242
23243 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
23244 pointers.
23245
265d68cd 232462010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
23247
23248 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
23249
d1b61374
CF
232502010-05-01 Christian Franke <franke@computer.org>
23251
23252 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
23253 Remove broken Cygwin path conversion.
23254 * util/misc.c: [__CYGWIN__] Add include and define.
23255 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
23256 for Cygwin 1.7.
23257 (make_system_path_relative_to_its_root): Simplify loop, replace early
23258 return by break.
23259 [__CYGWIN__] Add conversion to win32 path.
23260 Include "/" case in trailing slash removal.
23261
3558c6e9
VS
232622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 * kern/main.c (grub_load_config): Fix copy-pasted comment.
23265 Reported by: Seth Goldberg
23266
f5f3ff93
VS
232672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23268
23269 * commands/help.c (grub_cmd_help): Fix a typo.
23270 Reported by: Seth Goldberg
23271
d8b5cd40
VS
232722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23273
23274 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
23275 name and add N_.
23276 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
23277 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
23278 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
23279 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
23280 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
23281 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
23282 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23283 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23284 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23285 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23286 * normal/context.c (GRUB_MOD_INIT): Likewise.
23287 * normal/main.c (GRUB_MOD_INIT): Likewise.
23288 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23289 * term/serial.c (GRUB_MOD_INIT): Likewise.
23290 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23291
88c14915
VS
232922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
23295 extra == 0.
23296
165134bc
VS
232972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23298
23299 * commands/iorw.c: New file.
23300 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
23301 (iorw_mod_SOURCES): New variable.
23302 (iorw_mod_CFLAGS): Likewise.
23303 (iorw_mod_LDFLAGS): Likewise.
23304
c5ac9b32
VS
233052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23306
23307 Hotkey support
23308
23309 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
23310 * normal/main.c (hotkey_aliases): New variable.
23311 (grub_normal_add_menu_entry): Parse "--hotkey".
23312 * normal/menu_text.c (run_menu): Handle hotkeys.
23313
ce60689c
VS
233142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 * kern/i386/coreboot/init.c (grub_machine_init): Call
23317 grub_machine_mmap_init on qemu.
23318
0359d006
VS
233192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23320
23321 * boot/i386/qemu/boot.S: Add a missing .code16.
23322
7819a456
VS
233232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23324
23325 Use LBIO on coreboot.
23326
23327 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
23328 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
23329 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
23330 New declaration.
23331 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
23332 grub_machine_mmap_init on coreboot.
23333 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
23334 GRUB_LINUXBIOS_MEMBER_LINK.
23335 (grub_machine_mmap_iterate): Fix declaration.
23336 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
23337
7210dca9
VS
233382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 Split coreboot and multiboot ports.
23341
23342 * conf/i386-multiboot.rmk: New file.
23343 * configure.ac: Add multiboot port.
23344 * include/grub/i386/multiboot/boot.h: New file.
23345 * include/grub/i386/multiboot/console.h: Likewise.
23346 * include/grub/i386/multiboot/init.h: Likewise.
23347 * include/grub/i386/multiboot/kernel.h: Likewise.
23348 * include/grub/i386/multiboot/loader.h: Likewise.
23349 * include/grub/i386/multiboot/memory.h: Likewise.
23350 * include/grub/i386/multiboot/serial.h: Likewise.
23351 * include/grub/i386/multiboot/time.h: Likewise.
23352 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
23353 * loader/multiboot.c: Likewise.
23354 * loader/multiboot_mbi2.c: Likewise.
23355 * util/grub-mkrescue.in: Generate multiboot rescue.
23356
6f8aaf68
VS
233572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23358
3080f7a7
VS
23359 * kern/parser.c (grub_parser_execute): Cope with read-only config.
23360
233612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23362
23363 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
23364
23365 * commands/terminal.c (abstract_terminal): New struct.
23366 (handle_command): New function. Based on grub_cmd_terminal_input.
23367 (grub_cmd_terminal_input): Use handle_command.
23368 (grub_cmd_terminal_output): Use handle_command.
23369
a8ebb841
BC
233702010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
23371
23372 Fix comment handling.
23373
23374 * tests/grub_script_comments.in: New testcase.
23375 * conf/tests.rmk: Rules for new testcase.
23376 * script/yylex.l: Updated flex rules.
23377
bb06ba08
ST
233782010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
23379
23380 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
23381 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
23382 if argc is 1.
bb06ba08 23383
cc9d2425
VS
233842010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23385
23386 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
23387 autogen issues.
23388
460d8402
CF
233892010-04-26 Christian Franke <franke@computer.org>
23390
23391 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
23392 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
23393 (grub_get_prefix): Remove function.
23394 * util/grub-emu.c (main): Replace grub_get_prefix () call by
23395 make_system_path_relative_to_its_root ().
23396 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
23397
553c01f9
CF
233982010-04-24 Christian Franke <franke@computer.org>
23399
23400 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
23401 (kernel_img_LDFLAGS): Remove -static-libgcc.
23402
2aec1692
CF
234032010-04-24 Christian Franke <franke@computer.org>
23404
23405 * configure.ac: Do not CHECK_BSS_START_SYMBOL
23406 and CHECK_END_SYMBOL if grub-emu is built.
23407 Unset TARGET_OBJ2ELF if grub-emu is built
23408 without module support.
23409
f67dc308
JS
234102010-04-24 Jiro SEKIBA <jir@unicus.jp>
23411
23412 Nilfs2 support.
23413
23414 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
23415 (grub_fstest_SOURCES): Likewise.
23416 (pkglib_MODULES): Add nilfs2.mod.
23417 (nilfs2_mod_SOURCES): New variable.
23418 (nilfs2_mod_CFLAGS): Likewise.
23419 (nilfs2_mod_LDFLAGS): Likewise.
23420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23421 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
23422 * fs/nilfs2.c: New file.
23423
4ba8d354
VS
234242010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
23425
23426 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
23427 is not supported.
23428
0d2c20c6
GS
234292010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
23430
23431 Add grub-mkconfig support for NetBSD.
23432
23433 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
23434 * util/grub-mkconfig.in: export new NetBSD specific variables.
23435 * po/POTFILES-shell: added 10_netbsd.in.
23436 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
23437
bc4a2d83
BC
234382010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
23439
23440 Fix emu build with grub-emu-pci and grub-emu-modules.
23441
23442 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
23443 functions.
23444 * include/grub/libpciaccess.h: New file.
23445 * conf/any-emu.rmk: Update kernel headers for emu build.
23446
f48c87aa
VS
234472010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23448
23449 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
23450
18959385
VS
234512010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23452
23453 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
23454
0037de3f
VS
234552010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23456
23457 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
23458 Retrieve chosen/bootpath if bootpath isn't hardcoded.
23459 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
23460 util/ieee1275/ofpath.c.
23461 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
23462 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
23463 * include/grub/sparc64/ieee1275/boot.h
23464 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
23465 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
23466 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
23467 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
23468 const char *.
23469 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
23470 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
23471 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
23472 install.
23473
38e55e90
GS
234742010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
23475
23476 * util/grub-mkconfig.in: Corrected two == equality tests.
23477 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
23478 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
23479 expect a number appended to it.
23480 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
23481 expects a number appended to it.
23482
a9e6ff28
VS
234832010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
23486
0b830b8f
VS
234872010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 * util/hostdisk.c (make_device_name): Change to new partition naming.
23490
0973daeb
VS
234912010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
23492
23493 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
23494
460d8402 234952010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
23496
23497 * Makefile.in: Add missing localedir setting.
23498
0b456309
CW
234992010-04-14 Colin Watson <cjwatson@ubuntu.com>
23500
23501 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
23502 mistake in r2156. Noticed by Anthony Fok.
23503
23504 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
23505 @localedir@.
23506 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
23507
08f46d62
BC
235082010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
23509
23510 Fix a spurious, uninitialized variable warning.
23511
23512 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
23513 Initialize variable, shdr.
23514 (grub_freebsd_load_elfmodule): Likewise.
23515 (grub_freebsd_load_elf_meta): Likewise.
23516
8c4a72d4
BC
235172010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
23518
23519 Fix for escaped dollar in double quoted strings.
23520
23521 * script/yylex.l: Updated flex rules.
23522 * conf/tests.rmk: Rule for new testcase.
23523 * tests/grub_script_dollar.in: New testcase.
23524
ce44826e
CPE
235252010-04-13 Carles Pina i Estany <carles@pina.cat>
235262010-04-13 Colin Watson <cjwatson@ubuntu.com>
23527
23528 Enclose all translated strings in grub.cfg in single quotes, and
23529 escape them appropriately (Ubuntu bug #552921).
23530
23531 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
23532 * util/grub.d/10_hurd.in: Use it.
23533 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23534 * util/grub.d/10_linux.in (linux_entry): Likewise.
23535
4b0cd8f8
VS
235362010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23537
23538 Fix cygwin compilation.
23539
23540 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
23541 * include/grub/misc.h (__register_frame_info)
23542 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
23543 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23544 * kern/misc.c (__register_frame_info)
23545 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
23546 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
23547
01fcf061
VS
235482010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23549
23550 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
23551
5d04b11e
VS
235522010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
23553
23554 Unify libgcc processing.
23555
23556 * Makefile.in (kernel_img_LDFLAGS): New variable.
23557 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
23558 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
23559 overwriting.
23560 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
23561 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
23562 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
23563 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
23564 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
23565 overwriting. Remove -lgcc and -static-libgcc
23566 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
23567 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23568 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
23569 (kernel_img_LDFLAGS): Append instead of overwriting.
23570 Remove -lgcc and -static-libgcc
23571 * conf/sparc64-ieee1275.rmk: Likewise.
23572 * include/grub/powerpc/libgcc.h: Move to ...
23573 * include/grub/libgcc.h: .. this.
23574 * include/grub/libgcc.h: Don't export most of the function on x86.
23575 (__bswapsi2): New export.
23576 (__bswapdi2): Likewise.
23577 * include/grub/mips/libgcc.h: Removed.
23578 * include/grub/sparc64/libgcc.h: Likewise.
23579
b7f3ac29
VS
235802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23581
23582 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
23583 disk_info_msg (conflicts with gettexting into languages with cases).
23584
2c7031b1
GS
235852010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
23586
23587 Add grub-probe support for NetBSD.
23588
23589 * util/getroot.c (find_root_device): Convert block device to
23590 character device on NetBSD.
23591 * util/probe.c (probe): Require character device on NetBSD.
23592 * util/hostdisk.c: NetBSD specific headers.
23593 (configure_device_driver): new function to tune device driver
23594 parameters (currently only for NetBSD floppy driver).
23595 (grub_util_biosdisk_open): NetBSD specific code (get disk size
23596 via disklabel ioctl).
23597 (open_device): call configure_device_driver on NetBSD.
23598 (convert_system_partition_to_system_disk): NetBSD specific code.
23599 (device_is_wholedisk): Likewise.
23600 (grub_util_biosdisk_get_grub_dev): Likewise.
23601 (make_device_name): Fixed a typo in bsd_part_str.
23602 * configure.ac: check for opendisk() and getrawpartition() on
23603 NetBSD and set LIBUTIL.
23604 * Makefile.in: add LIBUTIL to LIBS.
23605
f516290c
BC
236062010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23607
23608 Documentation fix.
23609
23610 * util/grub-script-check.c: Better help message.
23611
d8dcc0df
BC
236122010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
23613
23614 Fix FreeBSD build.
23615
23616 * configure.ac: Flex version check.
23617 * conf/common.rmk: Add -Wno-error to sh.mod.
23618 * script/yylex.l: Remove all #pragma.
23619
6734334a
VS
236202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23621
23622 * include/grub/util/misc.h (canonicalise_file_name): Add missing
23623 prototype.
23624 Reported by: Seth Goldberg.
23625
daea6abd
VS
236262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23627
23628 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
23629 Rename "module" to "module2".
23630 Reported by: Seth Goldberg.
23631
f2fd9d2b
VS
236322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23633
23634 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
23635 EXPORT_FUNC.
23636 Reported by: Seth Goldberg.
23637
be124579
VS
236382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * lib/posix_wrap/locale.h: Add missing file.
23641 Reported by: Seth Goldberg.
23642
ef5da797
VS
236432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23644
23645 grub-emu module load support.
23646
23647 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
23648 NO_DYNAMIC_MODULES switched to this.
23649 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
23650 (CFLAGS): Likewise.
23651 * conf/any-emu.rmk: Generate symlist.
23652 (kernel_img_HEADERS): Add util/datetime.h.
23653 (kernel_img_HEADERS) [sdl]: Add sdl.h.
23654 (kernel_img_HEADERS) [libusb]: Add libusb.h.
23655 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
23656 kern/$(target_cpu)/cache.S.
23657 * configure.ac (grub-emu-modules): New option.
23658 * genmk.rb: Handle multiple source lists.
23659 * include/grub/sdl.h: New file.
23660 * include/grub/libusb.h: Likewise.
23661 * util/grub-emu.c (main): Hanle (host) root.
23662 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
23663 GRUB_ERR_UNKNOWN_DEVICE.
23664 * util/misc.c: Move mm functions to ...
23665 * util/mm.c: ... here. All users updated.
23666
47822096
VS
236672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23668
23669 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
23670 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
23671 missing files.
23672 (maintainer-clean): Remove libgcrypt-grub.
23673
5d7e7445
VS
236742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
23677
25f4e252
EC
236782010-04-09 EFI Coder <eficoder@hotmail.com>
23679
23680 * normal/menu_text.c (print_message): Clean up the message and show
23681 the Fn information when on EFI
23682 * term/efi/console.c (grub_console_checkkey): Add F4 support.
23683
027de555
VS
236842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23685
23686 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
23687 All users updated.
23688 * normal/crypto.c (read_crypto_list): Likewise.
23689 * normal/dyncmd.c (read_command_list): Likewise.
23690 * normal/term.c (read_terminal_list): Likewise.
23691 * normal/main.c (read_lists): Use explicit prefix.
23692 (read_lists_hook): Use read_lists.
23693 (grub_normal_execute): Likewise.
23694
47779711
VS
236952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23696
23697 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
23698 Reported by: Thomas Schmitt.
23699 Add -no-emul-boot to grub-mkisofs parameters.
23700
1118c32e
VS
237012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 * font/font.c: Indented.
23704
7d652447
BC
237052010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23706
23707 Elif support to GRUB script (by Deepak Vankadaru).
23708
23709 * tests/grub_script_if.in: New testcase.
23710 * conf/tests.rmk: Rule for new testcase.
23711 * script/parser.y: Grammar rules for elif.
23712
34bb22df
BC
237132010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
23714
23715 While and until loops support to GRUB script.
23716
23717 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
23718 (grub_script_create_cmdwhile): New function prototype.
23719 (grub_script_execute_cmdwhile): New function prototype.
23720 * script/execute.c (grub_script_execute_cmdwhile): New function.
23721 * script/parser.y (command): New commands.
23722 (whilecmd): New grammar rule.
23723 (untilcmd): New grammar rule.
23724 * script/script.c (grub_script_create_cmdwhile): New function.
23725 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
23726 function.
23727
23728 * tests/grub_script_while1.in: New testcase.
23729 * conf/tests.rmk: Rule for new testcase.
23730
e215d8e0
VS
237312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23732
23733 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
23734 as *.jpg.
23735
d7c43ba1
MV
237362010-04-09 Mario Vazquez <mariovazq@gmail.com>
23737
23738 GRUB_BACKGROUND support.
23739
23740 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
23741 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
23742
d64795c0
VS
237432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23744
23745 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 23746 Idea by: Mario Vazquez
d64795c0
VS
23747
23748 * util/grub.d/00_header.in: Load pf2 and image modules.
23749
f267f83a
VS
237502010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23751
23752 grub-mkconfig multiple terminal support.
23753
23754 * util/grub-mkconfig.in: Handle multiple terminals correctly.
23755 * util/grub.d/00_header.in: Likewise.
23756
b7841ceb
VS
237572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 * Makefile.in: Specify files explicitly instead of using $< and $@ since
23760 we use cd $(srcdir).
23761
df60998c
CW
237622010-04-08 Colin Watson <cjwatson@ubuntu.com>
23763
23764 * util/grub.d/10_linux.in: Only use the first word of
23765 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
23766 spaces in GRUB_DISTRIBUTOR.
23767 * util/grub.d/10_kfreebsd.in: Likewise.
23768 * util/grub.d/10_hurd.in: Likewise.
23769
fa09c82e
BC
237702010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
23771
14e18ae3 23772 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
23773
23774 * tests/util/grub-shell.in: Remove -serial stdio option.
23775
daf892b3
BC
237762010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 POSIX header file wrappers.
23779
23780 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
23781 equivalents.
23782 * lib/posix_wrap/ctype.h: Likewise.
23783 * lib/posix_wrap/errno.h: Likewise.
23784 * lib/posix_wrap/langinfo.h: Likewise.
23785 * lib/posix_wrap/limits.h: Likewise.
23786 * lib/posix_wrap/localcharset.h: Likewise.
23787 * lib/posix_wrap/stdint.h: Likewise.
23788 * lib/posix_wrap/stdio.h: Likewise.
23789 * lib/posix_wrap/stdlib.h: Likewise.
23790 * lib/posix_wrap/string.h: Likewise.
23791 * lib/posix_wrap/sys/types.h: Likewise.
23792 * lib/posix_wrap/unistd.h: Likewise.
23793 * lib/posix_wrap/wchar.h: Likewise.
23794 * lib/posix_wrap/wctype.h: Likewise.
23795 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
23796 (grub_script.yy.h): Likewise.
23797 * script/yylex.l: Remove POSIX emulation #defines.
23798 * Makefile.in (POSIX_CFLAGS): New variable.
23799 (GNULIB_UTIL_CFLAGS): Likewise.
23800
23801 Regexp support.
23802
23803 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
23804 (regexp_mod_SOURCES): New variable.
23805 (regexp_mod_CFLAGS): Likewise.
23806 (regexp_mod_LDFLAGS): Likewise.
23807 * commands/regexp.c: New file.
23808 * gnulib/regcomp.c: New file. Imported from gnulib.
23809 * gnulib/regex.c: Likewise.
23810 * gnulib/regex_internal.c: Likewise.
23811 * gnulib/regex_internal.h: Likewise.
23812 * gnulib/regexec.c: Likewise.
23813 * gnulib/regex.h: Likewise.
23814
974ac4f7
VS
238152010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
23818 unsupported video mode types.
23819
2622c3ff
VS
238202010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23821
23822 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
23823
064cb524
VS
238242010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23825
23826 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
23827 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
23828
a8c3b552
VS
238292010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23830
23831 Remove unused grub_vga_get_font.
23832
23833 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
23834 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
23835
187bbe3d
GS
238362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23837
23838 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
23839 * include/grub/misc.h: Likewise.
23840
b9396631
GS
238412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23842
23843 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
23844 for which failure is fatal.
23845
50479feb
GS
238462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23847
23848 * util/grub-install.in: Use mkdir -p to create grub directory.
23849 * util/i386/efi/grub-install.in: Likewise.
23850 * util/ieee1275/grub-install.in: Likewise.
23851
b1654fdf
GS
238522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23853
23854 * Makefile.in (LEX): new variable.
23855
bd5a6415
GS
238562010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
23857
23858 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
23859 `=' and added double quotes on operands of this equality test.
23860
3db3a82b
VS
238612010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23862
23863 * Makefile.in (uninstall): Remove a leftover debug echo.
23864 Reported by: Grégoire Sutre
23865
38023412
VS
238662010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 MIPS multiboot2 support.
23869
23870 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
23871 (multiboot2_mod_SOURCES): New variable.
23872 (multiboot2_mod_CFLAGS): Likewise.
23873 (multiboot2_mod_LDFLAGS): Likewise.
23874 (multiboot2_mod_ASFLAGS): Likewise.
23875 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
23876 definition.
23877 (MULTIBOOT_ENTRY_REGISTER): Likewise.
23878 (MULTIBOOT_MBI_REGISTER): Likewise.
23879 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
23880 (MULTIBOOT_ELF32_MACHINE): Likewise.
23881 (MULTIBOOT_ELF64_MACHINE): Likewise.
23882 * include/grub/mips/multiboot.h: New file.
23883 * include/grub/video.h (grub_video_driver_id): New type
23884 GRUB_VIDEO_DRIVER_SM712.
23885 (grub_video_get_info_and_fini): Export.
23886 (grub_video_get_palette): Likewise.
23887 (grub_video_get_driver_id): Likewise.
23888 * include/multiboot2.h: Resynced with spec.
23889 * loader/i386/multiboot.c: Moved from here ...
23890 * loader/multiboot.c: ... here. All users updated.
23891 (grub_multiboot_boot): Use platform-specific macros.
23892 * loader/i386/multiboot_elfxx.c: Moved from here ...
23893 * loader/multiboot_elfxx.c: ... here. All users updated.
23894 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
23895 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
23896 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
23897
47674667
VS
238982010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
23899
23900 Import gnulib argp module.
23901
23902 * gnulib/argp-ba.c: New file.
23903 * gnulib/argp-eexst.c: Likewise.
23904 * gnulib/argp-fmtstream.c: Likewise.
23905 * gnulib/argp-fmtstream.h: Likewise.
23906 * gnulib/argp-fs-xinl.c: Likewise.
23907 * gnulib/argp-help.c: Likewise.
23908 * gnulib/argp-namefrob.h: Likewise.
23909 * gnulib/argp-parse.c: Likewise.
23910 * gnulib/argp-pin.c: Likewise.
23911 * gnulib/argp-pv.c: Likewise.
23912 * gnulib/argp-pvh.c: Likewise.
23913 * gnulib/argp-version-etc.c: Likewise.
23914 * gnulib/argp-version-etc.h: Likewise.
23915 * gnulib/argp-xinl.c: Likewise.
23916 * gnulib/argp.h: Likewise.
23917
495442ed
VS
239182010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 * kern/device.c (grub_device_iterate): Clear errors after failed
23921 opening device.
23922
f9fd65df
VS
239232010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
23924
23925 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
23926 returned by firmware.
23927
af09641e
VS
239282010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
23929
23930 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
23931 compilation on coreboot and qemu
23932
016883a5
VS
239332010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23934
23935 * include/multiboot2.h: Resync with spec.
23936
f97e1f7d
VS
239372010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 Multiboot2 tag support
23940
23941 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
23942 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
23943 Remove loader/multiboot_loader.c.
23944 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
23945 (grub_multiboot2_real_boot): Likewise.
23946 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
23947 (grub_get_multiboot_mmap_count): New proto.
23948 (grub_fill_multiboot_mmap): Likewise.
23949 (grub_multiboot_set_video_mode): Likewise.
23950 (grub_multiboot_set_console): Likewise.
23951 (grub_multiboot_load): Likewise.
23952 (grub_multiboot_load_elf): Likewise.
23953 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
23954 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
23955 * include/multiboot.h: Resynced with specification.
23956 * include/multiboot2.h: Resynced with specification.
23957 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
23958 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
23959 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
23960 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
23961 users updated.
23962 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
23963 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
23964 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
23965 Removed.
23966 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
23967 Moved from here...
23968 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
23969 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23970 Moved from here...
23971 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
23972 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
23973 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
23974 All users updated.
23975 * loader/i386/multiboot_mbi2.c: New file.
23976
3506b90b
VS
239772010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23978
23979 Resync with gnulib.
23980
23981 * Makefile.in (GNULIB_CFLAGS): New variable.
23982 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
23983 (grub_script_check_CFLAGS): New variable.
23984 * gnulib/alloca.h: Resync with gnulib.
23985 * gnulib/error.c: Likewise.
23986 * gnulib/error.h: Likewise.
23987 * gnulib/fnmatch.c: Likewise.
23988 * gnulib/fnmatch_loop.c: Likewise.
23989 * gnulib/getdelim.c: Likewise.
23990 * gnulib/getline.c: Likewise.
23991 * gnulib/getopt.c: Likewise.
23992 * gnulib/getopt1.c: Likewise.
23993 * gnulib/getopt_int.h: Likewise.
23994 * gnulib/gettext.h: Likewise.
23995 * gnulib/progname.c: Likewise.
23996 * gnulib/progname.h: Likewise.
23997
394a3120
GS
239982010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23999
24000 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
24001 which is the case with --disabled-nls.
24002
24003 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
24004 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
24005 * util/misc.c: Likewise.
24006 * util/mkisofs/mkisofs.c: Likewise.
24007 * util/mkisofs/mkisofs.h: Likewise.
24008
969d1c78
VS
240092010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
24010
24011 Simplify Apple CC support.
24012
24013 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
24014 Add 0 byte at the end not to have a symbol with empty target.
24015 * mmap/i386/pc/mmap_helper.S: Likewise.
24016 * genmk.rb: Ignore errors 2030 and 2050.
24017 * kern/i386/pc/startup.S: Use LOCAL when possible.
24018
8d2977bb
BC
240192010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
24020
24021 Testcase and the fix for final semicolon on cmdline.
24022
24023 * tests/grub_script_final_semicolon.in: New testcase.
24024 * conf/tests.rmk: Rules for the new testcase.
24025 * script/parser.y: Grammar fix.
24026
a7bd6915
BC
240272010-03-26 BVK Chaitanya <bvk@localhost>
24028
24029 Blank lines testcase for GRUB script.
24030
24031 * tests/grub_script_blanklines.in: New testcase.
24032 * conf/tests.rmk: Rules for the new testcase.
24033
e4ff6628
VS
240342010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 Don't use __FILE__.
24037
24038 * genmk.rb: Add -DGRUB_FILE to all C targets.
24039 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
24040 * include/grub/list.h: Likewise.
24041 * include/grub/misc.h: Likewise.
24042 * include/grub/mm.h: Likewise.
24043 * include/grub/test.h: Likewise.
24044 * kern/mm.c: Likewise.
24045 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
24046
6a5cf6b6
VS
240472010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 Sunpc partitions support.
24050
24051 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
24052 (grub_fstest_SOURCES): Likewise.
24053 (pkglib_MODULES): Add part_sunpc.mod.
24054 (part_sunpc_mod_SOURCES): New variable.
24055 (part_sunpc_mod_CFLAGS): Likewise.
24056 (part_sunpc_mod_LDFLAGS): Likewise.
24057 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
24058 * partmap/sunpc.c: New file.
24059
746d9045
BC
240602010-03-26 BVK Chaitanya <bvk@localhost>
24061
24062 For loop support to GRUB script.
24063
24064 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
24065 (grub_script_create_cmdfor): New function prototype.
24066 (grub_script_execute_cmdfor): New function prototype.
24067 * script/execute.c (grub_script_execute_cmdfor): New function.
24068 * script/parser.y (command): New for command.
24069 (forcmd): New grammar rule.
24070 * script/script.c (grub_script_create_cmdfor): New function.
24071 * util/grub-script-check.c (grub_script_execute_cmdfor): New
24072 function.
24073 * tests/grub_script_for1.in: New testcase.
24074 * conf/tests.rmk: Rules for new testcase.
24075
18486b18
VS
240762010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
24077
24078 Nested partitions
24079
24080 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
24081 'partition' is NULL, grub_partition_get_start already does that.
24082 * commands/loadenv.c (check_blocklists): Likewise.
24083 (write_blocklists): Likewise.
24084 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
24085 (grub_fstest_SOURCES): Likewise.
24086 (pkglib_MODULES): Add part_bsd.mod.
24087 (part_bsd_mod_SOURCES): New variable.
24088 (part_bsd_mod_CFLAGS): Likewise.
24089 (part_bsd_mod_LDFLAGS): Likewise.
24090 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
24091 (grub_emu_SOURCES): Likewise.
24092 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24093 * include/grub/bsdlabel.h: New file.
24094 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
24095 'get_name'.
24096 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
24097 (grub_partition_map_list): New variable.
24098 (grub_partition_map_register): Inline.
24099 (grub_partition_map_unregister): Likewise.
24100 (FOR_PARTITION_MAPS): New macro.
24101 (grub_partition_map_iterate): Removed.
24102 (grub_partition_get_start): Handle nested partitions.
24103 * include/grub/msdos_partition.h: Remove bsd-related entries.
24104 (grub_pc_partition): Remove.
24105 * kern/disk.c (grub_disk_close): Free partition data.
24106 (grub_disk_adjust_range): Handle nested partitions.
24107 * kern/partition.c (grub_partition_map_probe): New function.
24108 (grub_partition_probe): Parse name to number, handle subpartitions.
24109 (get_partmap): New function.
24110 (grub_partition_iterate): Handle subpartitions.
24111 (grub_partition_get_name): Likewise.
24112 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
24113 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
24114 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
24115 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
24116 Set 'number'.
24117 (acorn_partition_map_probe): Remove.
24118 (acorn_partition_map_get_name): Likewise.
24119 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
24120 Set 'number'.
24121 Set 'index' to 0 since there can be only one partition entry per sector.
24122 (amiga_partition_map_probe): Remove.
24123 (amiga_partition_map_get_name): Likewise.
24124 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
24125 Set 'number'.
24126 Set 'offset' and 'index' to real positions of partitions.
24127 (apple_partition_map_probe): Remove.
24128 (apple_partition_map_get_name): Likewise.
24129 * partmap/bsdlabel.c: New file.
24130 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
24131 Set 'number'.
24132 Allocate 'data' so it can be correctly freed.
24133 Set 'index' to offset inside sector.
24134 (gpt_partition_map_probe): Remove.
24135 (gpt_partition_map_get_name): Likewise.
24136 * partmap/msdos.c (grub_partition_parse): Remove.
24137 (pc_partition_map_iterate): Don't force raw access.
24138 Set 'number'.
24139 Make 'ext_offset' a local variable.
24140 (pc_partition_map_probe): Remove.
24141 (pc_partition_map_get_name): Remove.
24142 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
24143 Set 'number'.
24144 (sun_partition_map_probe): Remove.
24145 (sun_partition_map_get_name): Likewise.
24146 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
24147 (grub_pcpart_type): Likewise.
24148 * util/hostdisk.c (open_device): Handle new numbering scheme.
24149 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
24150 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
24151 * util/grub-probe.c (probe_partmap): Handle nested paritions.
24152 * util/grub-install.in: Insert all subpartition modules.
24153 * util/ieee1275/grub-install.in: Likewise.
24154
a3940f88
AG
241552010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
24156
24157 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
24158 grammar.
24159
21b99926 241602010-03-24 Colin Watson <cjwatson@ubuntu.com>
24161
24162 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
24163
bed1d352
CW
241642010-03-21 Colin Watson <cjwatson@ubuntu.com>
24165
24166 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
24167 match where 'make install' puts them.
24168 * util/i386/efi/grub-install.in: Likewise.
24169
c9f58427
CW
241702010-03-19 Colin Watson <cjwatson@ubuntu.com>
24171
24172 * .bzrignore: Add gentrigtables, grub-script-check,
24173 grub_script_check_init.c, grub_script_check_init.h, and
24174 trigtables.c.
24175
f84afb27
VS
241762010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
24177
24178 * kern/parser.c: Indented.
24179
ed0e3d30
VS
241802010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24181
24182 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
24183
0ea81d98
VS
241842010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
24185
24186 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
24187 alpha_mask_size == 0 case.
24188
0cdc2a09
BC
241892010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
24190
24191 GRUB shell lexer and parser improvements.
24192
24193 * conf/any-emu.rmk: Build rule updates.
24194 * conf/common.rmk: Likewise.
24195 * conf/i386-coreboot.rmk: Likewise.
24196 * conf/i386-efi.rmk: Likewise.
24197 * conf/i386-ieee1275.rmk: Likewise.
24198 * conf/i386-pc.rmk: Likewise.
24199 * conf/powerpc-ieee1275.rmk: Likewise.
24200 * conf/x86_64-efi.rmk: Likewise.
24201
24202 * configure.ac: Configure check for flex.
24203
24204 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
24205 types.
24206 (grub_lexer_param): Struct member updates.
24207 (grub_parser_param): Likewise.
24208 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
24209 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
24210 (grub_script_lexer_init): Prototype update.
24211 (grub_script_lexer_record_start): Likewise.
24212 (grub_script_lexer_record_stop): Likewise.
24213 (grub_script_lexer_yywrap): New function prototype.
24214 (grub_script_lexer_fini): Likewise.
24215 (grub_script_execute_argument_to_string): Removed by...
24216 (grub_script_execute_argument_to_argv): ...better version.
24217
24218 * script/execute.c (ROUND_UPTO): New macro.
24219 (grub_script_execute_cmdline): Out of memory fixes.
24220 (grub_script_execute_menuentry): Likewise.
24221 (grub_script_execute_argument_to_string): Removed. Update all
24222 users by...
24223 (grub_script_execute_argument_to_argv): ...better version.
24224 * script/function.c (grub_script_function_create): Use
24225 grub_script_execute_argument_to_argv instead of
24226 grub_script_execute_argument_to_string.
24227
24228 * script/lexer.c (check_varstate): Removed.
24229 (check_textstate): Removed.
24230 (grub_script_lexer_record_start): Likewise.
24231 (grub_script_lexer_record_stop): Likewise.
24232 (recordchar): Replaced with...
24233 (grub_script_lexer_record): ...new function.
24234 (nextchar): Removed.
24235 (grub_script_lexer_init): Rewritten.
24236 (grub_script_yylex): Rewritten.
24237 (append_newline): New function.
24238 (grub_script_lexer_yywrap): New function.
24239 (grub_script_lexer_fini): New function.
24240 (grub_script_yyerror): Sets error flag.
24241
24242 * script/yylex.l: New file.
24243 (grub_lexer_yyfree): Wrapper for flex yyffre.
24244 (grub_lexer_yyalloc): Likewise.
24245 (grub_lexer_yyrealloc): Likewise.
24246 * script/parser.y: Refactored.
24247
24248 * script/script.c (grub_script_arg_add): Out of memory fixes.
24249 (grub_script_add_arglist): Likewise.
24250 (grub_script_create_cmdline): Likewise.
24251 (grub_script_create_cmdmenu): Likewise.
24252 (grub_script_add_cmd): Likewise.
24253 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
24254 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
24255 unnecessary code.
24256
24257 * tests/grub_script_echo1.in: New testcase.
24258 * tests/grub_script_vars1.in: New testcase.
24259 * tests/grub_script_echo_keywords.in: New testcase.
24260
1d63a066
VS
242612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24262
24263 Remove some redundancy in build system.
24264
24265 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
24266 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
24267 (TARGET_LDFLAGS): Add -nostdlib.
24268 (TARGET_IMG_LDFLAGS): Likewise.
24269 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
24270 anything since mmap isn't available.
24271 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
24272 Add util/time.c.
24273 (pkglib_MODULES): Remove reboot.mod.
24274 (reboot_mod_SOURCES): Removed.
24275 (reboot_mod_CFLAGS): Likewise.
24276 (reboot_mod_LDFLAGS): Likewise.
24277 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
24278 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
24279 (DEFSYMFILES): Add kernel_syms.lst.
24280 (kernel_img_HEADERS): Add common headers.
24281 (symlist.c): New target.
24282 (kernel_syms.lst): Likewise.
24283 (pkglib_MODULES): Add memdisk.mod.
24284 (memdisk_mod_SOURCES): New variable.
24285 (memdisk_mod_CFLAGS): Likewise.
24286 (memdisk_mod_LDFLAGS): Likewise.
24287 (pkglib_MODULES): Add reboot.mod.
24288 (reboot_mod_SOURCES): New variable.
24289 (reboot_mod_CFLAGS): Likewise.
24290 (reboot_mod_LDFLAGS): Likewise.
24291 (pkglib_MODULES): Add date.mod.
24292 (date_mod_SOURCES): New variable.
24293 (date_mod_CFLAGS): Likewise.
24294 (date_mod_LDFLAGS): Likewise.
24295 (pkglib_MODULES): Add datehook.mod.
24296 (datehook_mod_SOURCES): New variable.
24297 (datehook_mod_CFLAGS): Likewise.
24298 (datehook_mod_LDFLAGS): Likewise.
24299 (pkglib_MODULES): Add lsmmap.mod.
24300 (lsmmap_mod_SOURCES): New variable.
24301 (lsmmap_mod_CFLAGS): Likewise.
24302 (lsmmap_mod_LDFLAGS): Likewise.
24303 (pkglib_MODULES): Add boot.mod.
24304 (boot_mod_SOURCES): New variable.
24305 (boot_mod_CFLAGS): Likewise.
24306 (boot_mod_LDFLAGS): Likewise.
24307 * conf/i386-coreboot.rmk: Removed redundant parts.
24308 * conf/i386-ieee1275.rmk: Likewise.
24309 * conf/i386-pc.rmk: Likewise.
24310 * conf/mips-yeeloong.rmk: Likewise.
24311 * conf/mips.rmk: Likewise.
24312 * conf/powerpc-ieee1275.rmk: Likewise.
24313 * conf/sparc64-ieee1275.rmk: Likewise.
24314 * conf/x86_64-efi.rmk: Likewise.
24315 * conf/i386-coreboot.rmk: Moved qemu parts ..
24316 * conf/i386-qemu.rmk: ... here
24317 * conf/i386-efi.rmk: Moved common parts to...
24318 * conf/x86-efi.rmk: ... here.
24319 * conf/i386.rmk: Added modules common to all x86 variants.
24320 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
24321 * disk/memdisk.c: Remove grub/machine/kernel.h.
24322 * gensymlist.sh.in: Include symbol.h.
24323 * hook/datehook.c: Correct module name.
24324 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
24325 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
24326 * include/grub/i386/efi/serial.h: New file.
24327 * include/grub/x86_64/efi/serial.h: Likewise.
24328 * util/time.c: Likewise.
24329 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
24330
463ac55f
CK
243312010-03-14 Colin King <colin.king@ubuntu.com>
243322010-03-14 Colin Watson <cjwatson@ubuntu.com>
24333
24334 Shrink the pre-partition-table part of boot.img by eight bytes.
24335
24336 * boot/i386/pc/boot.S (ERR): New macro.
24337 (chs_mode): Use ERR.
24338 (geometry_error): Likewise.
24339 (hd_probe_error): Remove. This is only used once, so we wrwite
24340 it inline instead.
24341 (read_error): Instead of printing read_error_string, just set up
24342 %si and fall through to ...
24343 (error_message): ... this new function, also used by ERR.
24344
08e46ede
CW
243452010-03-14 Colin Watson <cjwatson@ubuntu.com>
24346
24347 Speed up consecutive hostdisk operations on the same device.
24348
24349 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
24350 (grub_util_biosdisk_open): Initialise disk->data.
24351 (struct linux_partition_cache): New structure.
24352 (linux_find_partition): Cache partition start positions; these are
24353 expensive to compute on every read and write.
24354 (open_device): Cache open file descriptor in disk->data, so that we
24355 don't have to reopen it and flush the buffer cache for consecutive
24356 operations on the same device.
24357 (grub_util_biosdisk_close): New function.
24358 (grub_util_biosdisk_dev): Set `close' member.
24359
24360 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
24361 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
24362 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24363 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24364 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
24365
4a6d2d06
VS
243662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24367
24368 Compile parts of grub-emu as modules.
24369
24370 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
24371 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
24372 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
24373 (all-local): Add $(GRUB_EMU).
24374 (install-local): Install $(GRUB_EMU).
24375 (uninstall): Uninstall $(GRUB_EMU).
24376 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
24377 * kern/dl.c: Likewise.
24378 * commands/sleep.c: Not include machine/time.h.
24379 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
24380 (COMMON_CFLAGS): Likewise.
24381 (sbin_UTILITIES): Remove grub-emu.
24382 (grub_emu_SOURCES): Removed.
24383 (kernel_img_RELOCATABLE): New variable.
24384 (pkglib_PROGRAMS): Add kernel.img.
24385 (kernel_img_SOURCES): New variable
24386 (kernel_img_CFLAGS): Likewise.
24387 (kernel_img_LDFLAGS): Likewise.
24388 (TARGET_NO_STRIP): Likewise.
24389 (TARGET_NO_DYNAMIC_MODULES): Likewise.
24390 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
24391 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
24392 (grub-emu): New target.
24393 (GRUB_EMU): New variable.
24394 * configure.ac: Whitelist -emu as possible x86_64 architecture.
24395 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
24396 * loader/xnu.c: Likewise.
24397 * include/grub/pci.h: Likewise.
24398 * genemuinit.sh: New file.
24399 * genemuinitheader.sh: Likewise.
24400 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
24401 Support TARGET_NO_DYNAMIC_MODULES.
24402 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
24403 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
24404 * disk/loopback.c: Likewise.
24405 * font/font_cmd.c: Likewise.
24406 * partmap/acorn.c: Likewise.
24407 * partmap/amiga.c: Likewise.
24408 * partmap/apple.c: Likewise.
24409 * partmap/gpt.c: Likewise.
24410 * partmap/msdos.c: Likewise.
24411 * partmap/sun.c: Likewise.
24412 * parttool/msdospart.c: Likewise.
24413 * term/gfxterm.c: Likewise.
24414 * video/bitmap.c: Likewise.
24415 * video/readers/jpeg.c: Likewise.
24416 * video/readers/png.c: Likewise.
24417 * video/readers/tga.c: Likewise.
24418 * video/video.c: Likewise.
24419 * util/grub-emu.c (read_command_list): Removed.
24420 (main): Don't call util_init_nls.
24421 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
24422 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
24423
91fdd2ed
VS
244242010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
24427 date.mod, datehook.mod.
24428 (datetime_mod_SOURCES): New variable.
24429 (datetime_mod_CFLAGS): Likewise.
24430 (datetime_mod_LDFLAGS): Likewise.
24431 (date_mod_SOURCES): Likewise.
24432 (date_mod_CFLAGS): Likewise.
24433 (date_mod_LDFLAGS): Likewise.
24434 (datehook_mod_SOURCES): Likewise.
24435 (datehook_mod_CFLAGS): Likewise.
24436 (datehook_mod_LDFLAGS): Likewise.
24437 * conf/sparc64-ieee1275.rmk: Likewise.
24438 * lib/ieee1275/datetime.c: New file.
24439
873ccae6
VS
244402010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24441
24442 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
24443 (ieee1275_fb_mod_SOURCES): New variable.
24444 (ieee1275_fb_mod_CFLAGS): Likewise.
24445 (ieee1275_fb_mod_LDFLAGS): Likewise.
24446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
24447 New proto.
24448 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
24449 (HEAP_MAX_ADDR): Likewise.
24450 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
24451 type.
24452 Correct stop condition.
24453 (grub_ieee1275_devices_iterate): New function.
24454 * video/ieee1275.c: New file.
24455
601c97c0
VS
244562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
24459
24460 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
24461 as scratch.
24462 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
24463 SCRATCH_PAD_DISKBOOT as scratch.
24464 (bootit): Pass Openfirmware pointer in %o4.
24465 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
24466 of 0x200000.
24467 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
24468 with util/grub-mkrawimage.c.
24469 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
24470 * include/grub/aout.h (AOUT_MID_SUN): New definition.
24471 (grub_aout_get_type) [GRUB_UTIL]: Removed.
24472 (grub_aout_load) [GRUB_UTIL]: Likewise.
24473 * include/grub/kernel.h (grub_modules_get_end): New proto.
24474 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
24475 (SCRATCH_PAD_BOOT): New definition.
24476 (SCRATCH_PAD_DISKBOOT): Likewise.
24477 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
24478 * include/grub/sparc64/ieee1275/ieee1275.h
24479 (grub_ieee1275_original_stack): New variable
24480 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24481 New definition
24482 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
24483 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
24484 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
24485 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
24486 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
24487 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
24488 (grub_platform_image_format_t): New type.
24489 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
24490 * kern/main.c (grub_modules_get_end)
24491 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
24492 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
24493 (codestart): Switch stacks.
24494 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
24495 variable.
24496 (grub_heap_init): Use grub_modules_get_end.
24497 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
24498 stack.
24499 * util/grub-mkrawimage.c (generate_image): Support sparc64.
24500 (main): Likewise.
24501 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
24502
d68b491e
TG
245032010-03-14 Thorsten Glaser <tg@mirbsd.org>
24504
24505 * util/grub-mkrescue.in: Base ISO UUID on UTC.
24506
4e02ed50
MK
245072010-03-08 Matt Kraai <kraai@ftbfs.org>
24508
24509 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
24510 bug #559005).
24511
1f15fc1e
VS
245122010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
24513
24514 * genmoddep.awk: Output all missing symbols and not only first.
24515
fce5d8ff
VS
245162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 * NEWS: Put the date of 1.98 release.
24519
d1e8a02f
VS
245202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24521
24522 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
24523 ft2build.h.
24524
696fd607
VS
245252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
24528 completition in the middle of string.
24529
33e2e6f3
VS
245302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24531
24532 * util/grub-mkrescue.in: Use mktemp with explicit template.
24533
b1f6d291
VS
245342010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24535
24536 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
24537
2ac227c7
VS
245382010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
24539
24540 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
24541 right pointer.
24542
8f9a632b
VS
245432010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24544
24545 Fix FreeBSD compilation.
24546
24547 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
24548 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
24549
60b03859
VS
245502010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
24551
24552 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
24553
48a5a769
VS
245542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24555
24556 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
24557
3ab4bd77
VS
245582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24559
24560 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
24561
d116e0d8
RM
245622010-03-04 Robert Millan <rmh.grub@aybabtu.com>
24563
24564 Support relative image path in theme file.
24565
24566 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
24567 (image_set_property): Handle theme_dir and relative path.
24568
c7ef54aa
VS
245692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24570
24571 * configure.ac: Alias amd64 to x86_64.
24572
fcee14ed
VS
245732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24574
24575 * NEWS: mention multiboot on EFI.
24576
d0780363
VS
245772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24578
24579 * kern/main.c (grub_load_modules): Handle errors from init functions of
24580 embeded modules.
24581
41168ea4
VS
245822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24583
24584 * normal/autofs.c (autoload_fs_module): Handle errors.
24585
b54d93ac
VS
245862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24587
24588 Disable linux.mod on qemu-mips since it's not functional and leads
24589 to compilation failure.
24590
24591 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
24592 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
24593 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
24594 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
24595 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
24596 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
24597 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
24598 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
24599 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
24600 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
24601 Reported by: BVK Chaitanya
24602
fc8345da
JU
246032010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
24604
24605 * INSTALL: Add gettext as a dependency and add qemu to a new section
24606 "Prerequisites for make-check".
24607
4760f979
CF
246082010-03-04 Christian Franke <franke@computer.org>
24609
24610 * util/grub-pe2elf.c: Add missing include "progname.h".
24611
f209b5b2
VS
246122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 * normal/crypto.c (read_crypto_list): Fix a typo.
24615 Reported by: Seth Goldberg.
24616
b4b7be98
VS
246172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 24620 Reported by: Seth Goldberg.
b4b7be98 24621
c0ee0385
VS
246222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24623
24624 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
24625 ascii.bitmaps.
24626
a8efbf64
VS
246272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24628
24629 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 24630 Reported by: Seth Goldberg.
a8efbf64 24631
08dcd913
VS
246322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 * util/i386/efi/grub-install.in: Copy gettext files.
24635
c4d0b332
VS
246362010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24637
24638 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
24639
c6f2fe52
VS
246402010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24641
24642 Wait for user entry basing on presence of output rather than on errors.
24643
24644 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
24645 (grub_install_newline_hook): Likewise.
24646 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
24647 * normal/menu.c (show_menu): Check line_counter to determine presence
24648 of output.
24649 * normal/term.c (grub_normal_line_counter): New variable.
24650 (grub_normal_get_line_counter): New function.
24651 (grub_install_newline_hook): Likewise.
24652
5382b1e4
VS
246532010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24654
24655 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
24656
5519963b
VS
246572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 * configure.ac: Update version to 1.98.
24660
72b28631
VS
246612010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
24662
24663 * util/grub.d/10_linux.in (linux_entry): Don't default to
24664 gfxpayload=keep if Linux doesn't support video handover.
24665
c140a180
VS
246662010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
24667
24668 Don't compile video modules on yeeloong since video subsystem is part
24669 of kernel.
24670
24671 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
24672 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
24673 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
24674 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
24675 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
24676 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
24677 * include/grub/bitmap_scale.h: Likewise.
24678 * include/grub/bufio.h: Likewise.
24679 * include/grub/font.h: Likewise.
24680 * include/grub/gfxterm.h: Likewise.
24681 * include/grub/video.h: Likewise.
24682 * include/grub/vbe.h: Don't include video_fb.h.
24683 * video/i386/pc/vbe.c: Include video_fb.h.
24684 * commands/i386/pc/vbetest.c: Include video.h.
24685
a0ca21c2
CW
246862010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
24687
24688 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
24689 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
24690 default entry if GRUB_SAVEDEFAULT=true. This allows using
24691 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
24692 saving a new default on every boot.
24693
4a8a763c
VS
246942010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24695
24696 * normal/crypto.c (read_crypto_list): Fix a memory leak.
24697 * normal/term.c (read_terminal_list): Likewise.
24698 * normal/main.c (grub_normal_init_page): Likewise.
24699 (grub_normal_read_line_real): Likewise.
24700
607ffde2
VS
247012010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
24702
24703 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
24704 memory leak.
24705 Reported by: Seth Goldberg.
24706
2b8fa975
CW
247072010-02-24 Joey Korkames <joey+lists@kidfixit.com>
24708
24709 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
24710 duplicate declaration of `start'.
24711
618307dd
VS
247122010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24713
24714 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
24715 filename.
24716 Reported by: Georgy Buranov
24717
7dd05b96 247182010-02-20 Carles Pina i Estany <carles@pina.cat>
24719
24720 * util/grub-mkrawimage.c (usage): Change string formatting to
24721 improve gettext.
24722
d1484a42
MRA
247232010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
24724
24725 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
24726 backspace keys.
24727
42b1d186
VS
247282010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
24729
24730 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
24731 Reported by: Michael Suchanek.
24732
247332010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
24734
24735 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
24736 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
24737
d9f31a41
VS
247382010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 Remove any reference to non-free fonts.
24741
24742 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
24743 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
24744 uses non-free components.
24745 * font/font.c (grub_font_get_name): Remove example name.
24746 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
24747 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
24748 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
24749 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
24750
2793c71e
GB
247512010-02-16 Georgy Buranov <gburanov@gmail.com>
24752
24753 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
24754
402e3779
VS
247552010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24756
24757 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
24758 Double divisor.
24759 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
24760 features.
24761 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
24762
0dd1e0dd
VS
247632010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
24764
24765 * gensymlist.sh.in: Use TARGET_CC instead of CC.
24766
6fa7cfce
ST
247672010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24768
24769 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
24770 * docs/grub.texi (Command-line and menu entry commands): Document play
24771 command.
24772
37c8483b
ST
247732010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24774
24775 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
24776 parse arguments as inline tempo and notes. Move code for playing notes
24777 to...
24778 (play): ... new function.
24779
14da0fb7
ST
247802010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
24781
24782 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
24783 grub_uint16_t instead of short.
24784 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
24785 disk from little endian to cpu endianness.
24786
04459e70
ST
247872010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
24788
24789 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
24790 GRUB_TICKS_PER_SECOND instead of 120.
24791
a0876943
VS
247922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24793
24794 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
24795 escape sequence after \e.
24796
e29f95dc
VS
247972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24798
24799 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
24800 non-ASCII characters.
24801
d27859b2
VS
248022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24803
24804 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
24805 set root in single quotes to prevent \, from being unescaped.
24806
bc028f2f
VS
248072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 Prevent unknown commands from stopping menuentry execution.
24810
24811 * script/execute.c (grub_script_execute_cmdline): Print error after
24812 unknown command.
24813
095f5f82
VS
248142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
24817 Reported by: Pavel Pisa.
24818
8c717950
VS
248192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24820
24821 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
24822
904935c3
VS
248232010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24824
24825 Merge grub_ieee1275_map_physical into grub_map and rename to
24826 grub_ieee1275_map
24827
24828 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
24829 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
24830 Remove.
24831 * kern/ieee1275/openfw.c (grub_map): Rename to ...
24832 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
24833 necessary.
24834 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
24835
5b59a4e3
VS
248362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24837
24838 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
24839 opening and not after.
24840
69e137e8
VS
248412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24842
24843 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
24844 constants.
24845
2c0fcc36
VS
248462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24847
24848 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
24849 (alloc_phys): Use ALIGN_UP instead of align_addr.
24850
8c6052ce
VS
248512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
24854
17cec782
VS
248552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24856
24857 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
24858
e0128bbd
VS
248592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
24862 verbose dprintf.
24863
ca62070b
VS
248642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24865
24866 Fix over-4GiB seek on sparc64.
24867
24868 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
24869 Replace pos_i and pos_lo with pos. All users updated.
24870 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24871 New constant.
24872 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
24873 Likewise.
24874 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
24875 and pos_lo.
24876
bdca2607
VS
248772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24878
24879 * util/grub-mkrawimage.c (main): Call set_program_name.
24880
da278c4d
VS
248812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24882
24883 Properly align 64-bit targets.
24884
24885 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
24886 (generate_image): Use ALIGN_ADDR.
24887
b274d734
VS
248882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24889
24890 Properly create cross-endian images.
24891
24892 * include/grub/types.h (grub_host_to_target_addr): New macro
24893 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
24894
82da2062
VS
248952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
24896
24897 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
24898
7cae4377
VS
248992010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
24902
24903 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
24904 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
24905 (grub_linux_boot): Divide by 64K when on VESA.
24906
65a533e7
VS
249072010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24908
24909 Support GRUB_GFXPAYLOAD_LINUX.
24910
24911 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
24912 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
24913
dd01d397
VS
249142010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
24917 to show messages instead of discarding them.
24918 Process errors after executing command and not before. Keep old method
24919 too as precaution.
24920
660960d6
VS
249212010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * configure.ac: Check for ft2build.h.
24924
62509f04
VS
249252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24926
24927 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
24928
473df63d
VS
249292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24930
24931 * genkernsyms.sh.in: Use TARGET_CC.
24932
c98d2a13
CW
249332010-02-07 Colin Watson <cjwatson@ubuntu.com>
24934
24935 * NEWS: Update.
24936
6e14234c
VS
249372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
24940 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24941 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 24942
b255e9cf
YB
249432010-02-07 Yves Blusseau <blusseau@zetam.org>
24944
6e14234c 24945 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 24946
98e6959d
VS
249472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24948
24949 Fix warnings in grub-emu when compiling with maximum warning options.
24950
24951 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
24952 (grub_arch_modules_addr): Return 0 and not NULL.
24953 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 24954 (xstrdup): Use newstr instead of dup.
f88d801b
VS
24955 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24956 of disk to dsk to avoid shadowing.
74e4934e
VS
24957 (find_free_slot): Fix prototype.
24958 * util/getroot.c (grub_util_is_dmraid): Make static.
24959 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
24960 Add missing prototype.
24961 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 24962
74e31b5c
VS
249632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24966 appropriately.
24967
6b2ad14b
VS
249682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24969
24970 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
24971 code out.
24972
8f891adc
VS
249732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
24976 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
24977 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
24978 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
24979 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
24980 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
24981
74b45184
VS
249822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24983
24984 * include/grub/err.h (grub_err_printf): Don't export.
24985
a4bced77
VS
249862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24987
24988 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24989
007d0695
VS
249902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 * include/grub/i18n.h (grub_gettext_dummy): Removed.
24993 * kern/misc.c (grub_gettext_dummy): Make static.
24994
b6c0d9c2
VS
249952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24996
24997 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
24998 by non-valid ones.
24999 * kern/term.c (grub_putchar): Likewise.
25000
f51a90d0
VS
250012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25002
25003 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
25004 buggy hook call and memory leak.
25005
6846cec5
VS
250062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25007
25008 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
25009
468d69fe
VS
250102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25011
25012 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
25013
51906b8c
VS
250142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
25017 modevar.
25018 Return grub_errno on allocation error.
25019
09706ce5
VS
250202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
25023
911df80c
YB
250242010-02-06 Yves Blusseau <blusseau@zetam.org>
25025
25026 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
25027 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
25028
3746a6bc
VS
250292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25030
25031 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
25032 non-pxe disk.
25033 (grub_pxefs_open): Likewise.
25034
09706ce5
VS
250352010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25036
25037 * util/grub.d/10_hurd.in: Add --class information to menuentries.
25038 * util/grub.d/10_kfreebsd.in: Likewise.
25039 * util/grub.d/10_linux.in: Likewise.
25040
7cc192d9
VS
250412010-02-06 Colin D Bennett <colin@gibibit.com>
25042
25043 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
25044 (gfxmenu_mod_SOURCES): New variable.
25045 (gfxmenu_mod_CFLAGS): Likewise.
25046 (gfxmenu_mod_LDFLAGS): Likewise.
25047 * include/grub/term.h (grub_term_set_current_output): Declare
25048 argument as const.
25049 * docs/gfxmenu-theme-example.txt: New file.
25050 * gfxmenu/gfxmenu.c: Likewise.
25051 * gfxmenu/gui_box.c: Likewise.
25052 * gfxmenu/gui_canvas.c: Likewise.
25053 * gfxmenu/gui_circular_progress.c: Likewise.
25054 * gfxmenu/gui_image.c: Likewise.
25055 * gfxmenu/gui_label.c: Likewise.
25056 * gfxmenu/gui_list.c: Likewise.
25057 * gfxmenu/gui_progress_bar.c: Likewise.
25058 * gfxmenu/gui_string_util.c: Likewise.
25059 * gfxmenu/gui_util.c: Likewise.
25060 * gfxmenu/icon_manager.c: Likewise.
25061 * gfxmenu/model.c: Likewise.
25062 * gfxmenu/named_colors.c: Likewise.
25063 * gfxmenu/theme_loader.c: Likewise.
25064 * gfxmenu/view.c: Likewise.
25065 * gfxmenu/widget-box.c: Likewise.
25066 * include/grub/gfxmenu_model.h: Likewise.
25067 * include/grub/gfxmenu_view.h: Likewise.
25068 * include/grub/gfxwidgets.h: Likewise.
25069 * include/grub/gui.h: Likewise.
25070 * include/grub/gui_string_util.h: Likewise.
25071 * include/grub/icon_manager.h: Likewise.
25072
250732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25074
25075 Agglomerate scrolling in gfxterm.
25076
25077 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
25078 (grub_virtual_screen_setup): Initialise 'total_screen'.
25079 (write_char): Split to ...
25080 (paint_char): ... this ...
25081 (write_char): ... and this.
25082 (paint_char): Handle delayed scrolling.
25083 (draw_cursor): Likewise.
25084 (scroll_up): Split to ...
25085 (real_scroll): ... this ...
25086 (scroll_up): ... and this.
25087 (real_scroll): Handle multi-line scroll and draw below-the-bottom
25088 characters.
25089 (grub_gfxterm_refresh): Call real_scroll.
25090
250912010-02-06 Colin D Bennett <colin@gibibit.com>
25092
25093 * include/grub/misc.h (grub_iscntrl): New inline function.
25094 (grub_isalnum): Likewise.
25095 (grub_strtol): Likewise.
25096
250972010-02-06 Colin D Bennett <colin@gibibit.com>
25098
25099 * normal/menu_text.c (get_entry_number): Move from here ...
25100 * normal/menu.c (get_entry_number): ... moved here.
25101 * include/grub/menu.h (grub_menu_get_default_entry_index):
25102 New prototype.
25103 * normal/menu.c (grub_menu_get_default_entry_index): New function.
25104 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
25105 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
25106 (grub_menu_viewer_should_return): Likewise.
25107 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
25108 * normal/menu_text.c (run_menu): Enable menu switching.
25109 * normal/menu_viewer.c (should_return): New variable.
25110 (menu_viewer_changed): Likewise.
25111 (grub_menu_viewer_show_menu): Handle menu viewer changes.
25112 (grub_menu_viewer_should_return): New function.
25113 (menuviewer_write_hook): Likewise.
25114 (grub_menu_viewer_init): Likewise.
25115
251162010-02-06 Colin D Bennet <colin@gibibit.com>
251172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25118
25119 Support for gfxterm in a window.
25120
25121 * include/grub/gfxterm.h: New file.
25122 * include/grub/video.h (struct grub_video_rect): New declaration.
25123 (grub_video_rect_t): Likewise.
25124 * term/gfxterm.c (struct grub_gfxterm_window): New type.
25125 (refcount): New variable.
25126 (render_target): Likewise.
25127 (window): Likewise.
25128 (repaint_callback): Likewise.
25129 (grub_virtual_screen_setup): Use 'render_target'.
25130 (init_window): New function.
25131 (grub_gfxterm_init_window): Likewise.
25132 (grub_gfxterm_init): Check reference counter.
25133 Use init_window.
25134 (destroy_window): New function.
25135 (grub_gfxterm_destroy_window): Likewise.
25136 (grub_gfxterm_fini): Check reference counter.
25137 Use destroy_window.
25138 (redraw_screen_rect): Restore viewport.
25139 Use 'render_target' and 'window'.
25140 Call 'repaint_callback'.
25141 (write_char): Use 'render_target'.
25142 (draw_cursor): Likewise.
25143 (scroll_up): Restore viewport.
25144 Use 'render_target' and 'window'.
25145 Call 'repaint_callback'.
25146 (grub_gfxterm_cls): Likewise.
25147 (grub_gfxterm_refresh): Use 'window'.
25148 (grub_gfxterm_set_repaint_callback): New function.
25149 (grub_gfxterm_background_image_cmd): Use 'window'.
25150 (grub_gfxterm_get_term): New function.
25151 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
25152
251532010-02-06 Colin D Bennett <colin@gibibit.com>
25154
25155 Bitmap scaling support.
25156
25157 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
25158 (bitmap_scale_mod_SOURCES): New variable.
25159 (bitmap_scale_mod_CFLAGS): Likewise.
25160 (bitmap_scale_mod_LDFLAGS): Likewise.
25161 * include/grub/bitmap_scale.h: New file.
25162 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
25163 (background_image_cmd_options): New variable.
25164 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
25165 (cmd): Rename and change type to ...
25166 (background_image_cmd_handle): ... this. All users updated.
25167 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
25168 * video/bitmap_scale.c: New file.
25169
251702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 SDL support.
25173
25174 * Makefile.in (LIBSDL): New variable.
25175 (enable_grub_emu_sdl): Likewise.
25176 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
25177 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
25178 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
25179 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
25180 * util/sdl.c: New file.
25181
251822010-02-06 Colin D Bennett <colin@gibibit.com>
251832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25184
25185 Double buffering support.
25186
25187 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
25188 * include/grub/video.h: Update comment.
25189 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
25190 New type.
25191 (grub_video_fb_doublebuf_blit_init): New prototype.
25192 * term/gfxterm.c (scroll_up): Support double buffering.
25193 (grub_gfxterm_refresh): Likewise.
25194 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
25195 (grub_video_fb_doublebuf_blit_init): Likewise.
25196 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
25197 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
25198 'displayed_page', 'render_page' and 'update_screen'.
25199 (grub_video_vbe_fini): Free offscreen buffer.
25200 (doublebuf_pageflipping_commit): New function.
25201 (doublebuf_pageflipping_update_screen): Likewise.
25202 (doublebuf_pageflipping_init): Likewise.
25203 (double_buffering_init): Likewise.
25204 (grub_video_vbe_setup): Enable doublebuffering.
25205 (grub_video_vbe_swap_buffers): Implement.
25206 (grub_video_vbe_set_active_render_target): Handle double buffering.
25207 (grub_video_vbe_get_active_render_target): Likewise.
25208 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
25209 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
25210 (grub_video_vbe_enable_double_buffering): Likewise.
25211 (grub_video_vbe_swap_buffers): Use update_screen.
25212 (grub_video_set_mode): Use double buffering.
25213
252142010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25215
25216 * maintainance/gentrigtables.py: Remove.
25217 * lib/trig.c: Likewise.
25218
25219 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
25220
25221 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
25222 `trigtables.c'.
25223 (trigtables.c): New rule.
25224 (gentrigtables): Likewise.
25225 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
25226
252272010-02-06 Robert Millan <rmh.grub@aybabtu.com>
25228
25229 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
25230 integer constants.
25231
252322010-02-06 Colin D Bennet <colin@gibibit.com>
25233
25234 Trigonometry support.
25235
25236 * include/grub/trig.h: New file.
25237 * lib/trig.c: Likewise.
25238 * maintainance/gentrigtables.py: Likewise.
25239 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
25240 (trig_mod_SOURCES): New variable.
25241 (trig_mod_CFLAGS): Likewise.
25242 (trig_mod_LDFLAGS): Likewise.
25243
5562834e
VS
252442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25245
25246 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
25247 disk devices.
25248
4f8528fc
VS
252492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
25250
25251 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
25252 error.
25253
2b4068e9
VS
252542010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25255
25256 * util/hostdisk.c (open_device): Don't use partition device when reading
25257 before the partition.
25258 (grub_util_biosdisk_read): Don't read from partition and before the
25259 partition in single operation.
25260 (grub_util_biosdisk_write): Don't write to partition and before the
25261 partition in single operation.
25262
399f6e4d
TL
252632010-02-03 Torsten Landschoff <torsten@debian.org>
25264
25265 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25266 last sectors.
25267
996649b0
VS
252682010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
25269
25270 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
25271 CDROM reads.
25272 (grub_biosdisk_write): Refuse to write to CDROM.
25273
3b205d4d
VS
252742010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25275
25276 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
25277
61e89d9d
VS
252782010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
25279
25280 * font/font.c (find_glyph): Check that bmp_idx is available before
25281 using it.
25282 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
25283 with (font == NULL).
25284
bf7fcba2
CS
252852010-01-28 Christian Schmitt <chris@ilovelinux.de>
25286
25287 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
25288
f45d2663
BC
252892010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
25290
25291 * include/grub/script_sh.h (sourcecode): Add const qualifier.
25292 * util/grub-script-check.c (getline): Fix empty lines case.
25293
ec1444e6
RM
252942010-01-28 Robert Millan <rmh.grub@aybabtu.com>
25295
25296 * Makefile.in (check): Exit with fail status when one of the tests
25297 fails.
25298 * tests/example_functional_test.c (example_test): Fix reversed assert.
25299 * tests/example_unit_test.c (example_test): Likewise.
25300
2e1cb9bb
CW
253012010-01-28 Colin Watson <cjwatson@ubuntu.com>
25302
25303 * util/grub.d/10_linux.in: This script does not use any of the
25304 contents of gettext.sh, only the external command `gettext', so stop
25305 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
25306 the same prefix as GRUB.)
25307 * util/grub.d/10_kfreebsd.in: Likewise.
25308
63533ab0
VS
253092010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25310
25311 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
25312 of the line.
25313
989e1f93
VS
253142010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 * kern/disk.c (grub_disk_read): Fix offset computation when reading
25317 last sectors.
25318
e709ebe2
VS
253192010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
25320
25321 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
25322 having a 4KiB and not 32KiB buffer size.
25323
27dea7ed
RM
253242010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25325
25326 * util/hostfs.c: Include `<errno.h>'.
25327 (grub_hostfs_read): Handle errors from fseeko() and fread().
25328
67667b9c
RM
253292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25330
25331 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
25332 loop when using read hooks on files whose size isn't sector-aligned.
25333
c294d9d8
RM
253342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25335
25336 Remove unused parameter.
25337
25338 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
25339 (grub_iso9660_open): Remove initialization of `data->length'.
25340
af75a9f1
RM
253412010-01-27 Robert Millan <rmh.grub@aybabtu.com>
25342
25343 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
25344 memleak conditions.
25345
254e2ce5 253462010-01-27 Carles Pina i Estany <carles@pina.cat>
25347
25348 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
25349 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
25350
b510928c 253512010-01-26 Carles Pina i Estany <carles@pina.cat>
25352
25353 * util/bin2h.c (usage): Fix warning (space after backslash).
25354
aa2f9dd2 253552010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 25356
25357 * font/font.c: Include `grub/fontformat.h.
25358 Remove font file format constants.
25359 (grub_font_load): Use the new macros.
25360 * include/grub/fontformat.h: New file.
25361 * util/grub-mkfont.c: Include `grub/fontformat.c'.
25362 (write_font_pf2): Use the new macros.
25363
94e7e712
RM
253642010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25365
25366 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
25367 does.
25368
3973a59a
RM
253692010-01-26 Robert Millan <rmh.grub@aybabtu.com>
25370
25371 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
25372
25373 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
25374 (_start): Macroify `0x7F'.
25375
25376 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
25377 (make_install_device): Use "(pxe)" as fallback prefix when booting
25378 via PXE.
25379
42e0cba3
GS
253802010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
25381
25382 * configure.ac: Reset LIBS after check for libgcc symbols.
25383
847effd8
CW
253842010-01-25 Colin Watson <cjwatson@ubuntu.com>
25385
25386 * util/hostdisk.c (open_device): Add trailing newline to debug
25387 message.
25388
ea4a7e35
GS
253892010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
25390
25391 * configure.ac: Check for `limits.h'.
25392 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
25393
67951a53
RM
253942010-01-24 Robert Millan <rmh.grub@aybabtu.com>
25395
25396 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
25397 capitalize error strings.
25398
c273d4ce
ST
253992010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
25400
25401 * util/grub.d/10_hurd.in: Add a recovery mode.
25402
69be5b74
VS
254032010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
25404
25405 * configure.ac: Check for libgcc symbols with -nostdlib.
25406
fc9e5810
BC
254072010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
25408
25409 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
25410
4b358c0a
VS
254112010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25412
25413 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
25414 stack since heap may be unavailable at that point.
25415 (grub_ofconsole_gotoxy): Likewise.
25416
454fcd1c
VS
254172010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25418
25419 * configure.ac: Check for _restgpr_14_x.
25420 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
25421 and _savegpr_* prototypes.
25422
566863ca
RM
254232010-01-22 Robert Millan <rmh.grub@aybabtu.com>
25424
25425 Use generic grub_reboot() for i386-efi.
25426
25427 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
25428 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
25429 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
25430
bf86e59a
VS
254312010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
25434 presence of "prefix" variable as it breaks when normal.mod is
25435 embedded.
25436
d645e0f8
VS
254372010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
25440 stack since heap is unavailable at that point.
25441
f9ab2e25
VS
254422010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25443
25444 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
25445 (grub_freebsd_bootinfo): Rewritten.
25446 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
25447
01fc7054
VS
254482010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
25449
25450 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
25451
caab4fd6
RM
254522010-01-21 Robert Millan <rmh.grub@aybabtu.com>
25453
25454 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
25455 domain now.
25456
67eb1427
FZ
254572010-01-20 Felix Zielcke <fzielcke@z-51.de>
25458
25459 * util/misc.c (make_system_path_relative_to_its_root): Change the work
25460 around for handling "/" to the correct fix. Fix a memory leak. Use
25461 xstrdup instead of strdup.
25462
a9ed4ff3
VS
254632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25464
25465 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
25466
254672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
25468
25469 Optimise glyph lookup by Basic Multilingual Plane lookup array.
25470
25471 * font/font.c (struct grub_font): New member 'bmp_idx'.
25472 (font_init): Initialise 'bmp_idx'.
25473 (load_font_index): Fill 'bmp_idx'.
25474 (find_glyph): Make inline. Use bmp_idx for BMP characters.
25475
48209f4f
VS
254762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
25479 unnecessary calls.
25480
9f0a4bb7
VS
254812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25482
25483 Move context handling out of the kernel.
25484
25485 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
25486 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
25487 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
25488 * conf/i386-efi.rmk: Likewise.
25489 * conf/i386-ieee1275.rmk: Likewise.
25490 * conf/i386-pc.rmk: Likewise.
25491 * conf/powerpc-ieee1275.rmk: Likewise.
25492 * conf/sparc64-ieee1275.rmk: Likewise.
25493 * conf/x86_64-efi.rmk: Likewise.
25494 * include/grub/env.h: Include grub/menu.h.
25495 (grub_env_var_type): Removed.
25496 (grub_env_var): Replaced field 'type' with 'global'.
25497 (grub_env_find): New prototype.
25498 (grub_env_context_open): Remove EXPORT_FUNC.
25499 (grub_env_context_close): Likewise.
25500 (grub_env_export): Likewise.
25501 (grub_env_set_data_slot): Removed.
25502 (grub_env_get_data_slot): Likewise.
25503 (grub_env_unset_data_slot): Likewise.
25504 (grub_env_unset_menu): New prototype.
25505 (grub_env_set_menu): Likewise.
25506 (grub_env_get_menu): Likewise.
25507 * include/grub/env_private.h: New file.
25508 * include/grub/normal.h (grub_context_init): New prototype.
25509 (grub_context_fini): Likewise.
25510 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
25511 * normal/context.c (grub_cmd_export): ... to here.
25512 * kern/env.c: Include env_private.h.
25513 (HASHSZ): Moved to include/grub/env_private.h.
25514 (grub_env_context): Likewise.
25515 (grub_env_sorted_var): Likewise.
25516 (current_context): Renamed from this ...
25517 (grub_current_context): ...to this. 'static' removed. All users updated.
25518 (grub_env_find): Removed 'static'.
25519 (grub_env_context_open): Moved to normal/context.c.
25520 (grub_env_context_close): Likewise.
25521 (grub_env_export): Likewise.
25522 (mangle_data_slot_name): Removed.
25523 (grub_env_set_data_slot): Likewise.
25524 (grub_env_get_data_slot): Likewise.
25525 (grub_env_unset_data_slot): Likewise.
25526 * kern/main.c (grub_set_root_dev): Don't export root.
25527 It will be done later.
25528 (grub_main): Don't export prefix.
25529 It will be done later.
25530 * normal/context.c: New file.
25531 * normal/main.c (free_menu): Use grub_env_unset_menu.
25532 (grub_normal_add_menu_entry): Use grub_env_get_menu.
25533 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
25534 (GRUB_MOD_INIT(normal)): Call grub_context_init.
25535 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
25536
8dd35b8c
VS
255372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 setpci support.
25540
25541 * commands/setpci.c: New file.
25542 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
25543 (setpci_mod_SOURCES): New variable.
25544 (setpci_mod_CFLAGS): Likewise.
25545 (setpci_mod_LDFLAGS): Likewise.
25546
449193d5
VS
255472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25548
25549 Byte-addressable PCI configuration space.
25550
25551 * bus/pci.c (grub_pci_make_address): Use byte address instead of
25552 dword address.
25553 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
25554 GRUB_PCI_REG_CACHELINE.
25555 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
25556 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
25557 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
25558 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
25559 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
25560 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
25561 grub_pci_make_address.
25562 (lock_rom_area): Likewise.
25563 * commands/lspci.c (grub_lspci_iter): Use macroses
25564 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
25565 of grub_pci_make_address.
25566 * disk/ata.c (grub_ata_pciinit): Likewise.
25567 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
25568 (GRUB_PCI_REG_VENDOR): Likewise.
25569 (GRUB_PCI_REG_DEVICE): Likewise.
25570 (GRUB_PCI_REG_COMMAND): Likewise.
25571 (GRUB_PCI_REG_STATUS): Likewise.
25572 (GRUB_PCI_REG_REVISION): Likewise.
25573 (GRUB_PCI_REG_CLASS): Likewise.
25574 (GRUB_PCI_REG_CACHELINE): Likewise.
25575 (GRUB_PCI_REG_LAT_TIMER): Likewise.
25576 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
25577 (GRUB_PCI_REG_BIST): Likewise.
25578 (GRUB_PCI_REG_ADDRESSES): Likewise.
25579 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25580 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25581 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25582 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25583 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25584 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
25585 (GRUB_PCI_REG_CIS_POINTER): Likewise.
25586 (GRUB_PCI_REG_SUBVENDOR): Likewise.
25587 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
25588 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
25589 (GRUB_PCI_REG_CAP_POINTER): Likewise.
25590 (GRUB_PCI_REG_IRQ_LINE): Likewise.
25591 (GRUB_PCI_REG_IRQ_PIN): Likewise.
25592 (GRUB_PCI_REG_MIN_GNT): Likewise.
25593 (GRUB_PCI_REG_MAX_LAT): Likewise.
25594 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
25595 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
25596 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 25597 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
25598 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
25599 space.
25600
96d73208
RM
256012010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25602
25603 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
25604 can be reliably determined to be supported.
25605
d4484482
RM
256062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25607
25608 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
25609 that VESA is supported.
25610 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
25611 supported.
25612
00308ecf
VS
256132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25614
25615 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
25616
f66924a4
RM
256172010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * util/misc.c (make_system_path_relative_to_its_root): Work around
25620 special-casing of "/", as previous incarnation of this routine did.
25621
cbca0ada
VS
256222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25623
25624 Fix any-emu compilation.
25625
25626 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
25627 * grub_bin2h_SOURCES: New variable.
25628
34a66d99
RM
256292010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25630
25631 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
25632
94fabf58
RM
256332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
25634
25635 * util/grub.d/00_header.in: Fix handling of locale_dir.
25636
02cf98ca
VS
256372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25638
25639 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
25640 as possible unifont location (Gentoo).
25641 Reported by: Alexander Brüning
25642
327dbcd7
VS
256432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 Don't try to generate lists for kernel.img.
25646
25647 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
25648 (pkglib_MODULES): Remove kernel.img.
25649 (kernel_img_EXPORTS): Removed.
25650 (kernel_img_RELOCATABLE): New variable.
25651 * conf/x86_64-efi.rmk: Likewise.
25652 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
25653
ca467290
VS
256542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25655
25656 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
25657 grub_xasprintf or grub_snprintf.
25658 (grub_vsprintf): Likewise.
25659 (grub_snprintf): New proto.
25660 (grub_vsnprintf): Likewise.
25661 (grub_xasprintf): Likewise.
25662 (grub_xvasprintf): Likewise.
25663 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
25664 (grub_sprintf): Removed.
25665 (grub_vsnprintf): New function.
25666 (grub_snprintf): Likewise.
25667 (grub_xvasprintf): Likewise.
25668 (grub_xasprintf): Likewise.
25669 (grub_vsprintf): Renamed to ...
25670 (grub_vsnprintf_real): ...this. New argument max_len.
25671
aca655fd
BC
256722010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
25673
25674 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
25675 fix grub-script-check warning.
25676
7ee92c32
VS
256772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25678
25679 * include/grub/font.h (grub_font_load): Fix prototype.
25680
f80927ca
VS
256812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25682
25683 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
25684
119c50ea
VS
256852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 * include/grub/x86_64/at_keyboard.h: New file.
25688
47d5f3c1
VS
256892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25690
25691 * loader/mips/linux.c: Include missing grub/i18n.h.
25692
55ff5266
RM
256932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 * normal/menu.c (notify_execution_failure): Clarify error message.
25696
c893cc87
RM
256972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25698
25699 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
25700 return value (and revert all return statements). Update users.
25701
917dd370
CW
257022010-01-20 Dan Merillat <debian@dan.merillat.org>
25703
25704 * kern/device.c (grub_device_iterate): Allocate new part_ent
25705 structure based on sizeof (*p) rather than sizeof (p->next), to
25706 account for structure padding.
25707
25708 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
25709 disk is NULL, which might happen for LVM physical volumes with no
25710 LVM signature.
25711
d4a4ee57
RM
257122009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25713
25714 * loader/mips/linux.c (grub_cmd_initrd)
25715 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
25716
257172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
25718
25719 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
25720 (grub_video_video_init, grub_video_bitmap_init)
25721 (grub_font_manager_init, grub_term_gfxterm_init)
25722 (grub_at_keyboard_init): New extern declarations.
25723 (grub_machine_init): Initialize gfxterm and at_keyboard.
25724
25725 * kern/main.c (grub_main): Revert grub_printf delay kludge.
25726
25727 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
25728 `gfxterm.mod' into core image.
25729
25730 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25731 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25732 (kernel_img_FORMAT): Copy to ...
25733
25734 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25735 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25736 (kernel_img_FORMAT): ... here, and ...
25737
25738 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
25739 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25740 (kernel_img_FORMAT): ... here.
25741
25742 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
25743 and input (at_keyboard) terminals in kernel.
25744 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
25745
25746 (pkglib_MODULES): Remove `pci.mod'.
25747 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
25748 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
25749 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25750 (at_keyboard_mod_LDFLAGS): Remove variables.
25751
257522010-01-11 Felix Zielcke <fzielcke@z-51.de>
25753
25754 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
25755
257562009-12-10 Robert Millan <rmh.grub@aybabtu.com>
25757
25758 * include/grub/mips/libgcc.h: Only export symbols for functions
25759 that libgcc provides.
25760
257612009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
25762
25763 MIPS support.
25764
25765 * bus/bonito.c: New file.
25766 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
25767 GRUB_PCI_NUM_DEVICES.
25768 * term/i386/pc/serial.c: Move to ...
25769 * term/serial.c: ... here. All users updated.
25770 * util/i386/pc/grub-mkimage.c: Move to ...
25771 * util/grub-mkrawimage.c: ... here. All users updated.
25772 * term/i386/pc/at_keyboard.c: Move to ...
25773 * term/at_keyboard.c: ... here. All users updated.
25774 * conf/mips-qemu-mips.rmk: New file.
25775 * conf/mips-yeeloong.rmk: Likewise.
25776 * conf/mips.rmk: Likewise.
25777 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
25778 mipsel-qemu-mips.
25779 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
25780 to port addresses.
25781 (grub_ata_pciinit): Support CS5536.
25782 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
25783 * font/font_cmd.c (loadfont_command): Open file before passing it to
25784 grub_font_load.
25785 (pseudo_file_read): New function.
25786 (pseudo_file_close): Likewise.
25787 (pseudo_fs): New structure.
25788 (load_font_module): New function.
25789 (GRUB_MOD_INIT(font_manager)): Load embedded font.
25790 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
25791 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
25792 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
25793 * include/grub/i386/at_keyboard.h: Split into ...
25794 * include/grub/at_keyboard.h: ... this ...
25795 * include/grub/i386/at_keyboard.h: ... and this.
25796 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
25797 New prototype.
25798 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
25799 updated.
25800 (grub_elf64_size): Likewise.
25801 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
25802 filename.
25803 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
25804 * include/grub/i386/coreboot/serial.h: Rewritten.
25805 * include/grub/i386/ieee1275/serial.h: Include
25806 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
25807 * include/grub/i386/pc/serial.h: Moved from here ...
25808 * include/grub/serial.h: ... to here. All users updated.
25809 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
25810 (GRUB_PCI_NUM_BUS): Likewise.
25811 (GRUB_PCI_NUM_DEVICES): Likewise.
25812 (grub_pci_device_map_range): Add missing volatile keyword.
25813 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
25814 * include/grub/mips/at_keyboard.h: New file.
25815 * include/grub/mips/cache.h: Likewise.
25816 * include/grub/mips/io.h: Likewise.
25817 * include/grub/mips/kernel.h: Likewise.
25818 * include/grub/mips/libgcc.h: Likewise.
25819 * include/grub/mips/pci.h: Likewise.
25820 * include/grub/mips/qemu-mips/boot.h: Likewise.
25821 * include/grub/mips/qemu-mips/kernel.h: Likewise.
25822 * include/grub/mips/qemu-mips/loader.h: Likewise.
25823 * include/grub/mips/qemu-mips/memory.h: Likewise.
25824 * include/grub/mips/qemu-mips/serial.h: Likewise.
25825 * include/grub/mips/qemu-mips/time.h: Likewise.
25826 * include/grub/mips/relocator.h: Likewise.
25827 * include/grub/mips/time.h: Likewise.
25828 * include/grub/mips/types.h: Likewise.
25829 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
25830 * include/grub/mips/yeeloong/boot.h: Likewise.
25831 * include/grub/mips/yeeloong/kernel.h: Likewise.
25832 * include/grub/mips/yeeloong/loader.h: Likewise.
25833 * include/grub/mips/yeeloong/memory.h: Likewise.
25834 * include/grub/mips/yeeloong/pci.h: Likewise.
25835 * include/grub/mips/yeeloong/serial.h: Likewise.
25836 * include/grub/mips/yeeloong/time.h: Likewise.
25837 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
25838 * kern/elf.c (grub_elf32_size): New parameter. All users
25839 updated.
25840 (grub_elf64_size): Likewise.
25841 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
25842 Load modules before saying "Welcome to GRUB!".
25843 Call grub_refresh after saying "Welcome to GRUB!".
25844 * kern/mips/cache.S: New file.
25845 * kern/mips/cache_flush.S: Likewise.
25846 * kern/mips/dl.c: Likewise.
25847 * kern/mips/init.c: Likewise.
25848 * kern/mips/qemu-mips/init.c: Likewise.
25849 * kern/mips/startup.S: Likewise.
25850 * kern/mips/yeeloong/init.c: Likewise.
25851 * kern/term.c (grub_putcode): Handle NULL terminal.
25852 (grub_getcharwidth): Likewise.
25853 (grub_getkey): Likewise.
25854 (grub_checkkey): Likewise.
25855 (grub_getkeystatus): Likewise.
25856 (grub_getxy): Likewise.
25857 (grub_getwh): Likewise.
25858 (grub_gotoxy): Likewise.
25859 (grub_cls): Likewise.
25860 (grub_setcolorstate): Likewise.
25861 (grub_setcolor): Likewise.
25862 (grub_getcolor): Likewise.
25863 (grub_refresh): Likewise.
25864 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
25865 (write_jump): Add hatch nop.
25866 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
25867 * lib/mips/setjmp.S: New file.
25868 * loader/mips/linux.c: Likewise.
25869 * term/i386/pc/at_keyboard.c: Move from here ...
25870 * term/at_keyboard.c: ... to here.
25871 * term/i386/pc/serial.c: Moved from here ...
25872 * term/serial.c: ... to here. All users updated.
25873 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
25874 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
25875 (serial_translate_key_sequence): Avoid deadlock.
25876 (grub_serial_getkey): Handle backspace.
25877 (grub_serial_putchar): Fix newline handling.
25878 * util/i386/pc/grub-mkimage.c: Move from here ...
25879 * util/grub-mkrawimage.c: ... to here. All users updated.
25880 (generate_image): New parameters 'font_path' and 'format'.
25881 Support embedding font.
25882 Use grub_host_to_target* instead of grub_cpu_to_le*.
25883 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
25884 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
25885 (options): New option "--font".
25886 (usage): Likewise.
25887 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
25888 (main): Handle "--font".
25889 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
25890 (grub_virtual_screen_setup): Set bg_color_display.
25891 (redraw_screen_rect): Use bg_color_display instead of incorrect
25892 bg_color.
25893 (grub_gfxterm_cls): Likewise.
25894 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
25895 Support embedding config file.
25896 (add_segments): Likewise.
25897 (options): New option "--config".
25898 (main): Handle "--config".
25899 * video/sm712.c: New file.
25900
25c2b5b3
RM
259012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25902
25903 Fix parallel builds.
25904
25905 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
25906 font.c depend on ascii.h).
25907
259082010-01-12 Carles Pina i Estany <carles@pina.cat>
25909
25910 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
25911
259122010-01-11 Carles Pina i Estany <carles@pina.cat>
25913
25914 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
25915 By default: disabled.
25916 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
25917 parameter.
25918
259192010-01-10 Carles Pina i Estany <carles@pina.cat>
25920
25921 * font/font.c: Update copyright years.
25922 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
25923
259242010-01-10 Carles Pina i Estany <carles@pina.cat>
25925
25926 * font/font.c: Include `ascii.h'.
25927 (ASCII_BITMAP_SIZE): New macro.
25928 (ascii_font_glyph): Define.
25929 (ascii_glyph_lookup): New function.
25930 (grub_font_get_string_width): Change comment. If glyph not found, use
25931 ascii_glyph_lookup.
25932 (grub_font_get_glyph_with_fallback): If glyph not available returns
25933 ascii_glyph_lookup.
25934 * util/grub-mkfont.c (file_formats): New enum.
25935 (options): Add `ascii-bitmaps' new option.
25936 (usage): Add `asii-bitmaps' new option.
25937 (write_font_ascii_bitmap): New function.
25938 (write_font): Rename to ...
25939 (write_font_p2): ... this. Remove print_glyphs call.
25940 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
25941 used. Call print_glyphs.
25942 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
25943
259442010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25945
25946 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
25947 (grub_bin2h_SOURCES): New variable.
25948 * util/bin2h.c: New file.
25949
915fc1b8
VS
259502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 * include/multiboot.h: Resynced with spec.
25953 * include/multiboot2.h: Likewise.
25954 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
25955 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
25956
9444b678
RM
259572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25958
25959 * include/grub/term.h (grub_term_register_input,
25960 grub_term_register_output): Check return of terminal init()
25961 routines, and abort if errors are raised.
25962
25963 * commands/terminal.c: Update copyright year.
25964
cba98e8d
RM
259652010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25966
25967 * commands/terminal.c (grub_cmd_terminal_input)
25968 (grub_cmd_terminal_output): Check return of terminal init()
25969 routines, and abort if errors are raised.
25970
6f7db5d6
VS
259712010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25972
25973 * include/grub/i386/bsd.h: Fix include pathes.
25974
262bff8d
VS
259752010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25976
25977 Add missing *BSD copyright headers.
25978
25979 * include/grub/aout.h: Add BSD licence.
25980 * include/grub/i386/bsd.h: Parts under different licences moved to ...
25981 * include/grub/i386/freebsd_linker.h: ... here,
25982 * include/grub/i386/freebsd_reboot.h: ... here,
25983 * include/grub/i386/netbsd_bootinfo.h: ... here,
25984 * include/grub/i386/netbsd_reboot.h: ... here,
25985 * include/grub/i386/openbsd_bootarg.h: ... here,
25986 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
25987 licence to each file.
25988
b2cab848
RM
259892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25990
25991 * acinclude.m4: Remove `nop' assembly instruction; it's not
25992 implemented by all architectures.
25993
2cb6be4b
RM
259942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25995
25996 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
25997 ELILO. This is no longer necessary.
25998
a2eaee15
BC
259992010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
26000
26001 Added new tool, grub-scrit-check to verify grub.cfg syntax.
26002
26003 * util/grub-script-check.c: grub-script-check tool.
26004 * conf/common.rmk: Make rules for grub-script-check.
26005
88d17012
RM
260062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26007
26008 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
26009 spotting it back in 2008. Shame on me for forgetting he did.
26010
26011 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
26012
8040619d
RM
260132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
26014
26015 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
26016 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
26017 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
26018 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
26019 (GRUB_VIDEO_TYPE_EFI): Rename to ...
26020 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
26021
a0c2a0f6
RM
260222010-01-17 Robert Millan <rmh.grub@aybabtu.com>
26023
26024 * include/grub/test.h: Add license header.
26025 * tests/example_functional_test.c: Likewise.
26026 * tests/example_unit_test.c: Likewise.
26027 * tests/lib/functional_test.c: Likewise.
26028 * tests/lib/test.c: Likewise.
26029 * tests/lib/unit_test.c: Likewise.
26030
b0b13907
VS
260312010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
26032
26033 Use flag-based instead of hook-based video mode selection and "auto"
26034 keyword.
26035
26036 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
26037 (grub_video_set_mode): Changed prototype. All users updated.
26038 (grub_video_check_mode_flag): New inline function.
26039 * video/video.c (parse_modespec): New function.
26040 (grub_video_set_mode): Parse flags and keywords.
26041
ea379330 260422010-01-17 Carles Pina i Estany <carles@pina.cat>
26043
26044 * util/misc.c (grub_util_info): Fix the order of the parameters in a
26045 fprintf call.
26046
e15c215e
FZ
260472010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
26048
26049 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
26050
409ae1c9 260512010-01-16 Carles Pina i Estany <carles@pina.cat>
26052
26053 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
26054 string.
26055 * util/grub-emu.c (usage): Likewise.
26056 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
26057 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26058 * util/i386/pc/grub-mkimage.c (usage): Likewise.
26059 * util/i386/pc/grub-setup.c (usage): Likewise.
26060
70a14d3d 260612010-01-16 Carles Pina i Estany <carles@pina.cat>
26062
26063 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
26064 the message.
26065 (grub_util_info): Likewise.
26066 (grub_util_error): Likewise.
26067 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
26068 and/or new lines in `grub_util_warna', `grub_util_info',
26069 `grub_util_error' calls.
26070 * util/getroot.c: Likewise.
26071 * util/grub-editenv.c: Likewise.
26072 * util/grub-emu.c: Likewise.
26073 * util/grub-fstest.c: Likewise.
26074 * util/grub-mkdevicemap.c: Likewise.
26075 * util/grub-mkfont.c: Likewise.
26076 * util/grub-mkpasswd-pbkdf2.c: Likewise.
26077 * util/grub-mkrelpath.c: Likewise.
26078 * util/grub-pe2elf.c: Likewise.
26079 * util/grub-probe.c: Likewise.
26080 * util/hostdisk.c: Likewise.
26081 * util/i386/efi/grub-mkimage.c: Likewise.
26082 * util/i386/pc/grub-mkimage.c: Likewise.
26083 * util/i386/pc/grub-setup.c: Likewise.
26084 * util/ieee1275/ofpath.c: Likewise.
26085 * util/mkisofs/eltorito.c: Likewise.
26086 * util/mkisofs/rock.c: Likewise.
26087 * util/mkisofs/write.c: Likewise.
26088 * util/raid.c: Likewise.
26089 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
26090 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26091
a0b766fc
VS
260922010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 Enable multiboot on non-pc.
26095
26096 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
26097 multiboot.mod and multiboot2.mod to ...
26098 * conf/i386.rmk (pkglib_MODULES): ... here.
26099 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
26100 Moved to ...
26101 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
26102 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
26103 Moved to ...
26104 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
26105 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
26106 Moved to ...
26107 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
26108 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
26109 Moved to ...
26110 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
26111 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
26112 relocator.mod.
26113 (ata_mod_SOURCES): Removed.
26114 (ata_mod_CFLAGS): Likewise.
26115 (ata_mod_LDFLAGS): Likewise.
26116 (relocator_mod_SOURCES): Removed.
26117 (relocator_mod_CFLAGS): Likewise.
26118 (relocator_mod_ASFLAGS): Likewise.
26119 (relocator_mod_LDFLAGS): Likewise.
26120 Include i386.mk.
26121 * include/grub/x86_64/multiboot.h: New file.
26122 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
26123 Terminate EFI.
26124
884ade56
VS
261252010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 Video multiboot support.
26128
26129 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
26130 New prototype.
26131 * include/multiboot.h: Resynced with multiboot specification.
26132 * include/multiboot2.h: Likewise.
26133 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
26134 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
26135 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
26136 (HAS_VGA_TEXT): Likewise.
26137 (accepts_video): New variable.
26138 (grub_multiboot_set_accepts_video): New function.
26139 (grub_multiboot_get_mbi_size): Account for video structures.
26140 (set_video_mode): New function.
26141 (retrieve_video_parameters): Likewise.
26142 (grub_multiboot_make_mbi): Fill video fields.
26143
0d90e8a6
VS
261442010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
26145
26146 Video driver ids.
26147
26148 * include/grub/video.h (grub_video_driver_id): New type.
26149 (grub_video_adapter): New member 'id'. All users updated.
26150 (grub_video_get_driver_id): New proto.
26151 * video/video.c (grub_video_get_driver_id): New function.
26152
5c71db1b 261532010-01-14 Carles Pina i Estany <carles@pina.cat>
26154
26155 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
26156 `var=val'.
26157
cca15b52 261582010-01-14 Carles Pina i Estany <carles@pina.cat>
26159
26160 * normal/cmdline.c (print_completion): Gettextizze.
26161
c586fbb2 261622001-01-14 Carles Pina i Estany <carles@pina.cat>
26163
26164 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
26165
ba2f6848 261662010-01-14 Carles Pina i Estany <carles@pina.cat>
26167
26168 * gettext/gettext.c (grub_gettext_translate): Push and pop
26169 grub_errno.
26170 (grub_gettext_delete_list): Change comment style.
26171 * kern/err.c (grub_error): Gettextizze.
26172 (grub_fatal): Gettextizze.
26173
0a46429a
RM
261742010-01-14 Robert Millan <rmh.grub@aybabtu.com>
26175
26176 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
26177 (grub_linux16_real_boot): ... this.
26178 * kern/i386/loader.S: Likewise.
26179 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
26180 (grub_linux16_boot): New function. Switches to text mode and calls
26181 grub_linux16_real_boot().
26182
26183 * loader/i386/bsd.c: Include `<grub/video.h>'.
26184 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
26185 text mode before calling grub_unix_real_boot().
26186
26187 * loader/i386/multiboot.c: Include `<grub/video.h>'.
26188 (grub_multiboot_boot): Switch to text mode before calling
26189 grub_relocator32_boot().
26190
26191 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
26192 (grub_chainloader_boot): Switch to text mode before calling
26193 grub_chainloader_real_boot().
26194
d6f93a66
RM
261952010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
261962010-01-05 Colin Watson <cjwatson@ubuntu.com>
26197
26198 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
26199 non-empty value.
26200
262012010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
262022010-01-05 Colin Watson <cjwatson@ubuntu.com>
26203
26204 * util/grub.d/00_header.in: Define a "savedefault" function for use
26205 in menu entries.
26206 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
26207
262082010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
262092010-01-05 Colin Watson <cjwatson@ubuntu.com>
26210
26211 * util/grub-mkconfig_lib.in (save_default_entry): Only set
26212 saved_entry if boot_once is unset.
26213 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
26214 previous saved entry (i.e. grub-reboot).
26215
262162009-12-08 Colin Watson <cjwatson@ubuntu.com>
26217
26218 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
26219
262202009-12-08 Colin Watson <cjwatson@ubuntu.com>
26221
26222 * util/grub.d/00_header.in: Use `set var=val' rather than plain
26223 `var=val'.
26224 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
26225
262262009-12-08 Colin Watson <cjwatson@ubuntu.com>
26227
26228 * util/grub-reboot.in: Fix --version output.
26229 * util/grub-set-default.in: Likewise.
26230
262312009-12-08 Colin Watson <cjwatson@ubuntu.com>
26232
26233 * util/grub.d/00_header.in: Silently ignore zero-sized environment
26234 blocks.
26235
262362009-12-08 Colin Watson <cjwatson@ubuntu.com>
26237
26238 * util/grub.d/00_header.in: Quote the value assigned to `default',
26239 in case it contains spaces.
26240
262412009-12-08 Colin Watson <cjwatson@ubuntu.com>
26242
26243 * util/grub.d/30_os-prober.in: Fix merge error that moved a
26244 `save_default_entry' call from the macosx case to the linux case.
26245
262462009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
262472009-10-25 Colin Watson <cjwatson@ubuntu.com>
26248
26249 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
26250 in `chosen' environment variable.
26251 * normal/menu_text.c (get_entry_number): Check if the variable
26252 matches the title of a menu entry.
26253 (run_menu): Pass menu to get_entry_number.
26254
26255 * util/grub-reboot.in: New file.
26256 * util/grub-set-default.in: New file.
26257 * conf/common.rmk (grub-reboot): New utility.
26258 (grub-set-default): New utility.
26259
26260 * util/grub-mkconfig_lib.in (save_default_entry): New function.
26261 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
26262 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
26263 move it to `saved_entry' for the next boot. Load environment on
26264 initialisation.
26265 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
26266 * util/grub.d/10_hurd.in: Likewise.
26267 * util/grub.d/10_linux.in (linux_entry): Likewise.
26268 * util/grub.d/10_windows.in: Likewise.
26269 * util/grub.d/30_os-prober.in: Likewise.
26270
26271 * util/grub-install.in: Create environment block.
26272 * util/i386/efi/grub-install.in: Likewise.
26273 * util/ieee1275/grub-install.in: Likewise.
26274 * util/sparc64/ieee1275/grub-install.in: Likewise.
26275
0934d184
BC
262762010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
26277
26278 Unit testing framework for GRUB.
26279
26280 * Makefile.in: Test framework build rules for 'make check'.
26281 * conf/tests.rmk: Build rules for individual tests and framework.
26282
26283 * include/grub/test.h: Header file for whitebox tests.
26284 * tests/lib/functional_test.c: Framework support for whitebox
26285 functional tests.
26286 * tests/lib/test.c: Common whitebox testing code for unit and
26287 functional tests.
26288 * tests/lib/unit_test.c: Framework support for whitebox unit
26289 tests.
26290
26291 * tests/util/grub-shell-tester.in: Support utility for grub-script
26292 tests.
26293 * tests/util/grub-shell.in: Utility to execute grub-script
26294 commands in a Qemu instance.
26295
26296 * tests/example_functional_test.c: Example whitebox functional
26297 test.
26298 * tests/example_grub_script_test.in: Example grub-script test.
26299 * tests/example_scripted_test.in: Example scripted test.
26300 * tests/example_unit_test.c: Example whitebox unit test.
26301
9c4ffeeb
VS
263022010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
26303
26304 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
26305 Add loader/i386/multiboot_mbi.c.
26306 (multiboot2_mod_SOURCES): Likewise.
26307 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
26308 (multiboot2_mod_SOURCES): Likewise.
26309 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
26310 (grub_multiboot_make_mbi): Likewise.
26311 (grub_multiboot_free_mbi): Likewise.
26312 (grub_multiboot_init_mbi): Likewise.
26313 (grub_multiboot_add_module): Likewise.
26314 (grub_multiboot_set_bootdev): Likewise.
26315 * loader/i386/multiboot.c (mbi): Removed.
26316 (mbi_dest): Likewise.
26317 (alloc_mbi): New variable.
26318 (grub_multiboot_payload_size): Removed. All users updated.
26319 (grub_multiboot_pure_size): New variable.
26320 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
26321 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
26322 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
26323 (grub_fill_multiboot_mmap): Likewise.
26324 (grub_multiboot_get_bootdev): Likewise.
26325 (grub_multiboot): Use multiboot_mbi functions.
26326 * loader/i386/multiboot_mbi.c: New file.
26327
17383dfe
VS
263282010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26329
26330 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
26331 it would result in module crash.
26332
c1f28820
VS
263332010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
26334
26335 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
26336 (grub_ofconsole_getwh): Split to ...
26337 (grub_ofconsole_getwh): ... this.
26338 (grub_ofconsole_dimensions): ...and this.
26339 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
26340
58655a16
RM
263412010-01-13 Robert Millan <rmh.grub@aybabtu.com>
26342
26343 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
26344
10891398
VS
263452010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26346
26347 * loader/i386/pc/multiboot2.c: Removed stalled file.
26348
0b8a223c
VS
263492010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
26350
26351 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
26352 Reported by: Grégoire Sutre
26353
92ab12b0
RM
263542010-01-11 Robert Millan <rmh.grub@aybabtu.com>
26355
26356 * util/misc.c (canonicalize_file_name): New function.
26357 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
26358 instead of realpath().
26359
a788afb6
CW
263602010-01-11 Colin Watson <cjwatson@ubuntu.com>
26361
26362 * util/grub-install.in (usage): Clarify meaning of --root-directory,
26363 and make it clearer that it's optional. Based on confusion
26364 witnessed on IRC.
26365
ffa8e3d2
VS
263662010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26367
26368 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
26369 in premature implicit newline.
26370
e9060a9d
VS
263712010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
26372
26373 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
26374 which resulted in garbled command line at the end of screen.
26375
f0d0c0b7
RM
263762010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26377
26378 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
26379 initialization with similar approach as with other Linux loaders.
26380
0e60bae7
RM
263812010-01-10 Robert Millan <rmh.grub@aybabtu.com>
26382
26383 Fix i386-ieee1275 build.
26384
26385 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
26386 and grub_term_height() for video_{width,height} initialization.
26387
263882010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
26389
26390 Fix grub-emu build.
26391
26392 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
26393
cdb3f378
RM
263942010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
263952010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26396
26397 Support for multiple terminals.
26398
26399 * Makefile.in (pkglib_DATA): terminal.lst.
26400 (terminal.lst): New target.
26401 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
26402 (GRUB_MOD_INIT(handler)): Likewise.
26403 (GRUB_MOD_FINI(handler)): Likewise.
26404 * commands/help.c (grub_cmd_help): Handle multiple terminals.
26405 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
26406 * commands/sleep.c (do_print): Use grub_term_restore_pos.
26407 (grub_cmd_sleep): Use grub_term_save_pos.
26408 * commands/terminal.c: New file.
26409 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
26410 commands/terminal.c and lib/charset.c.
26411 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
26412 (pkglib_MODULES): Add terminal.mod.
26413 (terminal_mod_SOURCES): New variable.
26414 (terminal_mod_CFLAGS): Likewise.
26415 (terminal_mod_LDFLAGS): Likewise.
26416 * genhandlerlist.sh: Don't handle terminals.
26417 * genmk.rb: Generate terminal-*.lst.
26418 * genterminallist.sh: New file.
26419 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
26420 (grub_is_valid_utf8): Likewise.
26421 (grub_utf8_to_ucs4_alloc): Likewise.
26422 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
26423 (grub_menu_register_viewer): Changed argument.
26424 (grub_menu_try_text): New proto.
26425 (grub_gfxmenu_try_hook): New declaration.
26426 * include/grub/normal.h (grub_normal_exit_level): New declaration.
26427 (grub_menu_init_page): Additional argument term.
26428 (grub_normal_init_page): Likewise.
26429 (grub_cmdline_get): Arguments simplified.
26430 (grub_utf8_to_ucs4_alloc): Removed.
26431 (grub_print_ucs4): Additional argument term.
26432 (grub_getstringwidth): Likewise.
26433 (grub_print_message_indented): Likewise.
26434 (grub_menu_text_register_instances): New proto.
26435 (grub_show_menu): Likewise.
26436 (read_terminal_list): Likewise.
26437 (grub_set_more): Likewise.
26438 * include/grub/parser.h: Include handler.h.
26439 * include/grub/reader.h: Rewritten.
26440 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
26441 (GRUB_TERM_WIDTH): Changed to function.
26442 (GRUB_TERM_HEIGHT): Likewise.
26443 (GRUB_TERM_BORDER_WIDTH): Likewise.
26444 (GRUB_TERM_BORDER_HEIGHT): Likewise.
26445 (GRUB_TERM_NUM_ENTRIES): Likewise.
26446 (GRUB_TERM_ENTRY_WIDTH): Likewise.
26447 (GRUB_TERM_CURSOR_X): Likewise.
26448 (grub_term_input_class): Likewise.
26449 (grub_term_output_class): Likewise.
26450 (grub_term_outputs_disabled): New declaration.
26451 (grub_term_inputs_disabled): Likewise.
26452 (grub_term_outputs): Likewise.
26453 (grub_term_inputs): Likewise.
26454 (grub_term_register_input): Rewritten.
26455 (grub_term_register_output): Likewise.
26456 (grub_term_unregister_input): Likewise.
26457 (grub_term_unregister_output): Likewise.
26458 (FOR_ACTIVE_TERM_INPUTS): New macro.
26459 (FOR_DISABLED_TERM_INPUTS): Likewise.
26460 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
26461 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
26462 * include/grub/terminfo.h: Add oterm argument to all protypes.
26463 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
26464 Use grub_rescue_run.
26465 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
26466 All users updated.
26467 * kern/reader.c: Removed. All users updated.
26468 * kern/rescue_reader.c (grub_rescue_init): Removed.
26469 (grub_rescue_reader): Likewise.
26470 (grub_register_rescue_reader): Likewise.
26471 (grub_rescue_run): New function based on kern/reader.c.
26472 * kern/term.c: Adapted for multiterm.
26473 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
26474 (grub_is_valid_utf8): Likewise.
26475 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
26476 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
26477 right terminal.
26478 * loader/i386/linux.c (grub_linux_boot): Likewise.
26479 * normal/auth.c (grub_username_get): New function.
26480 (grub_auth_check_authentication): Use grub_username_get.
26481 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
26482 * normal/color.c: Adapt for multiterm.
26483 * normal/main.c (read_config_file): Don't use grub_reader_loop.
26484 (grub_normal_init_page): Additional argument term.
26485 (read_lists): Call read_terminal_lists.
26486 (grub_enter_normal_mode): Call grub_cmdline_run.
26487 Handle grub_normal_exit_level.
26488 (grub_cmd_normal): Make reentrant.
26489 (grub_cmd_normal_exit): New function.
26490 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
26491 * normal/menu.c: Adapt for multiterm.
26492 * normal/menu_entry.c: Likewise.
26493 * normal/menu_text.c: Likewise.
26494 * normal/menu_viewer.c: Removed. All users updated.
26495 * normal/term.c: New file.
26496 * util/console.c: Change order of includes to workaround a bug in
26497 ncurses headers.
26498 * term/terminfo.c: New argument oterm on all exported functions.
26499 All users updated.
26500 * util/grub-editenv.c (grub_term_input_class): Removed.
26501 (grub_term_output_class): Likewise.
26502
1a064917
RM
265032010-01-09 Robert Millan <rmh.grub@aybabtu.com>
26504
26505 Make loader output a bit more user-friendly.
26506
26507 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
26508 is being loaded. Likewise for the Hurd.
26509
26510 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
26511 that kernel of FreeBSD ${version} is being loaded.
26512
26513 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
26514 grub_dprintf().
26515 (grub_cmd_initrd): Likewise.
26516 * util/grub.d/10_linux.in (linux_entry): Print message indicating
26517 that Linux ${version} is being loaded. Likewise for initrd.
26518
5ce0a83a 265192010-01-09 Carles Pina i Estany <carles@pina.cat>
26520
26521 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
26522
809bbfeb 265232010-01-08 Carles Pina i Estany <carles@pina.cat>
26524
26525 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
26526 (GRUB_MOD_INIT): Gettextizze.
26527 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
26528 (GRUB_MOD_INIT): Gettextizze.
26529 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
26530 (grub_cmd_linux): Capitalise Linux.
26531 (GRUB_MOD_INIT): Gettextizze.
26532 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
26533 (grub_cmd_linux): Capitalise Linux.
26534 (GRUB_MOD_INIT): Gettextizze.
26535 * loader/i386/linux.c: Include `<grub/i18n.h>'.
26536 (grub_cmd_linux): Capitalise Linux.
26537 (GRUB_MOD_INIT): Gettextizze.
26538 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
26539 (GRUB_MOD_INIT): Gettextizze.
26540 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
26541 (grub_cmd_linux): Capitalise Linux.
26542 (GRUB_MOD_INIT): Gettextizze.
26543 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
26544 (grub_cpu_xnu_init): Gettextizze.
26545 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
26546 (GRUB_MOD_INIT): Gettextizze.
26547 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
26548 (GRUB_MOD_INIT): Gettextizze.
26549 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
26550 (grub_linux_load64): Capitalise Linux.
26551 (GRUB_MOD_INIT): Gettextizze.
26552 * loader/xnu.c: Include `<grub/i18n.h>'.
26553 (GRUB_MOD_INIT): Gettextizze.
26554 * po/POTFILES: Add `loader/efi/appleloader.c',
26555 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
26556 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
26557 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
26558 `loader/i386/xnu.c', `loader/multiboot_loader.c',
26559 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
26560 and `loader/xnu.c'.
26561
b394b2ca
RM
265622010-01-08 Robert Millan <rmh.grub@aybabtu.com>
26563
26564 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
26565
265662010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
26567
26568 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
26569 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
26570 * util/mkisofs/mkisofs.c (main): Readjust --version output.
26571
bc8b32b3
RM
265722010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26573
26574 Reset Multiboot 2 support. New loader implements the draft in
26575 /branches/multiboot2 and shares as much code as possible with the
26576 production Multiboot 1 implementation.
26577
26578 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
26579 * loader/multiboot2.c: Likewise.
26580 * loader/i386/multiboot_helper.S: Likewise.
26581 * include/multiboot2.h: Replace with latest version from the draft
26582 in /branches/multiboot2.
26583
26584 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
26585 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
26586 and `loader/multiboot2.c'.
26587 (pkglib_MODULES): Add `multiboot2.mod'.
26588 (multiboot2_mod_SOURCES): New variable.
26589 (multiboot2_mod_LDFLAGS): Likewise.
26590 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
26591
26592 * conf/i386-pc.rmk: Likewise.
26593
26594 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26595 (multiboot_mod_SOURCES): Remove variable.
26596 (multiboot_mod_LDFLAGS): Likewise.
26597 (multiboot_mod_CFLAGS): Likewise.
26598
26599 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
26600 `<multiboot2.h>' instead of `<multiboot.h>'.
26601 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
26602 (MULTIBOOT_HEADER_MAGIC): New macros.
26603
26604 * loader/multiboot_loader.c (module_version_status): Remove variable.
26605 (find_multi_boot2_header): Remove function.
26606 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
26607 logic. Always check for the Multiboot version we're compiling for.
26608 (grub_cmd_module_loader): Likewise.
26609 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
26610 command instead of `multiboot'.
26611
5d2c52b8
RM
266122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
26615 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
26616 all users.
26617
53108d92
RM
266182010-01-07 Robert Millan <rmh.grub@aybabtu.com>
266192010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26620
26621 Fix breakage introduced with previous commit.
26622
26623 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
26624 commands.
26625 * normal/handler.c (read_handler_list): Revert part of previous commit
26626 affecting this file.
26627 * normal/main.c (read_lists): Move read_handler_list() call back to ...
26628 (grub_normal_execute): ... here.
26629
e2e936b2
RM
266302010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26631
26632 Merge prefix-redefinition-fix branch.
26633
26634 * normal/autofs.c (read_fs_list): Make function capable of being
26635 run multiple times, gracefuly replacing the previous data
26636 structures.
26637 * normal/dyncmd.c (read_command_list): Likewise.
26638 * normal/handler.c (read_handler_list): Likewise.
26639 * normal/main.c (read_lists): New function. Calls all the
26640 list reading functions.
26641 (grub_normal_execute): Use read_lists() instead of calling all
26642 list reading functions explicitly. Register read_lists() as a
26643 variable hook attached to ${prefix}.
26644
607a3701
VS
266452010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26646
26647 Merge crypto branch.
26648
26649 * Makefile.in (pkglib_DATA): Add crypto.lst.
26650 (crypto.lst): New target.
26651 * commands/hashsum.c: New file.
26652 * commands/password.c (check_password): Use grub_crypto_memcmp.
26653 * commands/password_pbkdf2.c: New file.
26654 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
26655 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
26656 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
26657 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
26658 -I$(srcdir)/lib/libgcrypt_wrap.
26659 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
26660 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
26661 password_pbkdf2.mod.
26662 (crypto_mod_SOURCES): New variable.
26663 (crypto_mod_CFLAGS): Likewise.
26664 (crypto_mod_LDFLAGS): Likewise.
26665 (hashsum_mod_SOURCES): New variable.
26666 (hashsum_mod_CFLAGS): Likewise.
26667 (hashsum_mod_LDFLAGS): Likewise.
26668 (pbkdf2_mod_SOURCES): New variable.
26669 (pbkdf2_mod_CFLAGS): Likewise.
26670 (pbkdf2_mod_LDFLAGS): Likewise.
26671 (password_pbkdf2_mod_SOURCES): New variable.
26672 (password_pbkdf2_mod_CFLAGS): Likewise.
26673 (password_pbkdf2_mod_LDFLAGS): Likewise.
26674 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
26675 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
26676 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
26677 Include conf/gcry.rmk.
26678 * include/grub/auth.h: Rewritten.
26679 * include/grub/crypto.h: New file.
26680 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
26681 * include/grub/normal.h (read_crypto_list): New prototype.
26682 * lib/crypto.c: New file.
26683 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
26684 * lib/pbkdf2.c: Likewise.
26685 * normal/auth.c (grub_auth_strcmp): Removed.
26686 (grub_iswordseparator): Likewise.
26687 (grub_auth_strword): Likewise.
26688 (is_authenticated): Use grub_strword.
26689 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
26690 and grub_strword. Pass entered password to authentication callback.
26691 * normal/crypto.c: New file.
26692 * normal/main.c: Call read_crypto_list.
26693 * util/grub-mkpasswd-pbkdf2.c: New file.
26694 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
26695
42841caa
VS
266962010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
26697
26698 Fix descent and ascent calculation.
26699
26700 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
26701 (options): New option "asce".
26702 (usage): Likewise.
26703 (add_char): Ignore invalid glyphs for descent calculation.
26704 Calculate ascent from actual content.
26705 (print_glyphs): Use 'asce'.
26706 (write_font): Likewise. Allow ascent override.
26707 (main): Handle "asce" option.
26708
e7730de7 267092010-01-06 Carles Pina i Estany <carles@pina.cat>
26710
26711 * kern/err.c: Include `<grub/i18n.h>'.
26712 (grub_print_error): Add full stop. Gettextizze.
26713 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
26714 (grub_bsd_load_elf): Capitalise ELF.
26715 (grub_cmd_freebsd_loadenv): Add `s' in error string.
26716 (grub_cmd_freebsd_module): Likewise.
26717 (grub_cmd_freebsd_module_elf): Likewise.
26718 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
26719
40e3a41f 267202010-01-06 Carles Pina i Estany <carles@pina.cat>
26721
26722 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
26723 * commands/search_file.c (HELP_MESSAGE): New macro.
26724 * commands/search_label.c (HELP_MESSAGE): Likewise.
26725 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
26726 * po/POTFILES: Add `commands/search_file.c',
26727 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
26728 `commands/search.c'.
26729
83507e68
RM
267302010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26731
26732 * config.rpath: Update from Gnulib.
26733
465c787b
YB
267342010-01-05 Yves Blusseau <blusseau@zetam.org>
26735
26736 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
26737
6581dd3a
YB
267382010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
26739
26740 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
26741
3bff18c5
CW
267422010-01-05 Colin Watson <cjwatson@ubuntu.com>
26743
26744 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
26745 arguments to fread so that we get a return value in bytes, rather
26746 than something that will normally be rounded down to 0.
26747 Adjust error handling to avoid producing garbage when size_t is not
26748 the same size as long long.
26749
a1368118
CW
267502010-01-05 Colin Watson <cjwatson@ubuntu.com>
26751
26752 * util/mkisofs/write.c (padblock_write): Check return value of
26753 fread.
26754
7c302978
RM
267552010-01-05 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
26758 floppy images now.
26759
26760 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
26761
e33ace06
RM
267622010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26763
26764 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
26765 instead of manual alignment.
26766 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
26767 verbose). Avoid attempts to read past end of the device
26768 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
26769 but GRUB_DISK_CACHE_SIZE may exceed that).
26770
4b856776
RM
267712010-01-04 Robert Millan <rmh.grub@aybabtu.com>
26772
26773 * commands/crc.c (grub_cmd_crc): Abort on read errors.
26774 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
26775 it to upper layer.
26776
52c2d97f
VS
267772010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
26780 New constant.
26781 (grub_efi_piwg_device_path): New structure
26782 (grub_efi_piwg_device_path_t): New type.
26783 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
26784 (devpath_1): Transform to a structure. All users updated.
26785 (devpath_2): Likewise.
26786 (devpath_3): Likewise.
26787 (devpath_4): Likewise.
26788 (devpath_5): Likewise.
26789
98ff6a54
VS
267902010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 * loader/efi/appleloader.c: Restored. Update all users.
26793
3a73dcb6
RM
267942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26795
26796 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
26797
26798 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
26799 (struct boot_blocklist): Move from here ...
26800 * include/grub/i386/pc/boot.h [ASM_FILE]
26801 (struct grub_boot_blocklist): ... to here. Update all users.
26802 (setup): Only initialize `start' member of `first_block'
26803 structure. Add assert() calls to verify the other members.
26804
26805 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
26806 (generate_image): Fix broken blocklist length initialization.
26807 Add assert() call to verify blocklist `segment' field.
26808
ab0eeb0c
RM
268092010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26810
26811 * loader/efi/appleloader.c: Remove. Update all users.
26812
58bc8bd5
RM
268132010-01-03 Robert Millan <rmh.grub@aybabtu.com>
26814
26815 * boot/i386/pc/boot.S: Update copyright year.
26816 * boot/i386/pc/cdboot.S: Likewise.
26817 * boot/i386/pc/diskboot.S: Likewise.
26818 * boot/i386/pc/lnxboot.S: Likewise.
26819 * boot/i386/pc/pxeboot.S: Likewise.
26820 * bus/pci.c: Likewise.
26821 * commands/cmp.c: Likewise.
26822 * commands/help.c: Likewise.
26823 * commands/hexdump.c: Likewise.
26824 * commands/i386/pc/halt.c: Likewise.
26825 * commands/i386/pc/play.c: Likewise.
26826 * commands/i386/pc/vbeinfo.c: Likewise.
26827 * commands/ls.c: Likewise.
26828 * commands/test.c: Likewise.
26829 * disk/dmraid_nvidia.c: Likewise.
26830 * disk/i386/pc/biosdisk.c: Likewise.
26831 * disk/ieee1275/nand.c: Likewise.
26832 * disk/ieee1275/ofdisk.c: Likewise.
26833 * disk/lvm.c: Likewise.
26834 * disk/raid.c: Likewise.
26835 * disk/raid6_recover.c: Likewise.
26836 * disk/scsi.c: Likewise.
26837 * fs/affs.c: Likewise.
26838 * fs/cpio.c: Likewise.
26839 * fs/ext2.c: Likewise.
26840 * fs/hfs.c: Likewise.
26841 * fs/iso9660.c: Likewise.
26842 * fs/ntfs.c: Likewise.
26843 * fs/sfs.c: Likewise.
26844 * fs/udf.c: Likewise.
26845 * fs/ufs.c: Likewise.
26846 * fs/xfs.c: Likewise.
26847 * gencmdlist.sh: Likewise.
26848 * genmk.rb: Likewise.
26849 * include/grub/disk.h: Likewise.
26850 * include/grub/efi/api.h: Likewise.
26851 * include/grub/efi/efi.h: Likewise.
26852 * include/grub/efi/pe32.h: Likewise.
26853 * include/grub/elf.h: Likewise.
26854 * include/grub/fs.h: Likewise.
26855 * include/grub/i386/at_keyboard.h: Likewise.
26856 * include/grub/i386/pc/memory.h: Likewise.
26857 * include/grub/i386/pc/vbe.h: Likewise.
26858 * include/grub/i386/pci.h: Likewise.
26859 * include/grub/i386/tsc.h: Likewise.
26860 * include/grub/ieee1275/ieee1275.h: Likewise.
26861 * include/grub/ntfs.h: Likewise.
26862 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26863 * include/grub/sparc64/libgcc.h: Likewise.
26864 * include/grub/symbol.h: Likewise.
26865 * include/grub/types.h: Likewise.
26866 * include/multiboot2.h: Likewise.
26867 * io/gzio.c: Likewise.
26868 * kern/device.c: Likewise.
26869 * kern/disk.c: Likewise.
26870 * kern/efi/efi.c: Likewise.
26871 * kern/efi/mm.c: Likewise.
26872 * kern/elf.c: Likewise.
26873 * kern/file.c: Likewise.
26874 * kern/i386/dl.c: Likewise.
26875 * kern/i386/pc/init.c: Likewise.
26876 * kern/i386/pc/startup.S: Likewise.
26877 * kern/ieee1275/ieee1275.c: Likewise.
26878 * kern/ieee1275/init.c: Likewise.
26879 * kern/main.c: Likewise.
26880 * kern/mm.c: Likewise.
26881 * kern/powerpc/dl.c: Likewise.
26882 * kern/sparc64/dl.c: Likewise.
26883 * kern/x86_64/dl.c: Likewise.
26884 * lib/hexdump.c: Likewise.
26885 * loader/efi/appleloader.c: Likewise.
26886 * loader/i386/ieee1275/linux.c: Likewise.
26887 * loader/i386/pc/chainloader.c: Likewise.
26888 * loader/i386/pc/linux.c: Likewise.
26889 * loader/i386/pc/multiboot2.c: Likewise.
26890 * loader/ieee1275/multiboot2.c: Likewise.
26891 * loader/multiboot2.c: Likewise.
26892 * loader/multiboot_loader.c: Likewise.
26893 * loader/powerpc/ieee1275/linux.c: Likewise.
26894 * normal/completion.c: Likewise.
26895 * normal/menu_entry.c: Likewise.
26896 * partmap/apple.c: Likewise.
26897 * util/grub.d/10_hurd.in: Likewise.
26898 * util/hostfs.c: Likewise.
26899 * video/readers/png.c: Likewise.
26900
e2d70b5c
CW
269012010-01-03 Colin Watson <cjwatson@ubuntu.com>
26902
26903 * include/grub/misc.h (GNUC_PREREQ): New macro.
26904 (ATTRIBUTE_ERROR): New macro.
26905 * include/grub/list.h (grub_bad_type_cast_real): Use
26906 ATTRIBUTE_ERROR.
26907
a173283f 269082010-01-03 Carles Pina i Estany <carles@pina.cat>
26909
26910 * normal/menu_text.c (print_message): Change messages.
26911
7fa7ff74 269122010-01-03 Carles Pina i Estany <carles@pina.cat>
26913
26914 * normal/menu_entry.c (store_completion): Gettextizze.
26915
136d24f6 269162010-01-03 Carles Pina i Estany <carles@pina.cat>
26917
26918 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
26919
f936862e 269202010-01-03 Carles Pina i Estany <carles@pina.cat>
26921
26922 * po/POTFILES: Sort correctly.
26923
29c44ad1 269242010-01-03 Carles Pina i Estany <carles@pina.cat>
26925
26926 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
26927 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
26928 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
26929 full stop.
26930 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
26931 summary. Gettextizze the strings.
26932 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
26933 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
26934 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
26935 full stop.
26936 (GRUB_MOD_INIT): Remove command name from summary.
26937 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
26938 summary.
26939 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
26940 * term/i386/pc/serial.c (options): Add full stops.
26941 (GRUB_MOD_INIT): Remove command name from the summary.
26942
77a79592 269432010-01-03 Carles Pina i Estany <carles@pina.cat>
26944
26945 * commands/acpi.c: Gettextizze help strings and/or options. Include
26946 `grub/i18n.h' if needed.
26947 * commands/blocklist.c: Likewise.
26948 * commands/boot.c: Likewise.
26949 * commands/cat.c: Likewise.
26950 * commands/cmp.c: Likewise.
26951 * commands/configfile.c: Likewise.
26952 * commands/crc.c: Likewise.
26953 * commands/date.c: Likewise.
26954 * commands/echo.c: Likewise.
26955 * commands/efi/fixvideo.c: Likewise.
26956 * commands/efi/loadbios.c: Likewise.
26957 * commands/gptsync.c: Likewise.
26958 * commands/halt.c: Likewise.
26959 * commands/handler.c: Likewise.
26960 * commands/hdparm.c: Likewise.
26961 * commands/hexdump.c: Likewise.
26962 * commands/i386/cpuid.c: Likewise.
26963 * commands/i386/pc/drivemap.c: Likewise.
26964 * commands/i386/pc/halt.c: Likewise.
26965 * commands/i386/pc/pxecmd.c: Likewise.
26966 * commands/i386/pc/vbeinfo.c: Likewise.
26967 * commands/i386/pc/vbetest.c: Likewise.
26968 * commands/ieee1275/suspend.c: Likewise.
26969 * commands/keystatus.c: Likewise.
26970 * commands/loadenv.c: Likewise.
26971 * commands/ls.c: Likewise.
26972 * commands/lsmmap.c: Likewise.
26973 * commands/lspci.c: Likewise.
26974 * commands/memrw.c: Likewise.
26975 * commands/minicmd.c: Likewise.
26976 * commands/parttool.c: Likewise.
26977 * commands/password.c: Likewise.
26978 * commands/probe.c: Likewise.
26979 * commands/read.c: Likewise.
26980 * commands/reboot.c: Likewise.
26981 * commands/search.c: Likewise.
26982 * commands/sleep.c: Likewise.
26983 * commands/test.c: Likewise.
26984 * commands/true.c: Likewise.
26985 * commands/usbtest.c: Likewise.
26986 * commands/videotest.c: Likewise.
26987 * commands/xnu_uuid.c: Likewise.
26988 * disk/loopback.c: Likewise.
26989 * hello/hello.c: Likewise.
26990 * loader/i386/bsd.c: Likewise.
26991 * term/i386/pc/serial.c: Likewise.
26992 * po/POTFILES: Add new files.
26993
da8d5c53
CW
269942010-01-02 Colin Watson <cjwatson@ubuntu.com>
26995
26996 * term/i386/pc/at_keyboard.c
26997 (keyboard_controller_wait_untill_ready): Rename to ...
26998 (keyboard_controller_wait_until_ready): ... this. Update all users.
26999
33937904 270002010-01-01 Carles Pina i Estany <carles@pina.cat>
27001
27002 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
27003 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
27004 string using string width.
27005 * normal/menu_text.c (grub_print_message_indented): Use
27006 grub_print_spaces and not print_spaces.
27007 (print_timeout): Likewise.
27008 (print_spaces): Move to...
27009 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
27010
3fd3b8d8
RM
270112010-01-01 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 Import from Gnulib.
27014
27015 * gnulib/getdelim.c: New file.
27016 * gnulib/getline.c: Likewise.
27017
33433555
VS
270182009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
27019
27020 * include/grub/list.h (grub_assert_fail): Removed.
27021 (grub_bad_type_cast_real): New function.
27022 (grub_bad_type_cast): New macro.
27023 (GRUB_AS_LIST): Use grub_bad_type_cast.
27024 (GRUB_AS_LIST_P): Likewise.
e44721e8 27025 (GRUB_AS_NAMED_LIST): Likewise.
33433555 27026 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 27027 (GRUB_AS_PRIO_LIST): Likewise.
33433555 27028 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 27029 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 27030
f5a51306
VS
270312009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
27032
27033 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
27034 Fix syntax error.
27035
90d1e879
RM
270362009-12-29 Robert Millan <rmh.grub@aybabtu.com>
27037
27038 * configure.ac: Check for TARGET_CFLAGS initialization before we
27039 initialize it ourselves (sigh).
27040 Move a few modifications to TARGET_CFLAGS to be unconditional
27041 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
27042 eh_frame)
27043
27044 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
27045 * term/i386/pc/at_keyboard.c
27046 (keyboard_controller_wait_untill_ready): Likewise.
27047 (keyboard_controller_led): Rename `led_status' paramter to avoid
27048 name conflict.
27049
465b5a81 270502009-12-28 Carles Pina i Estany <carles@pina.cat>
27051
27052 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
27053 quotes.
27054
c181849b
VS
270552009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27056
27057 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
27058
9c8739a4
VS
270592009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27060
27061 * normal/menu_text.c (grub_print_message_indented): Prevent
27062 past-the-end-of-array dereference.
27063
3e74249c
VS
270642009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
27065
27066 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
27067 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
27068
64fd18ed 270692009-12-27 Carles Pina i Estany <carles@pina.cat>
27070
27071 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
27072 * normal/main.c (grub_normal_read_line): Remove a space from the
27073 default prompt.
27074
714af9b9 270752009-12-27 Carles Pina i Estany <carles@pina.cat>
27076
27077 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
27078 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27079 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27080 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27081 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27082 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27083 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27084
82f3e412 270852009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 27086
27087 * video/readers/jpeg.c (cmd): Declare.
27088 (grub_cmd_jpegtest): Use `grub_command_t' type.
27089 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27090 Assign to `cmd'.
27091 (GRUB_MOD_FINI): Use `cmd' to unregister.
27092 * video/readers/png.c (cmd): Declare.
27093 (grub_cmd_pngtest): Use `grub_command_t' type.
27094 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27095 Assign to `cmd'.
27096 (GRUB_MOD_FINI): Use `cmd' to unregister.
27097 * video/readers/tga.c (cmd): Declare.
27098 (grub_cmd_tgatest): Use `grub_command_t' type.
27099 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
27100 Assign to `cmd'.
27101 (GRUB_MOD_FINI): Use `cmd' to unregister.
27102
82f3e412 271032009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 27104
27105 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
27106 stops.
27107 * kern/corecmd.c (grub_register_core_commands): Likewise.
27108 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
27109 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27110 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
27111 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27112 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
27113 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
27114 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
27115 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
27116 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27117 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
27118 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27119 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27120 * normal/handler.c (insert_handler): Likewise.
27121 * normal/main.c (GRUB_MOD_INIT): Likewise.
27122 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
27123
fdcdbb66 271242009-12-26 Carles Pina i Estany <carles@pina.cat>
27125
27126 * commands/help.c (grub_cmd_help): Print the command name before the
27127 summary.
27128 (GRUB_MOD_INIT): Remove command name from the summary.
27129 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 27130 string as summary.
fdcdbb66 27131 * lib/arg.c (find_long): Print the command name before the summary.
27132 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
27133 summary.
27134 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
27135 * commands/cat.c (GRUB_MOD_INIT): Likewise.
27136 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
27137 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
27138 * commands/crc.c (GRUB_MOD_INIT): Likewise.
27139 * commands/date.c (GRUB_MOD_INIT): Likewise.
27140 * commands/echo.c (GRUB_MOD_INIT): Likewise.
27141 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
27142 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27143 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27144 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
27145 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
27146 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
27147 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
27148 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27149 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
27150 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
27151 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
27152 * commands/ls.c (GRUB_MOD_INIT): Likewise.
27153 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27154 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27155 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27156 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
27157 * commands/password.c (GRUB_MOD_INIT): Likewise.
27158 * commands/probe.c (GRUB_MOD_INIT): Likewise.
27159 * commands/read.c (GRUB_MOD_INIT): Likewise.
27160 * commands/search.c (GRUB_MOD_INIT): Likewise.
27161 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
27162 * commands/test.c (GRUB_MOD_INIT): Likewise.
27163 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
27164 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
27165 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
27166 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
27167 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
27168 * lib/arg.c (GRUB_MOD_INIT): Likewise.
27169 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
27170 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
27171 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
27172 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
27173 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
27174 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
27175 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
27176 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
27177
9c288be2
VS
271782009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27179
27180 Use search command for preliminar UUID search.
27181
27182 * commands/search.c: Split into ...
27183 * commands/search_wrap.c: ...this
27184 * commands/search.c: ...and this.
27185 * commands/search_file.c: New file.
27186 * commands/search_label.c: New file.
27187 * commands/search_uuid.c: New file.
27188 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
27189 Add commands/search_wrap.c, commands/search_file.c,
27190 commands/search_label.c and commands/search_uuid.c.
27191 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
27192 (search_mod_SOURCES): Set to commands/search_wrap.c.
27193 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
27194 search_label.mod.
27195 (search_fs_file_mod_SOURCES): New variable.
27196 (search_fs_file_mod_CFLAGS): Likewise.
27197 (search_fs_file_mod_LDFLAGS): Likewise.
27198 (search_label_mod_SOURCES): Likewise.
27199 (search_label_mod_CFLAGS): Likewise.
27200 (search_label_mod_LDFLAGS): Likewise.
27201 (search_fs_uuid_mod_SOURCES): New variable.
27202 (search_fs_uuid_mod_CFLAGS): Likewise.
27203 (search_fs_uuid_mod_LDFLAGS): Likewise.
27204 (fs_file_mod_SOURCES): Removed.
27205 (fs_file_mod_CFLAGS): Likewise.
27206 (fs_file_mod_LDFLAGS): Likewise.
27207 (fs_uuid_mod_SOURCES): Removed.
27208 (fs_uuid_mod_CFLAGS): Likewise.
27209 (fs_uuid_mod_LDFLAGS): Likewise.
27210 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
27211 Set to util/grub-install.in.
27212 * disk/fs_file.c: Removed.
27213 * disk/fs_uuid.c: Likewise.
27214 * include/grub/search.h: New file.
27215 * util/grub-install.in: Handle sparc64.
27216 Create and use load.cfg.
27217 * util/sparc64/ieee1275/grub-install.in: Removed.
27218
db943399
VS
272192009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27220
27221 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
27222 Ignore return status if CF is cleared.
27223 (grub_biosdisk_get_diskinfo_standard): Likewise.
27224
3fdae612
RM
272252009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27226
27227 * term/i386/pc/at_keyboard.c
27228 (keyboard_controller_wait_untill_ready): New function.
27229 (grub_keyboard_controller_write, grub_keyboard_controller_read)
27230 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
27231 for keyboard polling, rather than duplicate the same loop. This
27232 saves a few bytes in code size.
27233
7ebaa2b4
VS
272342009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 Support for (pxe[:server[:gateway]]) syntax and
27237 use environment variable for PXE.
27238
27239 * commands/i386/pc/pxecmd.c (options): Removed.
27240 (print_ip): Removed.
27241 (grub_cmd_pxe): Removed
27242 (grub_cmd_pxe_unload): New function.
27243 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
27244 (grub_pxe_your_ip): Made static.
27245 (grub_pxe_default_server_ip): Likewise.
27246 (grub_pxe_default_gateway_ip): Likewise.
27247 (grub_pxe_blksize): Likewise.
27248 (parse_ip): New function.
27249 (grub_pxe_open): Support server and gateway specification.
27250 (grub_pxe_close): Free disk->data.
27251 (grub_pxefs_open): Use disk->data.
27252 (grub_pxefs_read): Likewise.
27253 (grub_env_write_readonly): New function.
27254 (set_mac_env): Likewise.
27255 (set_env_limn_ro): Likewise.
27256 (parse_dhcp_vendor): Likewise.
27257 (grub_pxe_detect): Set the environment variables.
27258 (set_ip_env): New function.
27259 (write_ip_env): Likewise.
27260 (grub_env_write_pxe_default_server): Likewise.
27261 (grub_env_write_pxe_default_gateway): Likewise.
27262 (grub_env_write_pxe_blocksize): Likewise.
27263 (GRUB_MOD_INIT(pxe)): Set environment variables.
27264 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
27265 (grub_pxe_mac_addr_t): ... this. All users updated.
27266 (grub_pxe_your_ip): Removed.
27267 (grub_pxe_server_ip): Likewise.
27268 (grub_pxe_gateway_ip): Likewise.
27269 (grub_pxe_blksize): Likewise.
27270
ec5f98ab 272712009-12-25 Carles Pina i Estany <carles@pina.cat>
27272
27273 * commands/help.c: Include `<grub/i18n.h>'.
27274 (grub_cmd_help): Gettextizze.
27275 (GRUB_MOD_INIT): Likewise.
27276 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
27277 (GRUB_MOD_INIT): Gettextizze.
27278 * commands/search.c: Include `<grub/i18n.h>'.
27279 (options): Gettextizze.
27280 (GRUB_MOD_INIT): Gettextizze.
27281 * lib/arg.c: Include `<grub/i18n.h>'.
27282 (help_options): Gettextizze.
27283 (find_long): Likewise.
27284 (grub_arg_show_help): Likewise.
27285 * normal/dyncmd.c: Include `<grub/i18n.h>'.
27286 (read_command_list): Gettextizze.
27287 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 27288 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 27289
22815526
RM
272902009-12-25 Robert Millan <rmh.grub@aybabtu.com>
27291
27292 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
27293 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
27294 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
27295 (led_status): New variable.
27296 (keyboard_controller_led): New function.
27297 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
27298 update led status for caps lock, num lock and scroll lock.
27299
0ad46fd7
FZ
273002009-12-25 Felix Zielcke <fzielcke@z-51.de>
27301
27302 * util/hostdisk.c (open_device): Fix a comment.
27303
d0e158c2
RM
273042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27305
27306 * util/grub-install.in (host_os): New variable.
27307 * util/i386/efi/grub-install.in (host_os): Likewise.
27308
401c0ad6
RM
273092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27310
27311 * util/mkisofs/write.c (padblock_write): Abort when given an
27312 excedingly large embed image, instead of silently truncating it.
27313
d14d3370
RM
273142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27315
27316 * include/multiboot.h: Indentation fixes.
27317
eeed10b4
RM
273182009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27319
27320 * include/multiboot.h (struct multiboot_aout_symbol_table)
27321 (struct multiboot_elf_section_header_table): New structure
27322 declarations (stolen from GRUB Legacy).
27323 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
27324 table information.
27325
27326 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
27327 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
27328 type aliases.
27329
681c70ab
RM
273302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27331
27332 * include/multiboot.h: Make comments src2texi-friendly.
27333
e4d47d8d
RM
273342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27335
27336 For consistency with [multiboot]/docs/boot.S.
27337
27338 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
27339 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
27340 (MULTIBOOT_MAGIC2): Rename from this ...
27341 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
27342
a0b70bda
RM
273432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
27344
27345 * include/multiboot.h: Remove `<grub/types.h>'.
27346 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
27347 types. Update all users.
27348
61ba42be 273492009-12-25 Carles Pina i Estany <carles@pina.cat>
27350
27351 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
27352 `couldn't' and `can not' by `cannot'.
27353 * commands/i386/pc/drivemap.c: Likewise.
27354 * disk/ata.c: Likewise.
27355 * disk/ieee1275/nand.c: Likewise.
27356 * fs/affs.c: Likewise.
27357 * fs/fat.c: Likewise.
27358 * fs/hfs.c: Likewise.
27359 * fs/hfsplus.c: Likewise.
27360 * fs/iso9660.c: Likewise.
27361 * fs/jfs.c: Likewise.
27362 * fs/minix.c: Likewise.
27363 * fs/reiserfs.c: Likewise.
27364 * fs/sfs.c: Likewise.
27365 * fs/udf.c: Likewise.
27366 * fs/ufs.c: Likewise.
27367 * fs/xfs.c: Likewise.
27368 * loader/powerpc/ieee1275/linux.c: Likewise.
27369 * loader/sparc64/ieee1275/linux.c: Likewise.
27370 * util/grub-probe.c: Likewise.
27371 * util/misc.c: Likewise.
27372
7fd0baee 273732009-12-24 Carles Pina i Estany <carles@pina.cat>
27374
27375 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
27376 grub_errno calls.
27377 * commands/acpi.c: Likewise.
27378 * commands/blocklist.c: Likewise.
27379 * commands/efi/loadbios.c: Likewise.
27380 * commands/i386/pc/drivemap.c: Likewise.
27381 * commands/loadenv.c: Likewise.
27382 * commands/memrw.c: Likewise.
27383 * commands/password.c: Likewise.
27384 * commands/videotest.c: Likewise.
27385 * disk/ata.c: Likewise.
27386 * disk/ata_pthru.c: Likewise.
27387 * disk/dmraid_nvidia.c: Likewise.
27388 * disk/ieee1275/nand.c: Likewise.
27389 * disk/ieee1275/ofdisk.c: Likewise.
27390 * disk/loopback.c: Likewise.
27391 * disk/lvm.c: Likewise.
27392 * disk/mdraid_linux.c: Likewise.
27393 * disk/raid.c: Likewise.
27394 * disk/raid6_recover.c: Likewise.
27395 * disk/scsi.c: Likewise.
27396 * efiemu/main.c: Likewise.
27397 * efiemu/mm.c: Likewise.
27398 * efiemu/pnvram.c: Likewise.
27399 * efiemu/symbols.c: Likewise.
27400 * font/font.c: Likewise.
27401 * fs/cpio.c: Likewise.
27402 * fs/hfsplus.c: Likewise.
27403 * fs/iso9660.c: Likewise.
27404 * fs/jfs.c: Likewise.
27405 * fs/minix.c: Likewise.
27406 * fs/ntfs.c: Likewise.
27407 * fs/ntfscomp.c: Likewise.
27408 * fs/reiserfs.c: Likewise.
27409 * fs/ufs.c: Likewise.
27410 * fs/xfs.c: Likewise.
27411 * gettext/gettext.c: Likewise.
27412 * include/grub/auth.h: Likewise.
27413 * kern/elf.c: Likewise.
27414 * kern/file.c: Likewise.
27415 * kern/ieee1275/init.c: Likewise.
27416 * kern/ieee1275/mmap.c: Likewise.
27417 * kern/ieee1275/openfw.c: Likewise.
27418 * kern/powerpc/dl.c: Likewise.
27419 * kern/sparc64/dl.c: Likewise.
27420 * lib/arg.c: Likewise.
27421 * loader/i386/bsd.c: Likewise.
27422 * loader/i386/bsdXX.c: Likewise.
27423 * loader/i386/efi/linux.c: Likewise.
27424 * loader/i386/efi/xnu.c: Likewise.
27425 * loader/i386/ieee1275/linux.c: Likewise.
27426 * loader/i386/linux.c: Likewise.
27427 * loader/i386/multiboot.c: Likewise.
27428 * loader/i386/pc/linux.c: Likewise.
27429 * loader/i386/pc/multiboot2.c: Likewise.
27430 * loader/i386/xnu.c: Likewise.
27431 * loader/ieee1275/multiboot2.c: Likewise.
27432 * loader/macho.c: Likewise.
27433 * loader/machoXX.c: Likewise.
27434 * loader/multiboot2.c: Likewise.
27435 * loader/multiboot_loader.c: Likewise.
27436 * loader/powerpc/ieee1275/linux.c: Likewise.
27437 * loader/sparc64/ieee1275/linux.c: Likewise.
27438 * loader/xnu.c: Likewise.
27439 * loader/xnu_resume.c: Likewise.
27440 * mmap/i386/pc/mmap.c: Likewise.
27441 * normal/menu_viewer.c: Likewise.
27442 * partmap/acorn.c: Likewise.
27443 * partmap/amiga.c: Likewise.
27444 * partmap/apple.c: Likewise.
27445 * script/lexer.c: Likewise.
27446 * term/gfxterm.c: Likewise.
27447 * term/i386/pc/serial.c: Likewise.
27448 * term/i386/pc/vga.c: Likewise.
27449 * term/ieee1275/ofconsole.c: Likewise.
27450 * term/terminfo.c: Likewise.
27451 * video/bitmap.c: Likewise.
27452 * video/efi_gop.c: Likewise.
27453 * video/efi_uga.c: Likewise.
27454 * video/fb/video_fb.c: Likewise.
27455 * video/i386/pc/vbe.c: Likewise.
27456 * video/readers/tga.c: Likewise.
27457 * video/video.c: Likewise.
27458
0ad46fd7 274592009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
27460
27461 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
27462 * commands/lspci.c: Likewise.
27463 * commands/probe.c: Likewise.
27464 * commands/xnu_uuid.c: Likewise.
27465 * conf/i386-coreboot.rmk: Likewise.
27466 * conf/i386-efi.rmk: Likewise.
27467 * conf/i386-ieee1275.rmk: Likewise.
27468 * conf/i386-pc.rmk: Likewise.
27469 * conf/powerpc-ieee1275.rmk: Likewise.
27470 * conf/sparc64-ieee1275.rmk: Likewise.
27471 * conf/x86_64-efi.rmk: Likewise.
27472 * fs/i386/pc/pxe.c: Likewise.
27473 * gettext/gettext.c: Likewise.
27474 * include/grub/efi/graphics_output.h: Likewise.
27475 * include/grub/i386/pc/memory.h: Likewise.
27476 * kern/env.c: Likewise.
27477 * kern/i386/qemu/startup.S: Likewise.
27478 * lib/i386/pc/biosnum.c: Likewise.
27479 * lib/i386/relocator.c: Likewise.
27480 * lib/i386/relocator_asm.S: Likewise.
27481 * lib/relocator.c: Likewise.
27482 * loader/i386/bsd.c: Likewise.
27483 * loader/i386/multiboot.c: Likewise.
27484 * loader/i386/pc/chainloader.c: Likewise.
27485 * loader/i386/xnu.c: Likewise.
27486 * loader/xnu.c: Likewise.
27487 * normal/main.c: Likewise.
27488 * normal/menu_text.c: Likewise.
27489 * util/getroot.c: Likewise.
27490 * util/grub-mkconfig_lib.in: Likewise.
27491 * util/grub.d/00_header.in: Likewise.
27492 * util/i386/pc/grub-mkimage.c: Likewise.
27493 * util/mkisofs/eltorito.c: Likewise.
27494 * util/mkisofs/exclude.h: Likewise.
27495 * util/mkisofs/hash.c: Likewise.
27496 * util/mkisofs/iso9660.h: Likewise.
27497 * util/mkisofs/joliet.c: Likewise.
27498 * util/mkisofs/mkisofs.c: Likewise.
27499 * util/mkisofs/mkisofs.h: Likewise.
27500 * util/mkisofs/multi.c: Likewise.
27501 * util/mkisofs/name.c: Likewise.
27502 * util/mkisofs/rock.c: Likewise.
27503 * util/mkisofs/tree.c: Likewise.
27504 * util/mkisofs/write.c: Likewise.
27505 * video/efi_gop.c: Likewise.
27506
009ec743
VS
275072009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
27508
27509 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
27510 size counting.
27511
0ad46fd7 275122009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
27513
27514 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
27515 * genmk.rb (class SCRIPT): Modify the target file instead of source.
27516
d3d30ea0
VS
275172009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27518
27519 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
27520 (GRUB_MOD_INIT(memrw)): Update help line.
27521
a34f5c70
VS
275222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27523
27524 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
27525 Use grub_extcmd_t. All users updated.
27526 (options): New variable.
27527 (grub_cmd_read): Restructure for readability. Support "-v" option.
27528 (grub_cmd_write): Restructure for readability.
27529
0ad46fd7 275302009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
27531
27532 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
27533
0ad46fd7 275342009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
27535
27536 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
27537 with the actual contents of the correspondending make variable.
27538 * util/grub-mkrescue.in (pkglib_DATA): New variable.
27539 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
27540 specifying `*.lst' and `efiemu??.o'
27541
0ad46fd7 275422009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
27543
27544 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
27545 after function name.
27546 Noticed by Rene Engelhard <rene@debian.org>.
27547
dc77a799
VS
275482009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27549
27550 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
27551 (options): New variable.
27552 (iospace): Likewise.
27553 (grub_lspci_iter): List IO spaces if "-i" was given.
27554 (grub_cmd_lspci): Parse options.
27555 (GRUB_MOD_INIT(lspci)): Use extcmd.
27556 (GRUB_MOD_FINI(lspci)): Likewise.
27557
0ad46fd7 275582009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
27559
27560 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
27561 `function' keyword.
27562 Patch by Tony Mancill <tmancill@debian.org>.
27563
b5d5993b
VS
275642009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
27565
27566 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
27567 (grub_uhci_portstatus): Likewise.
27568 (grub_uhci_portstatus): Add necessary delay.
11d18281 27569 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 27570
941903f2 275712009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 27572
941903f2 27573 * commands/acpi.c (options): Fix capitalizations and/or full stops.
27574 (GRUB_MOD_INIT): Likewise.
27575 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 27576 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
27577 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 27578 * commands/efi/loadbios.c (enable_rom_area): Likewise.
27579 (enable_rom_area): Likewise.
27580 (GRUB_MOD_INIT): Likewise.
27581 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
27582 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
27583 * commands/handler.c (GRUB_MOD_INIT): Likewise.
27584 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
27585 * commands/hexdump.c (options): Likewise.
27586 * commands/i386/cpuid.c (options): Likewise.
27587 (GRUB_MOD_INIT): Likewise.
27588 * commands/i386/pc/drivemap.c (options): Likewise.
27589 (GRUB_MOD_INIT): Likewise.
27590 * commands/i386/pc/halt (options): Likewise.
27591 (GRUB_MOD_INIT): Likewise.
27592 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
27593 * commands/i386/pc/pxecmd.c (options): Likewise.
27594 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
27595 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
27596 * commands/keystatus.c (options): Likewise.
27597 (GRUB_MOD_INIT): Likewise.
27598 * commands/loadenv.c (options): Likewise.
27599 * commands/ls.c (options): Likewise.
27600 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
27601 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
27602 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
27603 * commands/parttool.c (helpmsg): Likewise.
27604 * commands/probe.c (options): Likewise.
27605 * commands/read.c (GRUB_MOD_INIT): Likewise.
27606 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
27607 * commands/search.c (options): Likewise.
27608 * commands/sleep.c (options): Likewise.
27609 * commands/test.c (GRUB_MOD_INIT): Likewise.
27610 * commands/true.c (GRUB_MOD_INIT): Likewise.
27611 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
27612 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
27613 * lib/arg.c (help_options): Likewise.
e9bbb4e7 27614 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
27615 `$(XGETTEXT)'.
98a50553 27616 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 27617
0ad46fd7 276182009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 27619
ef3c2c3a 27620 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
27621 instead of specifying them explicit.
27622
7922f68b
RM
276232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27624
27625 * NEWS: Add grub-probe support for GNU/Hurd.
27626
537ce47f
RM
276272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27628
27629 * NEWS: gettext was added after 1.97.
27630
9b214e3a
RM
276312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27632
27633 * util/mkisofs/msdos_partition.h: New file (based on
27634 include/grub/msdos_partition.h).
27635 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
27636 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
27637 (ld_options, main): Recognize --protective-msdos-label.
27638 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
27639 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
27640 (padblock_write): If `use_protective_msdos_label' is set, patch a
27641 protective DOS-style label in the output image.
27642
27643 * util/grub-mkrescue.in: Use --protective-msdos-label.
27644
e9309813
RM
276452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27646
27647 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
27648 boot.
27649
0ae56929
RM
276502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27651
27652 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
27653 variables.
27654 (ld_options, main): Recognize `--embedded-boot'.
27655 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
27656 declarations.
27657 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
27658 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
27659 (padblock_write): Likewise. Rewrite to support embedded boot image.
27660
27661 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
27662 for BIOS-based disk boot instead of only ElTorito.
27663
b15937b1
RM
276642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27665
27666 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
27667 build (not needed for bootstrap).
27668
52cc3ce0
RM
276692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27670
27671 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
27672 from i386-pc build (not needed for bootstrap).
27673 Rewrite a pair of strings.
27674
36f5ff04
RM
276752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
27676
27677 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
27678
973c6c85 276792009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
27680
27681 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
27682
05d21547
AB
276832009-12-21 Andreas Born <futur.andy@googlemail.com>
27684
27685 * kern/env.c (grub_env_context_open): Mark exported variable for
27686 reexport.
27687
0175d51f
AB
276882009-12-21 Andreas Born <futur.andy@googlemail.com>
27689
27690 * kern/env.c (grub_env_export): Create nonexistent variables before
27691 exporting.
27692
7f39d92f 276932009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 27694
7f39d92f 27695 * include/grub/auth.h: Include `<grub/i18n.h>'.
27696 (GRUB_GET_PASSWORD): Gettextizze string.
27697 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
27698 menu_text.c.
27699 (grub_utf8_to_ucs4_alloc): Fix indentation.
27700 (grub_print_ucs4): Likewise.
27701 (grub_getstringwidth): Likewise.
27702 (print_message_indented): New declaration.
27703 * normal/auth.c: Include `<grub/i18n.h>'.
27704 (grub_auth_check_authentication): Gettexttize string.
27705 * normal/cmdline.c: Include `<grub/i18n.h>'.
27706 (grub_cmdline_get): Gettextizze.
27707 * normal/color.c: Include `<grub/i18n.h>'.
27708 (grub_parse_color_name_pair): Gettexttize strings.
27709 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
27710 string (use `print_message_indented').
27711 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
27712 `include/grub/normal.h'.
27713 (print_message_indented): Renamed to ...
27714 (grub_print_message_indented): ... this. Remove `static' qualifer (now
27715 used in normal/main.c).
27716 (print_message): Use `grub_print_message_indented' instead of
27717 `print_message_indented'.
27718 (print_timeout): Likewise.
27719 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
27720 (grub_normal_print_device_info): Gettexttize strings.
27721 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
27722
3041d898
VS
277232009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27724
27725 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
27726 of arguments. Return number of tokens and not arguments. All users
27727 updated.
27728
de15bf8e
VS
277292009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
27730
27731 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
27732 non-MSDOS paritions.
27733
e0a6ca52
VS
277342009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
27735
27736 * include/grub/types.h (UNUSED): Removed since it conflicts with
27737 NetBSD headers. All users changed to direct __attribute__ ((unused)).
27738 Reported by Grégoire Sutre.
27739
b99518d1 277402009-12-19 Carles Pina i Estany <carles@pina.cat>
27741
27742 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
27743 (grub_print_ucs4_alloc): Likewise.
27744 (grub_getstringwidth): Likewise.
27745 * normal/main.c (grub_normal_init_page): Gettextize version string.
27746 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
27747 (getstringwidth): Renamed to ...
27748 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
27749 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
27750 (grub_print_ucs4): Remove `static' qualifer (now used in
27751 normal/main.c).
27752 * po/POTFILES: Add normal/main.c.
27753
bfd5e52b 277542009-12-19 Carles Pina i Estany <carles@pina.cat>
27755
27756 * normal/menu_text.c (STANDARD_MARGIN): New macro.
27757 (print_message_indented): Add `margin_left' and `margin_right'
27758 parameters.
27759 (print_message): Update `print_message_indented' calls. Adds '\n' to the
27760 strings.
27761 (print_timeout): Use `print_message_indented' to print the message.
27762 Deletes `second_stage' parameter.
27763 (run_menu): Update `print_timeout' calls.
27764
5a1ad2b9
VS
277652009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 Fix console palette on OpenFirmware.
27768
27769 * term/ieee1275/ofconsole.c (MAX): Removed.
27770 (colors): Redone based on VGA palette.
27771 (grub_ofconsole_setcolor): Discard brightness bit since only 8
27772 colors are supported.
27773 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
27774
b045f00a
VS
277752009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27776
27777 Fix potential EfiEmu double prepare.
27778
27779 * efiemu/main.c (prepared): New variable
27780 (grub_efiemu_unload): Set prepare to '0'.
27781 (grub_efiemu_prepare): Return if already prepared. Set prepared.
27782
27783 set_virtual_address_map support.
27784
27785 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
27786 prototype.
27787 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
27788 prototype.
27789 (grub_efiemu_crc32): Likewise.
27790 (grub_efiemu_crc64): Likewise.
27791 (grub_efiemu_set_virtual_address_map): Likewise.
27792 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
27793 New definition.
27794 (grub_autoefi_set_virtual_address_map): Likewise.
27795 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
27796 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
27797 Restructure flow to accomodate it.
27798 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
27799 (grub_efiemu_crc): Recompute CRC32.
27800 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
27801 (efiemu_ptv_relocated): ... this. Made global. All users updated.
27802 * efiemu/symbols.c (relocated_handle): New variable.
27803 (grub_efiemu_free_syms): Free relocated_handle.
27804 (grub_efiemu_alloc_syms): Allocate relocated_handle.
27805 (grub_efiemu_write_sym_markers): New function.
27806 (grub_efiemu_set_virtual_address_map): Likewise.
27807
27808 Newer XNU parameters.
27809
27810 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
27811 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
27812 (grub_xnu_fill_devicetree): New prototype.
27813 (grub_xnu_heap_real_start): New variable.
27814 * loader/xnu.c (get_name_ptr): New function.
27815 (grub_xnu_load_driver): Fill namelen and name.
27816
27817 64-bit xnu support.
27818
27819 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
27820 and 'loader/macho64.c'.
27821 * conf/i386-pc.rmk: Likewise.
27822 * conf/x86_64-efi.rmk: Likewise.
27823 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
27824 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
27825 * include/grub/macho.h (grub_macho_segment64): New structure.
27826 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
27827 (grub_macho_size32): ... to this.
27828 (grub_macho32_get_entry_point): Renamed from ...
27829 (grub_macho_get_entry_point32): ... to this.
27830 (grub_macho_contains_macho64): New prototype.
27831 (grub_macho_size64): Likewise.
27832 (grub_macho_get_entry_point64): Likewise.
27833 (grub_macho32_load): Renamed from ...
27834 (grub_macho_load32): ... to this.
27835 (grub_macho32_filesize): Renamed from ...
27836 (grub_macho_filesize32): ... to this.
27837 (grub_macho32_readfile): Renamed from ...
27838 (grub_macho_readfile32): ... to this.
27839 (grub_macho_filesize64): New prototype.
27840 (grub_macho_readfile64): Likewise.
27841 (grub_macho_parse32): Likewise.
27842 (grub_macho_parse64): Likewise.
27843 * loader/macho.c: Split into ...
27844 * loader/machoXX.c: ... and this. Replace 32 with XX.
27845 * loader/macho32.c: New file.
27846 * loader/macho64.c: Likewise.
27847 * loader/xnu.c (grub_xnu_is_64bit): New variable.
27848 (grub_cmd_xnu_kernel): Make 32-bit only.
27849 (grub_cmd_xnu_kernel64): New function.
27850 (grub_xnu_load_driver): Support Mach-O 64.
27851 (grub_cmd_xnu_mkext): Likewise.
27852 * util/grub.d/30_os-prober.in (osx_entry): New function.
27853 Generate entries for 64-bit boot too.
27854
27855 Eliminate ad-hoc tree format in XNU and EfiEmu.
27856
27857 * efiemu/main.c (grub_efiemu_prepare): Update comment.
27858 * efiemu/pnvram.c: Rewritten to use environment variables.
27859 All users updated.
27860
27861 Inline utf16_to_utf8.
27862
27863 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
27864 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
27865 All users updated.
27866 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
27867
27868 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
27869 * commands/usbtest.c (grub_usb_get_string): ... move here.
27870 (usb_print_str): Fix error handling.
27871 * include/grub/usb.h (grub_usb_get_string): Remove.
27872
27873 UTF-8 to UTF-16 transformation.
27874
27875 * conf/common.rmk (pkglib_MODULES): Add charset.mod
27876 (charset_mod_SOURCES): New variable.
27877 (charset_mod_CFLAGS): Likewise.
27878 (charset_mod_LDFLAGS): Likewise.
27879 * include/grub/utf.h: New file.
27880 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
27881
27882 Support for device properties.
27883
27884 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
27885 (grub_xnu_devprop_device_header): Likewise.
27886 (grub_xnu_devprop_device_descriptor): Likewise.
27887 (grub_xnu_devprop_add_device): New prototype.
27888 (grub_xnu_devprop_remove_device): Likewise.
27889 (grub_xnu_devprop_remove_property): Likewise.
27890 (grub_xnu_devprop_add_property_utf8): Likewise.
27891 (grub_xnu_devprop_add_property_utf16): Likewise.
27892 (grub_cpu_xnu_init): Likewise.
27893 (grub_cpu_xnu_fini): Likewise.
27894 (grub_cpu_xnu_unload): Likewise.
27895 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
27896 (property_descriptor): Likewise.
27897 (devices): New variable.
27898 (grub_xnu_devprop_remove_property): New function.
27899 (grub_xnu_devprop_add_device): Likewise.
27900 (grub_xnu_devprop_remove_device): Likewise.
27901 (grub_xnu_devprop_add_property): Likewise.
27902 (grub_xnu_devprop_add_property_utf8): Likewise.
27903 (grub_xnu_devprop_add_property_utf16): Likewise.
27904 (hextoval): Likewise.
27905 (grub_cpu_xnu_fill_devprop): Likewise.
27906 (grub_cmd_devprop_load): Likewise.
27907 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
27908 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
27909 (cmd_devprop_load): New variable.
27910 (grub_cpu_xnu_init): New function.
27911 (grub_cpu_xnu_fini): Likewise.
27912 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
27913 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
27914 (grub_cmd_xnu_devtree): Likewise.
27915 (hextoval): New function.
27916 (unescape): Likewise.
27917 (grub_xnu_fill_devicetree): Likewise.
27918
27919 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
27920 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
27921
0945f181
VS
279222009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
27923
27924 Workaround for broken ATI VBE.
27925
27926 * video/i386/pc/vbe.c (last_set_mode): New variable.
27927 (grub_vbe_set_video_mode): Set 'last_set_mode'.
27928 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
27929 (grub_video_vbe_setup): Don't check for reserved flag.
27930
0ad46fd7 279312009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
27932
27933 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
27934 the `find' command.
27935
c179ebe4
VS
279362009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
27937
27938 UUID support for HFS.
27939
27940 * fs/hfs.c (grub_hfs_uuid): New function.
27941 (grub_hfs_fs): New value .uuid.
27942 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
27943
0ad46fd7 279442009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
27945
27946 Fix a segfault with parsing unknown long options.
27947
27948 * util/grub-mkrelpath.c (options): Zero terminate it.
27949
c4a3e41a
CPE
279502009-12-13 Carles Pina i Estany <carles@pina.cat>
27951
27952 * include/grub/misc.h (grub_puts): New declaration.
27953 (grub_puts_): Likewise.
a22008a6 27954 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
27955 (grub_puts_): Likewise.
27956
2e8a7602
RM
279572009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27958
27959 * util/grub-probe.c (probe): Improve error message.
27960
b50b77b9
RM
279612009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27962
27963 * loader/i386/multiboot_elfxx.c
27964 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
27965 initialization.
27966
279672009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27968
27969 Relocator framework
27970
27971 * loader/i386/xnu_helper.S: Removed. All users updated.
27972 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
27973 (relocator_mod_SOURCES): New variable.
27974 (relocator_mod_CFLAGS): Likewise.
27975 (relocator_mod_LDFLAGS): Likewise.
27976 (relocator_mod_ASFLAGS): Likewise.
27977 * conf/x86_64.rmk: Likewise.
27978 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
27979 (grub_multiboot_payload_entry_offset): Likewise.
27980 (grub_multiboot_forward_relocator): Likewise.
27981 (grub_multiboot_forward_relocator_end): Likewise.
27982 (grub_multiboot_backward_relocator): Likewise.
27983 (grub_multiboot_backward_relocator_end): Likewise.
27984 (grub_multiboot_payload_eip): New variable.
27985 (grub_multiboot_payload_orig): Likewise.
27986 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
27987 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
27988 * include/grub/i386/memory.h
27989 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
27990 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
27991 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
27992 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
27993 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
27994 * include/grub/i386/relocator.h: New file.
27995 * include/grub/x86_64/relocator.h: Likewise.
27996 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
27997 (XNU_RELOCATOR): New macro.
27998 (grub_xnu_launcher_start): Remove.
27999 (grub_xnu_launcher_end): Likewise.
28000 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
28001 (grub_xnu_heap_real_start): Remove.
28002 (grub_xnu_heap_start): Change to void *. All users updated.
28003 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
28004 * lib/i386/relocator.c: New file.
28005 * lib/i386/relocator_asm.S: Likewise.
28006 * lib/i386/relocator_backward.S: Likewise.
28007 * lib/mips/relocator.c: Likewise.
28008 * lib/mips/relocator_asm.S: Likewise.
28009 * lib/relocator.c: Likewise.
28010 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
28011 (entry): Removed.
28012 (playground): Likewise.
28013 (grub_multiboot_payload_orig): New variable.
28014 (grub_multiboot_payload_dest): Likewise.
28015 (grub_multiboot_payload_size): Likewise.
28016 (grub_multiboot_payload_eip): Likewise.
28017 (grub_multiboot_payload_esp): Likewise.
28018 (grub_multiboot_boot): Use grub_relocator32_boot.
28019 (grub_multiboot_unload): Free relocators.
28020 (grub_multiboot): Setup stack. Use relocators.
28021 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
28022 (grub_multiboot_load_elfXX): Use relocators.
28023 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
28024 (grub_multiboot_payload_size): Likewise.
28025 (grub_multiboot_payload_dest): Likewise.
28026 (grub_multiboot_payload_entry_offset): Likewise.
28027 (grub_multiboot_forward_relocator): Likewise.
28028 (grub_multiboot_backward_relocator): Likewise.
28029 (grub_multiboot_real_boot): Likewise.
28030 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
28031 (grub_xnu_entry_point): Likewise.
28032 (grub_xnu_arg1): Likewise.
28033 (grub_xnu_stack): Likewise.
28034 (grub_xnu_launch): Removed.
28035 (grub_xnu_boot_resume): New function.
28036 (grub_xnu_boot): Use relocators.
28037 * loader/i386/xnu_helper.S: Removed.
28038 * loader/xnu.c (grub_xnu_heap_start): New variable.
28039 (grub_xnu_heap_size): Likewise.
28040 (grub_xnu_heap_malloc): Use relocators.
28041 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
28042
29eb90c6
VS
280432009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
28044
28045 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
28046 anything.
28047
31027430
CPE
280482009-12-13 Carles Pina i Estany <carles@pina.cat>
28049
28050 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
28051 GRUB_ERR_NONE before calling grub_env_set.
28052
dc0c71d9
RM
280532009-12-12 Robert Millan <rmh@aybabtu.com>
28054
28055 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
28056 * genmk.rb (video): New variable.
28057 (CLEANFILES, VIDEOFILES): Add #{video}.
28058 (#{video}): New target rule.
28059 * genvideolist.sh: New file.
28060 * Makefile.in (pkglib_DATA): Add video.lst.
28061 (video.lst): New target rule.
28062 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
28063 `video.lst'.
28064 * util/grub.d/30_os-prober.in: Replace `vbe' with
28065 ${GRUB_VIDEO_BACKEND}.
28066
2a4bfcf0
RM
280672009-12-11 Robert Millan <rmh.grub@aybabtu.com>
28068
28069 * THANKS: Add David Miller.
28070
2a3aa4d5
RM
280712009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
28072
28073 libpciaccess support.
28074
28075 * Makefile.in (LIBPCIACCESS): New variable.
28076 (enable_grub_emu_pci): Likewise.
28077 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
28078 util/pci.c and commands/lspci.c.
28079 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
28080 * configure.ac (grub-emu-pci): New option.
28081 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
28082 (grub_pci_device_unmap_range): Likewise.
28083 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
28084 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
28085 (grub_pci_address_t) [!GRUB_UTIL]: New type.
28086 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
28087 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
28088 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
28089 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
28090 * include/grub/pciutils.h: New file.
28091 * util/pci.c: Likewise.
28092
0ad46fd7 280932009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
28094
28095 * util/misc.c: Don't include <errno.h> twice.
28096
0ad46fd7 280972009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
28098
28099 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
28100 name in an error message.
28101 (grub_biosdisk_rw): Likewise.
28102
2e59983c
VS
281032009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 Eliminate NTFS 4Gib barrier.
28106
28107 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
28108 (read_run_data): Likewise.
28109 (grub_ntfs_read_run_list): Likewise.
28110 (grub_ntfs_read_block): Likewise.
28111 (grub_ntfs_iterate_dir): Likewise.
28112 (read_mft): Likewise.
28113 (read_data): Likewise.
28114 Use COM_LOG_LEN.
28115 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
28116 to avoid 64-bit division
28117 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
28118 (grub_ntfs_rlst): Use grub_disk_addr_t.
28119
71ee178a
VS
281202009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 Eliminate grub-fstest 4Gib barrier.
28123
28124 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
28125 (read_file): Fix error reporting.
28126
2520d4b8
VS
281272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28128
28129 Eliminate hexdump 4Gib barrier.
28130
28131 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
28132 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
28133
e1f27065
VS
281342009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
28137 Fixes amarsh bug.
28138
1a0f7f45
RM
281392009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
28140
28141 Remove miscellaneous files in distclean target.
28142
28143 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
28144
c631d9fb
CW
281452009-12-09 Colin Watson <cjwatson@ubuntu.com>
28146
28147 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
28148 if they're already set. This resolves the conflict between my
28149 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
28150 fixing the --grub-probe option again.
28151 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
28152 change on 2009-10-06, so that we now once again source
28153 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28154
7c7b6106
RM
281552009-12-08 Robert Millan <rmh.grub@aybabtu.com>
28156
28157 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
28158 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
28159 `util/devicemap.c'.
28160
e3069ec1
CPE
281612009-12-08 Carles Pina i Estany <carles@pina.cat>
28162
28163 * include/grub/misc.h (grub_printf_): New declaration.
28164 * kern/misc.c (grub_printf_): New definition.
28165 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
28166 instead of `grub_printf' and `_'.
28167 * normal/menu_entry.c (store_completion): Likewise.
28168 (run): Likewise.
28169 (grub_menu_entry_run): Likewise.
28170 * normal/menu_text.c (grub_wait_after_message): Likewise.
28171 (notify_booting): Likewise.
28172 (notify_fallback): Likewise.
28173 (notify_execution_failure): Likewise.
28174
d6ceebf1
CW
281752009-12-07 Colin Watson <cjwatson@ubuntu.com>
28176
28177 * configure.ac: Check for vasprintf.
28178 * util/misc.c (asprintf): Move allocation from here ...
28179 (vasprintf): ... to here. New function.
28180 (xasprintf): New function.
28181 * include/grub/util/misc.h (vasprintf, xasprintf): Add
28182 prototypes.
28183 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
28184 * util/grub-mkfont.c (write_font): Likewise.
28185 * util/grub-probe.c (probe): Likewise.
28186 * util/hostdisk.c (make_device_name): Likewise.
28187
de6daa8b
DM
281882009-12-06 David S. Miller <davem@sunset.davemloft.net>
28189
28190 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
28191 anything even prefixed with 'cdrom' as a cdrom.
28192
0ad46fd7 281932009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
28194
28195 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
28196 mount points.
28197
98d3dc02
CPE
281982009-12-05 Carles Pina i Estany <carles@pina.cat>
28199
28200 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
28201 grub_gettext_msg_list.
28202 (grub_gettext_gettranslation_from_position): Return const char *
28203 and not char *.
a2c1332b 28204 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
28205 returns from the list if existing there.
28206 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
28207 (grub_gettext_delete_list): Delete the list.
28208 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
28209 lang environment variable is changed.
28210 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
28211
b283f108
VS
282122009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 Rename kernel.mod to kernel.img.
28215
28216 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
28217 (kernel_mod_EXPORTS): Rename to ...
28218 (kernel_img_EXPORTS): ... this.
28219 (kernel_mod_SOURCES): Rename to ...
28220 (kernel_img_SOURCES): ... this.
28221 (kernel_mod_HEADERS): Rename to ...
28222 (kernel_img_HEADERS): ... this. All users updated.
28223 (kernel_mod_CFLAGS): Rename to ...
28224 (kernel_img_CFLAGS): ... this.
28225 (kernel_mod_ASFLAGS): Rename to ...
28226 (kernel_img_ASFLAGS): ... this.
28227 (kernel_mod_LDFLAGS): Rename to ...
28228 (kernel_img_LDFLAGS): ... this.
28229 * conf/x86_64-efi.rmk: Likewise.
28230 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
28231 (read_kernel_image): ... this. All users updated.
28232 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
28233
69055f8a
CPE
282342009-12-05 Carles Pina i Estany <carles@pina.cat>
28235
28236 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
28237 (print_spaces): New function.
28238 (grub_print_ucs4): New function.
28239 (getstringwidth): New function.
28240 (print_message_indented): New function.
28241 (print_message): Gettexttize strings using print_message_indented.
28242 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
28243 width.
28244 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 28245 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
28246 Gettextize.
28247 * normal/menu_entry.c (store_completion): Cleanup the gettextized
28248 string.
28249 (run): Likewise.
28250 (grub_menu_entry_run): Likewise.
28251 * PO/POTFILES: Add normal/menu_entry.c.
28252
f616f51c
VS
282532009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
28256
57bbe3be
CPE
282572009-12-05 Carles Pina i Estany <carles@pina.cat>
28258
28259 * util/grub-install.in: Install gettext .mo files.
28260 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
28261
013d67a1
CPE
282622009-12-05 Carles Pina i Estany <carles@pina.cat>
28263
28264 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
28265 grub_dprintf.
28266
fb954db0
RM
282672009-12-05 Robert Millan <rmh.grub@aybabtu.com>
28268
28269 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
28270 non-firmware-dependant one in realmode.S takes precedence.
28271
6b8474f8
RM
282722009-12-04 Robert Millan <rmh.grub@aybabtu.com>
28273
28274 * commands/halt.c: Replace misc arch-specific headers with
28275 `<grub/misc.h>'.
28276 * commands/reboot.c: Likewise.
28277 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
28278 `<grub/misc.h>'.
28279 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
28280 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
28281 (kernel_img_SOURCES): ... to here.
28282
28283 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
28284 * include/grub/i386/pc/init.h: Likewise.
28285 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28286 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28287
28288 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
28289
28290 * include/grub/i386/halt.h: Remove.
28291 * include/grub/i386/reboot.h: Likewise.
28292
28293 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
28294
4b2e6ca2
DM
282952009-12-03 David S. Miller <davem@sunset.davemloft.net>
28296
28297 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
28298 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
28299 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
28300 "progname.h"
28301 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28302 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28303 (usage): Add missing comma in printf.
28304
5239348f
RM
283052009-12-02 Robert Millan <rmh.grub@aybabtu.com>
28306
28307 Use the same reboot approach on i386 coreboot and qemu as we do on
28308 BIOS.
28309
28310 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
28311 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
28312 * kern/i386/reboot.c: Remove.
28313 * include/grub/i386/reboot.h (grub_reboot): Export function.
28314 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
28315 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
28316 0xf000:0xfff0 instead of 0xffff:0x0000.
28317 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
28318 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
28319
ef34cbd4
RM
283202009-11-30 Robert Millan <rmh.grub@aybabtu.com>
28321
28322 Fix $srcdir != $objdir build.
28323
28324 * Makefile.in (po/%.po): Rewrite as ...
28325 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
28326
dc9837ea
ST
283272009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
28328
28329 Fix GNU/Hurd grub-install crash.
28330 * util/grub-probe.c (probe): Try to access `path' only when it is not
28331 NULL.
28332
2f857f98
VS
283332009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28334
28335 Correct module naming.
28336
28337 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28338 (GRUB_MOD_INIT(efi_uga)): ... to this
28339 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28340 (GRUB_MOD_FINI(efi_uga)): ... to this
28341 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
28342 (GRUB_MOD_INIT(efi_gop)): ... to this
28343 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
28344 (GRUB_MOD_FINI(efi_gop)): ... to this
28345
c5448046
RM
283462009-11-28 Robert Millan <rmh.grub@aybabtu.com>
28347
28348 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
28349 translatable.
28350 (usage): Translate `arg' strings using gettext().
28351 Thanks to Jordi Mallach for the suggestion.
28352
c85184ad
VS
283532009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 GOP support. Based on patch from Bean
28356 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28357
28358 * video/efi_gop.c: New file.
28359 * include/grub/efi/graphics_output.h: Likewise.
28360 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
28361 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28362 variables.
28363 * conf/x86_64-efi.rmk: Likewise.
28364
8a4c48d8
VS
283652009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 Rename efi_fb to efi_uga.
28368
28369 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28370 'efi_uga.mod'.
28371 (efi_fb_mod_SOURCES): Rename this ...
28372 (efi_uga_mod_SOURCES): ... to this.
28373 (efi_fb_mod_CFLAGS): Rename this ...
28374 (efi_uga_mod_CFLAGS): ... to this.
28375 (efi_fb_mod_LDFLAGS): Rename this ...
28376 (efi_uga_mod_LDFLAGS): ... to this.
28377 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
28378 'efi_uga.mod'.
28379 (efi_fb_mod_SOURCES): Rename this ...
28380 (efi_uga_mod_SOURCES): ... to this.
28381 (efi_fb_mod_CFLAGS): Rename this ...
28382 (efi_uga_mod_CFLAGS): ... to this.
28383 (efi_fb_mod_LDFLAGS): Rename this ...
28384 (efi_uga_mod_LDFLAGS): ... to this.
28385 * video/efi_fb.c: Move this ...
28386 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
28387
fb6c1a7b
RM
283882009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28389
28390 * po/README: New file. Explain our PO file workflow.
28391
3bc7896c
RM
283922009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28393
28394 * po/ChangeLog: Remove. Move relevant entries back to ...
28395 * ChangeLog: ... here.
28396 * po/ca.po: Remove (now handled by TLP).
28397 * po/id.po: Likewise.
28398 * po/zh_CN.po: Likewise.
28399 * Makefile.in (LINGUAS): Initialize in a way that supports
28400 empty set.
28401
9ed4841d
RM
284022009-11-27 Robert Millan <rmh.grub@aybabtu.com>
28403
28404 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
28405 reliing on po/LINGUAS.
28406 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
28407 (po/%.po): ... this.
28408
0ad46fd7 284092009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
28410
28411 * util/i386/efi/grub-mkimage.c: Include "progname.h".
28412 (main): Use `program_name' instead of nonexistent `progname'.
28413
e30dd392
FZ
284142009-11-26 Felix Zielcke <fzielcke@z-51.de>
28415
28416 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28417 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
28418
7656de4f
RM
284192009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28420
28421 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
28422 commit.
28423 * conf/i386-efi.rmk: Likewise.
28424 * conf/i386-ieee1275.rmk: Likewise.
28425 * conf/powerpc-ieee1275.rmk: Likewise.
28426 * conf/sparc64-ieee1275.rmk: Likewise.
28427 * conf/x86_64-efi.rmk: Likewise.
28428
db77c4d4
FZ
284292009-11-26 Felix Zielcke <fzielcke@z-51.de>
28430
28431 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
28432
a755bb04
FZ
284332009-11-26 Felix Zielcke <fzielcke@z-51.de>
28434
28435 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28436
8a4c07fd
RM
284372009-11-26 Robert Millan <rmh.grub@aybabtu.com>
28438
28439 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
28440 (grub_mkdevicemap_SOURCES): New variable.
28441 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
28442 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
28443 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
28444 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
28445 (grub_mkdevicemap_SOURCES): Remove.
28446 * conf/i386-efi.rmk: Likewise.
28447 * conf/i386-ieee1275.rmk: Likewise.
28448 * conf/i386-pc.rmk: Likewise.
28449 * conf/powerpc-ieee1275.rmk: Likewise.
28450 * conf/sparc64-ieee1275.rmk: Likewise.
28451 * conf/x86_64-efi.rmk: Likewise.
28452 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
28453 (usage): Fix strings to use `program_name'.
28454 (main): Initialize gettext.
28455 * util/grub-editenv.c: Likewise.
28456 * util/grub-emu.c: Likewise.
28457 * util/grub-fstest.c: Likewise.
28458 * util/grub-mkdevicemap.c: Likewise.
28459 * util/grub-mkfont.c: Likewise.
28460 * util/grub-mkrelpath.c: Likewise.
28461 * util/grub-pe2elf.c: Likewise.
28462 * util/grub-probe.c: Likewise.
28463 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
28464 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
28465 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28466
28467 * util/misc.c: Include `"progname.h"'.
28468 (progname): Remove variable.
28469 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
28470
6f61ed55
FZ
284712009-11-25 Felix Zielcke <fzielcke@z-51.de>
28472
28473 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
28474 printf and print a newline after the menuentry header line.
28475 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28476
f022876b
FZ
284772009-11-25 Felix Zielcke <fzielcke@z-51.de>
28478
28479 autoconf >= 2.60 support $(localedir).
28480
28481 * INSTALL: Note that autoconf 2.60 is required.
28482 * configure.ac (AC_PREREQ): Bump to 2.60.
28483 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
28484 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28485
6717926e
YB
284862009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
28487
28488 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
28489 aclocal is run.
28490
08806a54
RM
284912009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28492
28493 * normal/main.c (grub_normal_read_line): Fix off-by-one
28494 buffer overflow.
28495
13b33fba
RM
284962009-11-25 Robert Millan <rmh.grub@aybabtu.com>
28497
28498 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
28499 "parser.grub" in grub_command_execute() call.
28500
4a8572e9
CPE
285012009-11-24 Carles Pina i Estany <carles@pina.cat>
28502
28503 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
28504 * conf/i386-efi.rmk: Likewise.
28505 * conf/i386-ieee1275.rmk: Likewise.
28506 * conf/i386-pc.rmk: Likewise.
28507 * conf/powerpc-ieee1275.rmk: Likewise.
28508 * conf/sparc64-ieee1275.rmk: Likewise.
28509 * conf/x86_64-efi.rmk: Likewise.
28510 * gettext/gettex.c: Include <grub/i18n.h>.
28511 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
28512 here ...
28513 * include/grub/i18n.h: ... to here
28514 * include/grub/i18n.h: ... to here.
28515 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 28516 (grub_gettext_dummy): Move above user.
4a8572e9 28517
bee48093
FZ
285182009-11-24 Felix Zielcke <fzielcke@z-51.de>
28519
28520 * util/Makefile.in (install-local): Convert a `for' into a normal
28521 shell expansion.
28522
a031e91c
RM
285232009-11-24 Robert Millan <rmh.grub@aybabtu.com>
28524
28525 * autogen.sh: Add automake call.
28526 * config.guess: Remove.
28527 * config.sub: Likewise.
28528 * install-sh: Likewise.
28529
26bec39d
FZ
285302009-11-24 Felix Zielcke <fzielcke@z-51.de>
28531
28532 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
28533
8e2532fd
FZ
285342009-11-24 Felix Zielcke <fzielcke@z-51.de>
28535
28536 * util/Makefile.in (install-local): Convert a make `$(foreach)'
28537 function to a normal shell `for'.
28538
fefa1b7d
FZ
285392009-11-24 Felix Zielcke <fzielcke@z-51.de>
28540
28541 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28542
4501250b
FZ
285432009-11-24 Felix Zielcke <fzielcke@z-51.de>
28544
28545 * util/grub-mkrelpath.c: New file.
28546 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
28547 (grub_mkrelpath_SOURCES): New variable.
28548 * include/grub/util/misc.h: New function prototype.
28549 * util/misc.c (make_system_path_relative_to_its_root): New function.
28550
28551 * util/grub-mkconfig_lib.in (bindir): New variable.
28552 (grub_mkrelpath): Likewise.
28553 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
28554
28555 * util/probe.c (probe): Make the file path relative to its root.
28556 Change a info message to use the GRUB path. Enable again the
28557 check if we can read the file with GRUB facilities.
28558
28559 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
28560 to its root.
28561
11d9778b
FZ
285622009-11-24 Felix Zielcke <fzielcke@z-51.de>
28563
28564 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
28565 platform.
28566
4465287d
FZ
285672009-11-24 Felix Zielcke <fzielcke@z-51.de>
28568
28569 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
28570 strncmp().
28571
62b47f22
FZ
285722009-11-24 Felix Zielcke <fzielcke@z-51.de>
28573
28574 * util/getroot.c (grub_util_is_dmraid): New function.
28575 (grub_util_get_dev_abstraction): Treat dmraid and multipath
28576 devices as normal ones, not as LVM.
28577
1eafb9b9 285782009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
28579
28580 * conf/common.rmk: Add grub-gettext_lib target and updates
28581 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
28582 LDFLAGS.
28583 * gettext/gettext.c: New file. (Reads mo files).
28584 * include/grub/file.h (grub_file_pread): New prototype.
28585 * include/grub/i18n.h (_): New prototype.
28586 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
28587 prototypes.
28588 * kern/misc.c (grub_gettext_dummy): New function.
28589 * normal/menu_text.c: Include <grub/i18n.h>.
28590 * normal/menu_text.c (print_timeout): Gettexttize string.
28591 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
28592 * po/POTFILES: Add `normal/menu_text.c'.
28593 * po/ca.po: Add new translations.
c3ea6bd4
CPE
28594 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
28595 gettext module and defines locale_dir and lang in grub.cfg.
28596 * NEWS: Add gettext support.
28597
0fdb2568
RM
285982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28599
28600 * util/hostdisk.c: Include `<grub/i18n.h>'.
28601 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
28602 (make_device_name): Rewrite using asprintf.
28603 (convert_system_partition_to_system_disk): Replace 0 with NULL.
28604 (find_system_device): If a device is not found, generate one just
28605 by reusing the OS path name.
28606 (read_device_map): Make it permissible for device.map not to exist.
28607
f515aa62
RM
286082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28609
28610 * script/sh/execute.c: Move from here ...
28611 * script/execute.c: ... to here. Update all users.
28612 * script/sh/function.c: Move from here ...
28613 * script/function.c: ... to here. Update all users.
28614 * script/sh/lexer.c: Move from here ...
28615 * script/lexer.c: ... to here. Update all users.
28616 * script/sh/main.c: Move from here ...
28617 * script/main.c: ... to here. Update all users.
28618 * script/sh/parser.y: Move from here ...
28619 * script/parser.y: ... to here. Update all users.
28620 * script/sh/script.c: Move from here ...
28621 * script/script.c: ... to here. Update all users.
28622
f84b481b
RM
286232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28624
28625 * configure.ac: Detect all `emu' platforms. Define
28626 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
28627 --enable-grub-emu logic. Disable include/grub/machine
28628 symlink on `emu' platforms.
28629
28630 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
28631 * gensymlist.sh.in: Likewise.
28632
28633 * include/grub/i386/coreboot/machine.h: Remove file.
28634 * include/grub/i386/efi/machine.h: Likewise.
28635 * include/grub/i386/ieee1275/machine.h: Likewise.
28636 * include/grub/i386/pc/machine.h: Likewise.
28637 * include/grub/i386/qemu/machine.h: Likewise.
28638 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28639 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28640 * include/grub/x86_64/efi/machine.h: Likewise.
28641
28642 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
28643 * commands/halt.c: Likewise.
28644 * commands/reboot.c: Likewise.
28645 * include/grub/autoefi.h: Likewise.
28646 * include/grub/i386/at_keyboard.h: Likewise.
28647 * include/grub/i386/kernel.h: Likewise.
28648 * include/grub/i386/loader.h: Likewise.
28649 * include/grub/i386/pc/memory.h: Likewise.
28650 * kern/dl.c: Likewise.
28651 * kern/i386/coreboot/init.c: Likewise.
28652 * loader/i386/bsd.c: Likewise.
28653 * loader/i386/linux.c: Likewise.
28654 * loader/multiboot_loader.c: Likewise.
28655 * term/i386/pc/serial.c: Likewise.
28656 * term/usb_keyboard.c: Likewise.
28657
28658 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
28659 `<grub/machine/machine.h>'
28660 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
28661 * util/misc.c: Remove `<grub/machine/machine.h>' and
28662 `<grub/machine/time.h>'.
28663
28664 * Makefile.in (enable_grub_emu): Remove variable.
28665 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
28666
28667 * conf/any-emu.rmk: New file.
28668 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
28669 (grub_emu_init.c): Move from here ...
28670 * conf/any-emu.rmk: ... to here.
28671
28672 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
28673 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
28674 * conf/any-emu.rmk: ... to here.
28675
4efeab03
RM
286762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28677
28678 * include/grub/parser.h (grub_parser_register): Document need
28679 of `name' parameter.
28680 * normal/main.c (grub_normal_read_line): Simplify prompt string.
28681 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
28682 "sh" to "grub".
28683
ea1dd8bf
RM
286842009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28685
28686 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
28687 `$(XGETTEXT)'.
28688 * include/grub/i18n.h (N_): New macro.
28689 * util/mkisofs/mkisofs.h: Likewise.
28690 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
28691 around N_().
28692 (usage): Use gettext() to translate help strings when printing them.
28693
0c140626
RM
286942009-11-23 Robert Millan <rmh.grub@aybabtu.com>
28695
28696 Based on patch from Bean
28697 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
28698
28699 * video/efi_fb.c: New file.
28700 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
28701 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
28702 variables.
28703 * conf/x86_64-efi.rmk: Likewise.
28704
87d58298
RM
287052009-11-22 Robert Millan <rmh.grub@aybabtu.com>
28706
28707 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
28708 * util/i386/pc/grub-setup.c: Likewise.
28709
994cc3a3
ST
287102009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
28711
28712 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
28713 <hurd/fs.h>
28714 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
28715 file_get_storage_info to implement grub_guess_root_device.
28716
26a61d6a
FZ
287172009-11-21 Felix Zielcke <fzielcke@z-51.de>
28718
28719 * Makefile.in (target): Use make's builtin $(shell) function
28720 instead of calling directly $(SHELL) to create the locale directories,
28721 inside the $(foreach) function.
28722
74ff1dd5
FZ
287232009-11-21 Felix Zielcke <fzielcke@z-51.de>
28724
28725 * util/grub-mkrescue.in: Print an error and usage if output option
28726 has not been given.
28727
0b787d0e
FZ
287282009-11-21 Felix Zielcke <fzielcke@z-51.de>
28729
28730 Patch from Loïc Minier <loic.minier@ubuntu.com>.
28731 * util/grub.d/30_os-prober.in: Cope with Linux entries where
28732 root and /boot are on different devices.
28733
1164b270
RM
287342009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28735
28736 Fix build for srcdir != objdir.
28737
28738 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
28739 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
28740 $(srcdir).
28741 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
28742 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
28743 reference for input.
28744
13774a2f
RM
287452009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28746
28747 * util/grub-mkrescue.in: Use source directory direcly (without copiing
28748 or hardlinking it). Remove -J option, Joliet is not compatible with
28749 multiple source directories.
28750
efda854e
RM
287512009-11-21 Carles Pina i Estany <carles@pina.cat>
287522009-11-21 Robert Millan <rmh.grub@aybabtu.com>
28753
28754 * util/grub-mkrescue.in: Recognize `--override-directory' option.
28755 (process_input_dir): New function. Process an arbitrary input
28756 directory.
28757 Misc adjustments to support both "override mode" and system-wide mode.
28758
6c09890c
FZ
287592009-11-20 Felix Zielcke <fzielcke@z-51.de>
28760
28761 * configure.ac (UNIFONT_BDF): Rename to ...
28762 (FONT_SOURCE): ... this. Update all users.
28763
a797824f
FZ
287642009-11-20 Felix Zielcke <fzielcke@z-51.de>
28765
28766 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
28767 to the list of unifont files to look for.
28768
cd4f42b0
RM
287692009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28770
28771 Patch from Joe Auricchio <jauricchio@gmail.com>
28772 * commands/minicmd.c (grub_mini_cmd_clear): New function.
28773 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
28774 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
28775
393c783d
FZ
287762009-11-19 Felix Zielcke <fzielcke@z-51.de>
28777
28778 * Makefile.in (install-local): Add a missing backslash.
28779
b2f1e327
FZ
287802009-11-19 Felix Zielcke <fzielcke@z-51.de>
28781
28782 * include/grub/x86_64/io.h: New file.
28783
f577f7a0
RM
287842009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28785
28786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
28787 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
28788 Include `"progname.h"'.
28789 (main): Initialize gettext.
28790 * util/i386/pc/grub-setup.c: Gettexttize.
28791 * util/i386/pc/grub-mkimage.c: Likewise.
28792
28793 * Makefile.in (po/*.po): Redefine as ...
28794 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
28795
3bc7896c
RM
28796 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
28797
c37943b6
RM
287982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
28799
28800 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
28801 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
28802 (program_name): Remove.
28803 (main): Initialize gettext support.
6323f705
RM
28804 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
28805 Include `<libintl.h>'.
28806 (_): New macro.
c37943b6
RM
28807
28808 * util/mkisofs/eltorito.c: Gettexttize.
28809 * util/mkisofs/joliet.c: Likewise.
28810 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
28811 * util/mkisofs/multi.c: Likewise.
28812 * util/mkisofs/rock.c: Likewise.
28813 * util/mkisofs/tree.c: Likewise.
28814 * util/mkisofs/write.c: Likewise.
28815
3bc7896c
RM
28816 * po/POTFILES: Update with new files.
28817
5ce77c6e
RM
288182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28819
28820 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
28821 * util/mkisofs/iso9660.h: Likewise.
28822 * util/mkisofs/joliet.c: Likewise.
28823 * util/mkisofs/mkisofs.c: Likewise.
28824 * util/mkisofs/mkisofs.h: Likewise.
28825 * util/mkisofs/rock.c: Likewise.
28826 * util/mkisofs/tree.c: Likewise.
28827 * util/mkisofs/write.c: Likewise.
28828
28829 * util/mkisofs/eltorito.c (rcsid): Remove.
28830 * util/mkisofs/hash.c: Likewise.
28831 * util/mkisofs/joliet.c: Likewise.
28832 * util/mkisofs/name.c: Likewise.
28833 * util/mkisofs/rock.c: Likewise.
28834 * util/mkisofs/tree.c: Likewise.
28835 * util/mkisofs/write.c: Likewise.
28836
1dabbc77
RM
288372009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28838
28839 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
28840 instead of static allocation.
28841 * util/mkisofs/match.h: Likewise.
28842
633877cb
RM
288432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28844
3bc7896c
RM
28845 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
28846 and `util/grub.d/10_linux.in'.
633877cb
RM
28847 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
28848 translatable Shell files.
28849
af1c0c85
RM
288502009-11-18 Robert Millan <rmh.grub@aybabtu.com>
28851
28852 * Makefile.in ($(srcdir)/aclocal.m4): New target.
28853
769ae37b
RM
288542009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28855
28856 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 28857 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
28858 * util/grub.d/10_kfreebsd.in (bindir): New variable.
28859 Add gettext initialization.
28860 (kfreebsd_entry): Make menuentry output translatable.
28861
288622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28863
28864 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
28865 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
28866 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
28867 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
28868 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 28869 * po/LINGUAS: New file.
769ae37b
RM
28870
288712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28872
28873 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
28874 other things).
28875 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
28876 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
28877 bindtextdomain() calls for gettext initialization.
28878
288792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28880
28881 * gnulib/progname.c: New file (imported from Gnulib).
28882 * gnulib/progname.h: Likewise.
28883 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
28884 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
28885 (usage): Replace `progname' with `program_name'.
28886 (main): Use set_program_name() for program name initialization.
28887
288882009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28889
28890 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
28891 from here ...
28892 * Makefile.in (CPPFLAGS): ... to here.
28893
288942009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28895
28896 * aclocal.m4: Move from here ...
28897 * acinclude.m4: ... to here.
28898 * autogen.sh: Add call to `aclocal'.
28899 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
28900
289012009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28902
28903 * Makefile.in (CLEANFILES): Add `po/*.mo'.
28904 (LINGUAS): New variable.
28905 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
28906 (install-local): Install MO files.
28907 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
28908 * include/grub/i18n.h: New file.
3bc7896c
RM
28909 * po/POTFILES: New file.
28910 * po/ca.po: New file.
769ae37b
RM
28911 * util/grub.d/10_linux.in (bindir): New variable.
28912 Add gettext initialization.
28913 (linux_entry): Make menuentry output translatable.
28914 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
28915 (usage): Make --help output translatable.
28916 (main): Initialize gettext.
28917
02c0a6ad
RM
289182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28919
28920 * import_gcry.py: New file (written by Vladimir with minor
28921 adjustments).
28922 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
28923 ciphers.
28924 * INSTALL: Document that Python is required for bootstrap.
28925
289262009-11-17 Robert Millan <rmh.grub@aybabtu.com>
28927
28928 Import ciphers from libgcrypt 1.4.4.
28929
28930 * lib/libgcrypt/cipher/ChangeLog
28931 * lib/libgcrypt/cipher/ac.c
28932 * lib/libgcrypt/cipher/arcfour.c
28933 * lib/libgcrypt/cipher/bithelp.h
28934 * lib/libgcrypt/cipher/blowfish.c
28935 * lib/libgcrypt/cipher/camellia-glue.c
28936 * lib/libgcrypt/cipher/camellia.c
28937 * lib/libgcrypt/cipher/camellia.h
28938 * lib/libgcrypt/cipher/cast5.c
28939 * lib/libgcrypt/cipher/cipher.c
28940 * lib/libgcrypt/cipher/crc.c
28941 * lib/libgcrypt/cipher/des.c
28942 * lib/libgcrypt/cipher/dsa.c
28943 * lib/libgcrypt/cipher/ecc.c
28944 * lib/libgcrypt/cipher/elgamal.c
28945 * lib/libgcrypt/cipher/hash-common.c
28946 * lib/libgcrypt/cipher/hash-common.h
28947 * lib/libgcrypt/cipher/hmac-tests.c
28948 * lib/libgcrypt/cipher/md.c
28949 * lib/libgcrypt/cipher/md4.c
28950 * lib/libgcrypt/cipher/md5.c
28951 * lib/libgcrypt/cipher/primegen.c
28952 * lib/libgcrypt/cipher/pubkey.c
28953 * lib/libgcrypt/cipher/rfc2268.c
28954 * lib/libgcrypt/cipher/rijndael-tables.h
28955 * lib/libgcrypt/cipher/rijndael.c
28956 * lib/libgcrypt/cipher/rmd.h
28957 * lib/libgcrypt/cipher/rmd160.c
28958 * lib/libgcrypt/cipher/rsa.c
28959 * lib/libgcrypt/cipher/seed.c
28960 * lib/libgcrypt/cipher/serpent.c
28961 * lib/libgcrypt/cipher/sha1.c
28962 * lib/libgcrypt/cipher/sha256.c
28963 * lib/libgcrypt/cipher/sha512.c
28964 * lib/libgcrypt/cipher/tiger.c
28965 * lib/libgcrypt/cipher/twofish.c
28966 * lib/libgcrypt/cipher/whirlpool.c
28967
af2f93ac
RM
289682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28969
28970 Fix build for systems without error().
28971
28972 * gnulib/error.c: New file (imported from Gnulib).
28973 * gnulib/error.h: Likewise.
28974 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
28975 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
28976 (this variable is now used by error()).
28977
73fb3dd5
FZ
289782009-11-16 Felix Zielcke <fzielcke@z-51.de>
28979
814f5e96
FZ
28980 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28981 instead of relying that char is signed.
73fb3dd5 28982
a691ca33
VS
289832009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
28984
28985 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
28986 blocksize different from specified.
28987 (grub_pxefs_read): Likewise.
28988
2af8f0f4
FZ
289892009-11-16 Felix Zielcke <fzielcke@z-51.de>
28990
28991 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
28992
28993 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
28994 (grub_ata_readwrite): Likewise. Update 2 format strings.
28995 (grub_atapi_read): Likewise.
28996
28997 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
28998 * conf/i386.rmk (pkglib_MODULES): ... to here ...
28999 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
29000 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
29001 (ata_mod_LDFLAGS): Move from here ...
29002 * conf/i386.rmk: ... to here ...
29003 * conf/x86_64-efi.rmk: ... and here.
29004 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
29005 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
29006
83bdecaf
RM
290072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
29008
29009 Relicense multiboot.h, with RMS' blessing.
29010
29011 * include/multiboot.h: Change to X11 license.
29012
fd6fd3d7
RM
290132009-11-15 Robert Millan <rmh.grub@aybabtu.com>
29014
29015 Support --version in grub-mkisofs.
29016
29017 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
29018 (OPTION_VERSION): New macro.
29019 (ld_options): Recognize --version.
29020 (usage): Move `program_name' from here ...
29021 (program_name): ... to here. Add `static' qualifier.
29022 (main): Recognize `OPTION_VERSION'.
29023
16a88c49
FZ
290242009-11-15 Felix Zielcke <fzielcke@z-51.de>
29025
29026 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
29027 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
29028
a4158476
RM
290292009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29030
29031 Fix help2man generation for mkisofs.
29032
29033 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
29034 (usage): Send output to stdout (rather than stderr).
29035
fc2208b0
RM
290362009-11-14 Robert Millan <rmh.grub@aybabtu.com>
29037
29038 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
29039 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29040 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
29041 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
29042 (bin_SCRIPTS): Add `grub-mkfloppy'.
29043 (grub_mkfloppy_SOURCES): New variable.
29044
29045 * util/grub-mkrescue.in: New file.
29046 * util/i386/pc/grub-mkfloppy.in: New file.
29047
29048 * util/i386/coreboot/grub-mkrescue.in: Remove.
29049 * util/i386/pc/grub-mkrescue.in: Remove.
29050
8d0edf4a
RM
290512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29052
29053 * include/grub/multiboot.h (struct grub_multiboot_header): Move
29054 from here ...
29055 * include/multiboot.h (struct multiboot_header): ... to here. Update
29056 all users.
29057 * include/grub/multiboot.h (struct grub_multiboot_info): Move
29058 from here ...
29059 * include/multiboot.h (struct multiboot_info): ... to here. Update
29060 all users.
29061 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
29062 from here ...
29063 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
29064 Update all users.
29065 * include/grub/multiboot.h (struct grub_mod_list): Move
29066 from here ...
29067 * include/multiboot.h (struct multiboot_mod_list): ... to here.
29068 Update all users.
29069
a73f5969
RM
290702009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29071
29072 * include/multiboot2.h (multiboot_word): Rename from this ...
29073 (multiboot2_word): ... to this. Update all users.
29074 (multiboot_header): Rename from this ...
29075 (multiboot2_header): ... to this. Update all users.
29076 (multiboot_tag_header): Rename from this ...
29077 (multiboot2_tag_header): ... to this. Update all users.
29078 (multiboot_tag_start): Rename from this ...
29079 (multiboot2_tag_start): ... to this. Update all users.
29080 (multiboot_tag_name): Rename from this ...
29081 (multiboot2_tag_name): ... to this. Update all users.
29082 (multiboot_tag_module): Rename from this ...
29083 (multiboot2_tag_module): ... to this. Update all users.
29084 (multiboot_tag_memory): Rename from this ...
29085 (multiboot2_tag_memory): ... to this. Update all users.
29086 (multiboot_tag_unused): Rename from this ...
29087 (multiboot2_tag_unused): ... to this. Update all users.
29088 (multiboot_tag_end): Rename from this ...
29089 (multiboot2_tag_end): ... to this. Update all users.
29090
1c8927f0
RM
290912009-11-13 Robert Millan <rmh.grub@aybabtu.com>
29092
29093 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
29094 this platform we should support Multiboot1 first.
29095
29096 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29097 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
29098 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
29099
6e1e0d89
RM
291002009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29101
29102 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
29103 of write calls (converting them to fwrite() if they aren't already).
29104 (get_torito_desc): Likewise.
29105 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
29106
7f2b34d8
RM
291072009-11-12 Robert Millan <rmh.grub@aybabtu.com>
29108
29109 * util/i386/pc/grub-install.in: Move from here ...
29110 * util/grub-install.in: ... to here. Update all users.
29111
c0ef3311
CW
291122009-11-11 Colin Watson <cjwatson@ubuntu.com>
29113
29114 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
29115
e1f240ff
RM
291162009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29117
29118 Support for El Torito without floppy emulation.
29119
29120 * util/mkisofs/eltorito.c: Include `<errno.h>'.
29121 (init_boot_catalog): Improve error handling.
29122 (get_torito_desc): Don't use floppy emulation unless requested by
29123 user. Patch boot information table when requested via
29124 `-boot-info-table'.
29125 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
29126 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
29127 (use_boot_info_table): New variables.
29128 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
29129 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
29130 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
29131 `--eltorito-emul-floppy'.
29132 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
29133 and `OPTION_ELTORITO_EMUL_FLOPPY'.
29134 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
29135 (use_boot_info_table, get_731): New prototypes.
29136 * util/mkisofs/write.c (get_731): New function.
29137
af7d4de5
FZ
291382009-11-11 Felix Zielcke <fzielcke@z-51.de>
29139
29140 Fix the generation of the man page.
29141
29142 * util/pc/i386/grub-install.in: Source
29143 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29144
2c55dbc0
RM
291452009-11-11 Robert Millan <rmh.grub@aybabtu.com>
29146
29147 Large file support for grub-mkisofs.
29148
29149 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
29150 * util/mkisofs/mkisofs.c (next_extent, last_extent)
29151 (session_start): Upgrade type to `uint64_t'. Update all users.
29152 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
29153 (struct directory_entry): Upgrade type of `starting_block' and
29154 `size' to `uint64_t'. Update all users.
29155 (struct deferred): Remove unused structure.
29156 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
29157 Update all users.
29158 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
29159 file is larger than `UINT32_MAX'.
29160 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
29161 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
29162 return value.
29163 (struct deferred_write): Upgrade type of `extent' and `size' to
29164 `uint64_t'. Update all users.
29165 (last_extent_written): Upgrade type to `uint64_t'. Update all
29166 users.
29167 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
29168 Update all users. Upgrade type of `remain' to `int64_t' and
29169 `use' to `size_t'. Use error() to handle fread() errors.
29170 (write_files): Rely on write_one_file() rather than calling
29171 xfwrite() directly.
29172
6a9cead5
FZ
291732009-11-09 Felix Zielcke <fzielcke@z-51.de>
29174
29175 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
29176
4825d790
RM
291772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29178
29179 * util/mkisofs/fnmatch.c: Remove.
29180 * util/mkisofs/getopt1.c: Likewise.
29181 * util/mkisofs/getopt.c: Likewise.
29182 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
29183 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
29184 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
29185 `gnulib/getopt1.c' and `gnulib/getopt.c'.
29186 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
29187
29188 * configure.ac: Detect `mingw32msvc' host_os.
29189 Check for lstat(), getuid() and getgid().
29190
29191 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
29192 instances of `u_char' with `uint8_t'.
29193
29194 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
29195 [!HAVE_GETUID] (getuid): New function (stub).
29196 [!HAVE_GETGID] (getgid): Likewise.
29197 [!HAVE_LSTAT] (lstat): Likewise.
29198 [!S_IROTH] (S_IROTH): New macro (dummy).
29199 [!S_IRGRP] (S_IRGRP): Likewise.
29200
84b860d8
RM
292012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29202
29203 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
29204 conditional expression).
29205
66e9b712
RM
292062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29207
29208 Import from Gnulib.
29209
29210 * gnulib/fnmatch.c: New file.
29211 * gnulib/fnmatch.h: Likewise.
29212 * gnulib/fnmatch_loop.c: Likewise.
29213 * gnulib/getopt.c: Likewise.
29214 * gnulib/getopt.h: Likewise.
29215 * gnulib/getopt1.c: Likewise.
29216 * gnulib/getopt_int.h: Likewise.
29217 * gnulib/gettext.h: Likewise.
29218
34f4a5b0
RM
292192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29220
29221 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
29222 * normal/handler.c (read_handler_list): Likewise.
29223
ac451143
RM
292242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29225
29226 Misc cleanup.
29227
29228 * kern/command.c (grub_register_command_prio): Use
29229 grub_zalloc() instead of explicitly zeroing data.
29230 * kern/list.c: Include `<grub/mm.h>'.
29231 (grub_named_list_find): Replace `0' with `NULL'.
29232 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
29233 (fs_module_list): Change type to `grub_named_list_t'. Update all
29234 users.
29235 * normal/dyncmd.c (read_command_list): Add space between function
29236 call and parenthesis.
29237 * normal/handler.c (read_handler_list): Likewise.
29238
4089b167
RM
292392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29240
29241 * normal/auth.c (punishment_delay): Moved from here ...
29242 (grub_auth_strcmp): ... to here (inside function).
29243
325f5037
RM
292442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29245
29246 * include/grub/list.h (struct grub_named_list): Remove `const'
29247 qualifier from `name'.
29248 (struct grub_prio_list): Likewise.
29249
7aea29a3
RM
292502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * normal/auth.c: Include `<grub/time.h>'.
29253 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
29254
3fd6f044
RM
292552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29256
29257 * normal/auth.c (punishment_delay): New variable.
29258 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
29259 (grub_auth_check_authentication): Punish failed login attempts with
29260 an incremental (2^N) delay.
29261
a4cd68e4
RM
292622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29263
29264 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
29265 path with $(srcdir).
29266
7ad12f43
VS
292672009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
29270
c1129f03
RM
292712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
29272
29273 * util/i386/coreboot/grub-mkrescue.in: New file.
29274 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
29275 variables.
29276
29277 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
29278 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
29279 * configure.ac: Add header and function checks to satisfy grub-mkisofs
29280 requirements.
29281 * util/mkisofs/defaults.h: New file.
29282 * util/mkisofs/eltorito.c: Likewise.
29283 * util/mkisofs/exclude.h: Likewise.
29284 * util/mkisofs/fnmatch.c: Likewise.
29285 * util/mkisofs/getopt.c: Likewise.
29286 * util/mkisofs/getopt1.c: Likewise.
29287 * util/mkisofs/hash.c: Likewise.
29288 * util/mkisofs/include/fctldefs.h: Likewise.
29289 * util/mkisofs/include/mconfig.h: Likewise.
29290 * util/mkisofs/include/prototyp.h: Likewise.
29291 * util/mkisofs/include/statdefs.h: Likewise.
29292 * util/mkisofs/iso9660.h: Likewise.
29293 * util/mkisofs/joliet.c: Likewise.
29294 * util/mkisofs/match.c: Likewise.
29295 * util/mkisofs/match.h: Likewise.
29296 * util/mkisofs/mkisofs.c: Likewise.
29297 * util/mkisofs/mkisofs.h: Likewise.
29298 * util/mkisofs/multi.c: Likewise.
29299 * util/mkisofs/name.c: Likewise.
29300 * util/mkisofs/rock.c: Likewise.
29301 * util/mkisofs/tree.c: Likewise.
29302 * util/mkisofs/write.c: Likewise.
29303
ec8bb77d
VS
293042009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
29305
29306 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
29307 being insecure.
29308
3716b12c
RM
293092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29310
29311 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
29312 `grub-mkimage' (and use $0 when possible).
29313
b97b7b91
RM
293142009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29315
29316 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
29317 error message for excessively large memory map.
29318
04114812
RM
293192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
29322 executable bit.
29323
e4eb2373
RM
293242009-11-08 Robert Millan <rmh.grub@aybabtu.com>
29325
29326 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
29327 message for coreboot users.
29328
c926e1d5 293292009-11-07 Robert Millan <rmh.grub@aybabtu.com>
29330
29331 Fix build with GNU gold.
29332
29333 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
29334 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
29335 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
29336 link addresses.
29337 * aclocal.m4: Likewise.
29338
86e5b1db 293392009-11-04 Felix Zielcke <fzielcke@z-51.de>
29340
29341 * configure.ac (AC_PREREQ): Bump to 2.59d.
29342 * INSTALL: Make it more clear when Autoconf and Ruby are
29343 needed and when to run `./autogen.sh'.
29344
246cd78f 293452009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
29346
29347 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
29348 OSes.
29349
4f9dfb37 293502009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29351
29352 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
29353
b82bd5e1 293542009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29355
29356 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
29357 giving it to GNU Mach.
29358
ff1a9bca 293592009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29360
29361 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
29362 GNU partition number to get internal GRUB partition number.
29363
61697d9c 293642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
29365
29366 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
29367 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
29368
a50569e1 293692009-11-01 Robert Millan <rmh.grub@aybabtu.com>
29370
29371 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
29372 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
29373 case.
29374
5b153867 293752009-11-01 Felix Zielcke <fzielcke@z-51.de>
29376
29377 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
29378
d9e2cd70 293792009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29380
29381 Fix build problem.
29382
29383 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
29384 `-isystem=$(srcdir)/include'.
29385
805111a4 293862009-10-30 Robert Millan <rmh.grub@aybabtu.com>
29387
29388 * util/i386/pc/grub-install.in: Remove hint that device.map should be
29389 checked (grub-install doesn't currently rely on it).
29390
fa6e945f 293912009-10-29 Robert Millan <rmh.grub@aybabtu.com>
29392
29393 Revert SVN r2660.
29394
29395 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
29396 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29397 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
29398 * conf/i386-ieee1275.rmk: Likewise.
29399 * conf/i386-pc.rmk: Likewise.
29400 * conf/powerpc-ieee1275.rmk: Likewise.
29401 * conf/sparc64-ieee1275.rmk: Likewise.
29402 * conf/x86_64-efi.rmk: Likewise.
29403
cee15086 294042009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29405
29406 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
29407
95b9239e 294082009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29409
29410 * include/grub/misc.h: Stop checking for APPLE_CC.
29411
2ed19dfd 294122009-10-28 Robert Millan <rmh.grub@aybabtu.com>
29413
29414 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
29415 doesn't cause an infinite call loop.
29416
fdcdde19 294172009-10-28 Felix Zielcke <fzielcke@z-51.de>
29418
29419 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
29420 strings.
29421
cefabfe1 294222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29423
29424 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
29425 variable.
29426 * Makefile.in: Likewise.
29427
ed96ab6d 294282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29429
29430 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
29431
0579b753 294322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29433
29434 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
29435
478df409 294362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29437
29438 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
29439
083d1679 294402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29441
29442 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
29443 from here ...
29444 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
29445
5947ae32 294462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29447
29448 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
29449 in $(MAKEINFO) invocation. This makes it clear in output that
29450 errors are being ignored.
29451
94180ff6 294522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29453
29454 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
29455 from here ...
29456 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
29457 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
29458 * conf/i386-ieee1275.rmk: Likewise.
29459 * conf/i386-pc.rmk: Likewise.
29460 * conf/powerpc-ieee1275.rmk: Likewise.
29461 * conf/sparc64-ieee1275.rmk: Likewise.
29462 * conf/x86_64-efi.rmk: Likewise.
29463
9031b03a 294642009-10-26 Colin Watson <cjwatson@ubuntu.com>
29465
29466 * util/grub-editenv.c (main): If only a command is given, use
29467 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
29468 (usage): FILENAME is now optional and has a default.
29469
e4f6809b 294702009-10-26 Colin Watson <cjwatson@ubuntu.com>
29471
29472 Improve grub-mkconfig performance when there are several menu
29473 entries on a single filesystem.
29474
29475 * util/grub.d/10_linux.in (linux_entry): Cache the output of
29476 prepare_grub_to_access_device.
29477 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29478 * util/grub.d/30_os-prober.in: Likewise.
29479
67937d4d 294802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 * util/grub.d/10_freebsd.in: Remove.
29483 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
29484 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
29485
ee3756cc 294862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
29487
5c35048e 29488 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 29489
4dea1c6f 294902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29491
29492 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
29493 grub_util_error() call.
29494
042484d7 294952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29496
29497 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
29498 `reserved_first_sector' member.
29499 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
29500 `reserved_first_sector' to 1.
29501 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
29502 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
29503 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
29504 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
29505 filesystems which begin at first sector.
29506 (options): New option --skip-fs-probe.
29507 (main): Handle --skip-fs-probe and pass it to setup().
29508
d64448a7 295092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29510
29511 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
29512 (memset): Fix function prototype.
29513
508d42ec 295142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
295152009-10-25 Vasily Averin <vvs@parallels.com>
29516
29517 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
29518 `dirent.direntlen == 0'.
29519
b240e30c 295202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29521
29522 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
29523 `cpio'.
29524 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
29525
346e7fbe 295262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29527
29528 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
29529 `__trampoline_setup' and `__ucmpdi2'.
29530 * include/grub/powerpc/libgcc.h: Only export symbols for functions
29531 that libgcc provides.
29532
cdb308b0 295332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29534
29535 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
29536 * include/grub/sparc64/libgcc.h (memset): Likewise.
29537 * include/grub/misc.h (memset, memcmp): New function prototypes.
29538
fb26abc2 295392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29540
29541 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
29542 `cpio'.
29543 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
29544
f6693890 295452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
29546
29547 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
29548 * docs/grub.cfg: Compensate for recent change in multiboot
29549 loader (since 2009-08-14 it won't pass filename to payload).
29550 * util/grub.d/10_hurd.in: Likewise.
29551
0933cdc0 295522009-10-21 Felix Zielcke <fzielcke@z-51.de>
29553
29554 * config.guess: Update to latest version from config git
29555 repository.
29556 * config.sub: Likewise.
29557
3b2fe8c2 295582009-10-20 Robert Millan <rmh.grub@aybabtu.com>
29559
29560 Fix build on sparc64.
29561
29562 * configure.ac: Perform checks for libgcc symbols before
29563 adding `-nostdlib' to LDFLAGS.
29564
46695a62 295652009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29566
29567 Let user specify OpenBSD root device.
29568
29569 * loader/i386/bsd.c (openbsd_root): New variable.
29570 (openbsd_opts): New option 'root'.
29571 (OPENBSD_ROOT_ARG): New macro.
29572 (grub_openbsd_boot): Use 'openbsd_root'.
29573 (grub_cmd_openbsd): Fill 'openbsd_root'.
29574
d2b6b7fc 295752009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29576
29577 * NEWS: Misc adjustments.
29578
421bd7ac 295792009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
29580
29581 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
29582
f1d29d87 295832009-10-16 Robert Millan <rmh.grub@aybabtu.com>
29584
29585 * configure.ac: Bump version to 1.97.
29586
6f3cd880 295872009-10-16 Colin Watson <cjwatson@ubuntu.com>
29588
29589 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
29590 -mno-3dnow on x86 architectures. Some toolchains enable these
29591 features by default, but they rely on registers that aren't enabled
29592 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
29593
035f7122 295942009-10-15 Robert Millan <rmh.grub@aybabtu.com>
29595
29596 Make entry text a bit more readable.
29597
29598 * util/grub.d/10_linux.in: Add `with' before `Linux'.
29599
44998e58 296002009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29601
29602 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
29603
cd2851b3 296042009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29605
29606 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
29607 operations.
29608
c6f3b249 296092009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29610
29611 * configure.ac: Add missing dollar.
29612
6b5886ba 296132009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
29616
29617 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
29618 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
29619 exports.
29620 * include/grub/sparc64/libgcc.h: Likewise. Use
29621 preprocessor conditionals.
29622
e9d66f6d 296232009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29624
29625 * conf/common.rmk (grub-dumpbios): Remove rule.
29626 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
29627 * util/grub-dumpbios.in: Remove file.
29628
9155bc17 296292009-10-14 Robert Millan <rmh.grub@aybabtu.com>
29630
29631 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
29632 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
29633
29634 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
29635 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
29636 users.
29637
29638 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
29639 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
29640 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
29641 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
29642 users.
29643
bf7f7a18 296442009-10-12 Robert Millan <rmh.grub@aybabtu.com>
29645
29646 * term/tparm.c: Switch to GPLv3.
29647
86564c26 296482009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29649
29650 * include/grub/i386/cpuid.h: Add header protection.
29651
5c936493 296522009-10-09 Robert Millan <rmh.grub@aybabtu.com>
29653
29654 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
29655
29656 * include/grub/i386/cpuid.h: New file.
29657 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
29658 (has_longmode): Rename to ...
29659 (grub_cpuid_has_longmode): ... this. Update all users. Remove
29660 `static' attribute.
29661 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
29662 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
29663 on a CPU that doesn't implement AMD64 instruction set.
29664
186e7cf2 296652009-10-06 Colin Watson <cjwatson@ubuntu.com>
29666
29667 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
29668 that version.texi is rebuilt on version number changes.
29669
83b65c4a 296702009-10-06 Colin Watson <cjwatson@ubuntu.com>
29671
29672 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
29673 Fixes bug #27602.
29674
d244281c 296752009-10-06 Colin Watson <cjwatson@ubuntu.com>
29676
29677 * util/i386/pc/grub-install.in: Source
29678 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
29679 that the --grub-probe option will work.
29680 * util/sparc64/ieee1275/grub-install.in: Likewise.
29681
da25306d 296822009-10-05 Robert Millan <rmh.grub@aybabtu.com>
29683
29684 * configure.ac: Bump version to 1.97~beta4.
29685
e8ee83c0 296862009-10-03 Robert Millan <rmh.grub@aybabtu.com>
29687
29688 Resync grub-mkdevicemap in x86_64-efi.
29689
29690 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
29691 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
29692 `util/devicemap.c'.
29693
50dcabcf 296942009-10-01 Colin Watson <cjwatson@ubuntu.com>
29695
29696 * util/grub-editenv.c (create_envblk_file): Write new block with a
29697 .new suffix and then rename it into place, to ensure atomic
29698 creation.
29699
0e51c3a7 297002009-09-28 Robert Millan <rmh.grub@aybabtu.com>
29701
29702 Do not automatically install headers.
29703
29704 * Makefile.in (include_DATA): Remove. Update all users.
29705
31299a95 297062009-09-26 Robert Millan <rmh.grub@aybabtu.com>
29707
29708 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
29709 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
29710
29711 * util/osdetect.lua: Remove.
29712 * script/lua/lauxlib.c: Likewise.
29713 * script/lua/ldebug.c: Likewise.
29714 * script/lua/grub_main.c: Likewise.
29715 * script/lua/lauxlib.h: Likewise.
29716 * script/lua/ldebug.h: Likewise.
29717 * script/lua/ltablib.c: Likewise.
29718 * script/lua/liolib.c: Likewise.
29719 * script/lua/lstrlib.c: Likewise.
29720 * script/lua/lualib.h: Likewise.
29721 * script/lua/ldo.c: Likewise.
29722 * script/lua/ldump.c: Likewise.
29723 * script/lua/ldo.h: Likewise.
29724 * script/lua/loslib.c: Likewise.
29725 * script/lua/lundump.c: Likewise.
29726 * script/lua/grub_lib.c: Likewise.
29727 * script/lua/ldblib.c: Likewise.
29728 * script/lua/lundump.h: Likewise.
29729 * script/lua/lmem.c: Likewise.
29730 * script/lua/grub_lib.h: Likewise.
29731 * script/lua/lmathlib.c: Likewise.
29732 * script/lua/lstate.c: Likewise.
29733 * script/lua/ltm.c: Likewise.
29734 * script/lua/lvm.c: Likewise.
29735 * script/lua/lmem.h: Likewise.
29736 * script/lua/lstate.h: Likewise.
29737 * script/lua/ltm.h: Likewise.
29738 * script/lua/ltable.c: Likewise.
29739 * script/lua/lvm.h: Likewise.
29740 * script/lua/llex.c: Likewise.
29741 * script/lua/lgc.c: Likewise.
29742 * script/lua/grub_lua.h: Likewise.
29743 * script/lua/loadlib.c: Likewise.
29744 * script/lua/lfunc.c: Likewise.
29745 * script/lua/lopcodes.c: Likewise.
29746 * script/lua/lparser.c: Likewise.
29747 * script/lua/ltable.h: Likewise.
29748 * script/lua/llex.h: Likewise.
29749 * script/lua/lgc.h: Likewise.
29750 * script/lua/lfunc.h: Likewise.
29751 * script/lua/lbaselib.c: Likewise.
29752 * script/lua/lopcodes.h: Likewise.
29753 * script/lua/lparser.h: Likewise.
29754 * script/lua/lzio.c: Likewise.
29755 * script/lua/linit.c: Likewise.
29756 * script/lua/lobject.c: Likewise.
29757 * script/lua/llimits.h: Likewise.
29758 * script/lua/lstring.c: Likewise.
29759 * script/lua/lzio.h: Likewise.
29760 * script/lua/lapi.c: Likewise.
29761 * script/lua/lcode.c: Likewise.
29762 * script/lua/lua.h: Likewise.
29763 * script/lua/lobject.h: Likewise.
29764 * script/lua/lstring.h: Likewise.
29765 * script/lua/lapi.h: Likewise.
29766 * script/lua/lcode.h: Likewise.
29767 * script/lua/luaconf.h: Likewise.
29768
cb8a2c38 297692009-09-26 Colin Watson <cjwatson@ubuntu.com>
29770
29771 * docs/grub.texi (Command-line and menu entry commands): Document
29772 date and echo commands.
29773
6b9b6276 297742009-09-24 Pavel Roskin <proski@gnu.org>
29775
29776 * include/grub/kernel.h (struct grub_module_header): Remove
29777 `grub_module_header_types'. Make `type' unsigned. Make `size'
29778 32-bit on all platforms.
29779 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
29780 8-bit field. Use grub_host_to_target32() for `size'.
29781 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
29782 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
29783 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
29784
4e5a02a7 297852009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29786
29787 Fix "lost keypress" bug in at_keyboard.
29788
29789 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
29790 Checks for readyness of input buffer (without flushing it).
29791 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
29792 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
29793
c6dcedf6 297942009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29795
29796 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
29797 size check within GRUB_MACHINE_PCBIOS section.
29798
74c958b1 297992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
29800
29801 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
29802 return value.
29803 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
29804 KEYBOARD_ISREADY check.
29805 (grub_at_keyboard_checkkey): Rename to ...
29806 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
29807 Remove gratuitous cast.
29808
ff420223 298092009-09-23 Colin Watson <cjwatson@ubuntu.com>
29810
29811 * configure.ac: Call AC_PROG_MKDIR_P.
29812 * Makefile.in (docs/stamp-vti): Create docs directory. Create
29813 version.texi in $(builddir) rather than $(srcdir).
29814 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
29815 to makeinfo's @include search path.
29816
d96875df 298172009-09-23 Felix Zielcke <fzielcke@z-51.de>
29818
29819 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
29820
9b3f8365 298212009-09-23 Felix Zielcke <fzielcke@z-51.de>
29822
29823 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
29824 for `*.dpkg-new'.
29825
c44c90db 298262009-09-21 Colin Watson <cjwatson@ubuntu.com>
29827
29828 Build info documentation. Some code borrowed from Automake.
29829
29830 * configure.ac: Check for makeinfo.
29831 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
29832 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
29833 docs/version.texi.
29834 (MOSTLYCLEANFILES): Add vti.tmp.
29835 (docs/version.texi, docs/stamp-vti): Update automatically.
29836 (docs/grub.info): Build info documentation. Use --force and ignore
29837 errors for now.
29838 (all-local): Add $(INFOS).
29839 (install-local): Install info files.
29840 (uninstall): Uninstall info files.
29841 * docs/version.texi: Remove from revision control. This file is
29842 automatically generated on build now.
29843 * gendistlist.sh: Add `*.info'.
29844
e0b37bb5 298452009-09-21 Felix Zielcke <fzielcke@z-51.de>
29846
29847 * kern/term.c: Fix indentation.
29848
5a78865b 298492009-09-21 Felix Zielcke <fzielcke@z-51.de>
29850
29851 * util/hostdisk.c: Fix a comment.
29852
dace7e8a 298532009-09-20 Robert Millan <rmh.grub@aybabtu.com>
29854
29855 Fix regression introduced in r2539.
29856
29857 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
29858 to 0xA1.
29859
a83d079b 298602009-09-19 Colin Watson <cjwatson@ubuntu.com>
29861
29862 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 29863 os-prober. Under normal operation, it does not print anything to
29864 stderr; if it does, we need to debug it, and throwing away stderr
29865 makes that excessively difficult.
a83d079b 29866
be94a509 298672009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
29868
29869 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
29870
63f745e8 298712009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29872
29873 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
29874 AC_LANG_PROGRAM from autoconf.
29875 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
29876 prototypes (fixes warning).
29877
29878 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
29879 `--disable-werror' was used.
29880
bbb2a70f 298812009-09-16 Robert Millan <rmh.grub@aybabtu.com>
29882
29883 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
29884 uninitialized `lastaddr'.
29885
77c24f1d 298862009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
29887
0f0b8c87 29888 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 29889
07197f23 298902009-09-14 Colin Watson <cjwatson@ubuntu.com>
29891
29892 * commands/test.c (get_fileinfo): Return immediately if
29893 grub_fs_probe fails.
29894
dabf1798 298952009-09-14 José Martínez <xosemp@gmail.com>
29896
29897 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
29898
d52109a7 298992009-09-14 Colin Watson <cjwatson@ubuntu.com>
29900
29901 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
29902 output.
29903
56532179 299042009-09-13 Robert Millan <rmh.grub@aybabtu.com>
29905
29906 * configure.ac: Remove --enable-grub-pe2elf. Only build
29907 grub-pe2elf when needed by the build system itself.
29908 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
29909
8ef070f5 299102009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29911
29912 * configure.ac: Bump version to 1.97~beta3.
29913 * docs/version.texi: Likewise.
29914
61229557 299152009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29916
29917 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
29918 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
29919 from here ...
29920 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
29921 (grub_linux_setup_video): ... to here (with some adjustments).
29922
5c9f8d84 299232009-09-12 Robert Millan <rmh.grub@aybabtu.com>
29924
29925 Fix memory corruption issue (spotted by Colin Watson).
29926
29927 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
29928 causing returned size to be stored in an incorrect memory location.
29929 Fix use of uninitialized value when storing the returned size.
29930
e8f5d6e9 299312009-09-12 Yves Blusseau <blusseau@zetam.org>
29932
29933 Change clean rules to properly remove files
29934
29935 * genmk.rb: add new clean rules
29936 * Makefile.in (clean): add the new targets
29937 (mostlyclean): likewise
29938
cda2a409 299392009-09-11 Colin Watson <cjwatson@ubuntu.com>
29940
29941 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
29942 to grub_uint64_t.
29943 * fs/ntfs.c (init_file): Understand 64-bit sizes for
29944 non-resident files.
29945
86695375 299462009-09-11 Colin Watson <cjwatson@ubuntu.com>
29947
29948 * configure.ac: Don't look for help2man when cross-compiling. Fixes
29949 part of bug #27349.
29950
8aa1541a 299512009-09-10 Felix Zielcke <fzielcke@z-51.de>
29952
29953 * util/grub-mkconfig.in: Make the created config mode 400 and
29954 print a warning if it fails.
29955
48d9bb0a 299562009-09-10 Robert Millan <rmh.grub@aybabtu.com>
29957
29958 * util/grub.d/40_custom.in: Ask user to type custom entries below
29959 comment, rather than below 'exec tail' line.
29960
3b0521be 299612009-09-10 Colin Watson <cjwatson@ubuntu.com>
29962
29963 * util/grub.d/40_custom.in: Make sure that the explanatory text is
29964 visible in grub.cfg.
29965
50051d55 299662009-09-10 Colin Watson <cjwatson@ubuntu.com>
29967
29968 * util/grub.d/40_custom.in: Make it a little clearer how to use this
29969 file.
29970
c0d34387 299712009-09-10 Felix Zielcke <fzielcke@z-51.de>
29972
29973 * docs/grub.cfg: Add an example menu entry for memtest86+.
29974
80a608f3 299752009-09-09 Felix Zielcke <fzielcke@z-51.de>
29976
a2094832 29977 * config.guess: Update to latest version from config git.
80a608f3 29978 * config.sub: Likewise.
29979
99423078 299802009-09-08 Colin Watson <cjwatson@ubuntu.com>
29981
29982 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
29983 unknown-command case. Fixes bug #27320.
29984
44454e4c 299852009-09-08 Felix Zielcke <fzielcke@z-51.de>
29986
29987 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
29988 `help' if the command exists.
29989
e30d87ad 299902009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29991
29992 * INSTALL: Require GCC 4.1.3 or later.
29993
9a86f1ec 299942009-09-06 Yves Blusseau <blusseau@zetam.org>
29995
29996 * Makefile.in (RMKFILES): add i386-qemu.rmk
29997 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
29998 $(srcdir)/stamp-h.in
29999
7f26d466 300002009-09-05 Robert Millan <rmh.grub@aybabtu.com>
30001
30002 * util/grub-probe.c (probe): Comment out buggy codepath, which
30003 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
30004 should be re-enabled after 1.97.
30005
3a613259 300062009-09-05 Felix Zielcke <fzielcke@z-51.de>
30007
30008 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
30009 find searches for.
30010
197f76c7 300112009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
30012
30013 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
30014 unnecessary calls to grub_error.
30015
70ba68ce 300162009-09-04 Colin Watson <cjwatson@ubuntu.com>
30017
30018 * NEWS: Mention `keystatus' and Unicode fonts.
30019
4ff0d7a4 300202009-09-04 Robert Millan <rmh.grub@aybabtu.com>
30021
30022 * configure.ac: Bump version to 1.97~beta2.
30023 * docs/version.texi: Likewise.
30024
77c55a87 300252009-09-03 Colin Watson <cjwatson@ubuntu.com>
30026
30027 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
30028 containing unwind information in some cases where it previously did
30029 not. Use -fno-dwarf2-cfi-asm if available to restore the old
30030 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
30031 discussion.
30032
f79572cd 300332009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
30034
30035 Embedding loadenv module into grub-emu
30036
30037 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
30038 commands/loadenv.c
30039 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
30040 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
30041 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
30042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
30043 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
30044 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
30045
93a81088 300462009-09-03 Magnus Granberg <zorry@ume.nu>
30047
30048 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
30049 include -fPIE in the default specs.
30050 * configure.ac: Check if pie_possible is yes and add -fno-PIE
30051 to TARGET_CFLAGS.
30052
160034b2 300532009-09-03 Felix Zielcke <fzielcke@z-51.de>
30054
30055 * INSTALL: Note that GNU Bison 2.3 or later is required.
30056
087c07c4 300572009-09-03 Colin Watson <cjwatson@ubuntu.com>
30058
30059 * kern/i386/pc/startup.S: Fix typo.
30060
cbf978c0 300612009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
30062
30063 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
30064 according to GCS.
30065
300662009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 30067
30068 * docs/grub.texi (Naming convention): Describe one-based partition
30069 numbering.
30070 (Device syntax): Likewise.
30071 (File name syntax): Likewise.
30072 (Block list syntax): Likewise.
30073 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
30074 menu.lst.
30075 (File name syntax): Likewise.
30076 (Command-line and menu entry commands): Document acpi, blocklist,
30077 crc, export, insmod, keystatus, ls, set, and unset commands.
30078
f3e8cdfd 300792009-09-02 Colin Watson <cjwatson@ubuntu.com>
30080
30081 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
30082 to avoid implying that only one of --shift, --ctrl, or --alt may be
30083 used.
30084
c0bc232b 300852009-09-02 Colin Watson <cjwatson@ubuntu.com>
30086
30087 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
30088 rather than comparing against S_IFREG, which will almost never work.
30089
aa0f752d 300902009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
30091
30092 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
30093 (write_blocklists): Likewise.
30094
ecb3166a 300952009-09-01 Colin Watson <cjwatson@ubuntu.com>
30096
30097 * script/lua/grub_lua.h (fputs): Supply a format string as the first
30098 argument to grub_printf.
30099
c403a125 301002009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 30101
30102 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 30103 non GNU test.
31aba781 30104
b5e7312c 301052009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30106
30107 * kern/file.c (grub_file_read): Spelling fix
30108
fe00f472 301092009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
30110
30111 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
30112 loading of headers in some cases.
30113
cc55302e 301142009-08-30 Robert Millan <rmh.grub@aybabtu.com>
30115
30116 * configure.ac: Bump version to 1.97~beta1.
30117 * docs/version.texi: Likewise.
30118
5c90cdd2 301192009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 30120
30121 * include/grub/i386/xnu.h: Add license header.
30122 include grub/err.h explicitly.
30123
c90edae4 301242009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30125
30126 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
30127 to `ufs' in the vfs.root.mountfrom kernel parameter.
30128
d8888b5c 301292009-08-29 Robert Millan <rmh.grub@aybabtu.com>
30130
30131 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
30132
30133 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
30134 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
30135
30136 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
30137 `ARRAY_SIZE' macro.
30138
6f07b921 301392009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30140
30141 * kern/file.c (grub_file_read): Check offset.
30142 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
30143 * fs/jfs.c (grub_jfs_read_file): Likewise.
30144 * fs/ntfs.c (grub_ntfs_read): Likewise.
30145 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
30146 * fs/minix.c (grub_minix_read_file): Correct offset check.
30147 * fs/ufs.c (grub_ufs_read_file): Likewise.
30148
b4f34077 301492009-08-28 Colin Watson <cjwatson@ubuntu.com>
30150
30151 * term/i386/pc/console.c (bios_data_area): Cast
30152 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
30153
e7c69859 301542009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30155
30156 1-bit optimised blitters.
30157
30158 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
30159 prototype.
30160 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30161 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30162 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30163 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30164 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30165 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30166 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
30167 function.
30168 (grub_video_fbblit_replace_24bit_1bit): Likewise.
30169 (grub_video_fbblit_replace_16bit_1bit): Likewise.
30170 (grub_video_fbblit_replace_8bit_1bit): Likewise.
30171 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
30172 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
30173 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
30174 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
30175 when possible.
30176 * video/video.c (grub_video_get_blit_format): Return
30177 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
30178
a57da43f 301792009-08-28 Colin Watson <cjwatson@ubuntu.com>
30180
30181 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
30182 the first argument to grub_printf.
30183
4cbe67e5 301842009-08-28 Colin Watson <cjwatson@ubuntu.com>
301852009-08-28 Robert Millan <rmh.grub@aybabtu.com>
30186
30187 Add `getkeystatus' terminal method. Add a new `keystatus' command
30188 to query it.
30189
30190 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
30191 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
30192 modifier key bitmasks.
30193 (struct grub_term_input): Add `getkeystatus' member.
30194 (grub_getkeystatus): Add prototype.
30195 * kern/term.c (grub_getkeystatus): New function.
30196
30197 * include/grub/i386/pc/memory.h
30198 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
30199 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
30200 Data Area layout.
30201 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
30202 (grub_console_term_input): Set `getkeystatus' member.
30203 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
30204 constants.
30205 (grub_usb_keyboard_getreport): Likewise.
30206 (grub_usb_keyboard_checkkey): Likewise.
30207 (grub_usb_keyboard_getkeystatus): New function.
30208 (grub_usb_keyboard_term): Set `getkeystatus' member.
30209
30210 * commands/keystatus.c: New file.
30211 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
30212 (keystatus_mod_SOURCES): New variable.
30213 (keystatus_mod_CFLAGS): Likewise.
30214 (keystatus_mod_LDFLAGS): Likewise.
30215 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
30216 commands/keystatus.c.
30217 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30218 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30219 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30222 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 30223
6e2a9085 302242009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
30225
30226 Split befs.mod and afs.mod into *_be.mod and *.mod
30227
30228 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
30229 (grub_fstest_SOURCES): Likewise.
30230 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
30231 (afs_be_mod_SOURCES): New variable.
30232 (afs_be_mod_CFLAGS): Likewise.
30233 (afs_be_mod_LDFLAGS): Likewise.
30234 (befs_be_mod_SOURCES): Likewise.
30235 (befs_be_mod_CFLAGS): Likewise.
30236 (befs_be_mod_LDFLAGS): Likewise.
30237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
30238 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30239 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30240 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30241 (grub_emu_SOURCES): Likewise.
30242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30243 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30244 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30245 * fs/afs_be.c: New file.
30246 * fs/befs_be.c: New file.
30247 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
30248 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
30249 (U16): Replaced with ...
30250 (grub_afs_to_cpu16): ...this. All users updated.
30251 (U32): Replaced with ...
30252 (grub_afs_to_cpu32): ...this. All users updated.
30253 (U64): Replaced with ...
30254 (grub_afs_to_cpu64): ...this. All users updated.
30255 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
30256 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 30257 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 30258 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30259 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30260 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30261 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30262 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
30263 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
30264 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
30265 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
30266
32a71655 302672009-08-26 Bean <bean123ch@gmail.com>
30268
30269 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
30270 64-bit number.
30271 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
30272 (grub_xfs_inode_block): Change return type to grub_uint64_t.
30273 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
30274
552bf6c5 302752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30276
30277 NetBSD memory map support.
30278
30279 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
30280 (grub_netbsd_btinfo_mmap_header): New structure.
30281 (grub_netbsd_btinfo_mmap_entry): Likewise.
30282 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
30283
1ae2078c 302842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30285
30286 Enable bsd.mod on coreboot.
30287
30288 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
30289 (bsd_mod_SOURCES): New variable.
30290 (bsd_mod_CFLAGS): Likewise.
30291 (bsd_mod_LDFLAGS): Likewise.
30292 (bsd_mod_ASFLAGS): Likewise.
30293 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
30294 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
30295
beefc598 302962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30297
30298 Cleanup NetBSD root support.
30299
30300 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
30301 grub_bsd_get_device.
30302 Fix typo.
30303
3b76e68b 303042009-08-25 Felix Zielcke <fzielcke@z-51.de>
30305
30306 * util/grub.d/00_header.in: Move check for the video backend of
30307 gfxterm from here ...
30308 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
30309 a suitable video backend.
30310
aea664ea 303112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30312
30313 Fix breakage in grub-setup.
30314
30315 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
30316 "msdos_partition_map".
30317
ff747d50 303182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30319
30320 Fix breakage in normal/auth.c.
30321
30322 * normal/auth.c (grub_iswordseparator): New function.
30323
e7e1f93f 303242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
30325
30326 Authentication support.
30327
30328 * commands/password.c: New file.
30329 * conf/common.rmk (pkglib_MODULES): Add password.mod.
30330 (password_mod_SOURCES): New variable.
30331 (password_mod_CFLAGS): Likewise.
30332 (password_mod_LDFLAGS): Likewise.
30333 (normal_mod_SOURCES): Add normal/auth.c.
30334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
30335 normal/auth.c.
30336 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30337 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30338 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30341 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30342 * include/grub/auth.h: New file.
30343 * include/grub/err.h (grub_err_t): New enum value
30344 GRUB_ERR_ACCESS_DENIED.
30345 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
30346 'users'.
30347 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
30348 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
30349 users updated.
30350 * normal/auth.c: New file.
30351 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
30352 (grub_cmdline_run): Don't allow to go to command line without
30353 authentication.
30354 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
30355 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
30356 menuentry without superuser rights.
30357 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
30358 user isn't a superuser.
30359
70f1161d 303602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30361
30362 Save space by inlining misc.c functions.
30363
30364 * kern/misc.c (grub_iswordseparator): Made static.
30365 * kern/misc.c (grub_strcat): Moved from here ...
30366 * include/grub/misc.h (grub_strcat): ... here. Inlined.
30367 * kern/misc.c (grub_strncat): Moved from here ...
30368 * include/grub/misc.h (grub_strncat): ... here. Inlined.
30369 * kern/misc.c (grub_strcasecmp): Moved from here ...
30370 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
30371 * kern/misc.c (grub_strncasecmp): Moved from here ...
30372 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
30373 * kern/misc.c (grub_isalpha): Moved from here ...
30374 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
30375 * kern/misc.c (grub_isdigit): Moved from here ...
30376 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
30377 * kern/misc.c (grub_isgraph): Moved from here ...
30378 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
30379 * kern/misc.c (grub_tolower): Moved from here ...
30380 * include/grub/misc.h (grub_tolower): ... here. Inlined.
30381
48e40bff 303822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30383
30384 * script/sh/function.c (grub_script_function_find): Cut error message
30385 not to flood terminal.
30386 * script/sh/lexer.c (grub_script_yylex): Remove command line length
30387 limit.
30388 * script/sh/script.c (grub_script_arg_add): Duplicate string.
30389
c385bfc3 303902009-08-24 Colin Watson <cjwatson@ubuntu.com>
30391
30392 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
30393 `report' grub_uint8_t *.
30394 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
30395 Use a 50-millisecond timeout rather than just repeating
30396 grub_usb_keyboard_getreport 50 times.
30397 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
30398
2d21e3e8 303992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30400
30401 Rename *_partition_map to part_*
30402
30403 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
30404 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
30405 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
30406 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
30407 All users updated.
30408 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
30409 All users updated.
30410 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
30411 * util/grub-probe.c (probe_partmap): Don't transform partition name
30412 to get module name.
30413
dd103c4e 304142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30415
30416 Fix OpenBSD and NetBSD support.
30417
30418 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
30419 memory address conflict.
30420 (OPENBSD_MMAP_ACPI): New definition.
30421 (OPENBSD_MMAP_NVS): Likewise.
30422 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
30423 and OPENBSD_MMAP_NVS.
30424 Add memory map terminator
30425 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 30426 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 30427
16c84d74 304282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30429
30430 Let user specify NetBSD root device.
30431
30432 * loader/i386/bsd.c (netbsd_root): New variable.
30433 (netbsd_opts): New option 'root'.
30434 (NETBSD_ROOT_ARG): New macro.
30435 (grub_netbsd_boot): Use 'netbsd_root'.
30436 (grub_bsd_unload): Free 'netbsd_root'.
30437 (grub_cmd_netbsd): Fill 'netbsd_root'.
30438
adb29902 304392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30440
30441 Support for 64-bit NetBSD.
30442
30443 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
30444 point when booting non-FreeBSD.
30445
f5ae9f74 304462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
30447
30448 Support --no-smp and --no-acpi for NetBSD.
30449
30450 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
30451 (NETBSD_AB_NOACPI): Likewise.
30452 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
30453 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
30454
de74f136 304552009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30456
30457 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
30458 errors.
30459 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
30460 errors. Call grub_error when needed.
30461
e9a925da 304622009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30463
30464 * commands/search.c (search_fs): Try searching without autoload first.
30465 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
30466 filesystem module explicitly for faster booting.
30467
5174302b 304682009-08-23 Colin Watson <cjwatson@ubuntu.com>
30469
30470 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
30471
c8c80635 304722009-08-23 Colin Watson <cjwatson@ubuntu.com>
30473
30474 * util/grub.d/30_os-prober.in: Disable os-prober if
30475 `GRUB_DISABLE_OS_PROBER' was set to true.
30476
71acf5e5 304772009-08-23 Robert Millan <rmh.grub@aybabtu.com>
30478
30479 * partmap/pc.c: Rename to ...
30480 * partmap/msdos.c: ... this. Update all users.
30481 (grub_pc_partition_map): Rename to ...
30482 (grub_msdos_partition_map): ... this. Update all users.
30483
30484 * parttool/pcpart.c: Rename to ...
30485 * parttool/msdospart.c: ... this. Update all users.
30486
30487 * include/grub/pc_partition.h: Rename to ...
30488 * include/grub/msdos_partition.h: ... this. Update all users.
30489 (grub_pc_partition_bsd_entry): Rename to ...
30490 (grub_msdos_partition_bsd_entry): ... this. Update all users.
30491 (grub_pc_partition_disk_label): Rename to ...
30492 (grub_msdos_partition_disk_label): ... this. Update all users.
30493 (grub_pc_partition_entry): Rename to ...
30494 (grub_msdos_partition_entry): ... this. Update all users.
30495 (grub_pc_partition_mbr): Rename to ...
30496 (grub_msdos_partition_mbr): ... this. Update all users.
30497 (grub_pc_partition): Rename to ...
30498 (grub_msdos_partition): ... this. Update all users.
30499 (grub_pc_partition_is_empty): Rename to ...
30500 (grub_msdos_partition_is_empty): ... this. Update all users.
30501 (grub_pc_partition_is_extended): Rename to ...
30502 (grub_msdos_partition_is_extended): ... this. Update all users.
30503 (grub_pc_partition_is_bsd): Rename to ...
30504 (grub_msdos_partition_is_bsd): ... this. Update all users.
30505
30506 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
30507 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
30508 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
30509 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
30510 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
30511 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
30512 (gpt_mod_LDFLAGS): Rename to ...
30513 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
30514 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
30515 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
30516 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
30517 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
30518 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
30519 (part_gpt_mod_LDFLAGS): ... this.
30520 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
30521 `pcpart.mod' to `msdospart.mod'.
30522 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
30523 to ...
30524 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
30525 (msdospart_mod_LDFLAGS): ... this.
30526
c11fded5 305272009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
30528
30529 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
30530 (openbsd_opts): Likewise.
30531 (netbsd_opts): Likewise.
30532 (freebsd_flags): Added 0 terminator.
30533 (openbsd_flags): Likewise.
30534 (netbsd_flags): Likewise.
30535 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
30536 (grub_cmd_freebsd): Transformed into extended command.
30537 (grub_cmd_openbsd): Likewise.
30538 (grub_cmd_netbsd): Likewise.
30539 (cmd_freebsd): Changed type to grub_extcmd_t.
30540 (cmd_openbsd): Likewise.
30541 (cmd_netbsd): Likewise.
30542 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
30543 grub_cmd_openbsd as extended commands.
30544 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
30545 cmd_netbsd and cmd_openbsd
30546
11d1c769 305472009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
30548
30549 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
30550
7a9094e5 305512009-08-21 Pavel Roskin <proski@gnu.org>
30552
5496c37e 30553 * Makefile.in (install-local): When checking if a file is in the
30554 build directory, use "test -e" to detect symlinks.
30555
7a9094e5 30556 * Makefile.in (install-local): Remove all files in
30557 $(DESTDIR)$(pkglibdir) before installing new files there.
30558
e53cea11 305592009-08-18 Felix Zielcke <fzielcke@z-51.de>
30560
30561 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
30562 grub-mkelfimage.
30563
9aced544 305642009-08-18 Felix Zielcke <fzielcke@z-51.de>
30565
30566 * util/grub-mkconfig.in: Don't use gfxterm by default if not
30567 explicitly specified by the user.
30568
b7da6bab 305692009-08-18 Pavel Roskin <proski@gnu.org>
30570
30571 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
30572 grub_uint8_t pointer for data.
30573 * include/grub/fbutil.h (struct grub_video_fbblit_info):
30574 Likewise.
30575 * video/fb/fbutil.c: Remove unnecessary casts.
30576
19f1b335 305772009-08-17 Michal Suchanek <hramrach@centrum.cz>
30578
30579 VBE cleanup.
30580
30581 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
30582 (grub_vbe_set_video_mode): Save active mode info
30583 only after setting the mode.
30584 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
30585 second argument.
30586
2f467aa9 305872009-08-17 Michal Suchanek <hramrach@centrum.cz>
30588
30589 Rename variables for clarity.
30590
30591 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
30592 (active_vbe_mode_info): ... this. All users updated.
30593 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
30594 All users updated.
30595 (initial_mode): Rename to ...
30596 (initial_vbe_mode): ... this. All users updated.
30597 (mode_in_use): Rename to ..
30598 (vbe_mode_in_use): ... this. All users updated.
30599 (mode_list): Rename to ..
30600 (vbe_mode_list): ... this. All users updated.
30601 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
30602 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
30603 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
30604 'mode_list_size' to 'vbe_mode_list_size'.
30605 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
30606 'best_mode_info' to 'best_vbe_mode_info' and
30607 'best_mode' to 'best_vbe_mode'
30608
6025fcd7 306092009-08-17 Michal Suchanek <hramrach@centrum.cz>
30610
30611 Remove duplicate grub_video_fb_get_video_ptr.
30612
30613 * include/grub/fbutil.h (get_data_ptr): Rename to ...
30614 (grub_video_fb_get_video_ptr): ... this.
30615 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
30616 * video/fb/fbutil.c: Add comment about addressing.
30617 (get_data_ptr): Rename to ...
30618 (grub_video_fb_get_video_ptr): ... this. All users updated.
30619 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
30620
cc8c6faf 306212009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30622
30623 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
30624 grub_dprintf() that was just added.
30625
08aa61f0 306262009-08-17 Robert Millan <rmh.grub@aybabtu.com>
30627
30628 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
30629 (DEFAULT_VIDEO_MODE): Remove macros.
30630 (grub_linux_boot): Remove assumption that Linux has FB support,
30631 and use "text" as default video mode.
30632
7cef4f75 306332009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
30634
30635 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
30636 grub_dprintf.
30637 * fs/fat.c (grub_fat_read_data): Likewise.
30638
e1f39873 306392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30640
30641 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
30642 payload.
30643 (grub_module): Likewise.
30644
c166d79e 306452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30646
30647 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
30648 mbi->cmdline but free playground.
30649
c60cee8e 306502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30651
30652 Handle group offset on UFS1.
30653
30654 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
30655 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
30656
c0d8b5d4 306572009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30658
30659 Split ufs.mod into ufs1.mod and ufs2.mod.
30660
30661 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
30662 (grub_fstest_SOURCES): Likewise.
30663 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
30664 (ufs_mod_SOURCES): Remove.
30665 (ufs_mod_CFLAGS): Likewise.
30666 (ufs_mod_LDFLAGS): Likewise.
30667 (ufs1_mod_SOURCES): New variable.
30668 (ufs1_mod_CFLAGS): Likewise.
30669 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 30670 (ufs2_mod_SOURCES): New variable.
30671 (ufs2_mod_CFLAGS): Likewise.
30672 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 30673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
30674 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30675 Likewise.
30676 (grub_emu_SOURCES): Likewise.
30677 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30678 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30679 (grub_setup_SOURCES): Likewise.
30680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30681 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
30682 (grub_setup_SOURCES): Likewise.
30683 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
30684 Likewise.
30685 * fs/ufs2.c: New file.
30686 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
30687
d3539132 306882009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
30689
30690 Framebuffer split.
30691
30692 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
30693 subsystem at the end.
30694 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
30695 (video_fb_mod_SOURCES): New variable.
30696 (video_fb_mod_CFLAGS): Likewise.
30697 (video_fb_mod_LDFLAGS): Likewise.
30698 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
30699 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
30700 * video/i386/pc/vbeblit.c: Moved from here ...
30701 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
30702 * video/i386/pc/vbefill.c: Moved from here ...
30703 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
30704 * video/i386/pc/vbeutil.c: Moved from here ...
30705 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
30706 * include/grub/i386/pc/vbeblit.h: Moved from here ...
30707 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
30708 * include/grub/i386/pc/vbefill.h: Moved from here ...
30709 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
30710 * include/grub/i386/pc/vbeutil.h: Moved from here ...
30711 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
30712 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
30713 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
30714 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
30715 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
30716 (grub_video_adapter): Added 'get_info_and_fini'.
30717 (grub_video_get_info_and_fini): New prototype.
30718 (grub_video_set_mode): make modestring const char *.
30719 * loader/i386/linux.c (grub_linux_setup_video): Use
30720 grub_video_get_info_and_fini.
30721 (grub_linux_boot): Move modesetting just before booting.
30722 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
30723 grub_video_get_info_and_fini.
30724 * video/i386/pc/vbe.c: Moved framebuffer part ...
30725 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
30726 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
30727 grub_video_fbstd_colors and grub_video_fb_set_palette.
30728 (grub_video_vbe_init): Clear 'framebuffer' variable and use
30729 grub_video_fb_init.
30730 (grub_video_vbe_fini): Use grub_video_fb_fini.
30731 (grub_video_vbe_setup): Use framebuffer.render_target instead of
30732 render_target and use grub_video_fb_set_active_render_target and
30733 grub_video_fb_set_palette.
30734 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
30735 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
30736 (grub_video_vbe_adapter): Use framebuffer.
30737 * video/video.c (grub_video_get_info_and_fini): New function.
30738 (grub_video_set_mode): Make modestring const char *.
30739 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
30740 values are already initialised.
30741
d404ee56 307422009-08-14 Pavel Roskin <proski@gnu.org>
30743
30744 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
30745 ABS and APPLE_CC.
30746 * boot/i386/pc/diskboot.S: Likewise.
30747 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
30748 sectors allow compilation on MacOSX.
30749 * conf/i386-pc.rmk: Enable unconditional compilation of
30750 lnxboot.img.
30751
9a10df16 307522009-08-13 Colin Watson <cjwatson@ubuntu.com>
30753
30754 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
30755 * util/grub.d/00_header.in: Enter interruptible sleep if
30756 GRUB_HIDDEN_TIMEOUT is set.
30757
be3c9ca7 307582009-08-13 Yves Blusseau <blusseau@zetam.org>
30759
30760 * include/grub/symbol.h: Add the LOCAL macro.
30761 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
30762 starting with "L_".
30763
1f9e557e 307642009-08-13 Pavel Roskin <proski@gnu.org>
30765
9ca62843 30766 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
30767 any modern compilers we support.
30768
1f9e557e 30769 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
30770 Use local labels starting with "L_" so that Apple assembler
30771 knows they are local.
30772
81623db6 307732009-08-10 Robert Millan <rmh.grub@aybabtu.com>
30774
30775 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
30776 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
30777 (bsd_kernel_types): ... this enum.
30778
30779 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
30780 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
30781 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
30782
30783 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
30784 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
30785 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
30786 messages.
30787
f5d35e7a 307882009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30789
30790 * util/grub-dumpdevtree: Moved from here ...
30791 * util/i386/efi/grub-dumpdevtree: ... to here.
30792 (hexify): New function. Converts a string to its hex version.
30793 Generate hex versions of "efi" and "device-properties" by calling
30794 hexify() on the ASCII strings rather than by hardcoding numbers.
30795
d1e1d527 307962009-08-08 Robert Millan <rmh.grub@aybabtu.com>
30797
30798 * fs/jfs.c: Update copyright year.
30799
1ebbe064 308002009-08-08 Felix Zielcke <fzielcke@z-51.de>
30801
30802 * util/grub.d/00_header.in: Fix a comment.
30803 * util/grub.d/10_linux.in: Likewise.
30804 * util/grub.d/10_windows.in: Likewise.
30805 * util/grub.d/10_hurd.in: Likewise.
30806
a78c8d24 308072009-08-08 Felix Zielcke <fzielcke@z-51.de>
30808
30809 * util/grub-mkconfig.in: Allow the user to specify the used font
30810 with GRUB_FONT.
30811
29a6b9e8 308122009-08-08 Pavel Roskin <proski@gnu.org>
30813
b5f16cc4 30814 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
30815 available, xfs.mod needs it now.
30816
2f5cb827 30817 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
30818 the "g" modifier in sed when the intention is to strip something
30819 once. This fixes comparison of kernels with multiple dashes.
30820
29a6b9e8 30821 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
30822 on it. Add missing space before closing bracket. Fix
30823 misleading formatting.
30824
892a3d98 308252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30826
30827 * docs/grub.texi: Major overhaul. Remove all sections that are
30828 specific to GRUB Legacy, or mostly composed of Legacy-specific
30829 information.
30830
ed94253f 308312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30832
30833 * docs/version.texi: New file. Provides version information for
30834 grub.texi.
30835
126d6628 308362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30837
30838 * docs/grub.texi: Update CVS information to SVN.
30839 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
30840
998b5aa9 308412009-08-07 Felix Zielcke <fzielcke@z-51.de>
30842
30843 * util/grub-mkconfig.in: Remove a wrong `fi'.
30844
818e094a 308452009-08-07 Felix Zielcke <fzielcke@z-51.de>
30846
30847 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
30848 (grub_jfs_uuid): New function.
30849 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
30850
b969c52f 308512009-08-07 Felix Zielcke <fzielcke@z-51.de>
30852
30853 * util/grub-mkconfig_lib.in (font_path): Move the functionality
30854 of it to ...
30855 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
30856 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
30857
7a4894cc 308582009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30859
30860 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
30861 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
30862 Update all users.
30863
30864 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
30865 not just "vmlinu[zx]".
30866 Moved from here ...
30867 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
30868 all users.
30869
30870 * util/grub.d/10_linux.in (find_latest): Moved from here ...
30871 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
30872 all users.
30873
4e2171f8 308742009-08-07 Robert Millan <rmh.grub@aybabtu.com>
30875
30876 * util/grub.d/10_freebsd.in: Use an absolute device path for
30877 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
30878
6dcfcb32 308792009-08-06 Felix Zielcke <fzielcke@z-51.de>
30880
30881 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
30882 handling of multiple abstraction modules.
30883
f56a8756 308842009-08-04 Robert Millan <rmh.grub@aybabtu.com>
30885
30886 Fix a bug resulting in black screen when loading Linux using a
30887 packed video mode.
30888
30889 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
30890 function.
30891
30892 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
30893 (grub_vbe_bios_getset_dac_palette_width): New function.
30894 (grub_vbe_bios_get_dac_palette_width)
30895 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
30896 grub_vbe_bios_getset_dac_palette_width()).
30897
30898 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
30899 check for return status.
30900 (grub_vbe_get_video_mode_info): When getting information for a packed
30901 mode (<= 8 bpp), obtain DAC palette width using
30902 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
30903 {red,green,blue}_mark_size.
30904
222671b2 309052009-08-04 Felix Zielcke <fzielcke@z-51.de>
30906
ecb1a6d9 30907 * commands/search.c (options): Fix help output to match actual code.
222671b2 30908
f84114f5 309092009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
30910
30911 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
30912 of homegrown code.
30913
bd288a20 309142009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 30915
30916 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
30917 on XFS or ReiserFS.
30918
8aab5e25 309192009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
30920
30921 Support Apple partition map with sector size different from 512 bytes.
30922
30923 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
30924 (apple_partition_map_iterate): Respect 'aheader.blocksize'
30925 and 'apart.partmap_size'.
30926
6ad6258a 309272009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
309282009-08-01 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 Fix cpuid command.
30931
30932 * commands/i386/cpuid.c (options): New variable.
30933 (grub_cmd_cpuid): Return real error.
30934 (GRUB_MOD_INIT(cpuid)): Declare options.
30935
67459bc6 309362009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
30937
30938 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
30939 valid.
30940
fbc6ab54 309412009-07-31 Bean <bean123ch@gmail.com>
30942
30943 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
30944 log2_inode.
30945 (grub_fshelp_node): Move inode field to the end.
30946 (grub_xfs_data): Remove inode field.
30947 (grub_xfs_inode_block): Calculate inode size using sblock.
30948 (grub_xfs_inode_offset): Likewise.
30949 (grub_xfs_read_inode): Calculate inode size using sblock.
30950 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
30951 (grub_xfs_iterate_dir): Calculate inode size using sblock.
30952 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
30953 to match inode size.
30954 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
30955 not accessible when data is null.
30956 (grub_xfs_open): Likewise.
30957
f45d6cfc 309582009-07-31 Bean <bean123ch@gmail.com>
30959
30960 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
30961 Don't change pv->disk if it's already set.
30962
30963 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
30964 (grub_raid_register): ... here.
30965 (grub_raid_rescan): Removed.
30966
30967 * include/grub/raid.h (grub_raid_rescan): Removed.
30968
30969 * util/grub-fstest.c: Remove include file <grub/raid.h>.
30970 (fstest): Replace grub_raid_rescan with module fini function followed
30971 by init function.
30972
30973 * util/grub-probe.c: Add include file <grub/raid.h>.
30974 (probe_raid_level): New function.
30975 (probe): Detect abstraction by walking the disk device, support two
30976 level of abstraction (LVM on RAID) when detecting partition map.
30977
24443b5a 309782009-07-31 Pavel Roskin <proski@gnu.org>
30979
30980 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
30981 to grub_zalloc(), it was erroneous.
30982 Reported by Bean <bean123ch@gmail.com>
30983
a275d9e7 309842009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30985
30986 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 30987 embedding zone, not only the first one.
a275d9e7 30988
56c5a47f 309892009-07-29 Joe Auricchio <jauricchio@gmail.com>
30990
30991 * term/gfxterm.c (clear_char): New function.
30992 (grub_virtual_screen_setup): Use clear_char.
30993 (scroll_up): Likewise.
30994 (grub_virtual_screen_cls): Likewise.
30995
67bb323a 309962009-07-29 Felix Zielcke <fzielcke@z-51.de>
30997
30998 * util/deviceiter.c (get_acceleraid_disk_name): New static
30999 function.
31000 (grub_util_iterate_devices): Handle Accelraid devices.
31001 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
31002
388a7c75 310032009-07-28 Robert Millan <rmh.grub@aybabtu.com>
31004
31005 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
31006 separator for the suggested gfxpayload string (';' collides with the
31007 parser and needs escaping).
31008
3bb7abcf 310092009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
31010
31011 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
31012 Clear direction flag before jumping to OS.
31013 (grub_multiboot2_real_boot): Likewise.
31014
2ddd36d7 310152009-07-28 Felix Zielcke <fzielcke@z-51.de>
31016
31017 * util/i386/pc/grub-install: Fix parsing of --disk-module
31018 option.
31019
c521b62b 310202009-07-28 Felix Zielcke <fzielcke@z-51.de>
31021
31022 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
31023 when embedding.
31024
880e0a0c 310252009-07-26 Felix Zielcke <fzielcke@z-51.de>
31026
31027 * util/grub-mkconfig.in (package_version): New variable.
31028 Use it do display the version.
31029
2366e356 310302009-07-25 Felix Zielcke <fzielcke@z-51.de>
31031
31032 * kern/file.c (grub_file_open): Revert to previous check with
31033 grub_errno.
31034
7ad8c80e 310352009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
31038 from help line. It's out of sync with code.
31039
72b9658b 310402009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
31041
31042 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
31043 entries on failed boot.
31044
77435277 310452009-07-25 Felix Zielcke <fzielcke@z-51.de>
31046
31047 * kern/file.c (grub_file_open): Fix an error check.
31048
fcaa8b21 310492009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
31050
35d16c74 31051 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
31052 partition map couldn't be identified.
fcaa8b21 31053
48904cd1 310542009-07-23 Pavel Roskin <proski@gnu.org>
31055
ef3c317f 31056 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
31057 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
31058 case of little endian words becomes just an optimization.
31059 Respect const modifier.
ad8ea1f4 31060 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 31061
48904cd1 31062 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
31063 to avoid loss of upper bits if align is unsigned and shorter
31064 than addr.
31065
260c9a89 310662009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31067
31068 UUID support for UFS
31069
31070 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
31071 (grub_ufs_uuid): New function.
31072 (grub_ufs_fs): add .uuid
31073
f76ce889 310742009-07-21 Pavel Roskin <proski@gnu.org>
31075
31076 * kern/dl.c (grub_dl_check_header): Make static.
31077
6a6cbcaf 310782009-07-21 Felix Zielcke <fzielcke@z-51.de>
31079
31080 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
31081 add drivemap for Vista. It breaks Windows 7.
31082
cffcddb2 310832009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
31084
31085 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
31086 128 bytes
31087
1ef44b80 310882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31089
31090 Add BFS support
31091
31092 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
31093 (grub_fstest_SOURCES): Likewise.
31094 (pkglib_MODULES): Add befs.mod.
31095 (befs_mod_SOURCES): New variable.
31096 (befs_mod_CFLAGS): Likewise.
31097 (befs_mod_LDFLAGS): Likewise.
31098 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31100 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31102 (grub_setup_SOURCES): Likewise.
31103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31104 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31105 (grub_setup_SOURCES): Likewise.
31106 * fs/befs.c: New file.
31107 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
31108 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
31109 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
31110 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
31111 (B_KEY_INDEX_ALIGN): New declaration.
31112 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
31113 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
31114 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
31115 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
31116 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
31117 (grub_afs_mount) [MODE_BFS]: Likewise.
31118 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
31119 (grub_afs_fs): Use GRUB_AFS_FSNAME
31120 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
31121 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
31122 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
31123 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
31124
4f253044 311252009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
31126
31127 * util/getroot.c (find_root_device): Add support for MacOSX.
31128 * util/hostdisk.c: Likewise.
31129
57a55913 311302009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31131
31132 * font/font.c (find_glyph): Check whether a font is present to avoid
31133 segmentation fault.
75421ca9 31134
311352009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 31136
31137 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
31138
e98cd0c2 311392009-07-20 Pavel Roskin <proski@gnu.org>
31140
31141 * configure.ac: Trim excessively wordy excuses.
31142
1d2d169a 311432009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31144
31145 Add symlink, mtime and label support to AtheFS.
31146
31147 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
31148 (grub_afs_iterate_dir): Handle symlinks.
31149 (grub_afs_open): Use grub_afs_read_symlink.
31150 (grub_afs_dir): Likewise.
31151 Pass mtime.
31152 (grub_afs_label): New function.
31153 (grub_afs_fs): Add grub_afs_label.
31154 (grub_afs_read_symlink): New function.
31155
186f3189 311562009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
31157
31158 Fix AtheFS support.
31159
31160 * fs/afs.c: Fix comments style.
31161 (grub_afs_blockrun): Declare as packed.
31162 (grub_afs_datastream): Likewise.
31163 (grub_afs_bnode): Likewise.
31164 (grub_afs_btree): Likewise.
31165 (grub_afs_sblock): Likewise.
31166 Declare `name' as char.
31167 (grub_afs_inode): Declare as packed.
31168 Change void *vnode to grub_uint32_t unused.
31169 (grub_afs_iterate_dir): Check that key_size is positive.
31170 (grub_afs_mount): Don't read superblock twice.
75421ca9 31171 (grub_afs_dir): Don't free node in case of error,
186f3189 31172 grub_fshelp_find_file already handles this.
31173 (grub_afs_open): Likewise.
31174
5680109e 311752009-07-19 Pavel Roskin <proski@gnu.org>
31176
31177 * Makefile.in: Remove LIBLZO and enable_lzo.
31178 * conf/i386-pc.rmk: Remove lzo support.
31179 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
31180 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
31181 support.
31182 * kern/i386/pc/lzo1x.S: Remove.
31183 * kern/i386/pc/startup.S: Remove lzo support.
31184 * util/i386/pc/grub-mkimage.c: Likewise.
31185
ac70fa32 311862009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
31187
31188 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
31189 * fs/xfs.c (grub_xfs_dir): Likewise.
31190 * fs/afs.c (grub_afs_dir): Likewise.
31191 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
31192 (grub_iso9660_open): Likewise.
31193 * fs/jfs.c (grub_jfs_open): Likewise.
31194 * fs/ext2.c (grub_ext2_dir): Likewise.
31195 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
31196 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 31197
eab58da2 311982009-07-16 Pavel Roskin <proski@gnu.org>
31199
d2838156 31200 * configure.ac: Never add "-c" to CFLAGS.
31201
55c70904 31202 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
31203
43e6200c 31204 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
31205 grub_cv_cc_efiemu should be used.
31206
ce7a733d 31207 * configure.ac: Typo fixes.
31208
eab58da2 31209 * kern/mm.c (grub_zalloc): New function.
31210 (grub_debug_zalloc): Likewise.
31211 * include/grub/mm.h: Declare grub_zalloc() and
31212 grub_debug_zalloc().
31213 * util/misc.c (grub_zalloc): New function.
31214 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
31215 instead of grub_malloc(), remove unneeded initializations.
31216 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
31217 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
31218 * commands/parttool.c (grub_cmd_parttool): Likewise.
31219 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
31220 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
31221 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
31222 * disk/usbms.c (grub_usbms_finddevs): Likewise.
31223 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
31224 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
31225 (grub_cmd_efiemu_pnvram): Likewise.
31226 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
31227 * fs/iso9660.c (grub_iso9660_mount): Likewise.
31228 (grub_iso9660_iterate_dir): Likewise.
31229 * fs/jfs.c (grub_jfs_opendir): Likewise.
31230 * fs/ntfs.c (list_file): Likewise.
31231 (grub_ntfs_mount): Likewise.
31232 * kern/disk.c (grub_disk_open): Likewise.
31233 * kern/dl.c (grub_dl_load_core): Likewise.
31234 * kern/elf.c (grub_elf_file): Likewise.
31235 * kern/env.c (grub_env_context_open): Likewise.
31236 (grub_env_set): Likewise.
31237 (grub_env_set_data_slot): Likewise.
31238 * kern/file.c (grub_file_open): Likewise.
31239 * kern/fs.c (grub_fs_blocklist_open): Likewise.
31240 * loader/i386/multiboot.c (grub_module): Likewise.
31241 * loader/xnu.c (grub_xnu_create_key): Likewise.
31242 (grub_xnu_create_value): Likewise.
31243 * normal/main.c (grub_normal_add_menu_entry): Likewise.
31244 (read_config_file): Likewise.
31245 * normal/menu_entry.c (make_screen): Likewise.
31246 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31247 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
31248 * script/sh/script.c (grub_script_parse): Likewise.
31249 * video/bitmap.c (grub_video_bitmap_create): Likewise.
31250 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
31251 * video/readers/png.c (grub_png_output_byte): Likewise.
31252 (grub_video_reader_png): Likewise.
31253
830afef7 312542009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 31255
31256 Enable all targets that can be built by default
31257
830afef7 31258 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 31259 grub-mkfont and grub-fstest if they can be built
31260
ee293aee 312612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31262
31263 Fix hang and segmentation fault in grub-emu-usb
31264
31265 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
31266 * util/usb.c (grub_libusb_devices): likewise
31267 (grub_libusb_init): rename to ...
31268 (GRUB_MOD_INIT (libusb)):...this
31269 (grub_libusb_fini): rename to ..
31270 (GRUB_MOD_FINI (libusb)):...this
31271 * disk/usbms.c (grub_usbms_transfer): fix retry logic
31272 * include/grub/disk.h (grub_raid_init): removed, it's useless
31273 (grub_raid_fini): likewise
31274 (grub_lvm_init): likewise
31275 (grub_lvm_fini): likewise
31276 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
31277 by grub_init_all
31278
94414221 312792009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31280
31281 Fix libusb
31282
31283 * Makefile.in (LIBUSB): new macro
31284 * genmk.rb (Utility/print_tail): new method
31285 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
31286 (top level): call util.print_tail at the end.
31287
59ade63d 312882009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31289
31290 Make FreeBSD accept zpool.cache
31291
31292 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
31293 type is /boot/zfs/zpool.cache
31294
a58da8c7 312952009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
31296
31297 Fix 64-bit efiemu
31298
31299 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
31300 correct wrong typedef
31301 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
31302
20591577 313032009-07-15 Pavel Roskin <proski@gnu.org>
31304
560ca572 31305 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
31306 * kern/disk.c (struct grub_disk_cache): Likewise.
31307
e8e8e4fd 31308 * commands/probe.c (options): Typo fix.
31309
fde24e10 31310 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
31311 Increase to 0x5a to accommodate FAT32. Adjust other offsets
31312 accordingly.
31313 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
31314
379c54c1 31315 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
31316 the end of "Error" to make the message more readable.
31317
7bd8f5bf 31318 * boot/i386/pc/boot.S (kernel_segment): Remove.
31319 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
31320 for destination.
31321
40b132c5 31322 * boot/i386/pc/boot.S (boot_version): Remove.
31323 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
31324 Remove.
31325
20591577 31326 * include/grub/i386/pc/boot.h: Sort all offsets.
31327 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
31328 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
31329 * boot/i386/pc/boot.S: Assert location of every offset listed in
31330 include/grub/i386/pc/boot.h.
31331
2df32b2c 313322009-07-13 Pavel Roskin <proski@gnu.org>
31333
44b5d879 31334 * include/grub/i386/coreboot/machine.h: Rename
31335 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
31336 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
31337 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
31338
17dc3751 31339 * kern/dl.c: Force native word size to suppress warnings when
31340 compiling grub-emu.
31341
2df32b2c 31342 * kern/device.c (grub_device_iterate): Change struct part_ent to
31343 hold the name, not a pointer to it. Use one grub_malloc() per
31344 partition, not two. Free partition_name if grub_malloc() fails.
31345 Set ents to NULL only before grub_partition_iterate() is called.
31346
75c59f59 313472009-07-11 Bean <bean123ch@gmail.com>
31348
31349 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
31350 childname.
31351
0ae1bf88 313522009-07-10 Bean <bean123ch@gmail.com>
313532009-07-10 Robert Millan <rmh.grub@aybabtu.com>
31354
31355 * kern/ieee1275/openfw.c (grub_children_iterate)
31356 (grub_devalias_iterate): Fix size evaluation for property or path
31357 strings, which was broken since r2132.
31358
8279cade 313592009-07-07 Pavel Roskin <proski@gnu.org>
31360
7d8a52d3 31361 * commands/search.c (search_file): Merge into ...
31362 (search_fs): ... this. Accept search type as argument.
31363 (grub_cmd_search): Pass search type to search_fs().
31364
25f9a05a 31365 * include/grub/util/console.h: New file.
31366 * util/console.c: Use it instead of grub/machine/console.h.
31367 * util/grub-emu.c: Likewise.
31368
8279cade 31369 * lib/arg.c (find_long_option): Remove.
31370 (find_long): Add `len' argument, make `s' const char *.
31371 (grub_arg_parse): Parse long options in place, not in a
31372 temporary buffer.
31373
4a11b60f 313742009-07-06 Pavel Roskin <proski@gnu.org>
31375
99f68041 31376 * commands/search.c (search_fs): Fix potential NULL pointer
31377 dereference.
31378
4a11b60f 31379 * commands/search.c (search_fs): Replace QUID macro with quid_fn
31380 function pointer.
31381
e110f4de 313822009-07-06 Daniel Mierswa <impulze@impulze.org>
31383
31384 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
31385 comparison.
31386
46eeb6a2 313872009-07-05 Pavel Roskin <proski@gnu.org>
31388
bab74958 31389 * include/grub/i386/linux.h (struct linux_kernel_params):
31390 Restore padding3, it's still needed.
31391
46eeb6a2 31392 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
31393 FreeBSD.
31394 * util/osdetect.lua: Likewise.
31395
b4a1dc79 313962009-07-05 Bean <bean123ch@gmail.com>
31397
31398 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
31399
31400 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
31401 (grub_lua_getenv): Likewise.
31402 (grub_lua_setenv): Likewise.
31403 (save_errno): New function.
31404 (push_result): Likewise.
31405 (grub_lua_enum_device): Likewise.
31406 (grub_lua_enum_file): Likewise.
31407 (grub_lua_file_open): Likewise.
31408 (grub_lua_file_close): Likewise.
31409 (grub_lua_file_seek): Likewise.
31410 (grub_lua_file_read): Likewise.
31411 (grub_lua_file_getline): Likewise.
31412 (grub_lua_file_getsize): Likewise.
31413 (grub_lua_file_getpos): Likewise.
31414 (grub_lua_file_eof): Likewise.
31415 (grub_lua_file_exist): Likewise.
31416 (grub_lua_add_menu): Likewise.
31417
31418 * script/lua/grub_lua.h (isupper): New inline function.
31419 (islower): Likewise.
31420 (ispunct): Likewise.
31421 (isxdigit): Likewise.
31422 (strcspn): Change to normal function.
31423 (strpbkr): New function declaration.
31424 (memchr): Likewise.
31425
31426 * script/lua/grub_main.c (scan_str): New function.
31427 (strcspn): Likewise.
31428 (strpbrk): Likewise.
31429 (memchr): Likewise.
31430
31431 * script/lua/linit.c (lualibs): Enable the string library.
31432
31433 * util/osdetect.lua: New file.
31434
2da92295 314352009-07-04 Robert Millan <rmh.grub@aybabtu.com>
31436
31437 * include/grub/i386/linux.h (struct linux_kernel_params): Add
31438 `capabilities' member.
31439
b2582ec9 314402009-07-02 Pavel Roskin <proski@gnu.org>
31441
31442 * genparttoollist.sh: Add missing newline at the end.
31443
32622956 314442009-07-01 Pavel Roskin <proski@gnu.org>
31445
87a7339e 31446 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
31447
d23af54e 31448 * util/hostdisk.c (open_device): Remove `const' from
31449 `sysctl_size', as sysctlbyname() can change it (in this case it
31450 doesn't actually happen).
31451
c94b18a9 31452 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
31453 using signed long int constants.
31454
c6cd3ef0 31455 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
31456 constant to avoid a warning on FreeBSD.
31457
0df63420 31458 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
31459 where it's needed.
31460
999577f1 31461 * Makefile.in: Install include/grub/machine symlink.
31462
6f41557f 31463 * Makefile.in: When installing symlinks, use "cp -fR", which
31464 works on FreeBSD and MacOSX.
31465 From Yves Blusseau <cl7m42e02@sneakemail.com>
31466
c8d22988 31467 * kern/dl.c (grub_dl_resolve_symbol): Make static.
31468 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
31469
1b96e952 31470 * util/misc.c: Move grub_reboot() and grub_halt() ...
31471 * util/grub-emu.c: ... here. Make main_env static.
31472 * include/grub/util/misc.h: Remove main_env.
31473
2ef0084d 31474 * kern/mm.c: Use correct format to print size_t.
31475
32622956 31476 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
31477 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
31478 * kern/powerpc/dl.c: Likewise.
31479 * kern/sparc64/dl.c: Likewise.
31480 * kern/x86_64/dl.c: Likewise.
31481
3f7f0cd0 314822009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31483
31484 Fix grub-emu build on sparc64-ieee1275.
31485
75421ca9 31486 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 31487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
31488
211d06b5 314892009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31490
31491 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
31492 (grub_reboot, grub_halt): New functions.
31493
31494 * util/i386/pc/misc.c: Delete. Update all users.
31495 * util/sparc64/ieee1275/misc.c: Likewise.
31496 * util/powerpc/ieee1275/misc.c: Likewise.
31497
aaf53e3c 314982009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31499
31500 * conf/i386.rmk (setjmp_mod_SOURCES)
31501 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
31502 * conf/common.rmk (setjmp_mod_SOURCES)
31503 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
31504 to use $(target_cpu).
31505 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
31506 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
31507 * conf/powerpc-ieee1275.rmk: Likewise.
31508 * conf/sparc64-ieee1275.rmk: Likewise.
31509
31510 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
31511 $(target_cpu) for kern/$(target_cpu)/dl.c.
31512 * conf/i386-efi.rmk: Likewise.
31513 * conf/i386-ieee1275.rmk: Likewise.
31514 * conf/x86_64-efi.rmk: Likewise.
31515 * conf/i386-coreboot.rmk: Likewise.
31516 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
31517 $(target_cpu) for kern/$(target_cpu)/dl.c and for
31518 kern/$(target_cpu)/cache.S.
31519 * conf/sparc64-ieee1275.rmk: Likewise.
31520
a337130b 315212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
31522
31523 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
31524 type to `grub_uint8_t', and adjust `padding9' accordingly.
31525
c6fe4d53 315262009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31527
b09db61d 31528 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
31529
c6fe4d53 31530 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
31531 assembly in final jump, using register constraints.
31532
b09db61d 31533 (grub_linux_boot): For text mode, initialize `have_vga' using
31534 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
31535
31536 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
31537 right before the final jump.
31538
31539 Set `video_mode' to 0x3.
31540
31541 Document initialization of `video_page', `video_mode' and
31542 `video_ega_bx'.
31543
28333ad0 315442009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31545
31546 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
31547 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 31548 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 31549
02164e1b 315502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
31551
31552 Fix build on Debian / sparc.
31553
31554 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
31555
18b6c557 315562009-06-28 Pavel Roskin <proski@gnu.org>
31557
85f2aab6 31558 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
31559 fix a warning.
31560
18b6c557 31561 * util/grub.d/10_linux.in: Match SUSE style initrd names.
31562
ad760f81 315632009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31564
31565 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
31566 `err'.
31567
87a4623b 315682009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31569
31570 Revert r2338.
31571
31572 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
31573 file can't be opened. grub_file_open() is already supposed to set
75421ca9 31574 grub_errno / grub_errmsg appropriately.
87a4623b 31575 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31576
8231fb77 315772009-06-27 Pavel Roskin <proski@gnu.org>
315782009-06-27 Robert Millan <rmh.grub@aybabtu.com>
31579
31580 * include/grub/dl.h: Include grub/elf.h.
31581 (struct grub_dl): Add symtab field.
31582 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
31583 GRUB_MODULES_MACHINE_READONLY.
31584 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
31585 of the header for read-only modules.
31586 (grub_dl_unload): Free mod->symtab for read-only modules.
31587 * kern/i386/dl.c: Use mod->symtab.
31588 * kern/powerpc/dl.c: Likewise.
31589 * kern/sparc64/dl.c: Likewise.
31590 * kern/x86_64/dl.c: Likewise.
31591
31592 * conf/i386-qemu.rmk: New file.
31593 * kern/i386/qemu/startup.S: Likewise.
31594 * kern/i386/qemu/mmap.c: Likewise.
31595 * boot/i386/qemu/boot.S: Likewise.
31596 * include/grub/i386/qemu/time.h: Likewise.
31597 * include/grub/i386/qemu/serial.h: Likewise.
31598 * include/grub/i386/qemu/kernel.h: Likewise.
31599 * include/grub/i386/qemu/console.h: Likewise.
31600 * include/grub/i386/qemu/boot.h: Likewise.
31601 * include/grub/i386/qemu/init.h: Likewise.
31602 * include/grub/i386/qemu/machine.h: Likewise.
31603 * include/grub/i386/qemu/loader.h: Likewise.
31604 * include/grub/i386/qemu/memory.h: Likewise.
31605
31606 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
31607 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
31608 [qemu] (pkglib_IMAGES): Add `boot.img'.
31609 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
31610 [qemu] (boot_img_FORMAT): New variables.
31611 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
31612 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
31613 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
31614 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31615 [qemu] (kernel_img_FORMAT): New variables.
31616
31617 * configure.ac: Recognise `i386-qemu'.
31618
31619 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
31620 (for no compression).
31621 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
31622 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
31623 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
31624 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
31625 ifdefs).
31626
97fe384e 316272009-06-27 Pavel Roskin <proski@gnu.org>
31628
31629 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
31630 read.
31631 * efiemu/prepare32.c: Likewise.
31632 * efiemu/prepare64.c: Likewise.
31633
c402ab17 316342009-06-26 Pavel Roskin <proski@gnu.org>
31635
31636 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
31637 * include/grub/elf.h: Define symbols without "32" or "64" based
31638 on GRUB_TARGET_WORDSIZE.
31639 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
31640 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
31641 ELF definitions.
31642 * efiemu/loadcore64.c: Likewise.
31643 * loader/i386/bsd32.c: Likewise.
31644 * loader/i386/bsd64.c: Likewise.
31645 * kern/dl.c: Remove own ELF definitions.
31646 * util/i386/efi/grub-mkimage.c: Likewise.
31647
9bbdfd4d 316482009-06-23 Robert Millan <rmh.grub@aybabtu.com>
31649
31650 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
31651 segment 0x0 unconditionally, because the reference generated by
31652 GAS is an absolute address.
31653
a42ce6e9 316542009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31655
31656 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
31657 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
31658
c952cf92 316592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31660
31661 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
31662 indexes. Check for -f explicitly.
cc3752ad 31663 (search_file): Improve error message.
31664 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 31665
132a0a59 316662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31667
31668 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
31669 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
31670
387a140c 316712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31672
31673 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
31674 * conf/i386-ieee1275.rmk: Likewise.
31675 * conf/i386-coreboot.rmk: Likewise.
31676
31677 * kern/i386/pc/startup.S (grub_stop): Remove function.
31678 * kern/i386/ieee1275/startup.S: Likewise.
31679 * kern/i386/coreboot/startup.S: Likewise.
31680 * kern/i386/misc.S (grub_stop): New function.
31681
41da9665 316822009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31683
31684 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
31685 * kern/i386/realmode.S (real_to_prot): ... to here.
31686
bf337234 316872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
31688
31689 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
31690 with `kernel.img'.
31691 (kernel_elf_SOURCES): Rename to ...
31692 (kernel_img_SOURCES): ... this.
31693 (kernel_elf_HEADERS): Rename to ...
31694 (kernel_img_HEADERS): ... this. Update all users.
31695 (kernel_elf_ASFLAGS): Rename to ...
31696 (kernel_img_ASFLAGS): ... this.
31697 (kernel_elf_CFLAGS): Rename to ...
31698 (kernel_img_CFLAGS): ... this.
31699 (kernel_elf_LDFLAGS): Rename to ...
31700 (kernel_img_LDFLAGS): ... this.
31701 * conf/i386-coreboot.rmk: Likewise.
31702 * conf/powerpc-ieee1275.rmk: Likewise.
31703
31704 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
31705 with "kernel.img".
31706
f52196ff 317072009-06-21 Pavel Roskin <proski@gnu.org>
31708
c3cee413 31709 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
31710 to match nested functions.
31711 * loader/sparc64/ieee1275/linux.c: Likewise.
31712
f52196ff 31713 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
31714
58750afc 317152009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31716
31717 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
31718 all i386 platforms.
31719
15355c7d 317202009-06-21 Robert Millan <rmh.grub@aybabtu.com>
31721
31722 Fix asm file handling on ELF, and remove workarounds.
31723
31724 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 31725 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 31726 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
31727 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
31728
3f3ec72b 317292009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
31730
31731 Load BSD ELF modules
31732
31733 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
31734 and loader/i386/bsd64.c
31735 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
31736 (FREEBSD_MODTYPE_ELF_MODULE): New definition
31737 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
31738 (grub_freebsd_load_elfmodule32): New declaration
31739 (grub_freebsd_load_elfmoduleobj64): Likewise
31740 (grub_freebsd_load_elf_meta32): Likewise
31741 (grub_freebsd_load_elf_meta64): Likewise
31742 (grub_freebsd_add_meta): Likewise
31743 (grub_freebsd_add_meta_module): Likewise
31744 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
31745 (grub_freebsd_add_meta_module): Likewise and move module-specific
31746 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
31747 (grub_cmd_freebsd): Add elf-kernel specific parts
31748 based on grub_freebsd_add_meta_module
31749 (grub_cmd_freebsd_module): Add type parsing moved from
31750 grub_freebsd_add_meta_module
31751 (grub_cmd_freebsd_module_elf): New function
31752 (cmd_freebsd_module_elf): New variable
31753 (GRUB_MOD_INIT): Register freebsd_module_elf
31754 * loader/i386/bsd32.c: New file
31755 * loader/i386/bsd64.c: Likewise
31756 * loader/i386/bsdXX.c: Likewise
31757 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
31758 (grub_elf64_load): Likewise
31759 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
31760 All users updated
31761 (grub_elf64_load_hook_t): Likewise
31762
0db15301 317632009-06-21 Colin Watson <cjwatson@ubuntu.com>
31764
31765 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
31766 variable.
31767 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
31768 don't write a menu entry for recovery mode.
31769
546796c1 317702009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31771
31772 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
31773 after it's no longer needed.
31774
cd7310d5 317752009-06-20 Robert Millan <rmh.grub@aybabtu.com>
31776
31777 * include/grub/i386/loader.h (grub_linux_prot_size)
31778 (grub_linux_tmp_addr, grub_linux_real_addr)
31779 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
31780 GRUB_MACHINE_PCBIOS.
31781 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
31782 common grub_util_info() call to ...
31783 (generate_image): ... here.
31784 Fix use of uninitialized memory, comparison of signed with
31785 unsigned integers and memory leak.
31786 Remove bogus module address message.
31787
ab32d3b5 317882009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
31789
31790 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
31791 grub_raid_register
31792 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
31793
024ef597 317942009-06-19 Pavel Roskin <proski@gnu.org>
31795
31796 * configure.ac: Remove stray AC_MSG_CHECKING.
31797
3ac72b51 317982009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
31799
31800 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 31801
e14cd814 318022009-06-18 Pavel Roskin <proski@gnu.org>
31803
31804 * conf/common.rmk: Add fs_file.mod.
31805 * disk/fs_file.c: New file.
31806 * include/grub/disk.h (enum grub_disk_dev_id): Add
31807 GRUB_DISK_DEVICE_FILE_ID.
31808
26586d98 318092009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31810
31811 Fix build with Apple's toolchain. Part 2
31812
31813 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
31814 a fake start
31815
26de2bcd 318162009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31817
31818 Fix build with Apple's toolchain. Part 1
31819
31820 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
31821 for long calls
31822 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 31823 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 31824 Apple's toolchain
31825
09b3490b 318262009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
31827
31828 Fix warnings
31829
31830 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
31831 (decomp_block): initialize ch
31832 use grub_memcpy instead of memcpy
31833
c22a006a 318342009-06-17 Pavel Roskin <proski@gnu.org>
31835
d3638678 31836 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
31837 version, use declarations needed to use vga_text as the startup
31838 console.
31839
c22a006a 31840 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
31841 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
31842 the kernel.
31843 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
31844 and grub_at_keyboard_fini(), it's done on module load and
31845 unload.
31846
05b129e0 318472009-06-17 Felix Zielcke <fzielcke@z-51.de>
31848
31849 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
31850 file can't be found.
31851 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
31852
cf24ed9e 318532009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31854
31855 Fix newline handling
31856
31857 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 31858 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 31859 (grub_script_yylex): don't segfault on unterminated script
31860 newline terminates command and variable
31861
74aa8e4b 318622009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
31863
31864 avoid double grub_adjust_range call. Bug reported by David Simner
31865
31866 * kern/disk.c (grub_disk_write): change to raw disk access before
31867 calling disk_read
31868
1bd265f3 318692009-06-17 Colin Watson <cjwatson@ubuntu.com>
31870
31871 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
31872 spaces, for the benefit of help2man.
31873 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31874
a2d08c06 318752009-06-16 Pavel Roskin <proski@gnu.org>
31876
31877 * kern/i386/halt.c: Include grub/machine/init.h.
31878 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
31879
b97bcb19 318802009-06-16 Felix Zielcke <fzielcke@z-51.de>
31881
31882 * util/grub.d/30_os-prober.in: Use ${root} in the generated
31883 drivemap menuentry.
31884
0644f96c 318852009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
31886
31887 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
31888 `echo' command.
31889
3ef17a2e 318902009-06-16 Pavel Roskin <proski@gnu.org>
31891
31892 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
31893 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
31894 save %dx, we only need %dl and we never change it.
31895 * boot/i386/pc/cdboot.S: Don't set the root drive.
31896 * boot/i386/pc/pxeboot.S: Likewise.
31897 * include/grub/i386/pc/boot.h: Remove
31898 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
31899 GRUB_BOOT_MACHINE_DRIVE_CHECK.
31900 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
31901 * kern/i386/pc/init.c (make_install_device): Remove references
31902 to grub_root_drive.
31903 * kern/i386/pc/startup.S: Likewise.
31904 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
31905
693fe637 319062009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31907
31908 xnu_uuid command
31909
31910 * commands/xnu_uuid.c: new file
31911 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
31912 (xnu_uuid_mod_SOURCES): new variable
31913 (xnu_uuid_mod_CFLAGS): likewise
31914 (xnu_uuid_mod_LDFLAGS): likewise
31915 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31916 * conf/i386-ieee1275.rmk: likewise
31917 * conf/i386-pc.rmk: likewise
31918 * conf/powerpc-ieee1275.rmk: likewise
31919 * conf/sparc64-ieee1275.rmk: likewise
31920 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
31921
c9da87d0 319222009-06-16 Pavel Roskin <proski@gnu.org>
31923
31924 * configure.ac: Avoid '==' in test command, it's not portable.
31925
9c6f4596 319262009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
31927
31928 Probe command
31929
31930 * commands/probe.c: new file
31931 * conf/common.rmk (pkglib_MODULES): add probe.mod
31932 (probe_mod_SOURCES): new variable
31933 (probe_mod_CFLAGS): likewise
31934 (probe_mod_LDFLAGS): likewise
31935 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
31936 * conf/i386-ieee1275.rmk: likewise
31937 * conf/i386-pc.rmk: likewise
31938 * conf/powerpc-ieee1275.rmk: likewise
31939 * conf/sparc64-ieee1275.rmk: likewise
31940
70b7f9fd 319412009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
31942
31943 Fix handling of string like \"hello\" and "a
31944 b"
31945
31946 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
31947 (grub_script_yylex): fix parsing of quoting, escaping and newline
31948
71c79a6b 319492009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31950
dd74360c 31951 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 31952 handling
dd74360c 31953
0644f96c 319542009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 31955
31956 * util/grub-mkconfig.in: Fix parsing of --output option.
31957
e40893c3 319582009-06-12 Pavel Roskin <proski@gnu.org>
31959
31960 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
31961 genmk.rb don't need to be generated or installed.
31962
3a1acfe2 319632009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31964
31965 * commands/i386/pc/drivemap_int13h.S: add more comments
31966
3a4575d4 319672009-06-11 Pavel Roskin <proski@gnu.org>
31968
0658e928 31969 * Makefile.in (uninstall): Uninstall manuals.
31970
ca0388f0 31971 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
31972 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
31973 and update-grub_lib in two places.
31974 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
31975
e3b27c39 31976 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31977 a compiler warning.
31978
3a4575d4 31979 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31980 `entry_lo' to fix variable shadowing.
31981
af1f4f55 319822009-06-11 Christian Franke <franke@computer.org>
31983
31984 * kern/misc.c (__enable_execute_stack): Add missing return type
31985 to prevent gcc warning.
31986
5225e649 319872009-06-11 Felix Zielcke <fzielcke@z-51.de>
31988
31989 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31990
7d83bd47 319912009-06-11 Pavel Roskin <proski@gnu.org>
31992
c1cb63ba 31993 * Makefile.in: Don't rely on any scripts being executable.
31994 Always use $(SHELL) to run shell scripts.
31995
7d83bd47 31996 * configure.ac: Always define ___main if using -nostdlib. This
31997 fixes tests on Cygwin.
31998
948f48e7 319992009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
32000
32001 UDF fix
32002
7d83bd47 32003 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 32004 is in bytes and not in blocks
7d83bd47 32005
8ada9bc1 320062009-06-11 Pavel Roskin <proski@gnu.org>
32007
32008 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
32009 warning.
32010
25ad2323 320112009-06-11 Felix Zielcke <fzielcke@z-51.de>
32012
32013 * util/grub.d/30_os-prober.in: Fix a comment. Source
32014 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
32015 to set the root device. Place drivemap command in the generated
32016 chain entry.
32017
e65acb0c 320182009-06-11 Pavel Roskin <proski@gnu.org>
32019
32020 * configure.ac: Remove host_m32. Issues with 64-bit utilities
32021 have long been resolved.
32022
f285fe2d 320232009-06-11 Colin Watson <cjwatson@ubuntu.com>
32024
bd47b0b5 32025 * util/grub.d/10_linux.in: Capitalise "Linux".
32026
f285fe2d 32027 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
32028
a0c62e4e 320292009-06-11 Pavel Roskin <proski@gnu.org>
32030
b6783cb2 32031 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
32032 fix a gcc warning and ensure that the function won't ever exit.
32033
dde032e8 32034 * kern/i386/ieee1275/init.c: Add missing prototype for
32035 grub_stop_floppy().
32036
22cd079d 32037 * loader/ieee1275/multiboot2.c [__i386__]: Include
32038 grub/cpu/multiboot.h.
32039
a0c62e4e 32040 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
32041 casts to short - they are not portable and cause warnings. Fix
32042 use of uninitialized values in input_buf. Use ARRAY_SIZE.
32043
63963d17 320442009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
32045
32046 Drivemap fixes
32047
32048 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
32049 new function
32050 (grub_get_root_biosnumber_saved): new variable
32051 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
32052 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 32053 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 32054 %dx after the call if necessary
32055 * conf/common.rmk (pkglib_MODULES): remove boot.mod
32056 (boot_mod_SOURCES): remove
32057 (boot_mod_CFLAGS): remove
32058 (boot_mod_LDFLAGS): remove
32059 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
32060 (boot_mod_SOURCES): new variable
32061 (boot_mod_CFLAGS): likewise
32062 (boot_mod_LDFLAGS): likewise
32063 * conf/i386-efi.rmk: likewise
32064 * conf/i386-ieee1275.rmk: likewise
32065 * conf/i386-pc.rmk: likewise
32066 * conf/powerpc-ieee1275.rmk: likewise
32067 * conf/sparc64-ieee1275.rmk: likewise
32068 * conf/x86_64-efi.rmk: likewise
32069 * include/grub/i386/pc/biosnum.h: new file
32070 * lib/i386/pc/biosnum.c: likewise
32071 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
32072 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
32073 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 32074
33abf7ae 320752009-06-10 Pavel Roskin <proski@gnu.org>
32076
5ac35b35 32077 * io/gzio.c (test_header): Don't reuse one buffer for all data.
32078 Use separate variables. Read only the file size at the end, but
32079 not the checksum that we don't use.
32080
5c5215d5 32081 * kern/file.c (grub_file_read): Use void pointer for the buffer.
32082 Adjust all callers.
32083
27d5fef7 32084 * kern/ieee1275/openfw.c: Remove libc includes.
32085 * kern/ieee1275/cmain.c: Likewise.
32086 * include/grub/ieee1275/ieee1275.h: Likewise.
32087
33abf7ae 32088 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
32089 compiler warnings.
32090
19d50c2b 320912009-06-10 Felix Zielcke <fzielcke@z-51.de>
32092
32093 * Makefile.in: Remove all trailing whitespace.
32094 * conf/i386-pc.rmk: Likewise.
32095 * conf/powerpc-ieee1275.rmk: Likewise.
32096 * conf/sparc64-ieee1275.rmk: Likewise.
32097 * docs/grub.texi: Likewise.
32098 * docs/texinfo.tex: Likewise.
32099 * disk/fs_uuid.c: Likewise.
32100 * disk/lvm.c: Likewise.
32101 * disk/scsi.c: Likewise.
32102 * disk/ata.c: Likewise.
32103 * disk/ieee1275/ofdisk.c: Likewise.
32104 * disk/i386/pc/biosdisk.c: Likewise.
32105 * disk/host.c: Likewise.
32106 * disk/raid.c: Likewise.
32107 * disk/efi/efidisk.c: Likewise.
32108 * disk/usbms.c: Likewise.
32109 * disk/memdisk.c: Likewise.
32110 * disk/loopback.c: Likewise.
32111 * kern/powerpc/dl.c: Likewise.
32112 * kern/device.c: Likewise.
32113 * kern/dl.c: Likewise.
32114 * kern/sparc64/dl.c: Likewise.
32115 * kern/ieee1275/ieee1275.c: Likewise.
32116 * kern/term.c: Likewise.
32117 * kern/fs.c: Likewise.
32118 * kern/i386/dl.c: Likewise.
32119 * kern/i386/pc/startup.S: Likewise.
32120 * kern/i386/pc/init.c: Likewise.
32121 * kern/i386/pc/mmap.c: Likewise.
32122 * kern/i386/pc/lzo1x.S: Likewise.
32123 * kern/i386/ieee1275/init.c: Likewise.
32124 * kern/i386/realmode.S: Likewise.
32125 * kern/i386/tsc.c: Likewise.
32126 * kern/partition.c: Likewise.
32127 * kern/corecmd.c: Likewise.
32128 * kern/file.c: Likewise.
32129 * kern/efi/efi.c: Likewise.
32130 * kern/efi/init.c: Likewise.
32131 * kern/efi/mm.c: Likewise.
32132 * kern/main.c: Likewise.
32133 * kern/err.c: Likewise.
32134 * kern/env.c: Likewise.
32135 * kern/disk.c: Likewise.
32136 * kern/generic/millisleep.c: Likewise.
32137 * kern/generic/rtc_get_time_ms.c: Likewise.
32138 * kern/misc.c: Likewise.
32139 * kern/parser.c: Likewise.
32140 * genmk.rb: Likewise.
32141 * configure.ac: Likewise.
32142 * boot/i386/pc/diskboot.S: Likewise.
32143 * boot/i386/pc/pxeboot.S: Likewise.
32144 * boot/i386/pc/boot.S: Likewise.
32145 * boot/i386/pc/lnxboot.S: Likewise.
32146 * boot/i386/pc/cdboot.S: Likewise.
32147 * parttool/pcpart.c: Likewise.
32148 * video/readers/tga.c: Likewise.
32149 * video/video.c: Likewise.
32150 * video/bitmap.c: Likewise.
32151 * lib/envblk.c: Likewise.
32152 * lib/i386/setjmp.S: Likewise.
32153 * fs/xfs.c: Likewise.
32154 * fs/afs.c: Likewise.
32155 * fs/fat.c: Likewise.
32156 * fs/ntfs.c: Likewise.
32157 * fs/udf.c: Likewise.
32158 * fs/affs.c: Likewise.
32159 * fs/iso9660.c: Likewise.
32160 * fs/hfs.c: Likewise.
32161 * fs/fshelp.c: Likewise.
32162 * fs/ext2.c: Likewise.
32163 * fs/jfs.c: Likewise.
32164 * fs/reiserfs.c: Likewise.
32165 * fs/hfsplus.c: Likewise.
32166 * fs/minix.c: Likewise.
32167 * fs/cpio.c: Likewise.
32168 * fs/sfs.c: Likewise.
32169 * fs/ufs.c: Likewise.
32170 * efiemu/prepare.c: Likewise.
32171 * efiemu/loadcore_common.c: Likewise.
32172 * efiemu/runtime/efiemu.sh: Likewise.
32173 * efiemu/runtime/efiemu.S: Likewise.
32174 * efiemu/runtime/efiemu.c: Likewise.
32175 * efiemu/pnvram.c: Likewise.
32176 * efiemu/main.c: Likewise.
32177 * efiemu/i386/pc/cfgtables.c: Likewise.
32178 * efiemu/i386/loadcore64.c: Likewise.
32179 * efiemu/i386/loadcore32.c: Likewise.
32180 * efiemu/loadcore.c: Likewise.
32181 * efiemu/symbols.c: Likewise.
32182 * efiemu/mm.c: Likewise.
32183 * include/grub/autoefi.h: Likewise.
32184 * include/grub/datetime.h: Likewise.
32185 * include/grub/term.h: Likewise.
32186 * include/grub/hfs.h: Likewise.
32187 * include/grub/lvm.h: Likewise.
32188 * include/grub/i386/tsc.h: Likewise.
32189 * include/grub/i386/linux.h: Likewise.
32190 * include/grub/i386/xnu.h: Likewise.
32191 * include/grub/i386/efiemu.h: Likewise.
32192 * include/grub/i386/pc/biosdisk.h: Likewise.
32193 * include/grub/i386/pc/memory.h: Likewise.
32194 * include/grub/i386/pc/vbe.h: Likewise.
32195 * include/grub/parttool.h: Likewise.
32196 * include/grub/video.h: Likewise.
32197 * include/grub/memory.h: Likewise.
32198 * include/grub/fs.h: Likewise.
32199 * include/grub/partition.h: Likewise.
32200 * include/grub/xnu.h: Likewise.
32201 * include/grub/efi/api.h: Likewise.
32202 * include/grub/efi/pe32.h: Likewise.
32203 * include/grub/efi/memory.h: Likewise.
32204 * include/grub/multiboot.h: Likewise.
32205 * include/grub/usbdesc.h: Likewise.
32206 * include/grub/multiboot2.h: Likewise.
32207 * include/grub/acpi.h: Likewise.
32208 * include/grub/efiemu/efiemu.h: Likewise.
32209 * include/grub/disk.h: Likewise.
32210 * include/grub/ieee1275/ieee1275.h: Likewise.
32211 * include/grub/net.h: Likewise.
32212 * include/grub/machoload.h: Likewise.
32213 * include/grub/macho.h: Likewise.
32214 * include/multiboot.h: Likewise.
32215 * genmoddep.awk: Likewise.
32216 * normal/main.c: Likewise.
32217 * normal/menu_entry.c: Likewise.
32218 * normal/menu_viewer.c: Likewise.
32219 * normal/completion.c: Likewise.
32220 * normal/cmdline.c: Likewise.
32221 * normal/misc.c: Likewise.
32222 * normal/datetime.c: Likewise.
32223 * bus/usb/usbtrans.c: Likewise.
32224 * bus/usb/ohci.c: Likewise.
32225 * bus/usb/uhci.c: Likewise.
32226 * bus/usb/usb.c: Likewise.
32227 * mmap/efi/mmap.c: Likewise.
32228 * mmap/i386/pc/mmap_helper.S: Likewise.
32229 * mmap/i386/pc/mmap.c: Likewise.
32230 * mmap/i386/mmap.c: Likewise.
32231 * mmap/i386/uppermem.c: Likewise.
32232 * mmap/mmap.c: Likewise.
32233 * commands/acpi.c: Likewise.
32234 * commands/echo.c: Likewise.
32235 * commands/blocklist.c: Likewise.
32236 * commands/loadenv.c: Likewise.
32237 * commands/usbtest.c: Likewise.
32238 * commands/boot.c: Likewise.
32239 * commands/parttool.c: Likewise.
32240 * commands/search.c: Likewise.
32241 * commands/cat.c: Likewise.
32242 * commands/i386/pc/play.c: Likewise.
32243 * commands/i386/pc/drivemap.c: Likewise.
32244 * commands/i386/pc/vbeinfo.c: Likewise.
32245 * commands/i386/pc/acpi.c: Likewise.
32246 * commands/i386/pc/vbetest.c: Likewise.
32247 * commands/ls.c: Likewise.
32248 * commands/cmp.c: Likewise.
32249 * commands/test.c: Likewise.
32250 * commands/efi/acpi.c: Likewise.
32251 * commands/gptsync.c: Likewise.
32252 * commands/help.c: Likewise.
32253 * partmap/amiga.c: Likewise.
32254 * partmap/apple.c: Likewise.
32255 * partmap/acorn.c: Likewise.
32256 * partmap/pc.c: Likewise.
32257 * partmap/sun.c: Likewise.
32258 * partmap/gpt.c: Likewise.
32259 * script/sh/lexer.c: Likewise.
32260 * script/sh/function.c: Likewise.
32261 * font/font.c: Likewise.
32262 * font/font_cmd.c: Likewise.
32263 * loader/powerpc/ieee1275/linux.c: Likewise.
32264 * loader/efi/chainloader.c: Likewise.
32265 * loader/multiboot_loader.c: Likewise.
32266 * loader/macho.c: Likewise.
32267 * loader/i386/multiboot.c: Likewise.
32268 * loader/i386/linux.c: Likewise.
32269 * loader/i386/pc/linux.c: Likewise.
32270 * loader/i386/pc/multiboot2.c: Likewise.
32271 * loader/i386/pc/chainloader.c: Likewise.
32272 * loader/i386/pc/xnu.c: Likewise.
32273 * loader/i386/bsd_trampoline.S: Likewise.
32274 * loader/i386/efi/linux.c: Likewise.
32275 * loader/i386/multiboot_elfxx.c: Likewise.
32276 * loader/i386/bsd_helper.S: Likewise.
32277 * loader/i386/bsd.c: Likewise.
32278 * loader/i386/linux_trampoline.S: Likewise.
32279 * loader/i386/xnu_helper.S: Likewise.
32280 * loader/i386/xnu.c: Likewise.
32281 * loader/i386/bsd_pagetable.c: Likewise.
32282 * loader/i386/multiboot_helper.S: Likewise.
32283 * loader/xnu.c: Likewise.
32284 * loader/xnu_resume.c: Likewise.
32285 * io/gzio.c: Likewise.
32286 * term/efi/console.c: Likewise.
32287 * term/terminfo.c: Likewise.
32288 * term/ieee1275/ofconsole.c: Likewise.
32289 * term/i386/pc/serial.c: Likewise.
32290 * term/i386/pc/vesafb.c: Likewise.
32291 * term/i386/pc/vga.c: Likewise.
32292 * term/usb_keyboard.c: Likewise.
32293 * term/gfxterm.c: Likewise.
32294 * aclocal.m4: Likewise.
32295 * util/lvm.c: Likewise.
32296 * util/grub.d/30_os-prober.in: Likewise.
32297 * util/grub.d/10_hurd.in: Likewise.
32298 * util/console.c: Likewise.
32299 * util/grub-macho2img.c: Likewise.
32300 * util/grub-probe.c: Likewise.
32301 * util/hostfs.c: Likewise.
32302 * util/i386/pc/grub-mkimage.c: Likewise.
32303 * util/i386/pc/grub-setup.c: Likewise.
32304 * util/i386/efi/grub-mkimage.c: Likewise.
32305 * util/grub-mkconfig.in: Likewise.
32306 * util/raid.c: Likewise.
32307 * util/resolve.c: Likewise.
32308 * util/grub-mkdevicemap.c: Likewise.
32309 * util/grub-emu.c: Likewise.
32310 * util/getroot.c: Likewise.
32311 * util/hostdisk.c: Likewise.
32312 * util/usb.c: Likewise.
32313 * util/grub-editenv.c: Likewise.
32314 * util/misc.c: Likewise.
32315
d2d49665 323162009-06-10 Felix Zielcke <fzielcke@z-51.de>
32317
32318 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
32319 `genparttoollist.sh'.
32320 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
32321 Add `*.sh' to the list find searches for and change `mdate.sh'
32322 to `mdate-sh'.
32323
fe052e37 323242009-06-10 Pavel Roskin <proski@gnu.org>
32325
2763ac18 32326 * include/grub/multiboot2.h: Provide compatibility defines for
32327 multiboot2.h.
32328 * include/multiboot2.h: Include stdint.h only if needed, using
32329 angle brackets.
32330 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
32331 grub/multiboot2.h.
32332 * loader/ieee1275/multiboot2.c: Likewise.
32333 * loader/multiboot2.c: Likewise.
32334 * loader/multiboot_loader.c: Likewise.
32335
437e6adc 32336 * configure.ac: Use -nostdlib when probing for the target. It
32337 should not be required to have libc for the target.
32338
06a6836c 32339 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
32340 they fail without libc headers for the target.
32341 * include/grub/powerpc/libgcc.h: Use weak attribute for all
32342 exports.
32343 * include/grub/sparc64/libgcc.h: Likewise. Don't use
32344 preprocessor conditionals.
32345
fe052e37 32346 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
32347 build system doesn't need to be aware of the tar.c internals.
32348
afd22553 323492009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 32350
afd22553 32351 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 32352
6b787c4f 323532009-06-09 Robert Millan <rmh.grub@aybabtu.com>
32354
32355 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
32356 disk limit to 26 for IDE, Virtio, Xen and SCSI.
32357
323582009-06-09 Felix Zielcke <fzielcke@z-51.de>
32359
32360 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 32361 aren't available if ata.mod gets used.
6b787c4f 32362
473d1e45 323632009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 32364
473d1e45 32365 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 32366 initialising controller.
473d1e45 32367 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 32368
255a27d4 323692009-06-08 Felix Zielcke <fzielcke@z-51.de>
32370
32371 * util/i386/pc/grub-install.in: Add a parameter --disk-module
32372 to choose between ata and biosdisk module on i386-pc.
32373
473d1e45 323742009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 32375
d55842d8 32376 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
32377 Subclass and Programming Interface fields in terms of the 3 byte
32378 Class Code register.
32379 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
32380
fa5db0b1 32381 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
32382 interface is OHCI. Add grub_dprintf for symmetry with
32383 bus/usb/uhci.c.
32384 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
32385 interface is UHCI. Add interf variable for programming
32386 interface. Print interface with class/subclass.
32387
c0947beb 32388 * bus/usb/ohci.c: Set interf with correct field.
32389
69da8877 32390 * bus/usb/uhci.c: Remove unneeded doubled lines.
32391 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
32392 Remove whitespace inside comment.
32393
9e172e30 323942009-06-08 Robert Millan <rmh.grub@aybabtu.com>
32395
32396 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
32397 as fallback an equivalent option without depth.
32398
de65ee2b 323992009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32400
32401 Not fail if unable to retrieve C/H/S on LBA disks
32402
473d1e45 32403 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 32404 if unable to retrieve C/H/S on LBA disks
32405
b57ea2c9 324062009-06-08 Pavel Roskin <proski@gnu.org>
32407
32408 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
32409 about aliasing.
32410
af361263 324112009-06-08 Felix Zielcke <fzielcke@z-51.de>
32412
32413 * Makefile.in (uninstall): Remove all $lib_DATA files.
32414
4c9ec6b3 324152009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
32416
32417 Bugfix: install on partitionless device
32418
32419 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
32420 is a whole disk
32421
e76fc924 324222009-06-08 Felix Zielcke <fzielcke@z-51.de>
32423
32424 * Makefile.in (uninstall): Remove all $include_DATA files.
32425
ba5a0d05 324262009-06-08 Felix Zielcke <fzielcke@z-51.de>
32427
32428 * commands/true.c: New file. Implement the true and false commands.
32429 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
32430 (true_mod_SOURCES): New variable.
32431 (true_mod_CFLAGS): Likewise.
32432 (true_mod_LDFLAGS): Likewise.
32433
c8048e32 324342009-06-05 Colin D Bennett <colin@gibibit.com>
32435
32436 Optimized font character lookup using binary search instead of linear
32437 search. Fonts now are required to have the character index ordered by
32438 code point.
32439
32440 * font/font.c (load_font_index): Verify that fonts have ordered
32441 character indices.
32442 (find_glyph): Use binary search instead of linear search to find a
32443 character in a font.
32444
408305be 324452009-06-05 Michael Scherer <misc@mandriva.org>
32446
32447 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
32448 uses case sensitive btree.
32449 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
32450 only for case insensitive filesystems.
32451
8ee1e0d9 324522009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
32453
32454 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
32455 * conf/common.rmk (search_mod_CFLAGS): likewise
32456
a9966eb1 324572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32458
473d1e45 32459 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 32460 compensate a compiler bug
32461
9e7100fb 324622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32463
473d1e45 32464 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 32465 instead of '\b'
473d1e45 32466
ede21d71 324672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32468
32469 Definitions for creating asm symbols with Apple's CC
32470
32471 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
32472 [APPLE_CC] (VARIABLE): likewise
32473
9dbf7653 324742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32475
32476 Disable lnxboot.img when compiled
32477 with Apple's CC
32478
32479 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
32480 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
32481 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
32482 [! APPLE_CC] (CODE_LENG): skip
32483 [! APPLE_CC] (setup_sects): likewise
32484 [! APPLE_CC]: skip filling
473d1e45 32485
e93cdc3d 324862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32487
32488 Address in trampolines based on 32-bit registers when compiled
32489 with Apple's CC
32490
473d1e45 32491 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 32492 for addresses
32493 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
32494
6c688477 324952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32496
32497 Avoid aliases when compiling with Apple's CC for PCBIOS machine
32498
32499 * kern/misc.c [APPLE_CC] (memcpy): new function
32500 [APPLE_CC] (memmove): likewise
32501 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 32502 (memcpy): define alias conditionally on !APPLE_CC
6c688477 32503 (memset): likewise
32504 (abort): likewise
32505 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
32506 APPLE_CC are defined
32507 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
32508 (grub_assert_fail): make prototype conditional
32509
e37ffc5c 325102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32511
32512 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
32513
473d1e45 32514 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
32515 grub-macho2img
e37ffc5c 32516 (CLEANFILES): add grub-macho2img
32517 (grub_macho2img_SOURCES): new variable
32518 * kern/i386/pc/startup.S (bss_start): new variable
32519 (bss_end): likewise
32520 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
32521 * util/grub-macho2img.c: new file
32522
cf00df31 325232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32524
32525 Use objconv when compiling with Apple's CC
32526
32527 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
32528 (efiemu64.o): likewise
32529 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
32530 when compiling with Apple's CC
32531 (efiemu64_s.o): likewise
32532 * configure.ac: check for objconv when compiling with Apple's CC
32533 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 32534
d119a20c 325352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32536
32537 Define segment as well as section when compiling with
32538 Apple's CC
32539
32540 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
32541 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
32542 (efiemu_convert_pointer): likewise
32543 (efiemu_set_virtual_address_map): likewise
32544 (efiemu_convert_pointer): likewise
32545 (efiemu_getcrc32): likewise
32546 (init_crc32_table): likewise
32547 (reflect): likewise
32548 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
32549 (GRUB_MOD_DEP): likewise
473d1e45 32550
c8600122 325512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32552
32553 Allow a compilation without -mcmodel=large
32554
32555 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
32556 when compiled without -mcmodel=large
473d1e45 32557 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 32558 without -mcmodel=large
473d1e45 32559 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 32560 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 32561
e8df1d4e 325622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32563
32564 Remove nested functions in efiemu core
32565
32566 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 32567
cc6c3ac1 325682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32569
32570 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
32571
32572 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
32573 temporary storage
473d1e45 32574 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
32575 using Apple's CC
cc6c3ac1 32576 (grub_cpu_is_tsc_supported): likewise
32577 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 32578
3e325901 325792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32580
32581 Absolute addressing through constant with Apple's cc
32582
32583 * kern/i386/pc/startup.S: Define necessary constants
32584 and address through it when using ABS with Apple's CC
32585 * boot/i386/pc/diskboot.S: likewise
32586 * boot/i386/pc/boot.S: likewise
32587 * boot/i386/pc/lnxboot.S: likewise
32588 * boot/i386/pc/cdboot.S: likewise
32589 * mmap/i386/pc/mmap_helper.S: likewise
32590 * commands/i386/pc/drivemap_int13h.S: likewise
32591
2b167a72 325922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32593
32594 Check if compiler is apple cc
32595
32596 * Makefile.in (ASFLAGS): new variable
32597 (TARGET_ASFLAGS): likewise
32598 (TARGET_MODULE_FORMAT): likewise
32599 (TARGET_APPLE_CC): likewise
32600 (OBJCONV): likewise
32601 (TARGET_IMG_CFLAGS): likewise
32602 (TARGET_CPPFLAGS): add includedir
32603 * configure.ac: call grub_apple_cc and grub_apple_target_cc
32604 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
32605 Check for linker script only if compiler isn't Apple's CC
32606 (TARGET_MODULE_FORMAT): set
32607 (TARGET_APPLE_CC): likewise
32608 (TARGET_ASFLAGS): likewise
32609 (ASFLAGS): likewise
32610 Check for objcopy only if compiler isn't Apple's CC
32611 Check for BSS symbol only if compiler isn't Apple's CC
32612 * genmk.rb: adapt nm options if we use Apple's utils
32613 * aclocal.m4 (grub_apple_cc): new test
32614 (grub_apple_target_cc): likewise
473d1e45 32615
fb14123e 326162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32617
32618 Simplify sed expressions and improve awk
32619
32620 * Makefile.in (install-local): simplify sed expression
32621 * gencmdlist.sh: likewise
32622 * genmoddep.awk: avoid adding module as a dependency of itself
32623
5b889789 326242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32625
32626 Add missing start symbols
32627
32628 * boot/i386/pc/boot.S: add start
fb14123e 32629 * boot/i386/pc/pxeboot.S: likewise
473d1e45 32630
fd2bf2e3 326312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32632
32633 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 32634
32635 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 32636 (relocate_addresses): consider both r_addend and value at offset
32637 (make_mods_section): zerofill modinfo and header
32638 (convert_elf): write prefix here
473d1e45 32639
5389763d 326402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32641
32642 Use .asciz instead of .string
32643
32644 * i386/pc/diskboot.S: use .asciz instead of .string
32645 * i386/pc/boot.S: likewise
32646 * include/grub/dl.h (GRUB_MOD_DEP): likewise
32647 (GRUB_MOD_NAME): likewise
473d1e45 32648
3eb5ed4e 326492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32650
32651 gfxpayload support
32652
32653 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
32654 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
32655 (grub_video_setup): remove
32656 (grub_video_set_mode): new prototype
32657 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
32658 (vid_mode): remove
32659 (linux_vesafb_res): compile only on PCBIOS
32660 (grub_linux_boot): support gfxpayload
32661 * loader/i386/pc/xnu.c (video_hook): new function
32662 (grub_xnu_set_video): support gfxpayload
32663 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
32664 (DEFAULT_VIDEO_HEIGHT): likewise
32665 (DEFAULT_VIDEO_FLAGS): likewise
32666 (DEFAULT_VIDEO_MODE): new definition
32667 (video_hook): new function
32668 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 32669 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 32670 loading xnu
32671 * video/video.c (grub_video_setup): removed
473d1e45 32672 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 32673 grub_video_setup
32674
4b0e1143 326752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32676
32677 Avoid calling biosdisk in drivemap
32678
32679 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
32680 (revparse_biosdisk): likewise
32681 (list_mappings): derive name from id directly
32682 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 32683
fda6cb98 326842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
32685
32686 Script fixes
32687
32688 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
32689 (grub_lexer_param): add tokenonhold
32690 (grub_script_create_cmdline): remove cmdline. All callers updated
32691 (grub_script_function_create): make functionname
32692 grub_script_arg. All callers updated
32693 (grub_script_execute_argument_to_string): new prototype
32694 * kern/parser.c (state_transitions): reorder
32695 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 32696 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 32697 make global
32698 (grub_script_execute_cmdline): use new format
32699 * script/sh/function.c (grub_script_function_create): make functionname
32700 grub_script_arg. All callers updated
473d1e45 32701 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 32702 (grub_script_yylex): remove
32703 (grub_script_yylex2): renamed to ...
32704 (grub_script_yylex): ...renamed
32705 parse the expressions like a${b}c
32706 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
32707 (GRUB_PARSER_TOKEN_VAR): remove
32708 (GRUB_PARSER_TOKEN_NAME): likewise
32709 ("if"): declare as typeless
32710 ("while"): likewise
32711 ("function"): likewise
32712 ("else"): likewise
32713 ("then"): likewise
32714 ("fi"): likewise
32715 (text): remove
32716 (argument): likewise
32717 (script): accept empty scripts and make exit on error
32718 (arguments): use GRUB_PARSER_TOKEN_ARG
32719 (function): likewise
32720 (command): move error handling to script
32721 (menuentry): move grub_script_lexer_ref before
473d1e45 32722 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 32723 argument. All callers updated
32724
f4448a07 327252009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32726
32727 Prevent GRUB from probing floppies during boot.
32728
32729 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
32730 * commands/search.c (options): Add --no-floppy.
32731 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
32732 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
32733 --no-floppy when searching for UUIDs.
32734
2bf5885a 327352009-06-04 Robert Millan <rmh.grub@aybabtu.com>
32736
32737 Simplify the code duplication in commands/search.c.
32738
32739 * commands/search.c (search_label, search_fs_uuid): Merge into ...
32740 (search_fs): ... this. Update all users.
32741
f6fd460a 327422009-06-03 Felix Zielcke <fzielcke@z-51.de>
32743
32744 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
32745
cbb3c83e 327462009-05-28 Pavel Roskin <proski@gnu.org>
32747
57788cfd 32748 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
32749 Remove the original symlink explicitly.
32750
cbb3c83e 32751 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
32752 just one slash. That's how grub_fshelp_find_file() does it.
32753
cd0d5e30 327542009-05-26 Pavel Roskin <proski@gnu.org>
32755
f0f8bbe2 32756 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
32757 to `str'.
32758
cd0d5e30 32759 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
32760 possibly unused.
32761
8c2cab51 327622009-05-25 Christian Franke <franke@computer.org>
32763
32764 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
32765 register.
32766 (grub_atapi_identify): Add wait after drive select.
32767 (grub_ata_identify): Do more strict status register check before
32768 calling grub_atapi_identify (). Suppress error message if status
32769 register is 0x00 after command failure. Add status register
32770 check after PIO read to avoid bogus identify due to stuck DRQ.
32771 Thanks to Pavel Roskin for testing.
32772 (grub_device_initialize): Remove unsafe status register check.
32773 Thanks to 'phcoder' for problem report and patch.
32774 Prevent sign extension in debug message.
32775
230c0ad6 327762009-05-23 Colin D Bennett <colin@gibibit.com>
32777
32778 Cleaned up `include/grub/normal.h'. Grouped prototypes by
32779 definition file, and functions defined in `normal/menu.c' have had
32780 their prototypes moved to `include/grub/menu.h' for consistency.
32781
32782 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
32783 from normal.h.
32784 (grub_menu_get_entry): Likewise.
32785 (grub_menu_get_timeout): Likewise.
32786 (grub_menu_set_timeout): Likewise.
32787 (grub_menu_execute_entry): Likewise.
32788 (grub_menu_execute_with_fallback): Likewise.
32789 (grub_menu_entry_run): Likewise.
32790
32791 * include/grub/normal.h: Re-ordered and grouped function
32792 prototypes by file that the function is defined in.
32793 (grub_menu_execute_callback): Removed; moved to menu.h.
32794 (grub_menu_get_entry): Likewise.
32795 (grub_menu_get_timeout): Likewise.
32796 (grub_menu_set_timeout): Likewise.
32797 (grub_menu_execute_entry): Likewise.
32798 (grub_menu_execute_with_fallback): Likewise.
32799 (grub_menu_entry_run): Likewise.
32800 (grub_menu_addentry): Renamed from this ...
32801 (grub_normal_add_menu_entry): ... to this.
32802
32803 * normal/main.c (grub_menu_addentry): Renamed from this ...
32804 (grub_normal_add_menu_entry): ... to this.
32805
32806 * script/sh/execute.c (grub_script_execute_menuentry): Update
32807 reference to renamed grub_menu_addentry function.
32808
861f03a5 328092009-05-23 Felix Zielcke <fzielcke@z-51.de>
32810
32811 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
32812
96b1619a 328132009-05-22 Pavel Roskin <proski@gnu.org>
32814
bf6a5fb2 32815 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
32816 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
32817 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
32818 compiling for the i386 targets, but not for the utilities.
32819
96b1619a 32820 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
32821 to grub_uint8_t.
32822 (grub_root_drive): Likewise.
32823 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
32824 remove alignment.
32825 (grub_root_drive): Change size to byte.
32826 (grub_start_addr): Remove.
32827 (grub_end_addr): Likewise.
32828 (grub_apm_bios_info): Likewise.
32829
b729776b 328302009-05-21 Felix Zielcke <fzielcke@z-51.de>
32831
32832 * normal/i386: Remove.
32833 * normal/powerpc: Likewise.
32834 * normal/sparc64: Likewise.
32835 * normal/x86_64: Likewise.
32836
0a15ce80 328372009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
32838
32839 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 32840 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 32841 * loader/i386/xnu_helper.S: Likewise
d6da58e6 32842
33db9015 328432009-05-18 Colin D Bennett <colin@gibibit.com>
32844
d6da58e6 32845 Display error messages when parsing a Lua statement fails.
32846 Previously, executing a syntactically invalid statement like
32847 ")foo" or "bar;" would silently fail.
33db9015 32848
32849 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 32850 (grub_lua_parse_line): Improved reporting of Lua parser and
32851 execution errors.
33db9015 32852
46422c89 328532009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32854
32855 Remove -Werror which causes build to fail on some systems
32856
32857 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
32858 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
32859 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 32860
22f53a96 328612009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
32862
32863 trampoline for linux on 64-bit platform
32864
18f547ad 32865 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
32866 loader/i386/efi/linux_trampoline.S
32867 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 32868 declaration
d6da58e6 32869 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
32870 here
22f53a96 32871 * loader/i386/linux_trampoline.S: moved here
d6da58e6 32872 * loader/i386/efi/linux.c (allocate_pages): reserve space for
32873 trampoline
22f53a96 32874 (jumpvector): removed
32875 (grub_linux_trampoline_start): new declaration
32876 (grub_linux_trampoline_end): likewise
32877 (grub_linux_boot): use trampoline when on 64-bit platform
32878 * loader/i386/linux.c: likewise
32879
cb5a0f40 328802009-05-16 Pavel Roskin <proski@gnu.org>
32881
32882 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
32883 const to avoid a warning.
32884 (grub_lua_setenv): Likewise.
32885 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
32886 lmsg to fix a warning.
32887
334f2c28 328882009-05-16 Felix Zielcke <fzielcke@z-51.de>
32889
32890 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 32891 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32892 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
32893 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32894 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32895 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
32896 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
32897 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 32898
59e5d3ec 328992009-05-16 Felix Zielcke <fzielcke@z-51.de>
32900
32901 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
32902
9d87a1ba 329032009-05-16 Bean <bean123ch@gmail.com>
32904
32905 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
32906 (lua_mod_SOURCES): New variable.
32907 (lua_mod_CFLAGS): Likewise.
32908 (lua_mod_LDFLAGS): Likewise.
32909
32910 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
32911 (setjmp_mod_SOURCES): New variable.
32912 (setjmp_mod_CFLAGS): Likewise.
32913 (setjmp_LDFLAGS): Likewise.
32914
32915 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
32916 (setjmp_mod_SOURCES): New variable.
32917 (setjmp_mod_CFLAGS): Likewise.
32918 (setjmp_LDFLAGS): Likewise.
32919
32920 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32921 (setjmp_mod_SOURCES): New variable.
32922 (setjmp_mod_CFLAGS): Likewise.
32923 (setjmp_LDFLAGS): Likewise.
32924
32925 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
32926 (setjmp_mod_SOURCES): New variable.
32927 (setjmp_mod_CFLAGS): Likewise.
32928 (setjmp_LDFLAGS): Likewise.
32929
32930 * normal/i386/setjmp.S: Moved from here ...
32931 * lib/i386/setjmp.S: ... Moved here
32932 * normal/x86_64/setjmp.S: Moved from here ...
32933 * lib/x86_64/setjmp.S: ... Moved here
32934 * normal/powerpc/setjmp.S: Moved from here ...
32935 * lib/powerpc/setjmp.S: ... Moved here
32936 * normal/sparc64/setjmp.S: Moved from here ...
32937 * lib/sparc64/setjmp.S: ... Moved here
32938
32939 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
32940 returns_twice in mingw.
32941
32942 * script/lua/grub_lib.c: New file.
32943 * script/lua/grub_lib.h: Likewise.
32944 * script/lua/grub_lua.h: Likewise.
32945 * script/lua/grub_main.c: Likewise.
32946 * script/lua/lapi.c: Likewise.
32947 * script/lua/lapi.h: Likewise.
32948 * script/lua/lauxlib.c: Likewise.
32949 * script/lua/lauxlib.h: Likewise.
32950 * script/lua/lbaselib.c: Likewise.
32951 * script/lua/lcode.c: Likewise.
32952 * script/lua/lcode.h: Likewise.
32953 * script/lua/ldblib.c: Likewise.
32954 * script/lua/ldebug.c: Likewise.
32955 * script/lua/ldebug.h: Likewise.
32956 * script/lua/ldo.c: Likewise.
32957 * script/lua/ldo.h: Likewise.
32958 * script/lua/ldump.c: Likewise.
32959 * script/lua/lfunc.c: Likewise.
32960 * script/lua/lfunc.h: Likewise.
32961 * script/lua/lgc.c: Likewise.
32962 * script/lua/lgc.h: Likewise.
32963 * script/lua/linit.c: Likewise.
32964 * script/lua/liolib.c: Likewise.
32965 * script/lua/llex.c: Likewise.
32966 * script/lua/llex.h: Likewise.
32967 * script/lua/llimits.h: Likewise.
32968 * script/lua/lmathlib.c: Likewise.
32969 * script/lua/lmem.c: Likewise.
32970 * script/lua/lmem.h: Likewise.
32971 * script/lua/loadlib.c: Likewise.
32972 * script/lua/lobject.c: Likewise.
32973 * script/lua/lobject.h: Likewise.
32974 * script/lua/lopcodes.c: Likewise.
32975 * script/lua/lopcodes.h: Likewise.
32976 * script/lua/loslib.c: Likewise.
32977 * script/lua/lparser.c: Likewise.
32978 * script/lua/lparser.h: Likewise.
32979 * script/lua/lstate.c: Likewise.
32980 * script/lua/lstate.h: Likewise.
32981 * script/lua/lstring.c: Likewise.
32982 * script/lua/lstring.h: Likewise.
32983 * script/lua/lstrlib.c: Likewise.
32984 * script/lua/ltable.c: Likewise.
32985 * script/lua/ltable.h: Likewise.
32986 * script/lua/ltablib.c: Likewise.
32987 * script/lua/ltm.c: Likewise.
32988 * script/lua/ltm.h: Likewise.
32989 * script/lua/lua.h: Likewise.
32990 * script/lua/luaconf.h: Likewise.
32991 * script/lua/lualib.h: Likewise.
32992 * script/lua/lundump.c: Likewise.
32993 * script/lua/lundump.h: Likewise.
32994 * script/lua/lvm.c: Likewise.
32995 * script/lua/lvm.h: Likewise.
32996 * script/lua/lzio.c: Likewise.
32997 * script/lua/lzio.h: Likewise.
32998
5e898c9d 329992009-05-16 Bean <bean123ch@gmail.com>
33000
33001 * include/grub/kernel.h (grub_module_header_types): Add type
33002 OBJ_TYPE_CONFIG.
33003
33004 * kern/main.c (grub_load_config): New function.
33005 (grub_main): Call grub_load_config to read boot config.
33006
33007 * grub-mkimage (generate_image): New parameter config_path.
33008 (options): New option --config.
33009 (main): Parse --config option, and pass it to generate_image.
33010
cf353a47 330112009-05-14 Christian Franke <franke@computer.org>
33012
33013 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
33014 This fixes build on Cygwin.
33015
3834887f 330162009-05-14 Pavel Roskin <proski@gnu.org>
33017
33018 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
33019 jump. This saves two bytes, so the typical case of 2 swapped
33020 drives would fit 32 bytes.
33021
8090fc01 330222009-05-13 Pavel Roskin <proski@gnu.org>
33023
ac963883 33024 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
33025 grub_uint32_t to avoid a warning.
33026
8090fc01 33027 * loader/i386/linux.c (allocate_pages): When assigning
33028 real_mode_mem, cast through grub_size_t to fix a warning. The
33029 code already makes sure that the value would fit a pointer.
33030 (grub_linux_setup_video): Cast render_target->data to
33031 grub_size_t to fix a warning.
33032
18f547ad 330332009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 33034
33035 * commands/i386/pc/drivemap.c: New file - implement drivemap
33036 command.
33037 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
33038 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
33039
6f6a8b28 330402009-05-13 Pavel Roskin <proski@gnu.org>
33041
33042 * util/i386/pc/grub-setup.c (setup): Remove unused variable
33043 embedding_area_exists.
33044
15fbf4c4 330452009-05-13 Robert Millan <rmh.grub@aybabtu.com>
33046
33047 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
33048 it easier to understand / work with.
59978c8a 33049 Improve warning messages for cases where there's no embedding area,
33050 or when it is too small (or core.img too large).
15fbf4c4 33051
238e871f 330522009-05-13 Pavel Roskin <proski@gnu.org>
33053
0ab3a9a4 33054 * loader/i386/pc/multiboot2.c: Add necessary includes for
33055 grub_multiboot2_real_boot().
33056
a2c8c5f8 33057 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
33058 PX record is always little-endian. We only need the lower 2
33059 bytes of the mode.
33060
faec96af 33061 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
33062 facilitate code reuse.
33063 (grub_cpio_mount): Use "struct head", not a char buffer. This
33064 fixes a warning reported by gcc 4.4.
33065
238e871f 33066 * kernel/disk.c (grub_disk_read): Use void pointer for the
33067 buffer.
33068 (grub_disk_write): Use const void pointer for the buffer.
33069 Adjust all callers. Remove unnecessary casts.
33070
901d2f0c 330712009-05-10 Robert Millan <rmh.grub@aybabtu.com>
33072
33073 * util/i386/pc/grub-install.in: Update copyright year.
33074
18f547ad 330752009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 33076
33077 gptsync
33078
33079 * commands/gptsync.c: new file
33080 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
33081 (gptsync_mod_SOURCES): new variable
33082 (gptsync_mod_CFLAGS): likewise
33083 (gptsync_mod_LDFLAGS): likewise
18f547ad 33084 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 33085 new definition
33086 (GRUB_PC_PARTITION_TYPE_HFS): likewise
33087 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
33088 * conf/i386-ieee1275.rmk: likewise
33089 * conf/i386-pc.rmk: likewise
33090 * conf/powerpc-ieee1275.rmk: likewise
33091
b4ba690a 330922009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
33093
33094 Fixed grub-emu
33095
33096 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
33097 (grub_dl_ref): likewise
33098
317e1a44 330992009-05-08 Robert Millan <rmh.grub@aybabtu.com>
33100
33101 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
33102 split in two functions (one for msdos and one for gpt).
33103
041b8094 331042009-05-08 Pavel Roskin <proski@gnu.org>
33105
752473c2 33106 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
33107 not modified.
33108
041b8094 33109 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
33110 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
33111 Initialize them with -1. Add sanity check for bad1. Eliminate
33112 nerr variable.
33113
172800ce 331142009-05-08 David S. Miller <davem@davemloft.net>
33115
33116 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
33117
29aa5e81 331182009-05-06 Robert Millan <rmh.grub@aybabtu.com>
33119
33120 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 33121 existence.
29aa5e81 33122
96613b62 331232009-05-05 Felix Zielcke <fzielcke@z-51.de>
33124
33125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 33126 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 33127
eef73c8a 331282009-05-05 David S. Miller <davem@davemloft.net>
33129
33130 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
33131
119494b5 331322009-05-05 Pavel Roskin <proski@gnu.org>
33133
33134 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
33135 of grub_dl_ref() and grub_dl_unref().
33136 * commands/parttool.c: Remove preprocessor conditionals around
33137 grub_dl_ref() and grub_dl_unref().
33138 * fs/affs.c: Likewise.
33139 * fs/afs.c: Likewise.
33140 * fs/cpio.c: Likewise.
33141 * fs/ext2.c: Likewise.
33142 * fs/fat.c: Likewise.
33143 * fs/hfs.c: Likewise.
33144 * fs/hfsplus.c: Likewise.
33145 * fs/iso9660.c: Likewise.
33146 * fs/jfs.c: Likewise.
33147 * fs/minix.c: Likewise.
33148 * fs/ntfs.c: Likewise.
33149 * fs/reiserfs.c: Likewise.
33150 * fs/sfs.c: Likewise.
33151 * fs/udf.c: Likewise.
33152 * fs/ufs.c: Likewise.
33153 * fs/xfs.c: Likewise.
33154 * include/grub/dl.h: Likewise.
33155 * loader/xnu.c: Likewise.
33156
de5fd76e 331572009-05-04 Pavel Roskin <proski@gnu.org>
33158
33159 * commands/acpi.c: Remove unused variable my_mod.
33160 * partmap/amiga.c: Likewise.
33161 * partmap/apple.c: Likewise.
33162 * partmap/gpt.c: Likewise.
33163 * partmap/pc.c: Likewise.
33164 * partmap/sun.c: Likewise.
33165 * term/gfxterm.c: Likewise.
33166 * term/i386/pc/vesafb.c: Likewise.
33167 * term/i386/pc/vga.c: Likewise.
33168
983598ad 331692009-05-04 David S. Miller <davem@davemloft.net>
33170
33171 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
33172 pointer args to grub_ieee1275_get_property().
33173
8aadec43 33174 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
33175
9554b15e 33176 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
33177 devices, and do not traverse down under controller nodes.
33178
67e23c90 33179 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
33180 (grub_ofdisk_open): Use it to un-escape "," characters.
33181 * kern/disk.c (find_part_sep): New.
33182 (grub_disk_open): Use it to find the first non-escaped ','
33183 character in the disk name.
33184 * util/ieee1275/devicemap.c (escape_of_path): New.
33185 (grub_util_emit_devicemap_entry): Use it.
33186 * util/sparc64/ieee1275/grub-install.in: Update script to
33187 strip partition specifiers properly by not triggering on
33188 '\' escaped ',' characters.
33189
74bfdd2f 331902009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33191
33192 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
33193 to 0x300.
33194 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
33195 resolutions.
33196 (linux_vesafb_modes): Add a lot of additional modes to the list (based
33197 on documentation from Wikipedia).
33198
4241d2b1 331992009-05-04 Pavel Roskin <proski@gnu.org>
33200
33201 * disk/ata.c: Spelling fixes.
33202 * disk/raid.c: Likewise.
33203 * disk/usbms.c: Likewise.
33204 * disk/dmraid_nvidia.c: Likewise.
33205 * kern/ieee1275/openfw.c: Likewise.
33206 * kern/ieee1275/init.c: Likewise.
33207 * kern/ieee1275/cmain.c: Likewise.
33208 * boot/i386/pc/cdboot.S: Likewise.
33209 * video/readers/png.c: Likewise.
33210 * video/i386/pc/vbe.c: Likewise.
33211 * fs/udf.c: Likewise.
33212 * fs/hfs.c: Likewise.
33213 * fs/reiserfs.c: Likewise.
33214 * efiemu/runtime/efiemu.c: Likewise.
33215 * efiemu/main.c: Likewise.
33216 * efiemu/mm.c: Likewise.
33217 * include/grub/elf.h: Likewise.
33218 * include/grub/xnu.h: Likewise.
33219 * include/grub/usbdesc.h: Likewise.
33220 * include/grub/usb.h: Likewise.
33221 * include/grub/script_sh.h: Likewise.
33222 * include/grub/lib/LzmaEnc.h: Likewise.
33223 * include/grub/efiemu/efiemu.h: Likewise.
33224 * include/grub/command.h: Likewise.
33225 * normal/menu.c: Likewise.
33226 * normal/main.c: Likewise.
33227 * normal/datetime.c: Likewise.
33228 * bus/usb/uhci.c: Likewise.
33229 * mmap/i386/uppermem.c: Likewise.
33230 * mmap/mmap.c: Likewise.
33231 * commands/acpi.c: Likewise.
33232 * commands/test.c: Likewise.
33233 * partmap/apple.c: Likewise.
33234 * font/font.c: Likewise.
33235 * loader/sparc64/ieee1275/linux.c: Likewise.
33236 * loader/macho.c: Likewise.
33237 * loader/i386/bsd_trampoline.S: Likewise.
33238 * loader/i386/bsd.c: Likewise.
33239 * loader/xnu.c: Likewise.
33240 * term/i386/pc/vesafb.c: Likewise.
33241 * term/usb_keyboard.c: Likewise.
33242 * util/resolve.c: Likewise.
33243 * util/getroot.c: Likewise.
33244
0cfc0083 332452009-05-04 Felix Zielcke <fzielcke@z-51.de>
33246
33247 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
33248
7c1d00cd 332492009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33250
33251 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
33252 build error.
33253
b01f0548 332542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33255
33256 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
33257 parameter only available on BIOS.
33258
ecc3eb22 332592009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33260
33261 Removed wrong semicolon in declaration
33262
33263 * grub/misc.h (grub_dprintf): remove semicolon
33264
112972a9 332652009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33266
33267 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
33268 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
33269 is done by grub_cmd_linux() now).
33270 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
33271 restore video to text mode.
33272 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
33273 indicates lack of "vga=" parameter. "vga=0" is mapped to
33274 `GRUB_LINUX_VID_MODE_NORMAL'.
33275
afd5c115 332762009-05-04 Felix Zielcke <fzielcke@z-51.de>
33277
33278 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
33279 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
33280 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 33281 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 33282 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
33283 `grub_script.tab.c'.
33284
33285 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33286 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
33289 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33290
faa517ce 33291 * Makefile.in: Remove duplicated 2008 in Copyright line.
33292
ae0c0bdc 332932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
33294
473d1e45 33295 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 33296 unconditionally.
33297 * include/grub/util/misc.h (grub_util_warn): New declaration.
33298
33299 * util/i386/pc/grub-install.in: Understand --force and pass it down
33300 to grub-setup.
33301
33302 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
33303 down to setup().
33304 (setup): Improve error messages and add warnings when requested to
33305 install in odd layouts. Refuse to install using blocklists unless
33306 --force was set.
33307
18f547ad 333082009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 33309
33310 * disk/raid.c (grub_raid_scan_device): Improve debug message.
33311
6d260daa 333122009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33313
33314 Updated copyright year
33315
33316 * fs/hfsplus.c: updated copyright year
18f547ad 33317
69f853f8 333182009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
33319
33320 HFS+ UUID
33321
18f547ad 33322 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 33323 in the space previously used by unused3
33324 (grub_hfsplus_uuid): new function
33325 (grub_hfsplus_fs): added uuid field
33326
4c402e73 333272009-05-03 Pavel Roskin <proski@gnu.org>
33328
33329 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
33330 suppress warnings. It's no longer needed.
33331 * disk/host.c: Likewise.
33332 * disk/ata_pthru.c: Likewise.
33333 * disk/loopback.c: Likewise.
33334 * hook/datehook.c: Likewise.
33335 * parttool/pcpart.c: Likewise.
33336 * fs/i386/pc/pxe.c: Likewise.
33337 * fs/ntfscomp.c: Likewise.
33338 * efiemu/main.c: Likewise.
33339 * mmap/mmap.c: Likewise.
33340 * commands/crc.c: Likewise.
33341 * commands/hexdump.c: Likewise.
33342 * commands/hdparm.c: Likewise.
33343 * commands/acpi.c: Likewise.
33344 * commands/echo.c: Likewise.
33345 * commands/minicmd.c: Likewise.
33346 * commands/blocklist.c: Likewise.
33347 * commands/memrw.c: Likewise.
33348 * commands/loadenv.c: Likewise.
33349 * commands/usbtest.c: Likewise.
33350 * commands/lsmmap.c: Likewise.
33351 * commands/boot.c: Likewise.
33352 * commands/parttool.c: Likewise.
33353 * commands/configfile.c: Likewise.
33354 * commands/search.c: Likewise.
33355 * commands/ieee1275/suspend.c: Likewise.
33356 * commands/cat.c: Likewise.
33357 * commands/i386/pc/pxecmd.c: Likewise.
33358 * commands/i386/pc/play.c: Likewise.
33359 * commands/i386/pc/halt.c: Likewise.
33360 * commands/i386/pc/vbeinfo.c: Likewise.
33361 * commands/i386/pc/vbetest.c: Likewise.
33362 * commands/lspci.c: Likewise.
33363 * commands/date.c: Likewise.
33364 * commands/handler.c: Likewise.
33365 * commands/ls.c: Likewise.
33366 * commands/test.c: Likewise.
33367 * commands/cmp.c: Likewise.
33368 * commands/efi/loadbios.c: Likewise.
33369 * commands/efi/fixvideo.c: Likewise.
33370 * commands/halt.c: Likewise.
33371 * commands/help.c: Likewise.
33372 * commands/reboot.c: Likewise.
33373 * hello/hello.c: Likewise.
33374 * script/sh/main.c: Likewise.
33375 * loader/xnu.c: Likewise.
33376 * term/terminfo.c: Likewise.
33377 * term/i386/pc/serial.c: Likewise.
33378 * term/usb_keyboard.c: Likewise.
33379
515b5079 333802009-05-03 David S. Miller <davem@davemloft.net>
33381
33382 * normal/menu.c: Include grub/parser.h
33383
dfc31a22 333842009-05-03 Pavel Roskin <proski@gnu.org>
33385
2fee74f1 33386 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
33387 not char*.
33388 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
33389 Suggested by Javier Martín <lordhabbit@gmail.com>
33390
dfc31a22 33391 * util/i386/pc/grub-mkrescue.in: Allow for the case when
33392 efiemu??.o doesn't exist.
33393 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
33394 copying.
33395
18f547ad 333962009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 33397
33398 FreeBSD 64-bit support
33399
18f547ad 33400 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 33401 and loader/i386/bsd_trampoline.S
33402 (bsd_mod_ASFLAGS): new variable
33403 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
33404 (FREEBSD_MODTYPE_KERNEL64): likewise
33405 (grub_bsd64_trampoline_start): likewise
33406 (grub_bsd64_trampoline_end): likewise
33407 (grub_bsd64_trampoline_selfjump): likewise
33408 (grub_bsd64_trampoline_gdt): likewise
33409 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
33410 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
33411 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
33412 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 33413 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 33414 of "attrib" member
33415 * loader/i386/bsd_pagetable.c: new file
33416 * loader/i386/bsd_trampoline.S: likewise
33417 * loader/i386/bsd.c (ALIGN_QWORD): new macro
33418 (ALIGN_VAR): likewise
33419 (entry_hi): new variable
33420 (kern_end_mdofs): likewise
33421 (is_64bit): likewise
33422 (grub_freebsd_add_meta): use ALIGN_VAR
33423 (grub_e820_mmap): new declaration
33424 (grub_freebsd_add_mmap): new function
33425 (grub_freebsd_add_meta_module): support 64 bit kernels
33426 (grub_freebsd_list_modules): use ALIGN_VAR
33427 (gdt_descriptor): new declaration
33428 (grub_freebsd_boot): support 64 bit kernels
33429 (grub_bsd_elf64_hook): new function
33430 (grub_bsd_load_elf): support elf64
33431
038c5720 334322009-05-03 Bean <bean123ch@gmail.com>
33433
33434 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
33435 after we get the result of if statement.
33436
fc45fb58 334372009-05-03 Bean <bean123ch@gmail.com>
33438
33439 * Makefile.in (enable_efiemu): New variable.
33440
33441 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
33442 set.
33443 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
33444 path.
33445 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
33446 path, add -mno-red-zone option.
33447 (efiemu64_s.o): Likewise.
33448 (efiemu64.o): Use macro $^ for source file.
33449
33450 * configure.ac (--enable-efiemu): New option.
33451
bbee0f2b 334522009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
33453
33454 xnu support
33455
33456 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
33457 (pkglib_MODULES): add xnu.mod
33458 (xnu_mod_SOURCES): new variable
33459 (xnu_mod_CFLAGS): likewise
33460 (xnu_mod_LDFLAGS): likewise
33461 (xnu_mod_ASFLAGS): likewise
33462 * conf/i386-pc.rmk: likewise
33463 * conf/x86_64-efi.rmk: likewise
7dd4a573 33464 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 33465 new declaration
33466 * include/grub/i386/macho.h: new file
33467 * include/grub/i386/xnu.h: likewise
33468 * include/grub/macho.h: likewise
33469 * include/grub/machoload.h: likewise
33470 * include/grub/x86_64/macho.h: likewise
33471 * include/grub/x86_64/xnu.h: likewise
33472 * include/grub/xnu.h: likewise
33473 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
33474 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
33475 * loader/i386/efi/xnu.c: new file
33476 * loader/i386/pc/xnu.c: likewise
33477 * loader/i386/xnu.c: likewise
33478 * loader/i386/xnu_helper.S: likewise
33479 * loader/macho.c: likewise
33480 * loader/xnu.c: likewise
33481 * loader/xnu_resume.c: likewise
33482 * util/grub-dumpdevtree: likewise
33483 * include/grub/i386/pit.h: include grub/err.h
33484 (grub_pit_wait): export
33485 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 33486
5caf964d 334872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33488
33489 Efiemu
7dd4a573 33490
5caf964d 33491 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 33492 _linux_efi, linux_efi.
33493 new files in grub-emu
5caf964d 33494 new targets efiemu32.o and efiemu64.o
33495 * loader/linux_normal_efiemu.c: likewise
33496 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 33497 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 33498 files to copy
33499 * include/grub/autoefi.h: new file
7dd4a573 33500 * include/grub/i386/efiemu.h: likewise
5caf964d 33501 * include/grub/i386/pc/efiemu.h: likewise
33502 * include/grub/efi/api.h: add LL suffix when necessary
33503 new definitions relating to tables
33504 * include/grub/efiemu/efiemu.h: new file
33505 * include/grub/efiemu/runtime.h: likewise
33506 * efiemu/prepare.c: likewise
33507 * efiemu/loadcore_common.c: likewise
33508 * efiemu/loadcore64.c: likewise
33509 * efiemu/runtime/efiemu.sh: likewise
33510 * efiemu/runtime/efiemu.S: likewise
33511 * efiemu/runtime/efiemu.c: likewise
33512 * efiemu/runtime/config.h: likewise
33513 * efiemu/prepare32.c: likewise
33514 * efiemu/main.c: likewise
33515 * efiemu/modules/pnvram.c: likewise
33516 * efiemu/modules/i386: likewise
33517 * efiemu/modules/i386/pc: likewise
33518 * efiemu/modules/acpi.c: likewise
33519 * efiemu/i386/pc/cfgtables.c: likewise
33520 * efiemu/i386/loadcore64.c: likewise
33521 * efiemu/i386/loadcore32.c: likewise
33522 * efiemu/prepare64.c: likewise
33523 * efiemu/loadcore.c: likewise
33524 * efiemu/symbols.c: likewise
33525 * efiemu/mm.c: likewise
33526 * efiemu/loadcore32.c: likewise
7dd4a573 33527
335282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 33529
33530 ACPI spoofing
33531
33532 * commands/acpi.c: new file
33533 * commands/i386/pc/acpi.c: likewise
33534 * commands/efi/acpi.c: likewise
33535 * include/grub/acpi.h: likewise
33536 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
33537 (acpi_mod_SOURCES): new variable
33538 (acpi_mod_CFLAGS): likewise
33539 (acpi_mod_LDFLAGS): likewise
33540 * conf/i386-efi.rmk: likewise
33541 * conf/x86_64-efi.rmk: likewise
33542
7dd4a573 335432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 33544
33545 Missing part from mmap patch
33546
33547 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
33548 (grub_mmap_unregister)
33549 (grub_mmap_free_and_unregister): use grub_mmap_register
33550
7dd4a573 335512009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 33552
33553 Mmap services
33554
33555 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
33556 * loader/i386/linux.c (find_mmap_size): likewise
33557 (allocate_pages): likewise
33558 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
33559 (grub_fill_multiboot_mmap): likewise
33560 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
33561 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
33562 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
33563 (OPENBSD_MMAP_RESERVED): likewise
33564 * include/grub/i386/pc/memory.h: include grub/memory.h
33565 (grub_lower_mem): removed
33566 (grub_upper_mem): likewise
33567 (GRUB_MACHINE_MEMORY_ACPI): new definition
33568 (GRUB_MACHINE_MEMORY_NVS): likewise
33569 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
33570 (GRUB_MACHINE_MEMORY_HOLE): likewise
33571 (grub_machine_mmap_register): likewise
33572 (grub_machine_mmap_unregister): likewise
33573 (grub_machine_get_upper): likewise
33574 (grub_machine_get_lower): likewise
33575 (grub_machine_get_post64): likewise
33576 * include/grub/i386/efi/memory.h: new file
33577 * include/grub/x86_64/efi/memory.h: likewise
33578 * include/grub/efi/memory.h: likewise
33579 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
33580 (mmap_mod_SOURCES): new variable
33581 (mmap_mod_LDFLAGS): likewise
33582 (mmap_mod_ASFLAGS): likewise
33583 * conf/i386-coreboot.rmk: likewise
33584 * conf/i386-ieee1275.rmk: likewise
33585 * conf/i386-efi.rmk: likewise
33586 * conf/x86_64-efi.rmk: likewise
33587 * include/grub/types.h (UINT_TO_PTR): new macro
33588 (PTR_TO_UINT32): likewise
33589 (PTR_TO_UINT64): likewise
33590 * include/grub/memory.h: new file
33591 * mmap/i386/pc/mmap.c: likewise
33592 * mmap/i386/pc/mmap_helper.S: likewise
33593 * mmap/i386/uppermem.c: likewise
33594 * mmap/mmap.c: likewise
33595 * mmap/efi/mmap.c: likewise
7dd4a573 33596 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 33597 grub_upper_mem
33598 * kern/i386/pc/init.c (grub_lower_mem): removed variable
33599 (grub_upper_mem): likewise
33600 (grub_machine_init): don't use grub_upper_mem,
33601 make grub_lower_mem local
33602 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
33603 grub_mmap_iterate and grub_mmap_get_upper
33604 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
33605
d558e6b5 336062009-05-02 Bean <bean123ch@gmail.com>
33607
33608 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
33609 script/sh/parser.y.
33610 (pkglib_MODULES): Add normal.mod and sh.mod.
33611 (normal_SOURCES): New variable.
33612 (normal_mod_CFLAGS): Likewise.
33613 (normal_mod_LDFLAGS): Likewise.
33614 (sh_mod_SOURCES): Likewise.
33615 (sh_mod_CFLAGS): Likewise.
33616 (sh_mod_LDFLAGS): Likewise.
33617
33618 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
33619 script/sh/lexer.c_DEPENDENCIES.
33620 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
33621 kern/rescue_reader.c and kern/rescue_parser.c.
33622 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
33623 (grub_emu_SOURCES): Change source files.
33624 (pkglib_MODULES): Remove normal.mod.
33625 (normal_SOURCES): Removed.
33626 (normal_mod_CFLAGS): Likewise.
33627 (normal_mod_LDFLAGS): Likewise.
33628 * conf/i386-coreboot.rmk: Likewise.
33629 * conf/i386-efi.rmk: Likewise.
33630 * conf/i386-ieee1276.rmk: Likewise.
33631 * conf/powerpc-ieee1275.rmk: Likewise.
33632 * conf/sparc64-ieee1275.rmk: Likewise.
33633 * conf/x86_64-efi.rmk: Likewise.
33634
33635 * include/grub/command.h (grub_command_execute): New inline function.
33636
33637 * include/grub/menu.h (grub_menu_entry): Removed commands field.
33638
33639 * include/grub/normal.h: Remove <grub/setjmp.h>.
33640 (grub_fs_module_list): Moved to normal/autofs.c.
33641 (grub_exit_env): Removed.
33642 (grub_command_execute): Likewise.
33643 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
33644 parameter script.
33645 (read_command_list): New function declaration.
33646 (read_fs_list): Likewise.
33647
33648 * include/parser.h: Include <grub/reader.h>.
33649 (grub_parser_split_cmdline): Change type of getline parameter.
33650 (grub_parser): New structure.
33651 (grub_parser_class): New variable.
33652 (grub_parser_execute): New function declaration.
33653 (grub_register_rescue_parser): Likewise.
33654 (grub_parser_register): New inline function.
33655 (grub_parser_unregister): Likewise.
33656 (grub_parser_get_current): Likewise.
33657 (grub_parser_set_current): Likewise.
33658
33659 * include/grub/reader.h: New file.
33660 * kern/reader.c: Likewise.
33661 * kern/rescue_parser.c: Likewise.
33662 * kern/rescue_reader.c: Likewise.
33663 * normal/autofs.c: Likewise.
33664 * normal/dyncmd.c: Likewise.
33665
33666 * include/grub/rescue.h: Removed.
33667 * normal/command.h: Likewise.
33668
33669 * include/grub/script.h: Moved to ...
33670 * include/grub/script_sh.h: ... Moved here.
33671 * normal/execute.c: Moved to ...
33672 * script/sh/execute.c: ... Moved here.
33673 * normal/function.c: Moved to ...
33674 * script/sh/function.c: ... Moved here.
33675 * normal/lexer.c: Moved to ...
33676 * script/sh/lexer.c: ... Moved here.
33677 * normal/parser.y: Moved to ...
33678 * script/sh/parser.y: ... Moved here.
33679 * normal/script.c: Moved to ...
33680 * script/sh/script.c: ... Moved here.
33681
33682 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
33683 <grub/reader.h>.
33684 (grub_exit_env): Removed.
33685 (fs_module_list): Moved to normal/autofs.c.
33686 (grub_file_getline): Don't handle comment here.
33687 (free_menu): Skip removed field entry->commands.
33688 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
33689 script parameter.
33690 (read_config_file): Removed nested parameter, change getline function.
33691 (grub_enter_normal_mode): Removed.
33692 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
33693 (read_command_list): Likewise.
33694 (autoload_fs_module): Moved to normal/autofs.c.
33695 (read_fs_list): Likewise.
33696 (reader_nested): New variable.
33697 (grub_normal_execute): Run parser.sh to switch to sh parser.
33698 (grub_cmd_rescue): Removed.
33699 (cmd_normal): Removed.
33700 (grub_cmd_normal): Unregister itself at the beginning. Don't register
33701 rescue command.
33702 (grub_cmdline_run): New function.
33703 (grub_normal_reader_init): Likewise.
33704 (grub_normal_read_line): Likewise.
33705 (grub_env_write_pager): Likewise.
33706 (cmdline): New variable.
33707 (grub_normal_reader): Likewise.
33708 (GRUB_MOD_INIT): Register normal reader and set as current, register
33709 pager hook, register normal command with grub_register_command_prio,
33710 so that it won't show up in command.lst.
33711 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
33712 grub_fs_autoload_hook.
33713
33714 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
33715 (grub_menu_execute_entry): Replace grub_script_execute with
33716 grub_parser_execute, change parameter to grub_command_execute.
33717
33718 * normal/menu_text.c: Remove <grub/script.h>.
33719
33720 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
33721 and <grub/parser.h>.
33722 (run): Change editor_getline to use new parser interface. Change
33723 parameter to grub_command_execute.
33724
33725 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
33726 <grub/reader.h> and <grub/parser.h>.
33727 (grub_load_normal_mode): Execute normal command.
33728 (grub_main): Call grub_register_core_commands,
33729 grub_register_rescue_parser and grub_register_rescue_reader, use
33730 grub_reader_loop to enter input loop.
33731
7dd4a573 33732 * kern/parser.c (grub_parser_split_cmdline): Change type of
33733 getline parameter.
d558e6b5 33734 (grub_parser_class): New variable.
33735 (grub_parser_execute): New function.
33736
33737 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
33738 * loader/multiboot2.c: Likewise.
33739 * loader/sparc64/ieee1275/linux.c: Likewise.
33740
33741 * util/grub-emu.c (read_command_list): New dummy function.
33742
18db813d 337432009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33744
33745 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
33746 count to 16 for CCISS and IDA.
33747
6c67de15 337482009-05-02 Robert Millan <rmh.grub@aybabtu.com>
33749
33750 * normal/menu_text.c (grub_wait_after_message): Print a newline
33751 after waiting for user input.
33752
33753 * loader/i386/linux.c: Include `<grub/normal.h>'.
33754 (grub_cmd_linux): Improve the error message about `ask' mode, by
33755 waiting for user input so it's not missed (we can do this, since
33756 user requested interaction).
33757
d9dc87b0 337582009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
33759
33760 Added missing lst to grub-mkrescue
33761
33762 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
33763 and ${input_dir}/parttool.lst
33764
ac8a2baa 337652009-04-30 David S. Miller <davem@davemloft.net>
33766
ad22a610 33767 * util/hostdisk.c (device_is_wholedisk): New function.
33768 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
33769 zero only if device_is_wholedisk() returns true.
33770
6966215d 33771 * util/hostdisk.c (convert_system_partition_to_system_disk):
33772 Handle virtual disk devices named /dev/vdiskX as found on sparc
33773 and powerpc.
33774
ac8a2baa 33775 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
33776 lettered partition specifier is found, convert to numbered.
33777
979b4fb4 337782009-04-29 David S. Miller <davem@davemloft.net>
33779
e2bf39b2 33780 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
33781 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33782
3c64e104 33783 * normal/command.c: Add missing newline at end of file.
33784
979b4fb4 33785 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
33786 warnings.
33787 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
33788 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
33789 grub_ofdisk_read): Likewise, and deal similarly with the fact that
33790 ihandles have a 32-bit type but need to be stored in a "void *".
33791
136d9f82 337922009-04-28 Pavel Roskin <proski@gnu.org>
33793
9459c306 33794 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
33795 not disk. Adjust all dependencies.
2e08a26a 33796 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 33797 grub_disk_close().
33798
136d9f82 33799 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
33800 parent's partition, don't copy it by reference, as it gets freed
33801 on close.
33802
7dd4a573 338032009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 33804
33805 Preboot hooks support
33806
33807 * commands/boot.c (struct grub_preboot_t): new declaration
33808 (preboots_head): new variable
33809 (preboots_tail): likewise
33810 (grub_loader_register_preboot_hook): new function
33811 (grub_loader_unregister_preboot_hook): likewise
33812 (grub_loader_set): launch preboot hooks
33813 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
33814 (grub_loader_register_preboot_hook): new declaration
33815 (grub_loader_unregister_preboot_hook): likewise
33816
5af922b5 338172009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
33818
33819 Warning fix
33820
7dd4a573 33821 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 33822 calling grub_dprintf
33823
a5562c30 338242009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
33825
33826 Bug and warning fixes
33827
7dd4a573 33828 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 33829 declaration
33830 * commands/test.c (test_parse): fixed bug with file tests and corrected
33831 declaration of find_file
33832
4006f85c 338332009-04-26 Pavel Roskin <proski@gnu.org>
33834
33835 * Makefile.in: Don't install empty manual pages if help2man is
33836 missing. Use help2man option for output, not shell redirection.
33837
5c77c3de 338382009-04-26 David S. Miller <davem@davemloft.net>
33839
33840 * util/grub-mkdevicemap.c (make_device_map): Add missing
33841 NESTED_FUNC_ATTR to process_device().
33842
033b10a8 338432009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33844
33845 Test command
33846
33847 * commands/test.c: rewritten to use bash-like test
33848
e4343593 338492009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
33850
33851 Parttool autoloading and improvements
33852
7dd4a573 33853 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 33854 (parttool.lst): new target
33855 * genmk.rb: generate parttool-*
33856 (CLEANFILES): add #{parttool}
33857 (PARTTOOLFILES): new variable
33858 * genparttoollist.sh: new file
7dd4a573 33859 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 33860 (grub_pcpart_type): likewise
33861 * commands/parttool.c (helpmsg): new variable
33862 (grub_cmd_parttool): output help if not enough arguments are supplied
33863 autoload modules
33864 (GRUB_MOD_INIT(parttool)): use helpmsg
33865
0d312500 338662009-04-24 David S. Miller <davem@davemloft.net>
33867
7dd4a573 33868 Avoiding opening same device multiple times in device iterator.
0d312500 33869
33870 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 33871 and use it to build a list of partitions in iterate_disk() and
0d312500 33872 iterate_partition().
33873
ac20caff 33874 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
33875 on disk->data.
33876
0dcf7495 33877 * disk/ieee1275/nand.c (grub_nand_iterate): Return
33878 grub_devalias_iterate() result instead of unconditional 0.
33879 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
33880 Also, capture hook return value, either directly or via
33881 grub_children_iterate(), and propagate to caller.
33882 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
33883 grub_children_iterate): Return value is now 'int' instead of
33884 'grub_err_t'.
33885 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
33886 like a proper iterator, stopping when hooks return non-zero.
33887 (grub_devalias_iterate): Likewise.
33888
c8c08833 338892009-04-23 David S. Miller <davem@davemloft.net>
33890
33891 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
33892
f01005a8 338932009-04-22 David S. Miller <davem@davemloft.net>
33894
33895 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
33896 is larger than address_cells, use that value for address_cells too.
33897
4e8269da 33898 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
33899 IEEE1275_MAX_PATH_LEN): Define.
33900 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
33901 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
33902 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
33903 'devtype'. Explicitly NULL terminate devalias expansion.
33904
a1447506 33905 * util/sparc64/ieee1275/misc.c: New file.
33906 * util/sparc64/ieee1275/grub-setup.c: New file.
33907 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
33908 * util/sparc64/ieee1275/grub-mkimage.c: New file.
33909 * util/sparc64/ieee1275/grub-install.in: New file.
33910 * util/ieee1275/ofpath.c: New file.
33911 * util/ieee1275/devicemap.c: New file.
33912 * util/devicemap.c: New file.
33913 * util/deviceiter.c: New file.
33914 * kern/sparc64/ieee1275/init.c: New file.
33915 * include/grub/util/ofpath.h: New file.
33916 * include/grub/util/deviceiter.h: New file.
33917 * util/grub-mkdevicemap.c: Include deviceiter.h.
33918 Implement using grub_util_emit_devicemap_entry and
33919 grub_util_iterate_devices.
33920 * conf/i386-corebook.rmk: Build util/deviceiter.c and
33921 util/devicemap.c into grub-mkdevicemap
33922 * conf/i386-efi.rmk: Likewise.
33923 * conf/i386-ieee1275.rmk: Likewise.
33924 * conf/i386-pc.rmk: Likewise.
33925 * conf/powerpc-ieee1275.rmk: Likewise.
33926 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
33927 images and installation utilities. Build kernel as image
33928 instead of as elf binary. Use common rules as much as possible.
33929
7dd4a573 339302009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 33931
33932 Correct GPT definition
33933
7dd4a573 33934 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 33935 of "attrib" member
33936
c6c5219f 339372009-04-19 Felix Zielcke <fzielcke@z-51.de>
33938
33939 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33940
0552ff9f 339412009-04-19 David S. Miller <davem@davemloft.net>
33942
33943 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
33944 (grub_rescue_cmd_linux): Rename to...
33945 (grub_cmd_linux): and fix prototype.
33946 (grub_rescue_cmd_initrd): Rename to...
33947 (grub_cmd_initrd): and fix prototype.
33948 (cmd_linux, cmd_initrd): New.
33949 (GRUB_MOD_INIT(linux)): Use grub_register_command().
33950 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
33951
d1a282fc 339522009-04-17 Pavel Roskin <proski@gnu.org>
33953
07c5039f 33954 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33955 format.
33956 (grub_ohci_transfer): Likewise.
33957
b012002d 33958 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33959
1bc09c35 33960 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33961 return without a value. Fix inconsistent indentation.
33962
e0ff9126 33963 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33964 match struct grub_fs.
33965
d1a282fc 33966 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
33967 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
33968 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33969 * commands/lspci.c (grub_lspci_iter): Likewise.
33970
a96df3f2 339712009-04-16 Bean <bean123ch@gmail.com>
33972
33973 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33974 value.
33975
41bb0fe9 339762009-04-15 Pavel Roskin <proski@gnu.org>
33977
33978 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
33979 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
33980 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
33981 definitions.
33982
596c6970 339832009-04-15 Felix Zielcke <fzielcke@z-51.de>
33984
33985 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 33986 that no multiple data or metadata areas are supported and `Unknown
596c6970 33987 metadata header'.
33988
7dd4a573 339892009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 33990
33991 Move loader out of the kernel
33992
33993 * kern/loader.c: moved to ...
33994 * commands/boot.c: ... moved here
33995 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
33996 * commands/boot.c (grub_cmd_boot): moved here. All users updated
33997 * include/grub/kernel.h (grub_machine_fini): export
33998 * include/grub/loader.h (grub_loader_is_loaded): update declaration
33999 (grub_loader_set): likewise
34000 (grub_loader_unset): likewise
34001 (grub_loader_boot): likewise
34002 * conf/common.rmk: new module boot.mod
34003 (pkglib_MODULES): add boot.mod
34004 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
34005 (grub_emu_SOURCES): likewise
34006 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
34007 (grub_emu_SOURCES): likewise
34008 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
34009 (grub_emu_SOURCES): likewise
34010 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
34011 (grub_emu_SOURCES): likewise
34012 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
34013 (grub_emu_SOURCES): likewise
7dd4a573 34014 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
34015 (grub_emu_SOURCES): likewise
0d5d5653 34016 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 34017 (grub_emu_SOURCES): likewise
0d5d5653 34018
7dd4a573 340192009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 34020
34021 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 34022
5999d619 34023 * kern/misc.c (grub_itoa): Removed function
34024 (grub_ltoa): likewise
34025 (grub_vsprintf): use grub_lltoa
34026
7dd4a573 340272009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 34028
34029 Restore grub-emu
34030
34031 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
34032 * conf/i386-coreboot.rmk: likewise
34033 * conf/i386-ieee1275.rmk: likewise
34034 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34035
20318222 340362009-04-15 Felix Zielcke <fzielcke@z-51.de>
34037
34038 * INSTALL: Add that `./autogen.sh' needs to be run before
34039 `./configure.'.
34040
d05f0df3 340412009-04-14 Bean <bean123ch@gmail.com>
34042
34043 * Makefile.in (pkglib_DATA): Add handler.lst.
34044 (handler.lst): New rule.
34045
34046 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
34047 * conf/i386-coreboot.rmk: Likewise.
34048 * conf/i386-ieee1275.rmk: Likewise.
34049 * conf/i386-efi.rmk: Likewise.
34050 * conf/x86_64-efi.rmk: Likewise.
34051 * conf/powerpc-ieee1275.rmk: Likewise.
34052 * conf/sparc64-ieee1275.rmk: Likewise.
34053
34054 * genhandlerlist.sh: New file.
34055
34056 * genmk.rb: Add rules to generate handler.lst.
34057
34058 * include/grub/normal.h (grub_file_getline): New function definition.
34059 (read_handler_list): Likewise.
34060 (free_handler_list): Likewise.
34061
34062 * include/grub/term.h (grub_term_register_input): Add name parameter
34063 for auto generation of handler.lst.
34064 (grub_term_register_output): Likewise.
34065
34066 * normal/handler.c: New file.
34067
34068 * normal/main.c (get_line): Renamed to grub_file_getline.
34069 (read_config_file): Use the newly renamed grub_file_getline.
34070 (read_command_list): Likewise.
34071 (read_fs_list): Likewise.
34072 (grub_normal_execute): Call read_handler_list to parse handler.lst.
34073 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
34074
34075 * term/efi/console.c (grub_console_init): Add name parameter for auto
34076 generation of handler.lst.
34077 * term/gfxterm.c: Likewise.
34078 * term/i386/pc/at_keyboard.c: Likewise.
34079 * term/i386/pc/console.c: Likewise.
34080 * term/i386/pc/serial.c: Likewise.
34081 * term/i386/pc/vesafb.c: Likewise.
34082 * term/i386/pc/vga.c: Likewise.
34083 * term/i386/pc/vga_text.c: Likewise.
34084 * term/ieee1275/ofconsole.c: Likewise.
34085 * term/usb_keyboard.c: Likewise.
34086
33c846be 340872009-04-14 Bean <bean123ch@gmail.com>
34088
34089 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
34090 properly with null character.
34091
4484e01e 340922009-04-14 Felix Zielcke <fzielcke@z-51.de>
34093
34094 * configure: Remove.
34095 * config.h.in: Likewise.
f93d668e 34096 * stamp-h.in: Likewise.
4484e01e 34097 * DISTLIST: Likewise.
34098 * conf/common.mk: Likewise.
34099 * conf/i386-coreboot.mk: Likewise.
34100 * conf/i386-efi.mk: Likewise.
34101 * conf/i386-ieee1275.mk: Likewise.
34102 * conf/i386.mk: Likewise.
34103 * conf/i386-pc.mk: Likewise.
34104 * conf/powerpc-ieee1275.mk: Likewise.
34105 * conf/sparc64-ieee1275.mk: Likewise.
34106 * conf/x86_64-efi.mk: Likewise.
34107
34108 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
34109 develop on GRUB.
34110
7dd4a573 341112009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 34112 David S. Miller <davem@davemloft.net>
34113
34114 * util/hostdisk.c (make_device_name): Fix buffer length
34115 calculations.
34116
e25b5a8c 341172009-04-14 Felix Zielcke <fzielcke@z-51.de>
34118
34119 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
34120 <sys/param.h> and <sys/sysctl.h>.
34121 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
34122 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
34123 opening the device and reset them afterwards.
34124
1f1f580c 341252009-04-13 Pavel Roskin <proski@gnu.org>
34126
34127 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
34128 Reported by John Stanley <jpsinthemix@verizon.net>
34129
7ebc2d6b 341302009-04-13 Robert Millan <rmh@aybabtu.com>
34131
34132 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 34133 that name for menuentries when appropriate.
7ebc2d6b 34134
d8ba3667 341352009-04-13 Felix Zielcke <fzielcke@z-51.de>
34136
34137 * util/grub.d/10_freebsd.in: Add a missing `fi'.
34138
cba416eb 341392009-04-13 Robert Millan <rmh@aybabtu.com>
34140
34141 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
34142 to Linux, simply abort telling the user it's no longer supported.
34143
a547a745 341442009-04-13 Felix Zielcke <fzielcke@z-51.de>
34145
34146 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 34147 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 34148 `freebsd_loadenv' only when devices.hints exist.
34149
232a769c 341502009-04-13 Pavel Roskin <proski@gnu.org>
34151
34152 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
34153
c3012039 341542009-04-13 Felix Zielcke <fzielcke@z-51.de>
34155
34156 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
34157 partition number.
34158 (grub_drive): Likewise.
34159
234022fe 341602009-04-13 David S. Miller <davem@davemloft.net>
34161
34162 * kern/sparc64/ieee1275/ieee1275.c: New file.
34163 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
34164 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
34165 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
34166 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
34167 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
34168 grub_ieee1275_alloc_physmem): Declare new exported functions.
34169
d8e1836c 34170 * include/grub/sparc64/ieee1275/loader.h: New file.
34171 * include/grub/sparc64/ieee1275/memory.h: Likewise.
34172 * include/grub/sparc64/kernel.h: Likewise.
34173 * loader/sparc64/ieee1275/linux.c: Likewise.
34174
96bd81ec 34175 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
34176 (grub_fstest_SOURCES): Likewise.
34177
6a4737e5 34178 * util/hostdisk.c (make_device_name): Do not make any assumptions
34179 about the length of drive names.
34180
1d7a72fd 34181 * kern/dl.c (grub_dl_load_file): Close file immediately when
34182 we are done using it.
34183
56bc2471 341842009-04-12 David S. Miller <davem@davemloft.net>
34185
34186 * kern/misc.c (grub_ltoa): Fix cast when handling negative
34187 values. Noticed by Pavel Roskin.
34188
df38d0bb 34189 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
34190 target compiler.
7dd4a573 34191
e382e93a 34192 * genmk.rb: Add more flexible image type specification, also
34193 pass --strip-unneeded to objcopy.
34194 * conf/i386-pc.rmk: Use *_FORMAT.
34195 * conf/i386-pc.mk: Rebuilt.
34196
f5dbbca9 34197 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
34198 (OFDISK_HASH_SZ): Define.
34199 (ofdisk_hash): New hash table.
34200 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
34201 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
34202 instead of device phandle which is not unique.
34203
91c88b12 34204 * kern/sparc64/ieee1275/init.c: Delete, replace with...
34205 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
34206 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
34207 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
34208 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
34209 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
34210 GRUB_KERNEL_MACHINE_DATA_END): Define.
34211 (grub_kernel_image_size, grub_total_module_size): Declare.
34212
5b5d4aa5 342132009-04-12 Pavel Roskin <proski@gnu.org>
34214
7dd4a573 34215 * configure.ac: Change the logic when we check for target tools.
34216 Do it when the target is specified and it's different from the
34217 specified value of the host.
5b5d4aa5 34218
c91e1793 342192009-04-11 Felix Zielcke <fzielcke@z-51.de>
34220
34221 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
34222 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
34223 GNU/kFreeBSD. Check if a device is a character device. Use
34224 DIOCGMEDIASIZE to get the size.
34225 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
34226 support for GNU/kFreeBSD.
34227 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
34228 is a character device instead of a block device. Add support for
34229 FreeBSD device names.
34230
34231 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
34232 is a character device instead of a block device.
34233
34234 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
34235 is a character device instead of a block device.
34236
b1ac8644 342372009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
34238
34239 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
34240 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
34241 FreeBSD. Check if a device is a character device. Use
34242 DIOCGMEDIASIZE to get the size.
34243 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
34244 support for FreeBSD.
34245 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
34246 is a character device instead of a block device. Add support for
34247 FreeBSD device names.
34248
34249 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
34250 a character device instead of a block device.
34251 (grub_util_check_char_device): New function.
34252
34253 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
34254 a character device instead of a block device.
34255
34256 * include/grub/util/getroot.h (grub_util_check_char_device): New
34257 prototype.
34258
a3f7515a 342592009-04-11 David S. Miller <davem@davemloft.net>
34260
34261 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
34262 static libgcc.
34263 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
34264 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
34265 function, if present.
34266 (__bswapdi2): Likewise.
34267
0d44993d 34268 * include/grub/sparc64/ieee1275/boot.h: New file.
34269 * boot/sparc64/ieee1275/boot.S: Likewise.
34270 * boot/sparc64/ieee1275/diskboot.S: Likewise.
34271
ed3d2bc2 34272 * kern/misc.c (grub_ltoa): New function.
34273 (grub_vsprintf): Use it to format 'long' integers.
34274
d3bfb59c 342752009-04-10 David S. Miller <davem@davemloft.net>
34276
34277 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
34278 slots are of type grub_ieee1275_cell_t.
34279 (grub_nand_read): Likewise.
34280 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
34281 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
34282 macros are used to compare values in arg/ret block of the call.
34283 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34284 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
34285 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
34286 grub_ieee1275_instance_to_path, grub_ieee1275_write,
34287 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
34288 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
34289 grub_ieee1275_close, grub_ieee1275_set_property,
34290 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
34291 grub_ieee1275_cell_t.
34292 * kern/ieee1275/openfw.c (grub_map): Likewise.
34293 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
34294 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
34295
450e2238 34296 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
34297 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
34298 (grub_devalias_iterate): Likewise.
34299
7dd4a573 343002009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 34301
34302 UFS improvements
34303
34304 * fs/ufs.c (INODE_NBLOCKS): new definition
34305 (struct grub_ufs_dirent): added fields for non-BSD dirents
34306 (grub_ufs_get_file_block): fixed double indirect handling
34307 (grub_ufs_lookup_symlink): use more robust way to determine whether
34308 symlink is inline
34309 (grub_ufs_find_file): support for non-BSD dirents
34310 (grub_ufs_dir): support for non-BSD dirents
34311
e7e6862a 343122009-04-10 Bean <bean123ch@gnail.com>
34313
34314 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
34315 attribute, otherwise the size would be wrong for i386 platform.
34316
34317 * include/grub/pci.h (grub_pci_read_word): New inline function.
34318 (grub_pci_read_byte): Likewise.
34319 (grub_pci_write): Likewise.
34320 (grub_pci_write_word): Likewise.
34321 (grub_pci_write_byte): Likewise.
34322
34323 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
34324
34325 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
34326 (find_framebuf): Scan pci to locate the frame buffer address.
34327
34328 * commands/efi/fixvideo.c: New file.
34329
34330 * commands/efi/loadbios.c: Likewise.
34331
34332 * commands/memrw.c: Likewise.
34333
34334 * util/grub-dumpbios.in: Likewise.
34335
34336 * conf/common.rmk (grub-dumpbios): New utility.
34337 (pkglib_MODULES): New module memrw.mod.
34338 (memrw_mod_SOURCE): New macro.
34339 (memrw_mod_CFLAGS): Likewise.
34340 (memrw_mod_LDFLAGS): Likewise.
34341
7dd4a573 34342 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34343 fixvideo.mod.
34344 (loadbios_mod_SOURCE): New macro.
34345 (loadbios_mod_CFLAGS): Likewise.
34346 (loadbios_mod_LDFLAGS): Likewise.
34347 (fixvideo_mod_SOURCE): Likewise.
34348 (fixvideo_mod_CFLAGS): Likewise.
34349 (fixvideo_mod_LDFLAGS): Likewise.
34350
7dd4a573 34351 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 34352 fixvideo.mod.
34353 (loadbios_mod_SOURCE): New macro.
34354 (loadbios_mod_CFLAGS): Likewise.
34355 (loadbios_mod_LDFLAGS): Likewise.
34356 (fixvideo_mod_SOURCE): Likewise.
34357 (fixvideo_mod_CFLAGS): Likewise.
34358 (fixvideo_mod_LDFLAGS): Likewise.
34359
af63ada2 343602009-04-08 Felix Zielcke <fzielcke@z-51.de>
34361
34362 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
34363
c2cdde70 343642009-04-07 David S. Miller <davem@davemloft.net>
34365
34366 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
34367 support for R_SPARC_OLO10 relocations. Fix compile warning for
34368 R_SPARC_WDISP30 case.
ea3f72cf 34369 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 34370
761319cf 343712009-04-06 Pavel Roskin <proski@gnu.org>
34372
1007d1f5 34373 * include/grub/misc.h (ARRAY_SIZE): New macro.
34374 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
34375 New macro.
34376 * loader/i386/linux.c (allocate_pages): Use free_pages().
34377 (grub_linux_unload): Don't use free_pages().
34378 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
34379 wrong index. Treat all other modes as text modes.
34380 (grub_cmd_linux): Initialize vid_mode unconditionally to
34381 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
34382
761319cf 34383 * commands/help.c (print_command_help): Use cmd->prio, not
34384 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
34385
ea761d40 343862009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 34387
ea761d40 34388 Parttool
34389
34390 * parttool/pcpart.c: new file
34391 * commands/parttool.c: likewise
34392 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
34393 (parttool_mod_SOURCES): new variable
34394 (parttool_mod_CFLAGS): likewise
34395 (parttool_mod_LDFLAGS): likewise
34396 (pcpart_mod_SOURCES): likewise
34397 (pcpart_mod_CFLAGS): likewise
34398 (pcpart_mod_LDFLAGS): likewise
7dd4a573 34399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 34400 and parttool/pcpart.c
34401 * conf/i386-efi.rmk: likewise
34402 * conf/i386-ieee1275.rmk: likewise
34403 * conf/i386-pc.rmk: likewise
34404 * conf/powerpc-ieee1275.rmk: likewise
34405 * conf/sparc64-ieee1275.rmk: likewise
34406 * conf/x86_64-ieee1275.rmk: likewise
34407
05aaebfb 344082009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34409
34410 Support for mtime and further expandability of dir command
34411
34412 * include/grub/lib/datetime.h: moved to ...
7dd4a573 34413 * include/grub/datetime.h: ... moved here and added
05aaebfb 34414 declaration of grub_unixtime2datetime. All users updated
7dd4a573 34415 * include/grub/fs.h: new syntax for dir and mtime functions in
34416 struct grub_fs
05aaebfb 34417 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
34418 and GRUB_FSHELP_FLAGS_MASK
34419 * commands/ls.c (grub_ls_list_files): Write mtime in long format
34420 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
34421 (grub_ext2_mtime): new function
34422 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
34423 (grub_hfsplus_mtime): new function
34424 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
34425 (GRUB_UFS_ATTR_FILE): likewise
34426 (GRUB_UFS_ATTR_LNK): likewise
34427 (struct grub_ufs_sblock): new fields mtime
34428 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
34429 all users updated
34430 (grub_ufs_dir): mtime support
34431 (grub_ufs_mtime): new function
34432 * fs/affs.c (grub_affs_dir): use new dir syntax
34433 * fs/afs.c (grub_afs_dir): likewise
34434 * fs/cpio.c (grub_cpio_dir): likewise
34435 * fs/fat.c (grub_fat_find_dir): likewise
34436 * fs/hfs.c (grub_hfs_dir): likewise
34437 * fs/iso9660.c (grub_iso9660_dir): likewise
34438 * fs/jfs.c (grub_jfs_dir): likewise
34439 * fs/minix.c (grub_minix_dir): likewise
34440 * fs/ntfs.c (grub_ntfs_dir): likewise
34441 * fs/reiserfs.c (grub_reiserfs_dir): likewise
34442 * fs/sfs.c (grub_sfs_dir): likewise
34443 * fs/xfs.c (grub_xfs_dir): likewise
34444 * util/hostfs.c (grub_hostfs_dir): likewise
34445 * lib/datetime.c: moved to ...
34446 * normal/datetime.c: ... moved here
34447 (grub_unixtime2datetime): new function
34448 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 34449 * normal/completion.c (iterate_dir): use new dir syntax
34450 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 34451 last modification time of a volume
7dd4a573 34452 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 34453 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 34454 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 34455 (normal_mod_SOURCES): likewise
34456 (datetime_mod_SOURCES): Removed lib/datetime.c
34457 * conf/i386-efi.rmk: likewise
7dd4a573 34458 * conf/i386-ieee1275.rmk: likewise
05aaebfb 34459 * conf/i386-pc.rmk: likewise
34460 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 34461 * conf/sparc64-ieee1275.rmk: likewise
34462 * conf/x86_64-efi.rmk: likewise
05aaebfb 34463
8a7e1a14 344642009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
34465
34466 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 34467
34468 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 34469 on grub_fat_find_dir
34470 (grub_fat_find_dir): use grub_fat_iterate_dir
34471 (grub_fat_label): likewise
34472
04186a9c 344732009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
34474
7dd4a573 34475 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 34476 and command.h
34477 remove extraneous kernel_elf_HEADERS
34478
da4c0bb6 344792009-04-04 Bean <bean123ch@gnail.com>
34480
34481 * include/grub/util/misc.h: Add dummy function fsync for mingw.
34482
34483 * util/misc.c: Likewise.
34484
54ad9555 344852009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34486
34487 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
34488 instead of grub_printf.
34489
7a6bf9f2 344902009-04-03 Robert Millan <rmh@aybabtu.com>
34491
34492 * loader/i386/linux.c (grub_linux_setup_video): Fill
34493 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
34494 values from `mode info' structure instead of hardcoded
34495 values.
34496
3fcc2083 344972009-04-01 Pavel Roskin <proski@gnu.org>
34498
34499 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
34500 unused now.
34501 * genmk.rb: Likewise.
34502 * configure.ac: Likewise.
34503
5ec9740b 345042009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
34505
34506 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
34507 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
34508
5270cec8 345092009-04-01 David S. Miller <davem@davemloft.net>
34510
34511 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 34512 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 34513 (grub_setjmp): Mark with 'returns_twice' attribute.
34514 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
34515 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
34516 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
34517
9c3dd854 345182009-04-01 Robert Millan <rmh@aybabtu.com>
34519
34520 Reapply fix from 2008-07-28 which was accidentally reverted; also
34521 perform the same fix to a similar check in same function.
34522
34523 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34524 with the same number are found, just use issue a warning with
34525 grub_dprintf(), as this error has been reported to be non-fatal.
34526
0d818b7e 345272009-03-31 Pavel Roskin <proski@gnu.org>
34528
34529 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
34530 for cross-compilation.
34531
95646d92 345322009-03-30 Robert Millan <rmh@aybabtu.com>
34533
34534 Fix i386-ieee1275 build.
34535
34536 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
34537 Remove declaration.
34538
6a003ed1 345392009-03-30 Pavel Roskin <proski@gnu.org>
34540
34541 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
34542 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
34543 zero-terminated, rely only on the strlen value. Fix comparison
34544 of strings differing in length.
34545
92f33540 345462009-03-30 Robert Millan <rmh@aybabtu.com>
34547
34548 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
34549 checking for abi version. Improve error messages on BIOS to notify
34550 user about `linux16' command.
34551
a8c48fd5 345522009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
34553
f968172e 34554 Leak fixes
a8c48fd5 34555
f968172e 34556 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
34557 in case of collision
34558 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 34559
9c323f09 345602009-03-29 Robert Millan <rmh@aybabtu.com>
34561
34562 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
34563 set `vid_mode' accordingly.
34564 (grub_linux_boot): Process `vid_mode' and set video mode.
34565
ae68f423 345662009-03-29 Robert Millan <rmh@aybabtu.com>
34567
34568 * util/grub.d/10_linux.in (linux_entry): New function.
34569 Factorize generation of Linux boot entries.
34570
5709cfc4 345712009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
34572
34573 Make the format of Environment Block plain text. The boot loader
34574 part is not tested well yet.
7dd4a573 34575
5709cfc4 34576 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
34577 (buffer): Removed.
34578 (envblk): Likewise.
34579 (usage): Remove "info" and "clear". Add "unset". Update the
34580 description of "set", as this does not delete variables any
34581 longer.
34582 (create_envblk_file): Complete rewrite.
34583 (open_envblk_file): Likewise.
34584 (cmd_info): Removed.
34585 (cmd_list): Likewise.
34586 (cmd_set): Likewise.
34587 (cmd_clear): Likewise.
34588 (list_variables): New function.
34589 (write_envblk): Likewise.
34590 (set_variables): Likewise.
34591 (unset_variables): Likewise.
34592 (main): Complete rewrite.
34593
34594 * commands/loadenv.c (buffer): Removed.
34595 (envblk): Likewise.
34596 (open_envblk_file): New function.
34597 (read_envblk_file): Complete rewrite.
34598 (grub_cmd_load_env): Likewise.
34599 (grub_cmd_list_env): Likewise.
34600 (struct blocklist): New struct.
34601 (free_blocklists): New function.
34602 (check_blocklists): Likewise.
34603 (write_blocklists): Likewise.
34604 (grub_cmd_save_env): Complete rewrite.
34605
34606 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
34607 a plain text signature.
34608 (GRUB_ENVBLK_MAXLEN): Removed.
34609 (struct grub_envblk): Complete rewrite.
34610 (grub_envblk_find): Removed.
34611 (grub_envblk_insert): Likewise.
34612 (grub_envblk_open): New prototype.
34613 (grub_envblk_set): Likewise.
34614 (grub_envblk_delete): Put const to VALUE.
34615 (grub_envblk_iterate): Put const to NAME and VALUE.
34616 (grub_envblk_close): New prototype.
34617 (grub_envblk_buffer): New inline function.
34618 (grub_envblk_size): Likewise.
34619
34620 * lib/envblk.c: Include grub/mm.h.
34621 (grub_env_find): Removed.
34622 (grub_envblk_open): New function.
34623 (grub_envblk_close): Likewise.
34624 (escaped_value_len): Likewise.
34625 (find_next_line): Likewise.
34626 (grub_envblk_insert): Removed.
34627 (grub_envblk_set): New function.
34628 (grub_envblk_delete): Complete rewrite.
34629 (grub_envblk_iterate): Likewise.
34630
a9368fd3 346312009-03-28 Robert Millan <rmh@aybabtu.com>
34632
34633 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
34634 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
34635 variables. Use 16-bit loader.
34636 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
34637 loader.
34638 * kern/i386/loader.S (grub_linux_boot): Rename to ...
34639 (grub_linux16_boot): ... this. Update all users.
34640 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
34641 (grub_linux_boot): ... this. Update all users.
34642
34643 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
34644 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
34645 commands to `linux16' and `initrd16'.
34646 (GRUB_MOD_FINI(linux)): Rename to ...
34647 (GRUB_MOD_FINI(linux16)): ... this.
34648
e4dd5a7e 346492009-03-24 Pavel Roskin <proski@gnu.org>
34650
34651 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
34652 not just for compilation.
34653
c04d6e05 346542009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
34655
34656 Move multiboot helper out of kernel
34657
34658 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
34659 `loader/i386/multiboot_helper.S'.
34660 * conf/i386-coreboot.rmk: Likewise
34661 * conf/i386-ieee1275.rmk: Likewise
34662
34663 * kern/i386/loader.S: Move multiboot helpers from here...
34664 * loader/i386/multiboot_helper.S: ...moved here
34665 * include/grub/i386/loader.h: Move declarations of multiboot
34666 helpers from here...
34667 * include/grub/i386/multiboot.h: ...moved here
34668 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
34669
42a5b3fc 346702009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34671
34672 * kern/env.c (grub_env_context_open): Added an argument to specify
34673 whether a new context inherits exported variables from current
34674 one. This is useful when making a sandbox to interpret a config
34675 file.
34676 All callers updated.
34677
34678 * include/grub/env.h (grub_env_context_open): Updated the prototype.
34679
b28bbc4e 346802009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34681
34682 * kern/env.c (grub_env_context_close): Fix memory leaks.
34683
f04f02e4 346842009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
34685
34686 * normal/main.c (grub_normal_execute): Added an argument
34687 BATCH to specify if an interactive interface should be provided
34688 after reading a config file.
34689 All callers updated.
34690 (read_command_list): Prevent being executed twice.
34691 (read_fs_list): Likewise.
34692
42a5b3fc 34693 * include/grub/normal.h (grub_normal_execute): Updated the
34694 prototype.
f04f02e4 34695
41473ac2 346962009-03-22 Pavel Roskin <proski@gno.org>
34697
fbc00b0c 34698 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
34699 _start.
34700 * kern/i386/pc/startup.S: Likewise.
34701 * kern/i386/efi/startup.S: Likewise.
34702 * kern/i386/ieee1275/startup.S: Likewise.
34703 * kern/i386/coreboot/startup.S: Likewise.
34704 * kern/x86_64/efi/startup.S: Likewise.
34705
41473ac2 34706 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
34707 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
34708 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
34709
2274cc8f 347102009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
34711
34712 Bugfixes in multiboot for bugs uncovered by solaris kernel.
34713
34714 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
34715 limit detection.
34716 Use vaddr of correct segment for entry_point.
34717
b1b797cb 347182009-03-21 Bean <bean123ch@gmail.com>
34719
34720 * commands/blocklist.c: Add include file <grub/command.h>, remove
34721 <grub/normal.h> and <grub/arg.h>.
34722 (grub_cmd_blocklist): Use the new command interface.
34723 (GRUB_MOD_INIT): Likewise.
34724 (GRUB_MOD_FINI): Likewise.
34725 * commands/boot.c: Likewise.
34726 * commands/cat.c: Likewise.
34727 * commands/cmp.c: Likewise.
34728 * commands/configfile.c: Likewise.
34729 * commands/crc.c: Likewise.
34730 * commands/echo.c: Likewise.
34731 * commands/halt.c: Likewise.
34732 * commands/handler.c: Likewise.
34733 * commands/hdparm.c: Likewise.
34734 * commands/help.c: Likewise.
34735 * commands/hexdump.c: Likewise.
34736 * commands/loadenv.c: Likewise.
34737 * commands/ls.c: Likewise.
34738 * commands/lsmmap.c: Likewise.
34739 * commands/lspci.c: Likewise.
34740 * commands/loadenv.c: Likewise.
34741 * commands/read.c: Likewise.
34742 * commands/reboot.c: Likewise.
34743 * commands/search.c: Likewise.
34744 * commands/sleep.c: Likewise.
34745 * commands/test.c: Likewise.
34746 * commands/usbtest.c: Likewise.
34747 * commands/videotest.c: Likewise.
34748 * commands/i386/cpuid.c: Likewise.
34749 * commands/i386/pc/halt.c: Likewise.
34750 * commands/i386/pc/play.c: Likewise.
34751 * commands/i386/pc/pxecmd.c: Likewise.
34752 * commands/i386/pc/vbeinfo.c: Likewise.
34753 * commands/i386/pc/vbetest.c: Likewise.
34754 * commands/ieee1275/suspend.c: Likewise.
34755 * disk/loopback.c: Likewise.
34756 * font/font_cmd.c: Likewise.
34757 * hello/hello.c: Likewise.
34758 * loader/efi/appleloader.c: Likewise.
34759 * loader/efi/chainloader.c: Likewise.
34760 * loader/i386/bsd.c: Likewise.
34761 * loader/i386/efi/linux.c: Likewise.
34762 * loader/i386/ieee1275/linux.c: Likewise.
34763 * loader/i386/linux.c: Likewise.
34764 * loader/i386/pc/chainloader.c: Likewise.
34765 * loader/i386/pc/linux.c: Likewise.
34766 * loader/powerpc/ieee1275/linux.c: Likewise.
34767 * loader/multiboot_loader.c: Likewise.
34768 * term/gfxterm.c: Likewise.
34769 * term/i386/pc/serial.c: Likewise.
34770 * term/terminfo.c: Likewise.
34771
34772 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
34773 * term/i386/pc/vga.c: Likewise.
34774 * video/readers/jpeg.c: Likewise.
34775 * video/readers/png.c: Likewise.
34776 * video/readers/tga.c: Likewise.
34777
34778 * util/grub-fstest (cmd_loopback): Removed.
34779 (cmd_blocklist): Likewise.
34780 (cmd_ls): Likewise.
34781 (grub_register_command): Likewise.
34782 (grub_unregister_command): Likewise.
34783 (execute_command): Use grub_command_find to locate command and execute
34784 it.
34785
34786 * include/grub/efi/chainloader.h: Removed.
34787 * loader/efi/chainloader_normal.c: Likewise.
34788 * loader/i386/bsd_normal.c: Likewise.
34789 * loader/i386/pc/chainloader_normal.c: Likewise.
34790 * loader/i386/pc/multiboot_normal.c: Likewise.
34791 * loader/linux_normal.c: Likewise.
34792 * loader/multiboot_loader_normal.c: Likewise.
34793 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34794
34795 * gencmdlist.sh: Scan new registration command grub_register_extcmd
34796 and grub_register_command_p1.
34797
34798 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
34799 kern/command.c, lib/arg.c and commands/extcmd.c.
34800 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
34801 (minicmd_mod_SOURCES): New variable.
34802 (minicmd_mod_CFLAGS): Likewise.
34803 (minicmd_mod_LDFLAGS): Likewise.
34804 (extcmd_mod_SOURCES): Likewise.
34805 (extcmd_mod_CFLAGS): Likewise.
34806 (extcmd_mod_LDFLAGS): Likewise.
34807 (boot_mod_SOURCES): Removed.
34808 (boot_mod_CFLAGS): Likewise.
34809 (boot_mod_LDFLAGS): Likewise.
34810
34811 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
34812 kern/corecmd.c.
34813 (kernel_img_HEADERS): Add command.h.
34814 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
34815 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
34816 and lib/arg.c.
34817 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
34818 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
34819 remove the corresponding normal mode command.
34820 (normal_mod_SOURCES): Remove normal/arg.c.
34821 * conf/i386-coreboot.rmk: Likewise.
34822 * conf/i386-efi.rmk: Likewise.
34823 * conf/i386-ieee1275.rmk: Likewise.
34824 * conf/powerpc-ieee1275.rmk: Likewise.
34825 * conf/x86_64-efi.rmk: Likewise.
34826
34827 * include/grub/arg.h: Move from here ...
34828 * include/grub/lib/arg.h: ... to here.
34829
34830 * normal/arg.c: Move from here ...
34831 * lib/arg.c: ... to here.
34832
34833 * commands/extcmd.c: New file.
34834 * commands/minicmd.c: Likewise.
34835 * include/grub/command.h: Likewise.
34836 * include/grub/extcmd.h: Likewise.
34837 * kern/command.c: Likewise.
34838 * kern/corecmd.c: Likewise.
34839
34840 * kern/list.c (grub_list_iterate): Return int instead of void.
34841 (grub_list_insert): New function.
34842 (grub_prio_list_insert): Likewise.
34843
34844 * kern/rescue.c (grub_rescue_command): Removed.
34845 (grub_rescue_command_list): Likewise.
34846 (grub_rescue_register_command): Likewise.
34847 (grub_rescue_unregister_command): Likewise.
34848 (grub_rescue_cmd_boot): Move to minicmd.c
34849 (grub_rescue_cmd_help): Likewise.
34850 (grub_rescue_cmd_info): Likewise.
34851 (grub_rescue_cmd_boot): Likewise.
34852 (grub_rescue_cmd_testload): Likewise.
34853 (grub_rescue_cmd_dump): Likewise.
34854 (grub_rescue_cmd_rmmod): Likewise.
34855 (grub_rescue_cmd_lsmod): Likewise.
34856 (grub_rescue_cmd_exit): Likewise.
34857 (grub_rescue_print_devices): Moved to corecmd.c.
34858 (grub_rescue_print_files): Likewise.
34859 (grub_rescue_cmd_ls): Likewise.
34860 (grub_rescue_cmd_insmod): Likewise.
34861 (grub_rescue_cmd_set): Likewise.
34862 (grub_rescue_cmd_unset): Likewise.
7d074e3c 34863 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 34864 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 34865 commands, remove grub_rescue_register_command calls.
b1b797cb 34866
7d074e3c 34867 * normal/command.c (grub_register_command): Removed.
b1b797cb 34868 (grub_unregister_command): Likewise.
34869 (grub_command_find): Likewise.
34870 (grub_iterate_commands): Likewise.
34871 (rescue_command): Likewise.
34872 (export_command): Moved to corecmd.c.
34873 (set_command): Removed.
34874 (unset_command): Likewise.
34875 (insmod_command): Likewise.
34876 (rmmod_command): Likewise.
34877 (lsmod_command): Likewise.
34878 (grub_command_init): Likewise.
34879
34880 * normal/completion.c (iterate_command): Use cmd->prio to check for
34881 active command.
34882 (complete_arguments): Use grub_extcmd_t structure to find options.
34883 (grub_normal_do_completion): Change function grub_iterate_commands to
34884 grub_command_iterate.
34885
34886 * normal/execute.c (grub_script_execute_cmd): No need to parse
34887 argument here.
34888
34889 * normal/main.c (grub_dyncmd_dispatcher): New function.
34890 (read_command_list): Register unload commands as dyncmd.
34891 (grub_cmd_normal): Use new command interface, register rescue,
34892 unregister normal at entry, register normal, unregister rescue at exit.
34893
34894 * include/grub/list.h (grub_list_test_t): New type.
34895 (grub_list_iterate): Return int instead of void.
34896 (grub_list_insert): New function.
34897 (GRUB_AS_NAMED_LIST_P): New macro.
34898 (GRUB_AS_PRIO_LIST): Likewise.
34899 (GRUB_AS_PRIO_LIST_P): Likewise.
34900 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
34901 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
34902 (grub_prio_list): New structure.
34903 (grub_prio_list_insert): New function.
34904 (grub_prio_list_remove): New inline function.
34905
34906 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
34907 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
34908 (GRUB_COMMAND_FLAG_MENU): Likewise.
34909 (GRUB_COMMAND_FLAG_BOTH): Likewise.
34910 (GRUB_COMMAND_FLAG_TITLE): Likewise.
34911 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
34912 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
34913 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
34914 (grub_command): Likewise.
34915 (grub_register_command): Likewise.
34916 (grub_command_find): Likewise.
34917 (grub_iterate_commands): Likewise.
34918 (grub_command_init): Likewise.
34919 (grub_arg_parse): Likewise.
34920 (grub_arg_show_help): Likewise.
34921
34922 * include/grub/rescue.h (grub_rescue_register_command): Removed.
34923 (grub_rescue_unregister_command): Likewise.
34924
34925 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
34926 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
34927 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
34928
34929 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
34930 grub_rescue_cmd_initrd.
34931 * include/grub/i386/loader.h: Likewise.
34932 * include/grub/x86_64/loader.h: Likewise.
34933
34934 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
34935
1f4147aa 349362009-03-21 Bean <bean123ch@gmail.com>
34937
34938 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
34939 instead of stat in mingw environment.
34940
34941 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
34942
34943 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
34944
34945 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
34946 AC_CONFIG_LINKS.
34947
2156d5ba 349482009-03-21 Bean <bean123ch@gmail.com>
34949
34950 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
34951 out of range error.
34952
177b82ca 349532009-03-18 Michel Dänzer <michel@daenzer.net>
34954
34955 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
34956 checking inode flags for EXT4_EXTENTS_FLAG.
34957
14aad807 349582009-03-18 Robert Millan <rmh@aybabtu.com>
34959
34960 * loader/i386/linux.c: Include `<grub/video.h>' and
34961 `<grub/i386/pc/vbe.h>'..
34962 (grub_linux_setup_video): New function. Loosely based on the EFI one.
34963 (grub_linux32_boot): Attempt to configure video settings with
34964 grub_linux_setup_video().
34965 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
34966 to avoid grub_console_fini() which would step out of graphical mode
34967 unconditionally.
34968
8cf83a27 349692009-03-14 Robert Millan <rmh@aybabtu.com>
34970
34971 Fix build on powerpc.
34972 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
34973
40164e75 349742009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
34975
34976 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
34977 background image command.
34978
c58bc32a 349792009-03-12 Colin D Bennett <colin@gibibit.com>
34980
34981 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
34982 (grub_gfxterm_putchar): Extract pairs of identical calls to
34983 draw_cursor out of conditional blocks.
34984
5415144a 349852009-03-11 Pavel Roskin <proski@gnu.org>
34986
34987 * fs/hfs.c (grub_hfs_strncasecmp): New function.
34988 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
34989
6394042e 349902009-03-11 Robert Millan <rmh@aybabtu.com>
34991
34992 * loader/i386/multiboot_elfxx.c
34993 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
34994
b7b50e5f 349952009-03-11 Felix Zielcke <fzielcke@z-51.de>
34996
34997 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
34998 `kern/handler.c'.
34999
1ca7fc96 350002009-03-11 Robert Millan <rmh@aybabtu.com>
35001
35002 * loader/i386/multiboot.c (code_size): New variable.
35003 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 35004 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 35005 4-byte alignment to MBI and others by increasing
7d074e3c 35006 `boot_loader_name_length' appropriately.
1ca7fc96 35007
35008 * loader/i386/multiboot_elfxx.c
35009 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
35010
a83ea1d2 350112009-03-09 Felix Zielcke <fzielcke@z-51.de>
35012
35013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
35014 `fs/ext2.c'.
35015
aa9f3bff 350162009-03-08 Robert Millan <rmh@aybabtu.com>
35017
35018 Make loader/i386/linux.c usable on i386-pc again.
35019
35020 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
35021 memory to heap.
35022 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
35023 `#error' stanza.
35024
d8b3b60e 350252009-03-07 Bean <bean123ch@gmail.com>
35026
35027 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
35028 allocation.
35029
b362c9e9 350302009-03-06 Robert Millan <rmh@aybabtu.com>
35031
35032 Fix display issue on terminals with screen size other than 80x25
35033 (e.g. gfxterm with resolution higher than 640x480).
35034
35035 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 35036 position relative to the center of the terminal instead of relying
b362c9e9 35037 on a hardcoded offset.
35038
9304eef1 350392009-03-04 Robert Millan <rmh@aybabtu.com>
35040
35041 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
35042 installed.
35043
35044 * Makefile.in (host_kernel): New variable.
35045 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
35046 scripts instead of just the windows one.
35047 * configure.ac: Initialize and AC_SUBST `host_kernel'.
35048
eabc95fb 350492009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 35050
35051 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
35052 `kern/handler.c'.
35053 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35054 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35057 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35059
ceb1223c 350602009-03-04 Felix Zielcke <fzielcke@z-51.de>
35061
35062 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
35063 or if there's no space for the disk label and print the partition number on a
35064 invalid magic.
35065
4910684a 350662009-03-04 Felix Zielcke <fzielcke@z-51.de>
35067
35068 * util/misc.c: Include <time.h>.
35069 (grub_millisleep): New function.
35070
7e9ca17a 350712009-03-04 Bean <bean123ch@gmail.com>
35072
35073 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
35074 another option -mno-red-zone.
35075
35076 * commands/handler.c: Change module description.
35077
35078 * kern/handler.c: Add missing space at the end of description line.
35079
35080 * kern/list.c: Likewise.
35081
f501677c 350822009-03-03 Robert Millan <rmh@aybabtu.com>
35083
35084 Move more components to the relocation area, and fix mbi pointer
35085 handling to use the destination rather than the origin (thanks to
35086 Vladimir Serbinenko for spotting).
35087
35088 * loader/i386/multiboot.c (mbi_dest): New variable.
35089 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
35090 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
35091 relocation area.
35092
9902d047 350932009-03-01 Bean <bean123ch@gmail.com>
35094
50fb7002 35095 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 35096 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
35097 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
35098 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
35099
35100 * loader/i386/efi/linux.c (acpi_guid): New variable.
35101 (acpi_guid): Likewise.
35102 (EBDA_SEG_ADDR): New constant.
35103 (LOW_MEM_ADDR): Likewise.
35104 (FAKE_EBDA_SEG): Likewise.
35105 (fake_bios_data): New function.
35106 (grub_linux_boot): Call fake_bios_data.
35107
71b9f361 351082009-03-01 Bean <bean123ch@gmail.com>
35109
35110 * commands/terminal.c: Removed.
35111
35112 * commands/handler.c: New file.
35113
35114 * include/grub/list.h: Likewise.
35115
35116 * include/grub/handler.h: Likewise.
35117
35118 * kern/list.c: Likewise.
35119
35120 * kern/handler.c: Likewise.
35121
35122 * kern/term.h: Include header file <grub/handler.h>.
35123 (grub_term_input): Move next field to the beginning.
35124 (grub_term_output): Likewise.
35125 (grub_term_input_class): New variable.
35126 (grub_term_output_class): Likewise.
35127 (grub_term_register_input): Changed to inline function.
35128 (grub_term_register_output): Likewise.
35129 (grub_term_unregister_input): Likewise.
35130 (grub_term_unregister_output): Likewise.
35131 (grub_term_set_current_input): Likewise.
35132 (grub_term_set_current_output): Likewise.
35133 (grub_term_get_current_input): Likewise.
35134 (grub_term_get_current_output): Likewise.
35135 (grub_term_iterate_input): Removed.
35136 (grub_term_iterate_output): Likewise.
35137
35138 * kern/term.c (grub_term_list_input): Removed.
35139 (grub_term_list_output): Likewise.
35140 (grub_term_input_class): New variable.
35141 (grub_term_output_class): Likewise.
50fb7002 35142 (grub_cur_term_input): Change variable as macro.
71b9f361 35143 (grub_cur_term_output): Likewise.
35144 (grub_term_register_input): Removed.
35145 (grub_term_register_output): Likewise.
35146 (grub_term_unregister_input): Likewise.
35147 (grub_term_unregister_output): Likewise.
35148 (grub_term_set_current_input): Likewise.
35149 (grub_term_set_current_output): Likewise.
35150 (grub_term_iterate_input): Likewise.
35151 (grub_term_iterate_output): Likewise.
35152 (grub_term_get_current_input): Likewise.
35153 (grub_term_get_current_output): Likewise.
35154
35155 * util/grub-editenv.c: Include header file <grub/handler.h>.
35156 (grub_term_get_current_input): Removed.
35157 (grub_term_get_current_output): Likewise.
35158 (grub_term_input_class): New variable.
50fb7002 35159 (grub_term_output_class): Likewise.
71b9f361 35160
35161 * util/grub-fstest.c (grub_term_get_current_input): Removed.
35162 (grub_term_get_current_output): Likewise.
35163 (grub_term_input_class): New variable.
50fb7002 35164 (grub_term_output_class): Likewise.
71b9f361 35165
35166 * util/grub-probe.c (grub_term_get_current_input): Removed.
35167 (grub_term_get_current_output): Likewise.
35168 (grub_term_input_class): New variable.
50fb7002 35169 (grub_term_output_class): Likewise.
71b9f361 35170
35171 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
35172 (grub_term_get_current_output): Likewise.
35173 (grub_term_input_class): New variable.
50fb7002 35174 (grub_term_output_class): Likewise.
71b9f361 35175
35176 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
35177 (terminal_mod_SOURCES): Likewise.
35178 (terminal_mod_CFLAGS): Likewise.
35179 (terminal_mod_LDFLAGS): Likewise.
35180
35181 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
35182 handler.c.
35183 (kernel_img_SOURCES): Add list.c and handler.c.
35184 (kernel_img_HEADERS): Add list.h and handler.h.
35185
35186 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35187 handler.c.
35188 (kernel_mod_SOURCES): Add list.c and handler.c.
35189 (kernel_mod_HEADERS): Add list.h and handler.h.
35190
35191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
35192 handler.c.
35193 (kernel_elf_SOURCES): Add list.c and handler.c.
35194 (kernel_elf_HEADERS): Add list.h and handler.h.
35195
35196 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35197 handler.c.
35198 (kernel_elf_SOURCES): Add list.c and handler.c.
35199 (kernel_elf_HEADERS): Add list.h and handler.h.
35200
35201 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
35202 handler.c.
35203 (kernel_mod_SOURCES): Add list.c and handler.c.
35204 (kernel_mod_HEADERS): Add list.h and handler.h.
35205
35206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
35207 handler.c.
35208 (kernel_elf_SOURCES): Add list.c and handler.c.
35209 (kernel_elf_HEADERS): Add list.h and handler.h.
35210
8a31787f 352112009-02-27 Robert Millan <rmh@aybabtu.com>
35212
35213 Factorize elf32 / elf64 code in Multiboot loader. This will
35214 prevent it from getting out of sync again.
35215
35216 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
35217 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
35218 grub_multiboot_load_elf64): Move from here ...
35219 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
35220 grub_multiboot_load_elf): ... to here (new file).
35221
51cd3dfc 352222009-02-27 Robert Millan <rmh@aybabtu.com>
35223
35224 * util/grub.d/10_linux.in: Rename "single-user mode" to
35225 "recovery mode".
35226
6e8c9c3a 352272009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
35228
35229 Don't leak in SCSI code.
35230 * disk/scsi.c (grub_scsi_close): free `scsi'.
35231
4b6bf4f9 352322009-02-27 Robert Millan <rmh@aybabtu.com>
35233
35234 * loader/i386/pc/multiboot.c: Move from here ...
35235 * loader/i386/multiboot.c: ... to here. Update all users.
35236
b9413424 352372009-02-27 Robert Millan <rmh@aybabtu.com>
35238
35239 Patch from Alexandre Bique <bique.alexandre@gmail.com>
35240 * util/i386/pc/grub-setup.c (setup): Fix directory path.
35241
50fb7002 352422009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 35243
35244 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
35245 b-tree.
35246
8cc50345 352472009-02-27 Robert Millan <rmh@aybabtu.com>
35248
35249 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
35250 `0x' qualifier as 0 when base is specified as parameter).
35251
6e09b8b7 352522009-02-24 Bean <bean123ch@gmail.com>
35253
35254 * configure.ac: Check for -mcmodel=large in x86_64 target.
35255
35256 * include/grub/efi/api.h (efi_call_10): New macro.
35257 (efi_wrap_10): New function.
35258
35259 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
35260 (GRUB_PE32_REL_BASED_HIGH): Likewise.
35261 (GRUB_PE32_REL_BASED_LOW): Likewise.
35262 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
35263 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
35264 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
35265 (GRUB_PE32_REL_BASED_SECTION): Likewise.
35266 (GRUB_PE32_REL_BASED_REL): Likewise.
35267 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
35268 (GRUB_PE32_REL_BASED_DIR64): Likewise.
35269 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
35270
35271 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
35272 issue.
35273
35274 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
35275 (efi_wrap_10): New function.
35276
35277 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
35278
35279 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
35280 MB/MBP model (NV chipset).
35281 (devdata_devs): Add devpath_5 to the list.
35282
35283 * load/i386/efi/linux.c (video_base): Remove variable.
35284 (RGB_MASK): New macro.
35285 (RGB_MAGIC): Likewise.
35286 (LINE_MIN): Likewise.
35287 (LINE_MAX): Likewise.
35288 (FBTEST_STEP): Likewise.
35289 (FBTEST_COUNT): Likewise.
35290 (fb_list): New variable.
35291 (grub_find_video_card): Remove function.
35292 (find_framebuf): New function.
35293 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
35294 line length.
35295
35296 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
35297 problem for x86_64.
35298
74b21bee 352992009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
35300
35301 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
35302
35303 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
35304 coding tool name.
35305
a455f472 353062009-02-22 Robert Millan <rmh@aybabtu.com>
35307
35308 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
35309 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
35310 in our relocation, instead of using it directly from heap. Also
35311 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
35312
6374daf3 353132009-02-21 Robert Millan <rmh@aybabtu.com>
35314
35315 Implement USB keyboard support (based on patch by Marco Gerards)
35316
35317 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
35318 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
35319 (usb_keyboard_mod_LDFLAGS): New variables.
35320
35321 * term/usb_keyboard.c: New file.
35322
8fa4ea70 353232009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
35324
35325 Corrected wrong declaration
35326
35327 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
35328
353976ac 353292009-02-14 Christian Franke <franke@computer.org>
35330
35331 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
35332 (grub_lspci_iter): Print class code and programming interface byte.
35333
6aa1169b 353342009-02-14 Christian Franke <franke@computer.org>
35335
35336 * gendistlist.sh: Ignore `.svn' directories.
35337
265372ca 353382009-02-14 Felix Zielcke <fzielcke@z-51.de>
35339
35340 * fs/fat.c: Add 2009 to Copyright line.
35341
9ff516f3 353422009-02-14 Christian Franke <franke@computer.org>
35343
35344 * commands/hdparm.c: New file. Provides `hdparm' command
35345 which sends ATA commands via grub_disk_ata_pass_through ().
35346
35347 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
35348
35349 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
35350 and <grub/cpu/io.h> to include/grub/ata.h.
35351 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
35352 (GRUB_CDROM_SECTOR_SIZE): Remove.
35353 (GRUB_ATA_*): Move to include/grub/ata.h.
35354 (GRUB_ATAPI_*): Likewise.
35355 (enum grub_ata_commands): Likewise.
35356 (enum grub_ata_timeout_milliseconds): Likewise.
35357 (struct grub_ata_device): Likewise.
35358 (grub_ata_regset): Likewise.
35359 (grub_ata_regget): Likewise.
35360 (grub_ata_regset2): Likewise.
35361 (grub_ata_regget2): Likewise.
35362 (grub_ata_check_ready): Likewise.
35363 (grub_ata_wait_not_busy): Remove static, exported in
35364 include/grub/ata.h.
35365 (grub_ata_wait_drq): Likewise.
35366 (grub_ata_pio_read): Likewise.
35367
35368 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
35369 function for hdparm.mod.
35370
35371 * include/grub/ata.h: New file, contains declarations from
35372 disk/ata.c.
35373 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
35374
35375 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
35376 (grub_disk_ata_pass_through): New exported variable.
35377
35378 * kern/disk.c (grub_disk_ata_pass_through): New variable.
35379
772e23da 353802009-02-13 Colin D Bennett <colin@gibibit.com>
35381
35382 Support multiple fallback entries, and provide an API to support
35383 executing default+fallback menu entries. Renamed the `terminal' menu
35384 viewer to `text'.
35385
35386 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
35387 variable declaration.
35388 (grub_menu_execute_callback): New structure declaration.
35389 (grub_menu_execute_callback_t): New typedef.
35390 (grub_menu_execute_with_fallback): New function declaration.
35391 (grub_menu_get_entry): Likewise.
35392 (grub_menu_get_timeout): Likewise.
35393 (grub_menu_set_timeout): Likewise.
35394
35395 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
35396
35397 * normal/menu.c (grub_wait_after_message): Moved to
35398 `normal/menu_text.c'.
35399 (draw_border): Likewise.
35400 (print_message): Likewise.
35401 (print_entry): Likewise.
35402 (print_entries): Likewise.
35403 (grub_menu_init_page): Likewise.
35404 (get_entry_number): Likewise.
35405 (print_timeout): Likewise.
35406 (run_menu): Likewise.
35407 (grub_menu_execute_entry): Likewise.
35408 (show_text_menu): Likewise.
35409 (get_and_remove_first_entry_number): New function.
35410 (grub_menu_execute_with_fallback): Likewise.
35411 (get_entry): Renamed to ...
35412 (grub_menu_get_entry): .. this and made it global.
35413 (get_timeout): Renamed to ...
35414 (grub_menu_get_timeout): ... this and made it global.
35415 (set_timeout): Renamed to ...
35416 (grub_menu_set_timeout): ... this and made it global.
35417 (grub_normal_terminal_menu_viewer): Renamed to ...
35418 (grub_normal_text_menu_viewer): ... this.
35419
35420 * normal/menu_text.c: New file. Extracted text-menu-specific code
35421 from normal/menu.c.
35422
35423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
35424 (normal_mod_SOURCES): Likewise.
35425
35426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35427 (normal_mod_SOURCES): Likewise.
35428
35429 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35430 (normal_mod_SOURCES): Likewise.
35431
35432 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
35433 (normal_mod_SOURCES): Likewise.
35434
35435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35436 (normal_mod_SOURCES): Likewise.
35437
35438 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35439 (normal_mod_SOURCES): Likewise.
35440
35441 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35442 (normal_mod_SOURCES): Likewise.
35443
16ac430e 354442009-02-11 Robert Millan <rmh@aybabtu.com>
35445
35446 * util/grub.d/00_header.in: Update old reference to `font' command.
35447
06ff20fc 354482009-02-10 Felix Zielcke <fzielcke@z-51.de>
35449
35450 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
35451
35452 Based on patch from Javier Martín.
35453
96da9407 354542009-02-09 Felix Zielcke <fzielcke@z-51.de>
35455
35456 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 35457 to avoid false positives with FAT.
96da9407 35458 (grub_fstest_SOURCES): Likewise.
35459 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35460 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35462 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35463 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35464 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35465
6dca6fe4 354662009-02-09 Felix Zielcke <fzielcke@z-51.de>
35467
06ff20fc 35468 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 35469 bpb.version_specific.fat12_or_fat16.fstype and
35470 bpb.version_specific.fat32.fstype.
35471
2550c62f 354722009-02-08 Robert Millan <rmh@aybabtu.com>
35473
be110b30 35474 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 35475
56978920 354762009-02-08 Robert Millan <rmh@aybabtu.com>
35477
35478 * Makefile.in (host_os, host_cpu): New variables.
35479 (target_os): Remove. Update all users.
35480
d64399b5 354812009-02-08 Marco Gerards <marco@gnu.org>
35482
35483 * Makefile.in (enable_grub_emu_usb): New variable.
35484 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
35485 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
35486 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
35487 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
35488 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
35489 `usbtest.mod' and `usbms.mod'.
35490 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
35491 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
35492 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
35493 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
35494 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
35495 variables.
35496
35497 * disk/usbms.c: New file.
35498
35499 * include/grub/usb.h: Likewise.
35500
35501 * include/grub/usbtrans.h: Likewise.
35502
35503 * include/grub/usbdesc.h: Likewise.
35504
35505 * bus/usb/usbtrans.c: Likewise.
35506
35507 * bus/usb/ohci.c: Likewise.
35508
35509 * bus/usb/uhci.c: Likewise.
35510
35511 * bus/usb/usbhub.c: Likewise.
35512
35513 * bus/usb/usb.c: Likewise.
35514
35515 * commands/usbtest.c: Likewise.
35516
35517 * util/usb.c: Likewise.
50fb7002 35518
d64399b5 35519 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
35520
35521 * configure.ac: Test for libusb presence.
50fb7002 35522
d64399b5 35523 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
35524
2b40d6bb 355252009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
35526
35527 * kern/mm.c: Add more comments.
35528
73a4ce81 355292009-02-08 Robert Millan <rmh@aybabtu.com>
35530
35531 Patch from Javier Martín.
35532 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
35533 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
35534
f821ce59 355352009-02-08 Robert Millan <rmh@aybabtu.com>
35536
35537 * fs/cpio.c: Split tar functionality to ...
35538 * fs/tar.c: ... here (new file). Update all users.
35539
aebfc4b0 355402009-02-07 Robert Millan <rmh@aybabtu.com>
35541
35542 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
35543 backward-incompatible features.
35544
35545 Based on patch from Javier Martín, with some adjustments.
35546
50fb7002 355472009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 35548
35549 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
35550
0bb5115e 355512009-02-07 Robert Millan <rmh@aybabtu.com>
35552
35553 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
35554 position of `disk/lvm.c' to ensure grub_init_all() always picks it
35555 after the RAID stuff.
35556
38a0f8e7 355572009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
35558
50fb7002 35559 Fixes problem when running vbetest command as reported by
38a0f8e7 35560 Vladimir Serbinenko <phcoder@gmail.com>.
35561
35562 * (grub_vbe_set_video_mode): Fixed problem with text modes.
35563
3143cc1c 355642009-02-04 Felix Zielcke <fzielcke@z-51.de>
35565
35566 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
35567 /dev/md/NpN style mdraid devices.
35568
9cba6fce 355692009-02-03 Felix Zielcke <fzielcke@z-51.de>
35570
35571 * util/unifont2pff.rb: Remove.
35572
e507a2c1 355732009-02-03 Felix Zielcke <fzielcke@z-51.de>
35574
35575 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
35576 `#'.
35577
d2c2b4cd 355782009-02-03 Felix Zielcke <fzielcke@z-51.de>
35579
35580 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
35581 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35582 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35583 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
35584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35585 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35586 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35587
b4315fb0 355882009-02-02 Christian Franke <franke@computer.org>
35589
35590 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
35591
de3aa260 355922009-02-01 Felix Zielcke <fzielcke@z-51.de>
35593
7c3ff286 35594 * INSTALL: Note that we now require at least autoconf 2.59 and
35595 that LZO is optional.
de3aa260 35596
825a182b 355972009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35598
35599 Base on patch on bug #24154 created by Tomas Tintera
35600 <trosos@seznam.cz>.
35601
35602 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
35603
a69ef770 356042009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
35605
7c3ff286 35606 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 35607 <bero@arklinux.org>.
35608
35609 * normal/parser.y (script_init): Add missing semicolon.
35610
6fa42fa6 356112009-01-31 Colin D Bennett <colin@gibibit.com>
35612
7c3ff286 35613 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 35614 (free_menu_entry_classes): Added.
35615 (grub_normal_menu_addentry): Added class property handling.
35616 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
35617 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
35618
35619 * normal/menu_viewer.c: New file.
35620
35621 * normal/menu.c (run_menu_entry): Renamed to ...
35622 (grub_menu_execute_entry): ... this and made it as global.
35623 (grub_menu_run): Renamed to ...
35624 (show_text_menu): ... this and made it local.
35625 (show_text_menu): Adapt to new function names.
35626 (grub_normal_terminal_menu_viewer): New global variable.
35627
35628 * include/grub/menu.h: New file.
35629
35630 * include/grub/menu_viewer.h: New file.
35631
35632 * include/grub/normal.h: Added include to grub/menu.h.
35633 (grub_menu_entry): Moved to include/grub/menu.h.
35634 (grub_menu_entry_t): Likewise.
35635 (grub_menu): Likewise.
35636 (grub_menu_t): Likewise.
35637 (grub_normal_terminal_menu_viewer): Added.
35638 (grub_menu_execute_entry): Likewise.
35639 (grub_menu_run): Removed.
35640
35641 * DISTLIST: Added include/grub/menu.h.
35642 Added include/grub/menu_viewer.h.
35643 Added normal/menu_viewer.c.
35644
356452009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
35646
35647 * normal/execute.c (grub_script_execute_menuentry): Changed to use
35648 arglist for menutitle arguments.
35649
35650 * normal/main.c (grub_normal_menu_addentry): Likewise.
35651
35652 * normal/parser.y (menuentry): Likewise.
35653
35654 * normal/script.c (grub_script_create_cmdmenu): Likewise.
35655
35656 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
35657 (grub_script_create_cmdmenu): Likewise.
35658
35659 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
35660
35661 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
35662 changes.
35663
35664 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
35665
35666 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
35667
35668 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
35669
35670 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35671
35672 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35673
35674 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
35675
56192c23 356762009-01-30 Christian Franke <franke@computer.org>
35677
35678 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
35679 in option help text.
35680
d72521b3 356812009-01-27 Pavel Roskin <proski@gnu.org>
35682
35683 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
35684
994b5e84 356852009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35686
35687 * commands/lsmmap.c: Add include to grub/machine/memory.h.
35688
35689 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
35690
35691 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
35692 unregister function.
35693
6a7eab2c 356942009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
35695
35696 * disk/scsi.c (grub_scsi_read): Fix sign problem.
35697
35698 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
35699
35700 * util/grub-mkfont.c (usage): Fix typo.
35701
35702 * util/elf/grub-mkimage.c (load_modules): Fix warning.
35703
1806b56e 357042009-01-26 Daniel Mierswa <impulze@impulze.org>
35705
3fb18f09 35706 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
35707
336e1fb9 35708 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
35709
1806b56e 35710 * kern/misc.c (grub_strcasecmp): New function.
35711 (grub_strcasecmp): Use grub_size_t instead of int for length.
35712 Fix return value.
35713 * include/grub/misc.h: Update function prototypes.
35714
580b2a0f 357152009-01-26 Robert Millan <rmh@aybabtu.com>
35716
35717 * configure.ac: Fix cross-compilation check.
ef257b36 35718
d31c24f1 357192009-01-22 Christian Franke <franke@computer.org>
35720
35721 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
35722 (precision) digit string. Allow `.format2' without `format1' (width).
35723 Limit input chars for `%s' output to `format2' if specified. This is
35724 compatible with standard printf ().
35725
3138b44c 357262009-01-22 Christian Franke <franke@computer.org>
35727
35728 * disk/ata.c (grub_ata_wait_status): Replace by ...
35729 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
35730 other status bits may be invalid while BSY is asserted.
35731 (grub_ata_check_ready): New function.
35732 (grub_ata_cmd): Removed.
35733 (grub_ata_wait_drq): New function.
35734 (grub_ata_strncpy): Remove inline.
35735 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
35736 and error check now done by grub_ata_wait_drq ().
35737 (grub_ata_pio_write): Likewise.
35738 (grub_atapi_identify): Set DEV before check for !BSY. Use
35739 grub_ata_wait_drq () to wait for data.
35740 (grub_ata_device_initialize): Add status register check to
35741 detect missing SATA slave devices. Add debug messages.
35742 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
35743 (grub_atapi_packet): Set DEV before check for !BSY. Replace
35744 transfer loop by grub_ata_pio_write ().
35745 (grub_ata_identify): Set DEV before check for !BSY. Use
35746 grub_ata_wait_drq () to wait for data.
ef257b36 35747 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 35748 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
35749 read/write in one loop. Fix invalid command on write. Fix incomplete
35750 command on (size % batch) == 0. Add missing error check after write of
35751 last block. Add debug messages.
35752 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
35753
59a64ef6 357542009-01-19 Christian Franke <franke@computer.org>
35755
35756 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
35757 (GRUB_ATAPI_IREASON_*): Likewise.
35758 (grub_ata_pio_write): Fix timeout error return.
35759 (grub_atapi_identify): Add grub_ata_wait () after cmd.
35760 (grub_atapi_wait_drq): New function.
35761 (grub_atapi_packet): New parameter `size'.
35762 Use grub_atapi_wait_drq () and direct write instead of
35763 grub_ata_pio_write ().
35764 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
35765 reads the number of bytes requested by the device for each DRQ
35766 assertion.
35767 (grub_atapi_write): Remove old implementation, return not
35768 implemented instead.
35769
1cfe20b3 357702009-01-19 Christian Franke <franke@computer.org>
35771
35772 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
35773 of 512 to calculate data size.
35774 (grub_scsi_read12): Likewise.
35775 (grub_scsi_write10): Likewise.
35776 (grub_scsi_write12): Likewise.
35777 (grub_scsi_read): Adjust size according to blocksize.
35778 Add checks for invalid blocksize and unaligned transfer.
35779
bee5fe5d 357802009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
35781
35782 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
35783
ef257b36 35784 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 35785 width glyphs.
35786
3e643f8c 357872009-01-19 Robert Millan <rmh@aybabtu.com>
35788
35789 * config.guess: Update to latest version from config git.
35790 * config.sub: Likewise.
35791
4fa80998 357922009-01-17 Felix Zielcke <fzielcke@z-51.de>
35793
35794 * Makefile.in: Change font compilation to use new grub-mkfont instead
35795 of java version.
35796
35797 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
35798 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
35799 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35800 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
35801 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
35802 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
35803 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
35804 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
35805 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35806
7086085b 358072009-01-16 Christian Franke <franke@computer.org>
35808
35809 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
35810 (enum grub_ata_timeout_milliseconds): New enum.
35811 (grub_ata_wait_status): Add parameter milliseconds.
35812 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
35813 recovery from timed-out commands.
35814 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
35815 return grub_errno instead of REG_ERROR.
35816 (grub_ata_pio_write): Add parameter milliseconds.
35817 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
35818 Pass milliseconds to grub_ata_wait_status () and
35819 grub_ata_pio_read ().
35820 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
35821 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
35822 grub_ata_wait_status (). Fix IDENTIFY timeout check.
35823 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
35824 It is not suitable for device detection, because DEV bit is ignored,
35825 the command may run too long, and not all devices set the signature
35826 properly.
35827 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
35828 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
35829 Fix device selection, DEV bit must be set first to address the registers
35830 of the correct device.
35831 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
35832 grub_ata_pio_read/write ().
35833 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
35834 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
35835
4a412913 358362009-01-13 Carles Pina i Estany <carles@pina.cat>
35837
35838 * util/grub-editenv.c (main): Use fseeko(), not fseek().
35839
7795c55e 358402009-01-13 Bean <bean123ch@gmail.com>
d913988c 35841
35842 * util/grub-mkfont.c (write_font): forget to remove some debug code.
35843
7795c55e 358442009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 35845
35846 * Makefile.in: (enable_grub_mkfont): New variable.
35847 (freetype_cflags): Likewise.
35848 (freetype_libs): Likewise.
35849
35850 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
35851 (grub_mkfont_SOURCES): New variable.
35852 (grub_mkfont_CFLAGS): Likewise.
35853 (grub_mkfont_LDFLAGS): Likewise.
35854
35855 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
35856 library if `--enable-grub-mkfont' is requested.
35857 (enable_grub_mkfont): New variable.
35858 (freetype_cflags): Likewise.
35859 (freetype_libs): Likewise.
35860
35861 * util/grub-mkfont.c: New file.
35862
093af1fe 358632009-01-12 Christian Franke <franke@computer.org>
35864
35865 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
35866 mode check. Fix setting of compat_use[].
35867
f36cc108 358682009-01-10 Robert Millan <rmh@aybabtu.com>
35869
35870 Update a few copyright years which we forgot to do in 2008 (only for
35871 files whose changes made in 2008 were copyright-significant)
35872
35873 * Makefile.in: Add 2008 to Copyright line.
35874 * disk/ieee1275/ofdisk.c: Likewise.
35875 * disk/efi/efidisk.c: Likewise.
35876 * kern/dl.c: Likewise.
35877 * kern/sparc64/ieee1275/init.c: Likewise.
35878 * kern/mm.c: Likewise.
35879 * kern/efi/mm.c: Likewise.
35880 * boot/i386/pc/boot.S: Likewise.
35881 * genfslist.sh: Likewise.
35882 * fs/iso9660.c: Likewise.
35883 * fs/hfs.c: Likewise.
35884 * fs/jfs.c: Likewise.
35885 * fs/minix.c: Likewise.
35886 * fs/ufs.c: Likewise.
35887 * gensymlist.sh.in: Likewise.
35888 * genkernsyms.sh.in: Likewise.
35889 * include/grub/misc.h: Likewise.
35890 * include/grub/types.h: Likewise.
35891 * include/grub/symbol.h: Likewise.
35892 * include/grub/elf.h: Likewise.
35893 * include/grub/kernel.h: Likewise.
35894 * include/grub/disk.h: Likewise.
35895 * include/grub/dl.h: Likewise.
35896 * include/grub/i386/linux.h: Likewise.
35897 * include/grub/i386/pc/biosdisk.h: Likewise.
35898 * include/grub/efi/api.h: Likewise.
35899 * include/grub/efi/pe32.h: Likewise.
35900 * include/grub/util/misc.h: Likewise.
35901 * normal/execute.c: Likewise.
35902 * normal/arg.c: Likewise.
35903 * normal/completion.c: Likewise.
35904 * normal/lexer.c: Likewise.
35905 * normal/parser.y: Likewise.
35906 * normal/misc.c: Likewise.
35907 * commands/i386/pc/vbeinfo.c: Likewise.
35908 * commands/hexdump.c: Likewise.
35909 * commands/terminal.c: Likewise.
35910 * commands/ls.c: Likewise.
35911 * commands/help.c: Likewise.
35912 * partmap/pc.c: Likewise.
35913 * loader/efi/chainloader.c: Likewise.
35914 * loader/multiboot_loader.c: Likewise.
35915 * loader/i386/pc/multiboot2.c: Likewise.
35916 * term/efi/console.c: Likewise.
35917 * term/i386/pc/serial.c: Likewise.
35918 * util/lvm.c: Likewise.
35919 * util/console.c: Likewise.
35920 * util/i386/efi/grub-mkimage.c: Likewise.
35921 * util/raid.c: Likewise.
35922
7f02114b 359232009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
35924
35925 * commands/videotest.c: Removed include to grub/machine/memory.h.
35926
35927 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
35928 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
35929 (video_mod_SOURCES): Removed.
35930 (video_mod_CFLAGS): Likewise.
35931 (video_mod_LDFLAGS): Likewise.
35932 (gfxterm_mod_SOURCES): Likewise.
35933 (gfxterm_mod_CFLAGS): Likewise.
35934 (gfxterm_mod_LDFLAGS): Likewise.
35935 (videotest_mod_SOURCES): Likewise.
35936 (videotest_mod_CFLAGS): Likewise.
35937 (videotest_mod_LDFLAGS): Likewise.
35938 (bitmap_mod_SOURCES): Likewise.
35939 (bitmap_mod_CFLAGS): Likewise.
35940 (bitmap_mod_LDFLAGS): Likewise.
35941 (tga_mod_SOURCES): Likewise.
35942 (tga_mod_CFLAGS): Likewise.
35943 (tga_mod_LDFLAGS): Likewise.
35944 (jpeg_mod_SOURCES): Likewise.
35945 (jpeg_mod_CFLAGS): Likewise.
35946 (jpeg_mod_LDFLAGS): Likewise.
35947 (png_mod_SOURCES): Likewise.
35948 (png_mod_CFLAGS): Likewise.
35949 (png_mod_LDFLAGS): Likewise.
35950
35951 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
35952 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
35953 (video_mod_SOURCES): Added.
35954 (video_mod_CFLAGS): Likewise.
35955 (video_mod_LDFLAGS): Likewise.
35956 (videotest_mod_SOURCES): Likewise.
35957 (videotest_mod_CFLAGS): Likewise.
35958 (videotest_mod_LDFLAGS): Likewise.
35959 (bitmap_mod_SOURCES): Likewise.
35960 (bitmap_mod_CFLAGS): Likewise.
35961 (bitmap_mod_LDFLAGS): Likewise.
35962 (tga_mod_SOURCES): Likewise.
35963 (tga_mod_CFLAGS): Likewise.
35964 (tga_mod_LDFLAGS): Likewise.
35965 (jpeg_mod_SOURCES): Likewise.
35966 (jpeg_mod_CFLAGS): Likewise.
35967 (jpeg_mod_LDFLAGS): Likewise.
35968 (png_mod_SOURCES): Likewise.
35969 (png_mod_CFLAGS): Likewise.
35970 (png_mod_LDFLAGS): Likewise.
35971 (gfxterm_mod_SOURCES): Likewise.
35972 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 35973 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 35974
35975 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35976 grub/machine/console.h.
35977
644fff97 359782009-01-04 Jerone Young <jerone@gmail.com>
35979
35980 Make on screen instructions clearer
35981
35982 Based on patch created by Jidanni <jidanni@jidanni.org>
35983
35984 * normal/menu.c: print clearer instructions on the screen
35985
1e901a75 359862009-01-02 Colin D Bennett <colin@gibibit.com>
35987
35988 New font engine.
34c44600 35989
1e901a75 35990 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
35991 build system and fixed gfxterm.c to work with different sized fonts.
35992
35993 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 35994
1e901a75 35995 * configure: Re-generated.
34c44600 35996
1e901a75 35997 * DISTLIST: Removed font/manager.c.
35998 Added font/font.c.
35999 Added font/font_cmd.c.
34c44600 36000
1e901a75 36001 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
36002 compilation.
34c44600 36003
1e901a75 36004 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 36005
36006 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 36007
36008 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 36009
1e901a75 36010 * normal/menu.c: Likewise.
34c44600 36011
1e901a75 36012 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
36013 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 36014
1e901a75 36015 * include/grub/font.h: Replaced with new file.
34c44600 36016
1e901a75 36017 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
36018 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
36019 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
36020 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
36021 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 36022 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 36023 fg_red, fg_green, fg_blue, fg_alpha.
36024 (grub_video_adapter): Removed blit_glyph.
34c44600 36025 (grub_video_blit_glyph): Removed.
36026
1e901a75 36027 * font/manager.c: Removed file.
34c44600 36028
36029 * font/font.c: New file.
36030
1e901a75 36031 * font/font_cmd.c: Likewise.
34c44600 36032
1e901a75 36033 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 36034
1e901a75 36035 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
36036 (grub_video_vbe_map_rgba): Likewise.
36037 (grub_video_vbe_unmap_color_int): Likewise.
36038 (grub_video_vbe_blit_glyph): Removed.
36039 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 36040
1e901a75 36041 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
36042 (get_pixel): Likewise.
34c44600 36043 (set_pixel): Likewise.
36044
1e901a75 36045 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 36046
1e901a75 36047 * term/gfxterm.c: Adapted to new font engine.
34c44600 36048
1e901a75 36049 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 36050
1e901a75 36051 * term/i386/pc/vga.c: Likewise.
34c44600 36052
1e901a75 36053 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 36054
1e901a75 36055 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 36056
1e901a75 36057 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36058
1e901a75 36059 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 36060
1e901a75 36061 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 36062
1e901a75 36063 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 36064
1e901a75 36065 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 36066
1e901a75 36067 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 36068
1e901a75 36069 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
36070
36071 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 36072
1e901a75 36073 * util/grub-mkconfig_lib.in: Changed font extension.
36074
278922e8 360752008-12-28 Felix Zielcke <fzielcke@z-51.de>
36076
36077 * util/getroot.c (grub_util_get_grub_dev): Add support for
36078 /dev/md/dNNpNN style partitionable mdraid devices.
36079
3ced05cf 360802008-12-12 Alex Smith <alex@alex-smith.me.uk>
36081
36082 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
36083 at a time limit of the PXE TFTP API correctly.
36084 (grub_pxefs_close): Likewise.
36085
7fd0ee30 360862008-11-29 Robert Millan <rmh@aybabtu.com>
36087
34c44600 36088 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 36089 grub_ata_device_initialize() calls.
36090
34c44600 360912008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 36092
36093 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
36094 iteration failed.
36095 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
36096
89313780 360972008-11-28 Robert Millan <rmh@aybabtu.com>
36098
36099 Fix build on powerpc-ieee1275. Based on patch created by
36100 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
36101 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36102 `kern/ieee1275/mmap.c'.
36103 * include/grub/powerpc/ieee1275/memory.h: New file.
36104
15257703 36105 Provide grub-install on coreboot.
36106 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
36107 (grub_install_SOURCES): New variable.
36108 * util/i386/pc/grub-install.in: Add a few condition checks to make it
36109 usable on coreboot.
36110
9fc5388a 361112008-11-25 Felix Zielcke <fzielcke@z-51.de>
36112
36113 * util/grub-fstest.c (grub_term_get_current_input): Change return type
36114 to `grub_term_input_t'.
36115 (grub_term_get_current_output): Change return type to
36116 `grub_term_output_t'.
36117
bc3a2f31 361182008-11-22 Robert Millan <rmh@aybabtu.com>
36119
34c44600 36120 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 36121 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
36122 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
36123 grub_vga_text_cls().
36124
80fc88f2 36125 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 36126 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 36127
cbf36fd3 36128 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
36129 to 0x200000 (avoids trouble with some OFW implementations, and matches
36130 with the one in Yaboot).
36131 Reported by Manoel Abranches
36132
73e8e268 361332008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 36134
36135 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
36136 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
36137
73e8e268 36138 * util/grub-mkconfig_lib.in (grub_warn): New function.
36139 (convert_system_path_to_grub_path): Use grub_warn() when issuing
36140 warnings, to obtain consistent formatting.
36141 * util/grub.d/00_header.in: Likewise.
36142 * util/update-grub_lib.in: Likewise.
36143
e94045a1 36144 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 36145 Move comment text to `#error' stanza.
e94045a1 36146
79d29fd7 36147 Harmonize ieee1275's grub_available_iterate() with the generic
36148 grub_machine_mmap_iterate() interface (fixes a recently-introduced
36149 build problem on i386-ieee1275):
36150 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
36151 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
36152 parameter `type'. Update all users of this function.
36153 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
36154 `kern/ieee1275/mmap.c'.
36155 * kern/ieee1275/init.c
36156 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
36157 with ...
36158 (grub_machine_mmap_iterate): ... this.
36159 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
36160 return type to `grub_err_t'. Update all implementations of this
36161 function prototype.
36162 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
36163 Likewise.
36164
60d6b16e 36165 Add `lsmmap' command (lists firmware-provided memory map):
36166 * commands/lsmmap.c: New file.
36167 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
36168 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
36169 variables.
36170 * conf/powerpc-ieee1275.rmk: Likewise.
36171 * conf/i386-coreboot.rmk: Likewise.
36172 * conf/i386-ieee1275.rmk: Likewise.
36173
ebaaf49b 361742008-11-19 Robert Millan <rmh@aybabtu.com>
36175
36176 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 36177 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
36178 constraints to initrd allocation (based on code from
36179 loader/i386/pc/linux.c). Without them, initrd was allocated too high
36180 for Linux to find it.
ebaaf49b 36181
dfab719f 361822008-11-14 Robert Millan <rmh@aybabtu.com>
36183
36184 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
36185 order to cope with duplicate slashes.
36186
10fc3eb9 361872008-11-14 Robert Millan <rmh@aybabtu.com>
36188
36189 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
36190 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
36191 don't want to mess with lower memory, because it is used in the Linux
36192 loader.
36193
36194 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 36195 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 36196 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
36197 is in our heap (probably as a result of it being corrupted during
2f2a3442 36198 decompression). Add #error instance with comment to explain why this
36199 loader isn't currently usable on PC/BIOS.
10fc3eb9 36200
e2e07847 362012008-11-14 Robert Millan <rmh@aybabtu.com>
36202
36203 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 36204 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 36205
fe8e8d69 362062008-11-12 Robert Millan <rmh@aybabtu.com>
36207
36208 Make loader/i386/linux.c buildable on i386-pc (although disabled).
36209
36210 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
36211 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
36212 from here ...
36213 * include/grub/i386/pc/memory.h: ... to here.
36214
976b07d0 362152008-11-12 Robert Millan <rmh@aybabtu.com>
36216
36217 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
36218 split).
36219
36220 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
36221 (grub_console_cur_color, grub_console_real_putchar)
36222 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36223 (grub_console_setcolorstate, grub_console_setcolor)
36224 (grub_console_getcolor): Move from here ...
36225 * include/grub/i386/vga_common.h: ... to here (new file).
36226
36227 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
36228 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
36229 `<grub/i386/io.h>'.
36230 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
36231 `<grub/i386/vga_common.h>'.
36232
76679cd3 362332008-11-12 Robert Millan <rmh@aybabtu.com>
36234
36235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
36236 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
36237 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
36238 variables.
36239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36240 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
36241
36242 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
36243 grub_console_init() with call to grub_vga_text_init().
36244 (grub_machine_fini): Replace call to
36245 grub_console_fini() with call to grub_vga_text_fini() and
36246 grub_at_keyboard_fini().
36247
36248 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
36249 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
36250 (grub_console_setcolorstate, grub_console_setcolor)
36251 (grub_console_getcolor): New function prototypes.
36252
36253 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
36254 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
36255 (grub_vga_text_setcursor): Static-ize.
36256 (grub_vga_text_term): New structure.
36257 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
36258
36259 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
36260 (grub_console_cur_color, grub_console_standard_color)
36261 (grub_console_normal_color, grub_console_highlight_color)
36262 (map_char, grub_console_putchar, grub_console_getcharwidth)
36263 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
36264 (grub_console_getcolor): Move from here ...
36265 * term/i386/vga_common.c: ... to here (same function names).
36266
95b841d3 362672008-11-12 Robert Millan <rmh@aybabtu.com>
36268
36269 Use newly-added Multiboot support in coreboot.
36270
36271 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
36272 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
36273
36274 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
36275 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
36276 (codestart): Store the MBI in `startup_multiboot_info' when we're
36277 being loaded using Multiboot.
36278
36279 * kern/i386/coreboot/init.c (grub_machine_init): Move
36280 grub_at_keyboard_init() call to beginning of function (useful for
36281 debugging). Call grub_machine_mmap_init() before attempting to use
36282 grub_machine_mmap_iterate().
36283 (grub_lower_mem, grub_upper_mem): Move from here ...
36284 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
36285 here (new file).
36286
36287 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
36288 function prototype.
36289
761ca975 362902008-11-12 Robert Millan <rmh@aybabtu.com>
36291
36292 Fix a regression introduced by the at_keyboard.mod split. Because
36293 some terminals are default on some platforms and non-default on
36294 others, the first terminal being registered determines which is
36295 going to be default.
36296
36297 * kern/term.c (grub_term_register_input): If this is the first
36298 terminal being registered, set it as the current one.
36299 (grub_term_register_output): Likewise.
36300
36301 * term/efi/console.c (grub_console_init): Do not call
36302 grub_term_set_current_output() or grub_term_set_current_input().
36303 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
36304 * term/i386/pc/console.c (grub_console_init): Likewise.
36305 (grub_console_fini): Do not call grub_term_set_current_input()
36306 (but leave grub_term_set_current_output() to restore text mode).
36307
6c529df7 363082008-11-10 Robert Millan <rmh@aybabtu.com>
36309
36310 * util/grub.d/00_header.in: Add backward compatibility check for
36311 versions of terminal.mod that don't understand `terminal_input' or
36312 `terminal_output'.
36313
132e4113 363142008-11-09 Robert Millan <rmh@aybabtu.com>
36315
36316 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
36317 `terminal_input' / `terminal_output', not `terminal'.
36318
ac293d50 363192008-11-08 Robert Millan <rmh@aybabtu.com>
36320
36321 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 36322 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 36323
0025933a 363242008-11-08 Robert Millan <rmh@aybabtu.com>
36325
36326 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 36327 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 36328 members. Update all users.
36329 * util/console.c (grub_ncurses_term): Split in ...
36330 (grub_ncurses_term_input): ... this, and ...
36331 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 36332 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 36333
37c86336 363342008-11-08 Robert Millan <rmh@aybabtu.com>
36335
36336 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
36337 (PKGDATA): Add $(pkgdata_SRCDIR).
36338 (pkglib_BUILDDIR): New variable.
36339 (pkgdata_SRCDIR): New variable.
36340 (build_env.mk): New target.
36341 (include_DATA): New variable.
36342 (install-local): Install $(include_DATA) files in $(includedir).
36343
b6c15a2d 363442008-11-07 Pavel Roskin <proski@gnu.org>
36345
d99d46f1 36346 * gendistlist.sh: Use C locale for sorting to ensure consistent
36347 output on all systems.
36348
b6c15a2d 36349 * util/grub.d/00_header.in: Remove incorrect space before
36350 "serial".
36351
c32ee8c9 363522008-11-07 Robert Millan <rmh@aybabtu.com>
36353
36354 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
36355 per specification.
36356 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
36357 * loader/multiboot_loader.c (find_multi_boot2_header): New function
36358 (based on find_multi_boot1_header).
36359 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
36360 using find_multi_boot2_header(), and abort if neither Multiboot or
36361 Multiboot headers were found.
36362
651c29b7 363632008-11-07 Robert Millan <rmh@aybabtu.com>
36364
36365 Modularize at_keyboard.mod:
36366
36367 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
36368 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
36369 (at_keyboard_mod_LDFLAGS): New variables.
36370
36371 Actual terminal split:
36372
36373 * include/grub/term.h (struct grub_term): Split in ...
36374 (struct grub_term_input): ... this, and ...
36375 (struct grub_term_output): ... this. Update all users.
36376 (grub_term_set_current): Split in ...
36377 (grub_term_set_current_input): ... this, and ...
36378 (grub_term_set_current_output): ... this.
36379 (grub_term_get_current): Split in ...
36380 (grub_term_get_current_input): ... this, and ...
36381 (grub_term_get_current_output): ... this.
36382 (grub_term_register): Split in ...
36383 (grub_term_register_input): ... this, and ...
36384 (grub_term_register_output): ... this.
36385 (grub_term_unregister): Split in ...
36386 (grub_term_unregister_input): ... this, and ...
36387 (grub_term_unregister_output): ... this.
36388 (grub_term_iterate): Split in ...
36389 (grub_term_iterate_input): ... this, and ...
36390 (grub_term_iterate_output): ... this.
36391
36392 * kern/term.c (grub_term_list): Split in ...
36393 (grub_term_list_input): ... this, and ...
36394 (grub_term_list_output): ... this. Update all users.
36395 (grub_cur_term): Split in ...
36396 (grub_cur_term_input): ... this, and ...
36397 (grub_cur_term_output): ... this. Update all users.
36398 (grub_term_set_current): Split in ...
36399 (grub_term_set_current_input): ... this, and ...
36400 (grub_term_set_current_output): ... this.
36401 (grub_term_get_current): Split in ...
36402 (grub_term_get_current_input): ... this, and ...
36403 (grub_term_get_current_output): ... this.
36404 (grub_term_register): Split in ...
36405 (grub_term_register_input): ... this, and ...
36406 (grub_term_register_output): ... this.
36407 (grub_term_unregister): Split in ...
36408 (grub_term_unregister_input): ... this, and ...
36409 (grub_term_unregister_output): ... this.
36410 (grub_term_iterate): Split in ...
36411 (grub_term_iterate_input): ... this, and ...
36412 (grub_term_iterate_output): ... this.
36413
36414 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
36415 a check for input and one for output (and only attempt to get keys
36416 from user when input works).
36417
36418 * util/grub-probe.c (grub_term_get_current): Split in ...
36419 (grub_term_get_current_input): ... this, and ...
36420 (grub_term_get_current_output): ... this.
36421 * util/grub-fstest.c: Likewise.
36422 * util/i386/pc/grub-setup.c: Likewise.
36423 * util/grub-editenv.c: Likewise.
36424
36425 Portability adjustments:
36426
36427 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
36428 `term/i386/pc/at_keyboard.c'.
36429 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
36430 grub_keyboard_controller_init() (now handled by terminal .init).
36431 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
36432 grub_at_keyboard_init().
36433 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
36434 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
36435 at_keyboard.mod via input terminal interface).
36436 * include/grub/i386/coreboot/console.h: Convert into a stub for
36437 `<grub/i386/pc/console.h>'.
36438
36439 Migrate full terminals to new API:
36440
36441 * term/efi/console.c (grub_console_term): Split into ...
36442 (grub_console_term_input): ... this, and ...
36443 (grub_console_term_output): ... this. Update all users.
36444 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
36445 (grub_ofconsole_init): Split into ...
36446 (grub_ofconsole_init_input): ... this, and ...
36447 (grub_ofconsole_init_output): ... this.
36448 (grub_ofconsole_term): Split into ...
36449 (grub_ofconsole_term_input): ... this, and ...
36450 (grub_ofconsole_term_output): ... this. Update all users.
36451 * term/i386/pc/serial.c (grub_serial_term): Split into ...
36452 (grub_serial_term_input): ... this, and ...
36453 (grub_serial_term_output): ... this. Update all users.
36454 * term/i386/pc/console.c (grub_console_term): Split into ...
36455 (grub_console_term_input): ... this, and ...
36456 (grub_console_term_output): ... this. Update all users.
36457 (grub_console_term_input): Only enable it on PC/BIOS platform.
36458 (grub_console_init): Remove grub_keyboard_controller_init() call.
36459
36460 Migrate input terminals to new API:
36461
36462 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
36463 `i386' and `i386/pc' to enable build on x86_64 (this driver is
36464 i386-specific anyway).
36465 (grub_console_checkkey): Rename to ...
36466 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
36467 users.
36468 (grub_keyboard_controller_orig): New variable.
36469 (grub_console_getkey): Rename to ...
36470 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
36471 users.
36472 (grub_keyboard_controller_init): Static-ize. Save original
36473 controller value so that it can be restored ...
36474 (grub_keyboard_controller_fini): ... here (new function).
36475 (grub_at_keyboard_term): New structure.
36476 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
36477 functions.
36478
36479 Migrate output terminals to new API:
36480
36481 * term/i386/pc/vga.c (grub_vga_term): Change type to
36482 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36483 members. Update all users.
36484 * term/gfxterm.c (grub_video_term): Change type to
36485 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
36486 members. Update all users.
36487 * include/grub/i386/pc/console.h (grub_console_checkkey)
36488 (grub_console_getkey): Do not export (no longer needed by gfxterm,
36489 etc).
36490
36491 Migrate `terminal' command and userland tools to new API:
36492
36493 * commands/terminal.c (grub_cmd_terminal): Split into ...
36494 (grub_cmd_terminal_input): ... this, and ...
36495 (grub_cmd_terminal_output): ... this.
36496 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
36497 `terminal_input' and `terminal_output'.
36498 * util/grub.d/00_header.in: Adjust `terminal' calls to new
36499 `terminal_input' / `terminal_output' API.
36500 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
36501 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
36502 provided ${GRUB_TERMINAL}, convert it).
36503
96e5d876 365042008-11-04 Robert Millan <rmh@aybabtu.com>
36505
36506 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
36507 for FreeBSD.
36508 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
36509
556f3775 365102008-11-03 Bean <bean123ch@gmail.com>
36511
36512 * kern/elf.c (grub_elf32_load): Revert to previous code.
36513 (grub_elf64_load): Likewise.
36514
36515 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
36516
926b9823 365172008-11-01 Robert Millan <rmh@aybabtu.com>
36518
36519 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
36520 (TARGET_CPPFLAGS): Likewise.
36521 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
36522
1432e958 365232008-11-01 Carles Pina i Estany <carles@pina.cat>
36524
36525 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
36526
dba3f844 365272008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 36528
36529 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
36530 addition of objects until the code is not going to be able to fail.
36531
dba3f844 365322008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 36533
36534 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
36535 (add a missing NULL check, and correct them by moving the pointer
36536 operations after the actual check).
36537
7ab28c21 365382008-10-29 Robert Millan <rmh@aybabtu.com>
36539
36540 * util/i386/pc/grub-install.in: Handle empty string as output from
36541 make_system_path_relative_to_its_root().
36542
1b7748eb 365432008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
36544
36545 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
36546 circular metadata worst case scenario. If the metadata is circular
36547 then copy the wrap in place.
36548 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
36549 project lib/format_text/layout.h
36550 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
36551
c9618ab2 365522008-10-03 Felix Zielcke <fzielcke@z-51.de>
36553
7a36edca 36554 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 36555
bf981c62 365562008-10-03 Felix Zielcke <fzielcke@z-51.de>
36557
36558 * util/update-grub_lib.in: Mention filename in warning message.
36559
6d994591 365602008-09-29 Felix Zielcke <fzielcke@z-51.de>
36561
36562 * NEWS: Update for rename of update-grub to grub-mkconfig.
36563
18ade780 365642008-09-29 Felix Zielcke <fzielcke@z-51.de>
36565
36566 * util/update-grub_lib.in: Copy to ...
36567 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 36568 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 36569 * util/update-grub.in: Rename to ...
36570 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
36571 option. Add `--output' option to allow users to specify the generated
36572 configuration file. Default to stdout.
36573 (update_grub_dir): Rename to ...
36574 (grub_mkconfig_dir): ... this.
36575 (grub_cfg): Default to an empty string.
36576 * conf/common.rmk (update-grub): Rename to ...
36577 (grub-mkconfig): ... this.
36578 (update-grub_lib): Copy to ...
36579 (grub-mkconfig_lib): ... this.
36580 (update-grub_SCRIPTS): Copy to ...
36581 (grub-mkconfig_SCRIPTS): ... this. Update all users.
36582 (update-grub_DATA): Rename to ...
36583 (grub-mkconfig_DATA): ... this.
36584
556ce6ac 365852008-09-28 Robert Millan <rmh@aybabtu.com>
36586
36587 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
36588 to `modified'. Add the real `created' field.
36589 (grub_iso9660_uuid): Use `modified' rather than `created' for
36590 constructing the UUID.
36591
365922008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 36593
36594 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
36595 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
36596
92274e85 365972008-09-28 Bean <bean123ch@gmail.com>
36598
36599 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
36600 Thanks to Christian Franke for finding this bug.
36601
add6f17a 366022008-09-25 Robert Millan <rmh@aybabtu.com>
36603
36604 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
36605 instances of grub_util_get_disk_name() (see previous commit).
36606
d2a367b8 366072008-09-25 Robert Millan <rmh@aybabtu.com>
36608
36609 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
36610 `util/i386/get_disk_name.c'.
36611 * conf/i386-efi.rmk: Likewise.
36612 * conf/x86_64-efi.rmk: Likewise.
36613 * conf/i386-coreboot.rmk: Likewise.
36614 * conf/i386-ieee1275.rmk: Likewise.
36615 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
36616 `util/ieee1275/get_disk_name.c'.
36617 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
36618 * util/ieee1275/get_disk_name.c: Remove file.
36619 * util/i386/get_disk_name.c: Remove file.
36620 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
36621 "hd%d" for device.map entries, rather than using
36622 grub_util_get_disk_name().
36623
81a06771 366242008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 36625
36626 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
36627 warning.
36628 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
36629
5a004279 366302008-09-24 Carles Pina i Estany <carles@pina.cat>
36631
36632 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
36633 Changed to 0x5100.
36634 (GRUB_TERM_PPAGE): Changed to 0x4900.
36635
397093d3 366362008-09-24 Robert Millan <rmh@aybabtu.com>
36637
36638 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
36639 macros (they were i386-pc specific).
36640 * include/grub/sparc64/ieee1275/console.h: Likewise.
36641 * include/grub/efi/console.h: Likewise.
36642
a91b6c7c 366432008-09-22 Bean <bean123ch@gmail.com>
36644
36645 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
36646 resident and in attribute list.
36647
36648 * include/grub/ntfs.h (BMP_LEN): Removed.
36649
c40fd116 366502008-09-22 Bean <bean123ch@gmail.com>
36651
81a06771 36652 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 36653 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
36654
36655 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
36656 error occurs, as grub_disk_open will call grub_disk_close, which will
36657 call p->close (scsi).
36658
81a06771 366592008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 36660
36661 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
36662 (AC_PREREQ): Bumped to 2.59.
36663 (AC_TRY_COMPILE): Replace obsolete macro with ...
36664 (AC_COMPILE_IFELSE): ... this.
36665 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
36666 (AC_LINK_IFELSE): ... this.
36667
5dc43410 366682008-09-21 Felix Zielcke <fzielcke@z-51.de>
36669
36670 * autogen.sh: Add a call to `gendistlist.sh'.
36671
9035dce4 366722008-09-19 Christian Franke <franke@computer.org>
36673
36674 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
36675 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
36676 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
36677 Export __enable_execute_stack() to modules.
36678 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
36679 New function.
36680
7fd75377 366812008-09-09 Felix Zielcke <fzielcke@z-51.de>
36682
040030b3 36683 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
36684 Sort the list.
36685
366862008-09-09 Felix Zielcke <fzielcke@z-51.de>
36687
36688 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 36689 #include <grub/util/hostdisk.h>.
36690
89d5ffcf 366912008-09-08 Robert Millan <rmh@aybabtu.com>
36692
36693 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
36694 segments when their filesz is zero (grub_file_read() interprets
81a06771 36695 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 36696 Use `lowest_segment' rather than 0 for calculating the current
36697 segment load address.
36698
40da438f 366992008-09-08 Robert Millan <rmh@aybabtu.com>
36700
36701 * util/hostdisk.c (open_device): Replace a grub_util_info() call
36702 with grub_dprintf("hostdisk", ...), as it was so verbose that it
36703 clobbered useful information.
36704
ddbf5556 367052008-09-08 Robert Millan <rmh@aybabtu.com>
36706
36707 * include/grub/util/biosdisk.h: Move to ...
36708 * include/grub/util/hostdisk.h: ... here. Update all users.
36709 * util/biosdisk.c: Move to ...
36710 * util/hostdisk.c: ... here. Update all users.
36711
783d0f48 367122008-09-07 Robert Millan <rmh@aybabtu.com>
36713
36714 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
36715 variables.
36716 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
36717 and length can be stored directly in the `mbi->mmap_addr' and
36718 `mbi->mmap_length' struct fields.
36719
548e2ea5 367202008-09-07 Robert Millan <rmh@aybabtu.com>
36721
36722 * conf/i386.rmk: New file. Provides declaration for building
36723 `cpuid.mod'.
36724 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
36725 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
36726 variables.
36727 Include `conf/i386.mk'.
36728 * conf/i386-efi.rmk: Likewise.
36729 * conf/x86_64-efi.rmk: Likewise.
36730 * conf/i386-coreboot.rmk: Likewise.
36731 * conf/i386-ieee1275.rmk: Likewise.
36732
0ea85a37 367332008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
36734
36735 Based on patch created by Colin D Bennett <colin@gibibit.com>.
36736 Adds optimization support for BGR based modes.
36737
36738 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
36739 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36740 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36741 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36742 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36743 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36744 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36745 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36746 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36747 (grub_video_i386_vbeblit_index_index): Likewise.
36748 (grub_video_i386_vbeblit_replace_directN): Added.
36749 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36750 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36751 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36752 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36753 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36754 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 36755 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 36756 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36757 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36758 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36759 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36760 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36761 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
36762
36763 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
36764 (grub_video_i386_vbefill_R8G8B8): Likewise.
36765 (grub_video_i386_vbefill_index): Likewise.
36766 (grub_video_i386_vbefill_direct32): Added.
36767 (grub_video_i386_vbefill_direct24): Likewise.
36768 (grub_video_i386_vbefill_direct16): Likewise.
36769 (grub_video_i386_vbefill_direct8): Likewise.
36770
81a06771 36771 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 36772 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
36773 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
36774 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
36775 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
36776 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 36777
0ea85a37 36778 * video/video.c (grub_video_get_blit_format): Updated to use new
36779 blit formats. Added handling for 16 bit color modes.
81a06771 36780
36781 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 36782 fillers.
36783 (common_blitter): Updated to use new blitters.
36784
36785 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
36786 Removed.
36787 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
36788 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36789 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36790 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36791 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36792 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36793 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36794 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36795 (grub_video_i386_vbeblit_index_index): Likewise.
36796 (grub_video_i386_vbeblit_replace_directN): Added.
36797 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
36798 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
36799 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
36800 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
36801 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
36802 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
36803 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
36804 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
36805 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
36806 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
36807 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
36808 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
36809 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 36810
0ea85a37 36811 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
36812 (grub_video_i386_vbefill_R8G8B8): Likewise.
36813 (grub_video_i386_vbefill_index): Likewise.
36814 (grub_video_i386_vbefill_direct32): Added.
36815 (grub_video_i386_vbefill_direct24): Likewise.
36816 (grub_video_i386_vbefill_direct16): Likewise.
36817 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 36818
0ea85a37 36819 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
36820 types.
81a06771 36821
0ea85a37 36822 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
36823 types.
81a06771 36824
0ea85a37 36825 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
36826 blitter types.
81a06771 36827
0ea85a37 36828 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
36829 types.
36830
e8a83df6 368312008-09-06 Felix Zielcke <fzielcke@z-51.de>
36832
36833 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
36834 RAID level 1.
36835
6bcd8ee5 368362008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 36837
6bcd8ee5 36838 * fs/iso9660.c (grub_iso9660_date): New structure.
36839 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
36840 (grub_iso9660_uuid): New function.
c375ae58 36841
59261157 368422008-09-05 Bean <bean123ch@gmail.com>
36843
36844 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
36845
36846 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
36847 insensitive bit for names in Win32 and Win32 & DOS namespace.
36848
36849 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
36850
36851 * include/grub/types.h (LONG_MAX): Likewise.
36852
58b6645a 368532008-09-04 Felix Zielcke <fzielcke@z-51.de>
36854
4ee55921 36855 * util/getroot.c: Include <config.h>.
36856 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
36857 add support for /dev/md/N devices and handle LVM double dash escaping.
36858
368592008-09-04 Felix Zielcke <fzielcke@z-51.de>
36860
36861 * config.guess: Update to latest version from config git.
36862 * config.sub: Likewise.
58b6645a 36863
9124f65d 368642008-09-03 Robert Millan <rmh@aybabtu.com>
36865
36866 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
36867 `disk->total_sectors'.
36868
81a06771 368692008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 36870
36871 * include/grub/normal.h: Fixed incorrect comment for
36872 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
36873
81a06771 368742008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 36875
36876 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
36877 values with defines.
36878
36879 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
36880 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
36881 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
36882 (GRUB_VBE_MODEATTR_COLOR): Likewise.
36883 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
36884 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
36885 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
36886 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
36887 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
36888 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
36889 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
36890 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
36891 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
36892 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
36893 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
36894 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
36895 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
36896 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
36897 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
36898
93d5cbf8 368992008-08-31 Robert Millan <rmh@aybabtu.com>
36900
36901 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
36902 declaration.
36903 (grub_multiboot): Fix a few warnings.
36904
21751d50 369052008-08-31 Robert Millan <rmh@aybabtu.com>
36906
36907 * loader/i386/pc/multiboot.c: Update comment not to say that
36908 boot_device support is unimplemented.
36909
e27a75c5 369102008-08-31 Robert Millan <rmh@aybabtu.com>
36911
36912 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
36913 or memory map support are unimplemented.
36914
81a06771 369152008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 36916
36917 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
36918
81a06771 369192008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 36920
36921 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
36922 total video memory in 'vbeinfo' output; show color format details for
36923 each video mode.
36924
7c5d8d95 369252008-08-30 Pavel Roskin <proski@gnu.org>
36926
36927 * util/genmoddep.c: Remove for real this time.
36928 * DISTLIST: Remove util/genmoddep.c.
36929
4cebd25a 369302008-08-30 Robert Millan <rmh@aybabtu.com>
36931
36932 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
36933 as required by Multiboot spec (it was already 4-byte aligned, but
36934 only by chance).
36935
b497a269 369362008-08-29 Pavel Roskin <proski@gnu.org>
36937
e3925185 36938 * kern/powerpc/ieee1275/crt0.S: Rename to ...
36939 * kern/powerpc/ieee1275/startup.S: ... this.
36940 * conf/powerpc-ieee1275.rmk: Adjust for the above.
36941 * DISTLIST: Likewise.
36942
b497a269 36943 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
36944 grub/cpu/kernel.h. Add start label for consistency with other
36945 platforms. Add grub_prefix immediately after start. Add jump
36946 to the code after grub_prefix.
36947 * include/grub/powerpc/kernel.h: Provide valid values for
36948 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
36949
6e5a42fe 369502008-08-29 Bean <bean123ch@gmail.com>
36951
36952 * configure.ac: Change host_os to cygwin for mingw.
36953 (asprintf): New check for function.
36954
36955 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
36956 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
36957
36958 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 36959 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 36960 sync, sleep and grub_util_get_disk_size for mingw.
36961
36962 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
36963 to get size in mingw.
36964 (open_device): Use flag O_BINARY if it's defined.
36965 (find_root_device): Add dummy code for mingw.
36966
36967 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
36968 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
36969 (get_scsi_disk_name): Return 0 for mingw.
36970
36971 * util/hostfs.c: #include <grub/util/misc.h>.
36972 (grub_hostfs_open): Use "rb" flag to open file, use
36973 grub_util_get_disk_size to get disk size for mingw.
36974
36975 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
36976 (asprintf): New function if HAVE_ASPRINTF is not set.
36977 (sync): New function for mingw.
36978 (sleep): Likewise.
36979 (grub_util_get_disk_size): Likewise.
36980
ab3f2673 369812008-08-28 Pavel Roskin <proski@gnu.org>
36982
36983 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36984 kern/time.c.
36985
1c282483 369862008-08-28 Robert Millan <rmh@aybabtu.com>
36987
36988 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36989
678e849c 369902008-08-28 Robert Millan <rmh@aybabtu.com>
36991
36992 Change find_grub_drive() syntax so it doesn't prevent it from
36993 detecting NULL names as errors.
36994
36995 * util/biosdisk.c (find_grub_drive): Move free slot search code
36996 from here ...
36997 (find_free_slot): ... to here.
36998 (read_device_map): Use find_free_slot() to search for free slots.
36999
965c75ca 370002008-08-27 Marco Gerards <marco@gnu.org>
37001
37002 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
37003 (scsi_mod_SOURCES): New variable.
37004 (scsi_mod_CFLAGS): Likewise
37005 (scsi_mod_LDFLAGS): Likewise.
37006
37007 * disk/scsi.c: New file.
37008
37009 * include/grub/scsi.h: Likewise.
37010
37011 * include/grub/scsicmd.h: Likewise.
37012
37013 * disk/ata.c: Include <grub/scsi.h>.
37014 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
37015 instead.
37016 (grub_ata_iterate): Skip ATAPI devices.
37017 (grub_ata_open): Only handle ATAPI devices.
37018 (struct grub_atapi_read): Removed.
37019 (grub_atapi_readsector): Likewise.
37020 (grub_ata_read): No longer handle ATAPI devices.
37021 (grub_ata_write): Likewise.
37022 (grub_atapi_iterate): New function.
37023 (grub_atapi_read): Likewise.
37024 (grub_atapi_write): Likewise.
37025 (grub_atapi_open): Likewise.
37026 (grub_atapi_close): Likewise.
37027 (grub_atapi_dev): New variable.
37028 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
37029 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
37030
37031 * include/grub/disk.h (enum grub_disk_dev_id): Add
37032 `GRUB_DISK_DEVICE_SCSI_ID'.
37033
c07ae501 370342008-08-26 Robert Millan <rmh@aybabtu.com>
37035
37036 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
37037 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
37038 descriptive.
37039
5ed20adc 370402008-08-23 Bean <bean123ch@gmail.com>
37041
37042 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
37043 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37044 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
37045 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
37046 dm_nv.mod.
37047 (raid5rec_mod_SOURCES): New macro.
37048 (raid5rec_mod_CFLAGS): Likewise.
37049 (raid5rec_mod_LDFLAGS): Likewise.
37050 (raid6rec_mod_SOURCES): Likewise.
37051 (raid6rec_mod_CFLAGS): Likewise.
37052 (raid6rec_mod_LDFLAGS): Likewise.
37053 (mdraid_mod_SOURCES): Likewise.
37054 (mdraid_mod_CFLAGS): Likewise.
37055 (mdraid_mod_LDFLAGS): Likewise.
37056 (dm_nv_mod_SOURCES): Likewise.
37057 (dm_nv_mod_CFLAGS): Likewise.
37058 (dm_nv_mod_LDFLAGS): Likewise.
37059
37060 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
37061 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
37062 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37063
37064 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
37065 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
37066
37067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37068
37069 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37070
37071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37072
37073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37074
37075 * disk/raid5_recover.c: New file.
37076
37077 * disk/raid6_recover.c: Likewise.
37078
37079 * disk/mdraid_linux.c: Likewise.
37080
37081 * disk/dmraid_nvidia.c: Likewise.
37082
37083 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
37084 ULONG_MAX.
37085
37086 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
37087 calculate the size of raid device.
37088 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
37089 different layout of raid5.
37090 (grub_raid_scan_device): Remove code specific to mdraid.
37091 (grub_raid_list): New variable.
37092 (free_array): New function.
37093 (grub_raid_register): Likewise.
37094 (grub_raid_unregister): Likewise.
37095 (grub_raid_rescan): Likewise.
37096 (GRUB_MOD_INIT): Don't iterate device here.
37097 (GRUB_MOD_FINI): Use free_array to release resource.
37098
37099 * include/grub/raid.h: Remove macro and structure specific to mdraid.
37100 (grub_raid5_recover_func_t): New function variable type.
37101 (grub_raid6_recover_func_t): Likewise.
37102 (grub_raid5_recover_func): New variable.
37103 (grub_raid6_recover_func): Likewise.
37104 (grub_raid_register): New function.
37105 (grub_raid_unregister): Likewise.
37106 (grub_raid_rescan): Likewise.
37107 (grub_raid_block_xor): Likewise.
37108
37109 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
37110 (CMD_CRC): New macro.
37111 (part): Removed.
37112 (read_file): Handle device as well as file.
37113 (cmd_crc): New function.
37114 (fstest): Handle multiple disks.
37115 (options): Remove part, raw and long, add root and diskcount.
37116 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 37117 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 37118 add handling for the new options, support multiple disks.
37119
37120 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
37121
29c18915 371222008-08-23 Bean <bean123ch@gmail.com>
37123
37124 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
37125
37126 * genfslist.sh: Ignore kernel.mod.
37127
37128 * genpartmaplist.sh: Likewise.
37129
8415f261 371302008-08-23 Robert Millan <rmh@aybabtu.com>
37131
37132 * util/getroot.c (find_root_device): Skip anything that starts with
37133 a dot, not just directories. This avoids things like /dev/.tmp.md0.
37134
d5a7dc5b 371352008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 37136
d5a7dc5b 37137 * util/update-grub.in (GRUB_GFXMODE): Export variable.
37138 * util/grub.d/00_header.in: Allow the administrator to change default
37139 gfxmode via ${GRUB_GFXMODE}.
37140
380cfbb4 371412008-08-21 Felix Zielcke <fzielcke@z-51.de>
37142
37143 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
37144
c9baafe7 371452008-08-21 Robert Millan <rmh@aybabtu.com>
37146
37147 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
37148 loader.
37149 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
37150 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
37151
e290bef2 371522008-08-20 Carles Pina i Estany <carles@pina.cat>
37153
37154 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
37155 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
37156
f9dbfc96 371572008-08-19 Robert Millan <rmh@aybabtu.com>
37158
37159 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
37160 (struct grub_virtual_screen): Remove `cursor_color'.
37161 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
37162 initialization.
37163 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
37164
dd6bd6ab 371652008-08-18 Robert Millan <rmh@aybabtu.com>
37166
37167 Unify (identical) linux_normal.c files.
37168 * loader/i386/efi/linux_normal.c: Move from here ...
37169 * loader/linux_normal.c: ... to here. Update all users.
37170 * loader/i386/pc/linux_normal.c: Delete. Update all users.
37171 * loader/i386/ieee1275/linux_normal.c: Likewise.
37172
7f42f83e 371732008-08-18 Robert Millan <rmh@aybabtu.com>
37174
37175 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
37176 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
37177 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
37178 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
37179 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
37180 New macros.
37181 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
37182 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
37183 (GRUB_LINUX_CL_END_OFFSET): ... to here.
37184 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
37185 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
37186 (GRUB_EFI_CL_END_OFFSET): Rename to ...
37187 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
37188 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
37189 Initialize `params->video_cursor_x' and `params->video_cursor_y'
37190 portably using grub_getxy().
37191 Replace `-EFI' with `-bzImage' in boot message.
37192
38487ddb 371932008-08-17 Robert Millan <rmh@aybabtu.com>
37194
37195 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
37196
deceb3ec 371972008-08-17 Robert Millan <rmh@aybabtu.com>
37198
37199 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
37200
37201 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
37202 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
37203 (grub_machine_mmap_iterate): New function declaration.
37204 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
37205 structure.
37206 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
37207 macros.
37208
37209 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
37210 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
37211 Move e820 parsing from here ...
37212 * kern/i386/pc/mmap.c: New file.
37213 (grub_machine_mmap_iterate): ... to here.
37214
37215 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
37216 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
37217 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
37218 (grub_available_iterate): Redeclare to return `void', and redeclare
37219 its hook to use grub_uint64_t as addr and size parameters, and rename
37220 to ...
37221 (grub_machine_mmap_iterate): ... this. Update all users.
37222
37223 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
37224 to make it more readable. Rename to ...
37225 (grub_machine_mmap_iterate): ... this.
37226
37227 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
37228 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
37229 (grub_multiboot): Allocate an extra region after the payload, and fill
37230 it with a Multiboot memory map. Adjust a.out loader to calculate size
37231 with the extra space.
37232 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
37233 with the extra space.
37234
f8aa0f43 372352008-08-17 Carles Pina i Estany <carles@pina.cat>
37236
9807deb9 37237 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 37238
605f5bb6 372392008-08-17 Felix Zielcke <fzielcke@z-51.de>
37240
37241 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
37242 mdate-sh to the list `find' searches for.
37243 * DISTLIST: Regenerated.
37244
210db6c6 372452008-08-16 Felix Zielcke <fzielcke@z-51.de>
37246
37247 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
37248 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 37249 genmoddep.awk, gensymlist.sh.in.
37250 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 37251 * DISTLIST: Regenerated.
48cdbfd4 37252 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 37253
1082b929 372542008-08-16 Robert Millan <rmh@aybabtu.com>
37255
37256 * disk/raid.c (grub_raid_init): Handle/report errors set by
37257 grub_device_iterate().
37258 * disk/lvm.c (grub_lvm_init): Likewise.
37259
42ce5170 372602008-08-15 Bean <bean123ch@gmail.com>
37261
37262 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37263 and datehook.mod.
37264 (datetime_mod_SOURCES): New macro.
37265 (datetime_mod_CFLAGS): Likewise.
37266 (datetime_mod_LDFLAGS): Likewise.
37267 (date_mod_SOURCES): Likewise.
37268 (date_mod_CFLAGS): Likewise.
37269 (date_mod_LDFLAGS): Likewise.
37270 (datehook_mod_SOURCES): Likewise.
37271 (datehook_mod_CFLAGS): Likewise.
37272 (datehook_mod_LDFLAGS): Likewise.
37273
37274 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37275 and datehook.mod.
37276 (datetime_mod_SOURCES): New macro.
37277 (datetime_mod_CFLAGS): Likewise.
37278 (datetime_mod_LDFLAGS): Likewise.
37279 (date_mod_SOURCES): Likewise.
37280 (date_mod_CFLAGS): Likewise.
37281 (date_mod_LDFLAGS): Likewise.
37282 (datehook_mod_SOURCES): Likewise.
37283 (datehook_mod_CFLAGS): Likewise.
37284 (datehook_mod_LDFLAGS): Likewise.
37285
37286 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37287 and datehook.mod.
37288 (datetime_mod_SOURCES): New macro.
37289 (datetime_mod_CFLAGS): Likewise.
37290 (datetime_mod_LDFLAGS): Likewise.
37291 (date_mod_SOURCES): Likewise.
37292 (date_mod_CFLAGS): Likewise.
37293 (date_mod_LDFLAGS): Likewise.
37294 (datehook_mod_SOURCES): Likewise.
37295 (datehook_mod_CFLAGS): Likewise.
37296 (datehook_mod_LDFLAGS): Likewise.
37297
37298 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37299 and datehook.mod.
37300 (datetime_mod_SOURCES): New macro.
37301 (datetime_mod_CFLAGS): Likewise.
37302 (datetime_mod_LDFLAGS): Likewise.
37303 (date_mod_SOURCES): Likewise.
37304 (date_mod_CFLAGS): Likewise.
37305 (date_mod_LDFLAGS): Likewise.
37306 (datehook_mod_SOURCES): Likewise.
37307 (datehook_mod_CFLAGS): Likewise.
37308 (datehook_mod_LDFLAGS): Likewise.
37309
37310 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
37311 and datehook.mod.
37312 (datetime_mod_SOURCES): New macro.
37313 (datetime_mod_CFLAGS): Likewise.
37314 (datetime_mod_LDFLAGS): Likewise.
37315 (date_mod_SOURCES): Likewise.
37316 (date_mod_CFLAGS): Likewise.
37317 (date_mod_LDFLAGS): Likewise.
37318 (datehook_mod_SOURCES): Likewise.
37319 (datehook_mod_CFLAGS): Likewise.
37320 (datehook_mod_LDFLAGS): Likewise.
37321
37322 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
37323
37324 * commands/date.c: New file.
37325
37326 * hook/datehook.c: Likewise.
37327
37328 * include/grub/lib/datetime.h: Likewise.
37329
37330 * include/grub/i386/cmos.h: Likewise.
37331
37332 * lib/datetime.c: Likewise.
37333
37334 * lib/i386/datetime.c: Likewise.
37335
37336 * lib/efi/datetime.c: Likewise.
37337
0e9242da 373382008-08-14 Robert Millan <rmh@aybabtu.com>
37339
37340 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
37341 (grub_mkelfimage_SOURCES): New variable.
37342 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
37343
37344 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
37345 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
37346 * conf/powerpc-ieee1275.rmk: Likewise.
37347 * conf/i386-ieee1275.rmk: Likewise.
37348
37349 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
37350 * kern/i386/coreboot/init.c: Likewise.
37351
37352 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
37353 with `<grub/cpu/kernel.h>'.
37354 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
37355 to ...
37356 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
37357 * kern/i386/coreboot/startup.S: Likewise.
37358
37359 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
37360 (GRUB_MOD_GAP): Remove.
37361 * include/grub/powerpc/kernel.h: New file.
37362 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
37363 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37364 * include/grub/i386/kernel.h: New file.
37365 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
37366 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
37367 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
37368
37369 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
37370 `grub-mkelfimage'.
37371 Use --directory when invoking grub_mkimage.
37372
37373 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
37374 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
37375 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
37376 and GRUB_KERNEL_CPU_PREFIX.
37377
b86408f8 373782008-08-14 Felix Zielcke <fzielcke@z-51.de>
37379
d5e619ca 37380 * include/grub/err.h (grub_err_printf): New function prototype.
37381 * util/misc.c (grub_err_printf): New function.
37382 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
37383 grub_printf.
37384 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 37385
7161f0e0 373862008-08-13 Robert Millan <rmh@aybabtu.com>
37387
37388 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
37389
a1967522 373902008-08-13 Robert Millan <rmh@aybabtu.com>
37391
37392 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
37393 boot entry.
37394
371458b5 373952008-08-12 Robert Millan <rmh@aybabtu.com>
37396
37397 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
37398 of the relocation code from here ...
37399 (grub_multiboot): ... to here.
37400 (forward_relocator, backward_relocator): Move from here ...
37401 * kern/i386/loader.S (grub_multiboot_forward_relocator)
37402 (grub_multiboot_backward_relocator): ... to here.
37403 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
37404 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
37405 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
37406 (grub_multiboot_forward_relocator_end)
37407 (grub_multiboot_backward_relocator)
37408 (grub_multiboot_backward_relocator_end): New variables.
37409
05f9452b 374102008-08-12 Bean <bean123ch@gmail.com>
37411
37412 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
37413
20024ab0 374142008-08-11 Robert Millan <rmh@aybabtu.com>
37415
37416 * kern/i386/linuxbios/startup.S: Move from here ...
37417 * kern/i386/coreboot/startup.S: ... to here.
37418
37419 * kern/i386/linuxbios/init.c: Move from here ...
37420 * kern/i386/coreboot/init.c: ... to here.
37421
37422 * kern/i386/linuxbios/table.c: Move from here ...
37423 * kern/i386/coreboot/mmap.c: ... to here.
37424
37425 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
37426
e352e9cd 374272008-08-11 Robert Millan <rmh@aybabtu.com>
37428
37429 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
37430 errors. Leave it to the upper layer to handle them.
37431
2d05bc6a 374322008-08-09 Christian Franke <franke@computer.org>
37433
37434 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
37435 * conf/common.rmk: Install `grub-pe2elf' only if requested.
37436 Install `grub.d/10_windows' only on Cygwin.
37437 * configure.ac: Add subst of `target_os'.
37438 Check `target_os' also before setting TARGET_OBJ2ELF.
37439 Add `--enable-grub-pe2elf'.
37440
042bd419 374412008-08-08 Robert Millan <rmh@aybabtu.com>
37442
37443 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37444 (grub_last_time): Change type to grub_uint64_t.
37445 (grub_disk_open): Migrate code from to using grub_get_time_ms().
37446 (grub_disk_close): Likewise.
37447
37448 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
37449 (run_menu): Migrate code from to using grub_get_time_ms().
37450
37451 * util/misc.c (grub_get_time_ms): New function.
37452
7f280db5 374532008-08-08 Marco Gerards <marco@gnu.org>
37454
37455 * disk/ata.c (grub_ata_regget): Change return type to
37456 `grub_uint8_t'.
37457 (grub_ata_regget2): Likewise.
37458 (grub_ata_wait_status): New function.
37459 (grub_ata_wait_busy): Removed function, updated all users to use
37460 `grub_ata_wait_status'.
37461 (grub_ata_wait_drq): Likewise.
37462 (grub_ata_cmd): New function.
37463 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
37464 error handling.
37465 (grub_ata_pio_write): Add error handling.
37466 (grub_atapi_identify): Likewise.
37467 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
37468 handling.
37469 (grub_ata_identify): Use `grub_ata_cmd' and improve error
37470 handling. Actually use the detected registers. Reorder the
37471 detection logic such that it is easier to read.
37472 (grub_ata_pciinit): Do not assign the same ID to each controller.
37473 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
37474 handling.
37475 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
37476
37477 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
37478
1fbc5e66 374792008-08-08 Marco Gerards <marco@gnu.org>
37480
37481 * NEWS: Update.
37482
819ce6c0 374832008-08-07 Bean <bean123ch@gmail.com>
37484
37485 * include/grub/x86_64/pci.h: New file.
37486
5c41d44d 374872008-08-07 Christian Franke <franke@computer.org>
37488
37489 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
37490 (TIMER2_GATE): Likewise.
37491 (grub_pit_wait): Add enable/disable of the timer2 gate
37492 bit of port 0x61. This fixes a possible infinite loop.
37493
5ebc275d 374942008-08-07 Bean <bean123ch@gmail.com>
37495
37496 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
37497 kern/i386/tsc.c and kern/i386/pit.c.
37498
37499 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
37500 x86_64 platform.
37501
37502 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
37503 <grub/i386/tsc.h>.
37504
37505 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
37506
e383b3d0 375072008-08-07 Bean <bean123ch@gmail.com>
37508
37509 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
37510
37511 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
37512
37513 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
37514 multiple inclusion. Add #include <grub/types.h>.
37515
1cbb58ac 375162008-08-06 Christian Franke <franke@computer.org>
37517
37518 * conf/common.rmk: Build and install `10_windows'.
37519 * util/grub.d/10_windows.in: New script.
37520
337f5a1e 375212008-08-06 Pavel Roskin <proski@gnu.org>
37522
37523 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
37524
057bc4ac 375252008-08-06 Robert Millan <rmh@aybabtu.com>
37526
37527 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
37528 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
37529
2b99f123 375302008-08-06 Bean <bean123ch@gmail.com>
37531
37532 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
37533 (grub_pxefs_fs_int): Remove dummy definition.
37534 (grub_pxefs_open): Use data->block_size to store the current block
37535 size setting.
37536 (grub_pxefs_read): Use block size stored in data->block_size. As the
37537 value of grub_pxe_blksize can be changed after the file is opened.
37538
9f0234cb 375392008-08-06 Bean <bean123ch@gmail.com>
37540
37541 * fs/i386/pc/pxe.c (curr_file): new variable.
37542 (grub_pxefs_open): Simply the handling of pxe file system. Don't
37543 require the dummy internal file system anymore.
37544 (grub_pxefs_read): Removed.
37545 (grub_pxefs_close): Likewise.
37546 (grub_pxefs_fs_int): Likewise.
37547 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
37548 connection when we switch file.
37549 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
37550
a55d42e0 375512008-08-06 Robert Millan <rmh@aybabtu.com>
37552
37553 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
37554 `halt.mod'.
37555 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
37556 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
37557
37558 * kern/i386/halt.c: New file.
37559 * kern/i386/reboot.c: Likewise.
37560 * include/grub/i386/reboot.h: Likewise.
37561 * include/grub/i386/halt.h: Likewise.
37562
37563 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
37564 Include `<grub/cpu/halt.h>'.
37565 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
37566 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
37567
37568 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
37569 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
37570 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
37571 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
37572 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
37573 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
37574 from here ...
37575 * include/grub/i386/at_keyboard.h: ... to here.
37576
24371d26 375772008-08-05 Robert Millan <rmh@aybabtu.com>
37578
37579 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
37580 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
37581 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
37582 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37583 `kern/generic/millisleep.c'.
37584
37585 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
37586 instead of grub_get_rtc().
37587 (grub_tsc_init): Initialize `tsc_boot_time'.
37588
37589 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
37590 (grub_machine_init): Use grub_tsc_init() rather than
37591 installing an RTC-based handler via grub_install_get_time_ms().
37592
37593 * kern/i386/pit.c: New file.
37594 * include/grub/i386/pit.h: Likewise.
37595
9e7007b3 375962008-08-05 Bean <bean123ch@gmail.com>
37597
37598 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
37599
37600 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
37601 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
37602 (pxe_mod_SOURCES): New macro.
37603 (pxe_mod_CFLAGS): Likewise.
37604 (pxe_mod_LDFLAGS): Likewise.
37605 (pxecmd_mod_SOURCES): Likewise.
37606 (pxecmd_mod_CFLAGS): Likewise.
37607 (pxecmd_mod_LDFLAGS): Likewise.
37608
37609 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
37610 (grub_pxe_call): Likewise.
37611
37612 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
37613
37614 * commands/i386/pc/pxecmd.c: New file.
37615
9f0234cb 37616 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 37617
37618 * include/grub/i386/pc/pxe.h: Likewise.
37619
6977d49f 376202008-08-05 Bean <bean123ch@gmail.com>
37621
37622 * util/console.c (grub_console_cur_color): New variable.
37623 (grub_console_standard_color): Likewise.
37624 (grub_console_normal_color): Likewise.
37625 (grub_console_highlight_color): Likewise.
37626 (color_map): Likewise.
37627 (use_color): Likewise.
37628 (NUM_COLORS): New macro.
37629 (grub_ncurses_setcolorstate): Handle color properly.
37630 (grub_ncurses_setcolor): Don't change color here, just remember the
37631 settings, color will be set in grub_ncurses_setcolorstate.
37632 (grub_ncurses_getcolor): New function.
37633 (grub_ncurses_init): Initialize color pairs.
37634 (grub_ncurses_term): New member grub_ncurses_getcolor.
37635
9c2ff3ee 376362008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 37637
9c2ff3ee 37638 High resolution timer support. Implemented for x86 CPUs using TSC.
37639 Extracted generic grub_millisleep() so it's linked in only as needed.
37640 This requires a Pentium compatible CPU; if the RDTSC instruction is
37641 not supported, then it falls back on the generic grub_get_time_ms()
37642 implementation that uses the machine's RTC.
37643
37644 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
37645 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
37646 `kern/generic/millisleep.c'.
37647
37648 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
37649 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
37650
37651 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
37652 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
37653
37654 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37655
37656 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37657 `kern/generic/millisleep.c'.
37658
37659 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37660
37661 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
37662
37663 * kern/generic/rtc_get_time_ms.c: New file.
37664
37665 * kern/generic/millisleep.c: New file.
337f5a1e 37666
9c2ff3ee 37667 * kern/misc.c: Don't include
37668 <kern/time.h> anymore.
37669 (grub_millisleep_generic): Removed.
37670
37671 * commands/sleep.c (grub_interruptible_millisleep): Uses
37672 grub_get_time_ms() instead of grub_get_rtc().
37673
37674 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
37675 function.
37676 (grub_cpu_is_cpuid_supported): New inline function.
37677 (grub_cpu_is_tsc_supported): New inline function.
37678 (grub_tsc_init): New function prototype.
37679 (grub_tsc_get_time_ms): New function prototype.
37680
37681 * kern/i386/tsc.c (grub_get_time_ms): New file.
37682
37683 * include/grub/time.h: Include <grub/types.h.
37684 (grub_millisleep_generic): Removed.
37685 (grub_get_time_ms): New prototype.
37686 (grub_install_get_time_ms): New prototype.
37687 (grub_rtc_get_time_ms): New prototype.
37688
37689 * kern/time.c (grub_get_time_ms): New function.
37690 (grub_install_get_time_ms): New function.
37691
37692 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
37693 <grub/time.h> anymore.
37694 (grub_millisleep): Removed.
37695 (grub_machine_init): Call grub_tsc_init.
37696
37697 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
37698 get_time_ms() implementation.
37699
37700 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
37701 (ieee1275_get_time_ms): New function.
37702 (grub_machine_init): Install get_time_ms() implementation.
37703
37704 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
37705 (grub_machine_init): Call grub_tsc_init().
37706 (grub_millisleep): Removed.
bf06a93f 37707
9c2ff3ee 37708 * kern/ieee1275/init.c (grub_millisleep): Removed.
37709 (grub_machine_init): Install ieee1275_get_time_ms()
37710 implementation.
37711 (ieee1275_get_time_ms): New function.
37712 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
37713 real work.
37714
9ec92aaf 377152008-08-05 Marco Gerards <marco@gnu.org>
37716
37717 * disk/ata.c: Include <grub/pci.h>.
37718 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
37719 (grub_ata_initialize): Rewritten.
37720 (grub_ata_device_initialize): New function.
37721
8d23f507 377222008-08-04 Pavel Roskin <proski@gnu.org>
37723
37724 * kern/main.c: Include grub/mm.h.
37725
5e15ee3d 377262008-08-04 Robert Millan <rmh@aybabtu.com>
37727
37728 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
37729 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
37730 corruption problem).
37731
a9053f8f 377322008-08-04 Robert Millan <rmh@aybabtu.com>
37733
37734 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
37735 warnings introduced in my last commit.
37736
dd19c7d7 377372008-08-03 Robert Millan <rmh@aybabtu.com>
37738
37739 Make PCI available on all i386 architectures.
37740
37741 * include/grub/i386/pc/pci.h: Move from here ...
37742 * include/grub/i386/pci.h: ... to here.
37743
37744 * include/grub/i386/pc/pci.h: Remove.
37745 * include/grub/i386/efi/pci.h: Remove.
37746 * include/grub/x86_64/efi/pci.h: Remove.
37747
37748 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
37749 `<grub/cpu/pci.h>'.
37750
37751 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
37752 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
37753 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
37754
37755 * conf/i386-ieee1275.rmk: Likewise.
37756
e14a6184 377572008-08-03 Robert Millan <rmh@aybabtu.com>
37758
37759 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
37760 (grub_console_setcursor): Make it possible to set cursor off.
37761
52768e37 377622008-08-03 Robert Millan <rmh@aybabtu.com>
37763
37764 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
37765 of modules instead of assuming which platform provides what.
37766 * util/update-grub.in: Likewise.
37767
2d52f57f 377682008-08-03 Robert Millan <rmh@aybabtu.com>
37769
37770 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
37771 instead of `grub_install_dos_part' to determine whether a drive needs
37772 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 37773 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 37774
2a5cd121 377752008-08-02 Robert Millan <rmh@aybabtu.com>
37776
37777 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
37778
93808428 377792008-08-02 Robert Millan <rmh@aybabtu.com>
37780
37781 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
37782 of informational grub_dprintf() calls.
37783
3bd0a12a 377842008-08-02 Robert Millan <rmh@aybabtu.com>
37785
37786 * disk/memdisk.c (memdisk_size): Don't initialize.
37787 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
37788
37789 * include/grub/i386/pc/kernel.h
37790 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
37791 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
37792 (grub_memdisk_image_size, grub_arch_memdisk_addr)
37793 (grub_arch_memdisk_size): Remove.
37794
37795 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
37796 field (was only used to transfer a constant). Add `type' field to
37797 support multiple module types.
37798 (grub_module_iterate): New function.
37799
37800 * kern/device.c (grub_device_open): Do not hide error messages
37801 when grub_disk_open() fails. Use grub_print_error() instead.
37802
37803 * kern/i386/pc/init.c (grub_arch_modules_addr)
37804 (grub_arch_memdisk_size): Remove functions.
37805 (grub_arch_modules_addr): Return the module address in high memory
37806 (now that it isn't copied anymore).
37807
37808 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
37809 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
37810 decompression routine (grub_total_module_size already includes that
37811 now). Don't copy modules back to low memory.
37812
37813 * kern/main.c: Include `<grub/mm.h>'.
37814 (grub_load_modules): Split out (and use) ...
37815 (grub_module_iterate): ... this function, which iterates through
37816 module objects and runs a hook.
37817 Comment out grub_mm_init_region() call, as it would cause non-ELF
37818 modules to be overwritten.
37819
37820 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
37821 the memdisk image in its own region, make it part of the module list.
37822 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
37823 (main): Parse --memdisk|-m option, and pass user-provided path as
37824 parameter to generate_image().
37825 (add_segments): Pass `memdisk_path' down to load_modules().
37826 (load_modules): Embed memdisk image in module section when requested.
37827 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
37828 `header.type' instead of `header.offset'.
37829
37830 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
37831 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
37832 (memdisk_mod_LDFLAGS): New variables.
37833 * conf/i386-coreboot.rmk: Likewise.
37834 * conf/i386-ieee1275.rmk: Likewise.
37835
a927cc73 378362008-08-02 Robert Millan <rmh@aybabtu.com>
37837
37838 * loader/i386/pc/multiboot.c (playground, forward_relocator)
37839 (backward_relocator): New variables. Used to allocate and relocate
37840 the payload, respectively.
37841 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 37842 address, install the appropriate relocator code in each bound of
a927cc73 37843 the payload, and set the entry point such that
37844 grub_multiboot_real_boot() will jump to one of them.
37845
37846 * kern/i386/loader.S (grub_multiboot_payload_size)
37847 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37848 (grub_multiboot_payload_entry_offset): New variables.
37849 (grub_multiboot_real_boot): Set cpu context to what the relocator
37850 expects, and jump to the relocator instead of the payload.
37851
37852 * include/grub/i386/loader.h (grub_multiboot_payload_size)
37853 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
37854 (grub_multiboot_payload_entry_offset): Export.
37855
b15d8a0c 378562008-08-01 Bean <bean123ch@gmail.com>
37857
37858 * normal/menu_entry.c (editor_getline): Don't return the original
37859 string as result, as it will be released by lexer once it has done
37860 using it.
37861
cdfb3d22 378622008-08-01 Robert Millan <rmh@aybabtu.com>
37863
37864 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
37865 within menuentries, not before them.
37866 util/grub.d/10_hurd.in: Likewise.
37867
9175e93d 378682008-08-01 Bean <bean123ch@gmail.com>
37869
37870 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
37871 (bufio_mod_SOURCES): New macro.
37872 (bufio_mod_CFLAGS): Likewise.
37873 (bufio_mod_LDFLAGS): Likewise.
37874
37875 * include/grub/bufio.h: New file.
37876
37877 * io/bufio.c: Likewise.
37878
37879 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
37880 (grub_video_reader_png): Use grub_buffile_open to open file.
37881
37882 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
37883 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
37884
37885 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
37886 (grub_video_reader_tga): Use grub_buffile_open to open file.
37887
37888 * font/manager.c: Include <grub/bufio.h>.
37889 (add_font): Use grub_buffile_open to open file.
37890
3d8383e7 378912008-07-31 Robert Millan <rmh@aybabtu.com>
37892
37893 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
37894 ELF segments, use a macro for arbitrarily accessing any of them instead
37895 of preparing a pointer that allows access to one at a time.
37896 (grub_multiboot_load_elf64): Likewise.
37897
16e641b6 378982008-07-31 Bean <bean123ch@gmail.com>
37899
37900 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
37901 GRUB_KERNEL_MACHINE_DATA_END.
37902
59198b72 379032008-07-30 Robert Millan <rmh@aybabtu.com>
37904
37905 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
37906 Increase from 0x50 to 0x60.
37907 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
37908 use UUIDs to identify the root drive for them. If that's not
37909 possible, abort.
37910 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
37911 check, for cross-disk installs.
37912
ae88bca3 379132008-07-30 Robert Millan <rmh@aybabtu.com>
37914
37915 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
37916 is non-empty, use it to set the `prefix' environment variable instead
37917 of the usual approach.
37918 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
37919 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
37920 environment variable instead of dummy make_install_device().
37921
37922 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
37923 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 37924 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 37925
37926 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
37927 New variable reference.
37928 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
37929 New macro. Defines offset of `grub_prefix' within startup.S (relative
37930 to `start').
37931 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
37932 section within startup.S (relative to `start').
37933 * include/grub/i386/coreboot/kernel.h: Likewise.
37934
37935 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
37936 Overwrite grub_prefix with its contents, at the beginning of the
37937 first segment.
37938 (main): Understand -p|--prefix.
37939
14f41dd1 379402008-07-30 Robert Millan <rmh@aybabtu.com>
37941
37942 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37943
4ca049a3 379442008-07-30 Robert Millan <rmh@aybabtu.com>
37945
37946 * term/i386/pc/vga_text.c (grub_console_cls): Use
37947 grub_console_gotoxy() to go back to beginning of the screen.
37948 Found by Patrick Georgi <patrick.georgi@coresystems.de>
37949
2921d337 379502008-07-29 Christian Franke <franke@computer.org>
37951
37952 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37953 Add conversion of emulated mount points on Cygwin.
37954
b609876d 379552008-07-29 Christian Franke <franke@computer.org>
37956
37957 * util/update-grub.in: Add a check for admin
37958 group on Cygwin.
37959 Remove old `grub.cfg.new' before creation.
37960 Add `-f' to `mv' to handle the different filesystem
37961 semantics of Windows.
37962
e93e4679 379632008-07-29 Bean <bean123ch@gmail.com>
37964
37965 * normal/main.c (get_line): Fix buffer overflow bug.
37966
41694fd0 379672008-07-28 Robert Millan <rmh@aybabtu.com>
37968
37969 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
37970 (struct grub_apple_header): New struct. Describes the layout of
37971 the partmap header.
37972 (apple_partition_map_iterate): Check the header magic as well as the
37973 partition magic (which was already being checked).
37974
cfd0b4e6 379752008-07-28 Pavel Roskin <proski@gnu.org>
37976
37977 * genmk.rb: Add a warning to the beginning of the output that
37978 it's a generated file and should not be edited.
37979
93cce016 379802008-07-28 Robert Millan <rmh@aybabtu.com>
37981
37982 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37983 with the same number are found, just use issue a warning with
37984 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 37985
cd1df915 379862008-07-27 Robert Millan <rmh@aybabtu.com>
37987
37988 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37989 information.
37990
b70a8427 379912008-07-27 Bean <bean123ch@gmail.com>
37992
37993 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
37994 (grub_fat_find_dir): Ignore case when comparing filename.
37995
8f5e379f 379962008-07-27 Bean <bean123ch@gmail.com>
37997
37998 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
37999 smallino, as it's more descriptive, and i8count can be confused with
38000 the other field count.
38001 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
38002 inode type.
38003
a85cd5a0 380042008-07-27 Bean <bean123ch@gmail.com>
38005
38006 * commands/crc.c: New file.
38007
38008 * lib/crc.c: Likewise.
38009
38010 * include/grub/lib/crc.h: Likewise.
38011
38012 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
38013
38014 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
38015 (hexdump): Move this function to ...
38016
38017 * lib/hexdump.c: ... here.
38018
38019 * include/grub/hexdump.h: Renamed to ...
38020
38021 * include/grub/lib/hexdump.h: ... this.
38022
38023 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
38024
38025 * util/grub-editenv.c: Likewise.
38026
38027 * include/envblk.h: Renamed to ...
38028
38029 * include/lib/envblk.h: ... this.
38030
38031 * util/envblk.c: Renamed to ...
38032
38033 * lib/envblk.c: ... this.
38034
38035 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
38036 lib/hexdump.c.
38037 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
38038 (pkglib_MODULES): Add crc.mod.
38039 (hexdump_mod_SOURCES): Add lib/hexdump.c.
38040 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
38041 (crc_mod_SOURCES): New macro.
38042 (crc_mod_CFLAGS): Likewise.
38043 (crc_mod_LDFLAGS): Likewise.
38044
38045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
38046
38047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38048
38049 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38050
38051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38052
38053 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38054
c298def0 380552008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 38056
38057 * commands/help.c: Include <grub/term.h>.
38058 (TERM_WIDTH): Removed. Updated all users.
38059
cc349fb3 380602008-07-27 Pavel Roskin <proski@gnu.org>
38061
38062 * util/getroot.c (find_root_device): Rephrase a comment to avoid
38063 spurious warnings about a comment within a comment.
38064
9051607e 380652008-07-25 Robert Millan <rmh@aybabtu.com>
38066
38067 * util/getroot.c (find_root_device): Skip devices that match
38068 /dev/dm-[0-9]. This lets the real device be found for any type of
38069 abstraction (LVM, EVMS, RAID..).
38070 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
38071 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
38072 device is found first, find_root_device() will now skip it.
38073
01453bfc 380742008-07-24 Pavel Roskin <proski@gnu.org>
38075
38076 * include/grub/types.h: Use __builtin_bswap32() and
38077 __builtin_bswap64() with gcc 4.3 and newer.
38078
6af9849f 380792008-07-24 Christian Franke <franke@computer.org>
38080
3a0fa256 38081 * util/i386/pc/grub-install.in: If `--debug' is specified,
38082 pass `--verbose' to grub-setup.
38083 Abort script if make_system_path_relative_to_its_root() fails.
38084
7810e747 380852008-07-24 Bean <bean123ch@gmail.com>
38086
38087 * configure.ac: Fixed a bug caused by the previous cygwin patch,
38088 variable `target_platform' should be `platform'.
38089
42290e17 380902008-07-24 Bean <bean123ch@gmail.com>
38091
51cc5193 38092 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 38093 (grub_png_init_fixed_block): New function.
38094 (grub_png_decode_image_data): Handle fixed huffman code compression.
38095
2a8a80e4 380962008-07-24 Bean <bean123ch@gmail.com>
38097
38098 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
38099 (grub_pe2elf_SOURCES): New macro.
38100 (CLEANFILES): Add grub-pe2elf.
38101
38102 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
38103 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
38104 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
38105 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
38106 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
38107 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
38108 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
38109 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
38110 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
38111 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
38112 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
38113 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
38114 (GRUB_PE32_DT_FUNCTION): Likewise.
38115 (GRUB_PE32_REL_I386_DIR32): Likewise.
38116 (GRUB_PE32_REL_I386_REL32): Likewise.
38117 (grub_pe32_symbol): New structure.
38118 (grub_pe32_reloc): Likewise.
38119
38120 * util/grub-pe2elf.c: New file.
38121
38122 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
38123 start symbol in non pc platform.
38124
38125 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
38126
38127 The following patches are from Christian Franke.
38128
38129 * include/grub/dl.h: Remove .previous, gas supports this only
38130 for ELF format.
38131
38132 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
38133 Remove .type, gas supports this only for ELF format.
38134
38135 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
38136 nullbytes in symbol table. This fixes an infinite loop if table is
38137 zero filled.
38138
38139 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
38140 TARGET_IMG_LDFLAGS and EXEEXT.
38141
38142 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
38143 TARGET_IMG_LDFLAGS_AC.
38144 (grub_CHECK_STACK_ARG_PROBE): New function.
38145
38146 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
38147
38148 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
38149
38150 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
38151 to set TARGET_IMG_LD* accordingly.
38152 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
38153 Add call to grub_CHECK_STACK_ARG_PROBE.
38154 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
38155
38156 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
38157
38158 * genmk.rb: Add EXEEXT to CLEANFILES.
38159
12ccdb75 381602008-07-23 Robert Millan <rmh@aybabtu.com>
38161
38162 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
38163 define the codes for arrows and lines used for the menu).
38164 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
38165 as well.
38166
38167 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
38168 fonts, because the latter are too slow.
38169
18eeaf04 381702008-07-21 Bean <bean123ch@gmail.com>
38171
38172 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
38173 a20. Run keyboard test last, as it will cause macbook to halt.
38174
b095e2ad 381752008-07-18 Pavel Roskin <proski@gnu.org>
38176
38177 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
38178 load foreign architecture modules correctly anyway. Keep
38179 support for loading host architecture modules, whether we
38180 compile them or not.
38181
737feb35 381822008-07-17 Pavel Roskin <proski@gnu.org>
38183
3f4ce737 38184 * configure.ac: Use -m32 or -m64 regardless of whether we had to
38185 change target_cpu. The compiler default can mismatch target_cpu
38186 in any case.
38187
4ad2d049 38188 * disk/efi/efidisk.c: Fix format warnings on x86_64.
38189 * kern/efi/efi.c: Likewise.
38190
f6130a12 38191 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
38192 target compiler is functional.
38193 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
38194 are set up.
38195
58393a2d 38196 * configure.ac: Default to efi platform for x86_64-apple. Allow
38197 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
38198 adjustments from the rest, only do them if target is not
38199 explicitly given. Merge other adjustments with the final sanity
38200 check. Remove an extraneous check for supported CPU. Be
38201 specific which CPU and which platform is not supported.
38202
737feb35 38203 * configure.ac: Default to pc platform for x86_64.
38204
546f966a 382052008-07-17 Robert Millan <rmh@aybabtu.com>
38206
38207 Partial LinuxBIOS -> Coreboot rename.
38208
38209 * conf/i386-linuxbios.rmk: Renamed to ...
38210 * conf/i386-coreboot.rmk: ... this.
38211 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
38212 * configure.ac: Accept "coreboot" as input platform (but maintain
38213 compatibility with "linuxbios").
38214 * include/grub/i386/linuxbios: Renamed to ...
38215 * include/grub/i386/coreboot: ... this.
38216
20011694 382172008-07-17 Bean <bean123ch@gmail.com>
38218
38219 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 38220 (appleldr_mod_SOURCE): New variable.
20011694 38221 (appleldr_mod_CFLAGS): Likewise.
38222 (appleldr_mod_LDFLAGS): Likewise.
38223 (pci_mod_SOURCES): Likewise.
38224 (pci_mod_CFLAGS): Likewise.
38225 (pci_mod_LDFLAGS): Likewise.
38226 (lspci_mod_SOURCES): Likewise.
38227 (lspci_mod_CFLAGS): Likewise.
38228 (lspci_mod_LDFLAGS): Likewise.
38229
38230 * conf/x86_64-efi.rmk: New file.
38231
38232 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
38233 macro.
38234 (grub_efidisk_write): Likewise.
38235
38236 * include/efi/api.h (efi_call_0): New macro.
38237 (efi_call_1): Likewise.
38238 (efi_call_2): Likewise.
38239 (efi_call_3): Likewise.
38240 (efi_call_4): Likewise.
38241 (efi_call_5): Likewise.
38242 (efi_call_6): Likewise.
38243
38244 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
38245 grub_rescue_cmd_chainloader.
38246
38247 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
38248 (grub_pe32_optional_header): Change some fields based on i386 or
38249 x86_64 platform.
38250 (GRUB_PE32_PE32_MAGIC): Likewise.
38251
38252 * include/grub/efi/uga_draw.h: New file.
38253
38254 * include/grub/elf.h (STN_ABS): New constant.
38255 (R_X86_64_NONE): Relocation constant for x86_64.
38256 (R_X86_64_64): Likewise.
38257 (R_X86_64_PC32): Likewise.
38258 (R_X86_64_GOT32): Likewise.
38259 (R_X86_64_PLT32): Likewise.
38260 (R_X86_64_COPY): Likewise.
38261 (R_X86_64_GLOB_DAT): Likewise.
38262 (R_X86_64_JUMP_SLOT): Likewise.
38263 (R_X86_64_RELATIVE): Likewise.
38264 (R_X86_64_GOTPCREL): Likewise.
38265 (R_X86_64_32): Likewise.
38266 (R_X86_64_32S): Likewise.
38267 (R_X86_64_16): Likewise.
38268 (R_X86_64_PC16): Likewise.
38269 (R_X86_64_8): Likewise.
38270 (R_X86_64_PC8): Likewise.
38271
38272 * include/grub/i386/efi/pci.h: New file.
38273
38274 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
38275 Change it value based on platform.
38276 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
38277 (GRUB_E820_RAM): Likewise.
38278 (GRUB_E820_RESERVED): Likewise.
38279 (GRUB_E820_ACPI): Likewise.
38280 (GRUB_E820_NVS): Likewise.
38281 (GRUB_E820_EXEC_CODE): Likewise.
38282 (GRUB_E820_MAX_ENTRY): Likewise.
38283 (grub_e820_mmap): New structure.
38284 (linux_kernel_header): Change the efi field according to different
38285 kernel version, also field from linux_kernel_header.
38286
38287 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
38288
38289 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
38290 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
38291 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
38292 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
38293 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
38294 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
38295 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
38296 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
38297 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
38298 (GRUB_PCI_ADDR_IO_MASK): Likewise.
38299
38300 * include/grub/x86_64/efi/kernel.h: New file.
38301
38302 * include/grub/x86_64/efi/loader.h: Likewise.
38303
38304 * include/grub/x86_64/efi/machine.h: Likewise.
38305
38306 * include/grub/x86_64/efi/pci.h: Likewise.
38307
38308 * include/grub/x86_64/efi/time.h: Likewise.
38309
38310 * include/grub/x86_64/linux.h: Likewise.
38311
38312 * include/grub/x86_64/setjmp.h: Likewise.
38313
38314 * include/grub/x86_64/time.h: Likewise.
38315
38316 * include/grub/x86_64/types.h: Likewise.
38317
38318 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
38319 GRUB_TARGET_SIZEOF_VOID_P.
38320
38321 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
38322 (grub_efi_locate_handle): Likewise.
38323 (grub_efi_open_protocol): Likewise.
38324 (grub_efi_set_text_mode): Likewise.
38325 (grub_efi_stall): Likewise.
38326 (grub_exit): Likewise.
38327 (grub_reboot): Likewise.
38328 (grub_halt): Likewise.
38329 (grub_efi_exit_boot_services): Likewise.
38330 (grub_get_rtc): Likewise.
38331
38332 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
38333 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
38334 (grub_efi_allocate_pages): Wrap efi calls.
38335 (grub_efi_free_pages): Wrap efi calls.
38336 (grub_efi_get_memory_map): Wrap efi calls.
38337
38338 * kern/x86_64/dl.c: New file.
38339
38340 * kern/x86_64/efi/callwrap.S: Likewise.
38341
38342 * kern/x86_64/efi/startup.S: Likewise.
38343
38344 * loader/efi/appleloader.c: Likewise.
38345
38346 * loader/efi/chainloader.c (cmdline): New variable.
38347 (grub_chainloader_unload): Wrap efi calls.
38348 (grub_chainloader_boot): Likewise.
38349 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
38350 command line.
38351
38352 * loader/efi/chainloader_normal.c (chainloader_command):
38353 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
38354 command line.
38355
38356 * loader/i386/efi/linux.c (allocate_pages): Change allocation
38357 method.
38358 (grub_e820_add_region): New function.
38359 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
38360 booting.
38361 (grub_find_video_card): New function.
38362 (grub_linux_setup_video): New function.
38363 (grub_rescue_cmd_linux): Probe for video information.
38364
38365 * normal/x86_64/setjmp.S: New file.
38366
38367 * term/efi/console.c (map_char): New function.
38368 (grub_console_putchar): Map unicode char.
38369 (grub_console_checkkey): Wrap efi calls.
38370 (grub_console_getkey): Likewise.
38371 (grub_console_getwh): Likewise.
38372 (grub_console_gotoxy): Likewise.
38373 (grub_console_cls): Likewise.
38374 (grub_console_setcolorstate): Likewise.
38375 (grub_console_setcursor): Likewise.
38376
38377 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
38378
59652a20 383792008-07-16 Pavel Roskin <proski@gnu.org>
38380
ef294055 38381 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
38382 format strings.
38383
59652a20 38384 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
38385 pointer, not an integer. This fixes a warning and prevents
38386 precision loss on 64-bit systems.
38387 (relocate_addresses): Remove unneeded cast.
38388
afc3b5d7 383892008-07-15 Pavel Roskin <proski@gnu.org>
38390
506b2b3e 38391 * kern/i386/ieee1275/init.c: Include grub/cache.h.
38392
62ead89c 38393 * term/ieee1275/ofconsole.c: Disable code unused on i386.
38394
c4cd51d7 38395 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
38396 Fix comparison between signed and unsigned.
38397
0d3d8f28 38398 * include/grub/i386/ieee1275/console.h: Declare
38399 grub_console_init() and grub_console_fini().
38400
8804b286 38401 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
38402 It's empty and unused.
38403
ee01cf35 38404 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
38405 beginning to avoid warnings with some compilers.
38406
afc3b5d7 38407 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
38408 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
38409
e4e8eaa5 384102008-07-14 Pavel Roskin <proski@gnu.org>
38411
407aceb4 38412 * kern/env.c (grub_register_variable_hook): Don't copy empty
38413 string, it leaks memory. Pass "" to grub_env_set(), it should
38414 handle constant strings.
38415
e4e8eaa5 38416 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
38417 * commands/cmp.c (grub_cmd_cmp): Likewise.
38418 * kern/dl.c (grub_dl_flush_cache): Likewise.
38419 (grub_dl_load_core): Likewise.
38420 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
38421 (grub_elf64_load_phdrs): Likewise.
38422
d4e2dad3 384232008-07-13 Pavel Roskin <proski@gnu.org>
38424
38425 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
38426 between signed and unsigned.
38427 (LzmaEnc_Finish): Fix warning about an unused parameter.
38428
aa24b516 384292008-07-13 Bean <bean123ch@gmail.com>
38430
38431 * Makefile.in (enable_lzo): New rule.
38432
38433 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
38434
38435 * configure.ac (ENABLE_LZO): New option --enable-lzo.
38436
38437 * boot/i386/pc/lnxboot.S: #include <config.h>.
38438
38439 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 38440 its value according to the compression algorithm used, lzo or lzma.
aa24b516 38441
38442 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
38443 compression algorithm according to configure macro.
38444
38445 * kern/i386/pc/startup.S (codestart): Likewise.
38446
38447 * kern/i386/pc/lzma_decode.S: New file.
38448
38449 * include/grub/lib/LzFind.h: Likewise.
38450
38451 * include/grub/lib/LzHash.h: Likewise.
38452
38453 * include/grub/lib/LzmaDec.h: Likewise.
38454
38455 * include/grub/lib/LzmaEnc.h: Likewise.
38456
38457 * include/grub/lib/LzmaTypes.h: Likewise.
38458
38459 * lib/LzFind.c: Likewise.
38460
38461 * lib/LzmaDec.c: Likewise.
38462
38463 * lib/LzmaEnc.c: Likewise.
38464
4ae821ac 384652008-07-13 Bean <bean123ch@gmail.com>
38466
38467 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
38468 (grub_ext4_extent_header): New structure.
38469 (grub_ext4_extent): Likewise.
38470 (grub_ext4_extent_idx): Likewise.
38471 (grub_ext4_find_leaf): New function.
38472 (grub_ext2_read_block): Handle extents.
38473
9a745147 384742008-07-12 Robert Millan <rmh@aybabtu.com>
38475
38476 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
38477
d49a4cf6 384782008-07-11 Robert Millan <rmh@aybabtu.com>
38479
38480 * util/grub.d/40_custom.in: New file. Example on how to add custom
38481 entries to /etc/grub.d.
38482 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
38483 40_custom (implicitly, by merging all the grub.d rules).
38484
947414b4 384852008-07-11 Pavel Roskin <proski@gnu.org>
38486
0059cf6f 38487 * commands/read.c (grub_getline): Fix invalid memory access.
38488 Don't add newline to the variable value.
38489
947414b4 38490 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
38491 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
38492 (serial_hw_get_port): Check validity of the port number.
38493 (grub_cmd_serial): Check return value of serial_hw_get_port().
38494
62a02d00 384952008-07-07 Pavel Roskin <proski@gnu.org>
38496
38497 * boot/i386/pc/diskboot.S (notification_string): Replace
38498 "Loading kernel" with just "loading". This is shorter, less
38499 confusing and saves a few bytes for possible future changes.
38500
3e5581b0 385012008-07-05 Pavel Roskin <proski@gnu.org>
38502
ea387a48 38503 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
38504 size for ATAPI devices, they are undefined. Output sector
38505 number in decimal form.
38506
3e5581b0 38507 * disk/ata.c: Use named constants for status bits.
38508
fdecb8fd 385092008-07-04 Pavel Roskin <proski@gnu.org>
38510
bcd35b90 38511 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
38512 grub_addr_t before casting it to the void pointer to fix a
38513 warning. Non-addressable regions are discarded earlier.
38514 (grub_arch_modules_addr): Cast _end to grub_addr_t.
38515 * kern/i386/linuxbios/table.c: Include grub/misc.h.
38516 (check_signature): Don't shadow table_header.
38517 (grub_linuxbios_table_iterate): Cast numeric constants to
38518 grub_linuxbios_table_header_t.
38519 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
38520 grub_stop().
38521
af58ab3d 38522 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
38523 prevent warnings.
38524
1759aa57 38525 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
38526 pointer, which can cause warnings. Support 64-bit addresses.
38527
fdecb8fd 38528 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
38529 of sizeof(long). This fixes PowerPC image generation on x86_64.
38530
8516d2a8 385312008-07-04 Robert Millan <rmh@aybabtu.com>
38532
38533 This fixes a performance issue when pc & gpt partmap iterators
38534 didn't abort iteration even after our hook found what it was
fe987087 38535 looking for (often causing expensive probes of non-existent drives).
8516d2a8 38536
38537 Some callers relied on previous buggy behaviour, since they would
34c44600 38538 raise an error when their own hooks caused early abortion of its
8516d2a8 38539 iteration.
38540
38541 * kern/device.c (grub_device_open): Improve error message.
38542 * disk/lvm.c (grub_lvm_open): Likewise.
38543 * disk/raid.c (grub_raid_open): Likewise.
38544
38545 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
38546 when hook requests it, independently of grub_errno.
38547 (pc_partition_map_probe): Do not fail when find_func() caused
38548 early abortion of pc_partition_map_iterate().
38549
38550 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
38551 when hook requests it, independently of grub_errno.
38552 (gpt_partition_map_probe): Do not fail when find_func() caused
38553 early abortion of gpt_partition_map_iterate().
38554
38555 * kern/partition.c (grub_partition_iterate): Abort parent iteration
38556 when hook requests it, independently of grub_errno. Do not fail when
38557 part_map_iterate_hook() caused early abortion of p->iterate().
38558
38559 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
38560 when grub_partition_iterate() returned with non-zero.
38561
277d0de9 385622008-07-03 Pavel Roskin <proski@gnu.org>
38563
38564 * disk/ata.c (grub_ata_pio_write): Check status before writing,
38565 like we do in grub_ata_pio_read().
38566 (grub_ata_readwrite): Always write individual sectors. Fix the
38567 sector count for the remainder.
38568 (grub_ata_write): Enable writing to ATA devices. Correctly
38569 report error for ATAPI devices.
38570
d4c9b428 385712008-07-02 Pavel Roskin <proski@gnu.org>
38572
e43fc690 38573 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
38574 warning.
38575
f707af42 38576 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
38577 for every read sector, we already increment it for the whole
38578 batch. This fixes reading more than 256 sectors at once.
38579
11e16b15 38580 * util/grub-editenv.c (cmd_info): Cast argument to long
38581 explicitly. ptrdiff_t reduces to int on i386.
38582
cbabfdd4 38583 * util/grub-editenv.c (main): Be specific which parameter is
38584 missing.
38585
b8fbce0a 38586 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
38587 (memdisk): Make memdisk_orig_addr a pointer.
38588
c9c8e606 38589 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
38590 for file offsets, use grub_off_t instead. Fix printf format
38591 warnings.
38592
ca62e598 38593 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
38594 there. Real unexpected warnings should not drown in the noise
38595 about known problems.
38596
ce8d1766 38597 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
38598 grub_disk_addr_t for memory addresses.
38599
00c7a56a 38600 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
38601 explicitly to fix a warning.
38602
08d3ef09 38603 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
38604
cb71ba20 38605 * Makefile.in (MODULE_LDFLAGS): New variable.
38606 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
38607 the linker accepts --build-id=none.
38608 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
38609 MODULE_LDFLAGS.
38610 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
38611
d4c9b428 38612 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
38613 those in Linux XFS code. Provide a way to access 64-bit parent
38614 inode.
38615 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
38616 the end of struct grub_xfs_dir_header.
38617
d4156eee 386182008-07-02 Bean <bean123ch@gmail.com>
38619
38620 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
38621 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38622 and GRUB_IEEE1275_FLAG_NO_ANSI.
38623
38624 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
38625 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
38626 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
38627
38628 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
38629 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
38630
38631 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
38632 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
38633
38634 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
38635 esc sequence on non ANSI terminal.
38636 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
38637
38638 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
38639 beginning of file.
38640
2270f77b 386412008-07-02 Bean <bean123ch@gmail.com>
38642
38643 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
38644 (grub_editenv_SOURCES): New variable.
38645 (pkglib_MODULES): Add loadenv.mod.
38646 (loadenv_mod_SOURCES): New variable.
38647 (loadenv_mod_CFLAGS): Likewise.
38648 (loadenv_mod_LDFLAGS): Likewise.
38649
38650 * include/grub/envblk.h: New file.
38651
38652 * util/envblk.c: New file.
38653
38654 * util/grub-editenv.c: New file.
38655
38656 * commands/loadenv.c: New file.
38657
0e9e51ec 386582008-07-01 Pavel Roskin <proski@gnu.org>
38659
d89b7634 38660 * include/multiboot2.h (struct multiboot_tag_module): Use char,
38661 not unsigned char. This fixes warnings and is consistent with
38662 other tags.
38663
bf1835b1 38664 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
38665
8222a04b 38666 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
38667
6a42d99d 38668 * term/tparm.c (analyze): Always set *popcount.
38669
10b159d1 38670 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
38671 cast to fix a warning.
38672
b8789f6c 38673 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
38674 cast to suppress a warning.
38675
29d7e38a 38676 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
38677 grub_fshelp_read_file() expects.
38678
f341f669 38679 * fs/fat.c: Fix UUID calculation on big-endian systems. We
38680 write uuid as a 32-bit value in CPU byte order, so declare and
38681 use it as such.
38682
0e9e51ec 38683 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
38684 long if the format specifier expects it.
38685 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
38686 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38687 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
38688 long to fix a warning.
38689 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
38690 grub_dprintf() arguments to fix warnings.
38691
3aefa857 386922008-06-30 Pavel Roskin <proski@gnu.org>
38693
56c7668b 38694 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
38695 install_bsd_part immediately before core.img is embedded or
38696 modified on disk. This fixes core.img verification if core.img
38697 cannot be embedded.
38698
3aefa857 38699 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
38700 core_path to calculate the blocklist.
38701 Patch from Javier Martín <lordhabbit@gmail.com>
38702
5444088d 387032008-06-29 Robert Millan <rmh@aybabtu.com>
38704
38705 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
38706 block to disk block.
38707 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
38708 Patch from Niels Böhm <bitbucket@arcor.de>
38709
674835c8 387102008-06-29 Robert Millan <rmh@aybabtu.com>
38711
38712 * util/update-grub_lib.in (font_path): Search for fonts in
38713 /boot/grub first, which is more likely to be readable (we aren't
38714 deciding where fonts live, just looking for them).
38715
f527dbc8 387162008-06-26 Pavel Roskin <proski@gnu.org>
38717
6c2d8df6 38718 * util/biosdisk.c (read_device_map): Don't leave dead map
38719 entries for devices failing stat() check.
38720
f527dbc8 38721 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
38722 core_path_dev for the core.img path on the target device.
38723
aebe3d13 387242008-06-26 Robert Millan <rmh@aybabtu.com>
38725
38726 * disk/fs_uuid.c: New file.
38727 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
38728 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
38729 (fs_uuid_mod_LDFLAGS): New variables.
38730 * include/grub/disk.h (grub_disk_dev_id): Add
38731 `GRUB_DISK_DEVICE_UUID_ID'.
38732 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
38733 implement iterate().
38734
37aaf354 387352008-06-26 Robert Millan <rmh@aybabtu.com>
38736
38737 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
38738 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
38739 Linux image includes no initrd.
38740
25ff262a 387412008-06-21 Javier Martín <lordhabbit@gmail.com>
38742
38743 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
38744 call to resolve the core image location that effectively appended the
38745 name twice.
38746
76a2bd44 387472008-06-21 Robert Millan <rmh@aybabtu.com>
38748
38749 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
38750 call from here ...
38751
38752 * util/grub.d/10_hurd.in: ... to here ...
38753 * util/grub.d/10_linux.in: ... and here.
38754
650e1c79 387552008-06-19 Robert Millan <rmh@aybabtu.com>
38756
fe987087 38757 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 38758 after it has been set by grub_machine_set_prefix().
38759
6ce63911 387602008-06-19 Robert Millan <rmh@aybabtu.com>
38761
38762 * commands/search.c (search_label, search_fs_uuid, search_file): Print
38763 search result when not saving to variable, not the other way around.
38764 When saving to variable, abort iteration as soon as a match is found.
38765
73940cec 387662008-06-19 Robert Millan <rmh@aybabtu.com>
38767
38768 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
38769 check for partition that provides /boot/grub. Its logic is flawed,
38770 as it prevents prepare_grub_to_access_device() from being called
38771 multiple times.
38772
3c62a39d 387732008-06-19 Robert Millan <rmh@aybabtu.com>
38774
38775 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
38776 "insmod" command directly when abstraction modules are needed,
fe987087 38777 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 38778 since it had already been processed).
38779
47395a42 387802008-06-19 Pavel Roskin <proski@gnu.org>
38781
38782 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
38783 changed. This is needed in case GRUB_LIBDIR changes.
38784 * conf/i386-ieee1275.rmk: Likewise.
38785 * conf/i386-linuxbios.rmk: Likewise.
38786 * conf/i386-pc.rmk: Likewise.
38787 * conf/powerpc-ieee1275.rmk: Likewise.
38788
a145ac2d 387892008-06-18 Pavel Roskin <proski@gnu.org>
38790
38791 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
38792 kernel_elf_symlist.c to symlist.c for consistency with other
38793 architectures. Update all users.
38794 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38795
7847c51e 387962008-06-18 Robert Millan <rmh@aybabtu.com>
38797
38798 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
38799 it in prefix.
38800
38801 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
38802 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
38803 a RAID device, run setup() for all members independently on whether
38804 LVM abstraction is being used.
38805 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
38806 If grub-mkimage has set `*install_dos_part == -2', don't override this
38807 value.
38808 Perform *install_dos_part adjustments independently on whether
38809 we're embedding or not.
38810 Clarify error message when image is too big for embedding.
38811 Remove duplicate *install_dos_part stanza.
38812
b23e5644 388132008-06-17 Robert Millan <rmh@aybabtu.com>
38814
38815 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
38816 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
38817 variables.
38818 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
38819 values in grub_ofconsole_normal_color and
38820 grub_ofconsole_highlight_color (they're not directly related to
38821 background and foreground).
38822 (grub_ofconsole_setcolorstate): Extract background and foreground
38823 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
38824
0aac2f79 388252008-06-17 Robert Millan <rmh@aybabtu.com>
38826
38827 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
38828 /boot/grub for the check in last commit, not /boot (they could be
38829 different partitions).
38830
3cca7ef3 388312008-06-16 Robert Millan <rmh@aybabtu.com>
38832
38833 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
38834 asked to setup access for the same partition that provides /boot,
38835 don't bother using UUIDs since our root already has the value we
38836 want.
38837
347396d8 388382008-06-16 Robert Millan <rmh@aybabtu.com>
38839
38840 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
38841 I2O devices.
38842 Patch from Sven Mueller <sven@debian.org>.
38843
991477f8 388442008-06-16 Robert Millan <rmh@aybabtu.com>
38845
38846 * util/update-grub.in: Check for $EUID instead of $UID.
38847 Reported by Vincent Zweije.
38848
d31a32a1 388492008-06-16 Bean <bean123ch@gmail.com>
38850
fe987087 38851 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 38852 (grub_ext2_read_block): Likewise.
38853 (grub_ext2_read_inode): Likewise.
38854 (grub_ext2_mount): Likewise.
38855 (grub_ext2_close): Likewise.
38856 (grub_ext3_get_journal): Removed.
38857
fe987087 38858 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 38859 (grub_reiserfs_read_symlink): Likewise.
38860 (grub_reiserfs_mount): Likewise.
38861 (grub_reiserfs_open): Likewise.
38862 (grub_reiserfs_read): Likewise.
38863 (grub_reiserfs_close): Likewise.
38864 (grub_reiserfs_get_journal): Removed.
38865
38866 * fs/fshelp.c (grub_fshelp_read): Removed.
38867 (grub_fshelp_map_block): Likewise.
38868
38869 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
38870 (grub_fshelp_journal): Likewise.
38871 (grub_fshelp_read): Likewise.
38872 (grub_fshelp_map_block): Likewise.
38873
3540a760 388742008-06-16 Pavel Roskin <proski@gnu.org>
38875
38876 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
38877 floating point anymore.
38878 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
38879
95614c84 388802008-06-15 Pavel Roskin <proski@gnu.org>
38881
38882 * commands/ls.c (grub_ls_list_files): Use integer calculations
38883 for human readable format, avoid floating point use.
38884 * kern/misc.c (grub_ftoa): Remove.
38885 (grub_vsprintf): Remove floating point support.
38886
50465dd6 388872008-06-15 Robert Millan <rmh@aybabtu.com>
38888
fe6b695a 38889 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 38890 devices.
38891 Reported by Max Vozeler.
38892
a9207284 388932008-06-15 Robert Millan <rmh@aybabtu.com>
38894
38895 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
38896 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
38897 skipped later.
38898 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
38899 the beginning of the prefix.
38900
38901 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
38902 It is assumed that if we have a memdisk, grub-mkimage has set
38903 grub_prefix to include the "(memdisk)" drive in it.
38904
a7cbd45a 389052008-06-15 Robert Millan <rmh@aybabtu.com>
38906
38907 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
38908 Initialize keyboard controller after registering the terminal, so that
38909 grub_printf() can be called from grub_keyboard_controller_init().
38910
21cf716a 389112008-06-15 Robert Millan <rmh@aybabtu.com>
38912
38913 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
38914 extent-btree which is written as big endian on disk.
38915 Reported by Alain Greppin <al@chilibi.org>.
38916
23a64d8e 389172008-06-14 Robert Millan <rmh@aybabtu.com>
38918
38919 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
38920 * util/i386/pc/grub-install.in (modules): Likewise.
38921
d687651c 389222008-06-13 Pavel Roskin <proski@gnu.org>
38923
38924 * commands/ls.c (grub_ls_list_files): Fix format warnings.
38925
dfe9ddd4 389262008-06-13 Bean <bean123ch@gmail.com>
38927
38928 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
38929
38930 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
38931
38932 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
38933 to indicate sparse block.
38934
16ae7781 389352008-06-12 Pavel Roskin <proski@gnu.org>
38936
e6d1a308 38937 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
38938 number, grub_fshelp_read() does it for us.
38939
16ae7781 38940 * fs/fshelp.c (grub_fshelp_read): New function. Implement
38941 linear disk read with journal translation.
38942 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
38943 * include/grub/fshelp.h: Declare grub_fshelp_read().
38944
40fd3a2b 389452008-06-09 Pavel Roskin <proski@gnu.org>
38946
38947 * fs/minix.c (grub_minix_mount): Handle error reading
38948 superblock.
38949
f5679726 389502008-06-08 Robert Millan <rmh@aybabtu.com>
38951
38952 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
38953 don't append the RAID prefix afterwards.
38954 Reported by Clint Adams.
38955
ce525529 389562008-06-08 Robert Millan <rmh@aybabtu.com>
38957
38958 Based on description from Pavel:
38959 * kern/disk.c (grub_disk_check_range): Rename to ...
38960 (grub_disk_adjust_range): ... this. Add a comment explaining the
38961 tasks performed by this function.
38962
ad4936a0 389632008-06-08 Robert Millan <rmh@aybabtu.com>
38964
38965 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
38966 `num_serial' (for consistency with other variables).
38967 (struct grub_ntfs_data): Add `uuid' member.
38968 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
38969 (grub_ntfs_uuid): New function.
38970 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
38971
dc20b0f9 389722008-06-07 Pavel Roskin <proski@gnu.org>
38973
38974 * util/biosdisk.c (open_device): Revert last change to the
38975 function, it broke installation. The sector needs to be
38976 different dependent on which device is opened.
38977
c5e3cfba 389782008-06-06 Robert Millan <rmh@aybabtu.com>
38979
38980 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
38981 rest of GRUB, and breakage doesn't happen if its value were modified.
38982
38983 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38984 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
38985 a constant (same value).
38986 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
38987 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
38988
26a1f8c4 389892008-06-06 Robert Millan <rmh@aybabtu.com>
38990
38991 * util/biosdisk.c (open_device): Do not modify sector offset when
38992 accessing a partition. kern/disk.c already handles this for us.
38993
25d6b327 389942008-06-06 Robert Millan <rmh@aybabtu.com>
38995
38996 * util/grub-emu.c (grub_machine_init): Move code in this function from
38997 here ...
38998 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
38999 segfault in case grub_printf() is called).
39000
39001 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
39002 grub_probe. Update all users not to explicitly add it again.
39003 (grub_device): New variable; contains corresponding device for grubdir.
39004 (fs_module, partmap_module, devabstraction_module): Pass
39005 `--device ${grub_device}' to grub_probe to avoid traversing /dev
39006 every time.
39007
9ece62fb 390082008-06-05 Robert Millan <rmh@aybabtu.com>
39009
39010 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
39011 is found, print it (same layout as with labels).
39012
1ad36d37 390132008-06-04 Robert Millan <rmh@aybabtu.com>
39014
39015 * util/biosdisk.c (get_drive): Rename to ...
39016 (find_grub_drive): ... this. Update all users.
39017
39018 (get_os_disk): Rename to ...
39019 (convert_system_partition_to_system_disk): ... this. Update all users.
39020
39021 (find_drive): Rename to ...
39022 (find_system_device): ... this. Update all users.
39023
e6a30859 390242008-06-04 Robert Millan <rmh@aybabtu.com>
39025
39026 * util/biosdisk.c (get_os_disk): Handle IDA devices.
39027 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39028 (make_device_map): Likewise.
39029
00c108a4 390302008-06-01 Robert Millan <rmh@aybabtu.com>
39031
39032 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
39033 before dereferencing it.
39034
39035 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
39036 union with fat12/fat16-specific ones. Add some new fields, including
39037 `num_serial' for both versions.
39038 (struct grub_fat_data): Add `uuid' member.
39039 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
39040 names. Initialize `data->uuid' using `num_serial'.
39041 (grub_fat_uuid): New function.
39042 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
39043
39044 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
39045 (grub_reiserfs_uuid): New function.
39046 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
39047 member.
39048
39049 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
39050 (grub_xfs_uuid): New function.
39051 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
39052
1385c5bb 390532008-06-01 Robert Millan <rmh@aybabtu.com>
39054
39055 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
39056 code that is backward compatible with pre-uuid search command.
39057
c682dfd7 390582008-05-31 Robert Millan <rmh@aybabtu.com>
39059
39060 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
39061 floppies after everything else, to ensure floppy drive isn't accessed
39062 unnecessarily (patch from Bean).
39063
b7db5d47 390642008-05-31 Robert Millan <rmh@aybabtu.com>
39065
39066 * commands/search.c (search_label, search_fs_uuid, search_file): Do
39067 not print device names when we were asked to set a variable.
39068
6e037aa9 390692008-05-31 Robert Millan <rmh@aybabtu.com>
39070
39071 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
39072 using "cursor-on" and "cursor-off" commands (understood at least by
39073 the Open Firmware flavour on OLPC).
39074
41305bc8 390752008-05-31 Michael Gorven <michael@gorven.za.net>
39076
39077 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
39078 on and off sequences.
39079
69ba137e 390802008-05-31 Robert Millan <rmh@aybabtu.com>
39081
39082 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
39083 * util/update-grub.in: Likewise.
39084
520ae21b 390852008-05-30 Pavel Roskin <proski@gnu.org>
39086
39087 * util/biosdisk.c (linux_find_partition): Simplify logic and
39088 make the code more universal. Keep special processing for
39089 devfs, but use a simple rule for all other devices. If the
39090 device ends with a number, append 'p' and the partition number.
39091 Otherwise, append only the partition number.
39092
5786569b 390932008-05-30 Robert Millan <rmh@aybabtu.com>
39094
39095 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
39096 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
39097 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
39098 the `root' parameter to Linux.
39099
51500452 391002008-05-30 Robert Millan <rmh@aybabtu.com>
39101
39102 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
39103 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
39104 --fs_uuid with --fs-uuid.
39105 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
39106 all filesystems support them).
39107
811d3878 391082008-05-30 Robert Millan <rmh@aybabtu.com>
39109
39110 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 39111 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 39112
cab63c95 391132008-05-30 Robert Millan <rmh@aybabtu.com>
39114
39115 * util/grub.d/00_header.in: Remove obsolete comment referencing
39116 convert_system_path_to_grub_path().
39117 * util/update-grub.in: Likewise.
39118 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
39119 (convert_system_path_to_grub_path): Add a warning message explaining
39120 that this function is deprecated. Rely on is_path_readable_by_grub()
39121 for the readability checks.
39122 (font_path): Use is_path_readable_by_grub() for the readability
39123 check rather than convert_system_path_to_grub_path().
39124
972e2f7a 391252008-05-30 Robert Millan <rmh@aybabtu.com>
39126
39127 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
39128 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
39129 converting it first.
39130 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
39131 grub.cfg for access to font file, and afterwards call it again to set
39132 the root device.
39133
62191274 391342008-05-30 Robert Millan <rmh@aybabtu.com>
39135
39136 * commands/search.c (options): Add --fs_uuid option.
39137 (search_fs_uuid): New function.
39138 (grub_cmd_search): Fix --set argument passing.
39139 Use search_fs_uuid() when requested via --fs_uuid.
39140 (grub_search_init): Update help message.
39141 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
39142 and redeclare it as an array of 16-bit words.
39143 (grub_ext2_uuid): New function.
39144 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
39145 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
39146 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
39147 (GRUB_DEVICE_BOOT_UUID): New variables.
39148 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
39149 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
39150 whenever possible.
39151 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
39152 just assume `root' variable has the right value.
39153 * util/grub.d/10_linux.in: Likewise.
39154 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
39155 via PRINT_FS_UUID.
39156 (main): Recognise `-t fs_uuid' argument.
39157
01b73ec8 391582008-05-30 Robert Millan <rmh@aybabtu.com>
39159
39160 * util/biosdisk.c (map): Redefine structure to hold information
39161 about GRUB drive name.
fe6b695a 39162 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 39163 drive names.
39164 (call_hook): Remove.
39165 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
39166 member. Assume drive has partitions.
39167 (grub_util_biosdisk_open): Access device names via `.device' struct
39168 member.
39169 (open_device): Likewise.
39170 (find_drive): Likewise.
39171 (read_device_map): Adjust map[] usage to match the new struct
39172 definition. Don't check for duplicates (still possible, but not cheap
39173 anymore).
39174 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
39175 (make_device_name): Remove assumption of BIOS-like drive names.
39176
22f16596 391772008-05-30 Pavel Roskin <proski@gnu.org>
39178
39179 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
39180 compiling execute.c doesn't need grub_script.tab.h anymore.
39181 (normal/command.c_DEPENDENCIES): Likewise.
39182 (normal/function.c_DEPENDENCIES): Likewise.
39183 * conf/i386-ieee1275.rmk: Likewise.
39184 * conf/i386-linuxbios.rmk: Likewise.
39185 * conf/i386-pc.rmk: Likewise.
39186 * conf/powerpc-ieee1275.rmk: Likewise.
39187 * conf/sparc64-ieee1275.rmk: Likewise.
39188
528ad8f2 391892008-05-29 Pavel Roskin <proski@gnu.org>
39190
d1dff95d 39191 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
39192 when scanning metadata for volume group name.
39193
528ad8f2 39194 * include/grub/script.h: Don't include grub_script.tab.h. It's
39195 a generated file, which may only be included from the files with
39196 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
39197 use union YYSTYPE, as the later allows forward declaration.
39198 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
39199
47248e08 392002008-05-29 Robert Millan <rmh@aybabtu.com>
39201
39202 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
39203 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
39204 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
39205 (grub_console_checkkey): Add grub_dprintf() call to report unknown
39206 scan codes.
39207
ee632529 392082008-05-29 Robert Millan <rmh@aybabtu.com>
39209
39210 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
39211 control key combinations.
39212
eee96e08 392132008-05-29 Robert Millan <rmh@aybabtu.com>
39214
39215 * util/powerpc/ieee1275/grub-install.in: Move from here ...
39216 * util/ieee1275/grub-install.in: ... to here.
39217 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
39218 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
39219 (grub_install_SOURCES): Likewise.
39220
da9a6a94 392212008-05-29 Robert Millan <rmh@aybabtu.com>
39222
39223 * fs/affs.c: Update copyright year.
39224 * fs/ext2.c: Likewise.
39225 * fs/fshelp.c: Likewise.
39226 * fs/hfsplus.c: Likewise.
39227 * fs/ntfs.c: Likewise.
39228 * fs/xfs.c: Likewise.
39229 * include/grub/fshelp.h: Likewise.
39230 * util/grub-mkdevicemap.c: Likewise.
39231
12e65f3a 392322008-05-28 Robert Millan <rmh@aybabtu.com>
39233
39234 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
39235 might need to be fatfs to support some firmware implementations
39236 (e.g. OFW or EFI).
39237
23023641 392382008-05-28 Robert Millan <rmh@aybabtu.com>
39239
39240 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
39241 devices.
39242 * util/grub-mkdevicemap.c (get_mmc_disk_name)
39243 (make_device_map): Likewise.
39244
887d2619 392452008-05-20 Bean <bean123ch@gmail.com>
39246
39247 * fs/fshelp.c (grub_fshelp_map_block): New function.
39248 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
39249 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
39250
39251 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
39252 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
39253 (grub_fshelp_journal): New structure.
39254 (grub_fshelp_map_block): New function prototype.
39255 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
39256 (grub_fshelp_map_block): Likewise.
39257
39258 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
39259 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
39260 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
39261 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
39262 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
39263 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
39264 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
39265 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
39266 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
39267 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
39268 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
39269 (grub_ext2_sblock): New members for journal support.
39270 (grub_ext3_journal_header): New structure.
39271 (grub_ext3_journal_revoke_header): Likewise.
39272 (grub_ext3_journal_block_tag): Likewise.
39273 (grub_ext3_journal_sblock): Likewise.
39274 (grub_fshelp_node): New members logfile and journal.
39275 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
39276 grub_fshelp_map_block to get real block number.
39277 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
39278 number.
39279 (grub_ext2_read_inode): Likewise.
39280 (grub_ext3_get_journal): New function.
39281 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
39282 (grub_ext2_close): Release memory used by journal.
39283
39284 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
39285 (REISERFS_MAGIC_DESC_BLOCK): New macro.
39286 (grub_reiserfs_transaction_header): Renamed to
39287 grub_reiserfs_description_block, replace field data with real_blocks.
39288 (grub_reiserfs_commit_block): New structure.
39289 (grub_reiserfs_data): New member journal.
39290 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
39291 number.
39292 (grub_reiserfs_read_symlink): Likewise.
39293 (grub_reiserfs_iterate_dir): Likewise.
39294 (grub_reiserfs_open): Likewise.
39295 (grub_reiserfs_read): Likewise.
39296 (grub_reiserfs_get_journal): New function.
39297 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
39298 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
39299 using grub_reiserfs_get_journal.
39300 (grub_reiserfs_close): Release memory used by journal.
39301
39302 * fs/affs.c (grub_affs_read_block): Change block type to
39303 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
39304
39305 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
39306
39307 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
39308
39309 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
39310
39311 * fs/udf.c (grub_udf_read_block): Change block type to
39312 grub_disk_addr_t. Use type cast to avoid warning.
39313
39314 * fs/xfs.c (grub_xfs_read_block): Likewise.
39315
b7c6bed5 393162008-05-16 Christian Franke <franke@computer.org>
39317
39318 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
39319 to ensure that break with ESC will always work.
39320 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
39321 Remove ESC from keyboard queue.
39322
eedf167f 393232008-05-16 Christian Franke <franke@computer.org>
39324
39325 * util/biosdisk.c: [__CYGWIN__] Add includes.
39326 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
39327 (get_os_disk): Move variable declarations to OS specific
39328 parts to avoid warning.
39329 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
39330 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
39331 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
39332 Cygwin.
39333 * util/getroot.c: [__CYGWIN__] Add includes.
39334 (strip_extra_slashes): Fix "/" case.
39335 [__CYGWIN__] (get_win32_path): New function.
39336 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
39337 [__CYGWIN__] (find_root_device): Disable.
39338 [__CYGWIN__] (get_bootsec_serial): New function.
39339 [__CYGWIN__] (find_cygwin_root_device): Likewise.
39340 [__linux__] (grub_guess_root_device): Add early returns to simplify
39341 structure.
39342 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
39343 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
39344 check for Linux only.
39345
a079699e 393462008-05-15 Bean <bean123ch@gmail.com>
39347
39348 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
39349 keyboard hang problem in apple's intel mac.
39350
1cf4059a 393512008-05-09 Robert Millan <rmh@aybabtu.com>
39352
39353 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
39354 devices.
39355 * util/grub-mkdevicemap.c (get_virtio_disk_name)
39356 (make_device_map): Likewise.
39357 Reported by Aurelien Jarno <aurel32@debian.org>
39358
ed759390 393592008-05-07 Ian Campbell <ijc@hellion.org.uk>
39360
39361 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
39362 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
39363 (make_device_map): Output entries for xvd type disks.
39364
b56c4eaa 393652008-05-07 Robert Millan <rmh@aybabtu.com>
39366
39367 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
39368 devices.
39369 * util/grub-mkdevicemap.c (get_cciss_disk_name)
39370 (make_device_map): Likewise.
39371 Reported by Roland Dreier <rdreier@cisco.com>
39372
7f8866ed 393732008-05-07 Robert Millan <rmh@aybabtu.com>
39374
39375 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
39376 grub_strstr() call. Correct a few mistakes in failure path handling.
39377
b0346e0f 393782008-05-06 Robert Millan <rmh@aybabtu.com>
39379
39380 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39381 Do not print a trailing slash (therefore, the root directory is an
39382 empty string).
39383 (convert_system_path_to_grub_path): Do not remove trailing slash
39384 from make_system_path_relative_to_its_root() output.
39385
39386 * util/i386/pc/grub-install.in: Add trailing slash to output from
39387 make_system_path_relative_to_its_root().
39388
6cf12cbd 393892008-05-06 Robert Millan <rmh@aybabtu.com>
39390
39391 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
39392 ensures that output lines aren't intermangled with those sent to
39393 stderr (via grub_util_info()).
39394 * util/grub-probe.c (grub_refresh): Likewise.
39395 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
39396
0fbb3117 393972008-05-05 Christian Franke <franke@computer.org>
39398
39399 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
39400 Add Cygwin device names.
39401 (get_ide_disk_name) [__CYGWIN__]: Likewise.
39402 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
39403 (check_device): Return error instead of success on empty name.
39404 (make_device_map): Move label inside linux specific code to
39405 prevent compiler warning.
39406
8124cdb7 394072008-04-30 Robert Millan <rmh@aybabtu.com>
39408
39409 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
39410 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
39411 first boot option.
39412 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
39413
094c01d0 394142008-04-29 Robert Millan <rmh@aybabtu.com>
39415
39416 * docs/grub.cfg: New file (example GRUB configuration).
39417
f4b1fc02 394182008-04-26 Robert Millan <rmh@aybabtu.com>
39419
329ce2a5 39420 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
39421 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
39422 and `disk/ieee1275/nand.c'.
f4b1fc02 39423
25f16ec1 394242008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 39425
25f16ec1 39426 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
39427 i386-linuxbios.
39428
39429 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
39430 change the buffer size to 4096 for cdrom device.
39431
39432 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
39433 and nand.mod.
39434 (_linux_mod_SOURCES): New variable.
39435 (_linux_mod_CFLAGS): Likewise.
39436 (_linux_mod_LDFLAGS): Likewise.
39437 (linux_mod_SOURCES): Likewise.
39438 (linux_mod_CFLAGS): Likewise.
39439 (linux_mod_LDFLAGS): Likewise.
39440 (nand_mod_SOURCES): Likewise.
39441 (nand_mod_CFLAGS): Likewise.
39442 (nand_mod_LDFLAGS): Likewise.
39443
39444 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
39445 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
39446 type property. (nand device in olpc don't have this property)
39447
39448 * include/grub/disk.h (grub_disk_dev_id): New macro
39449 GRUB_DISK_DEVICE_NAND_ID.
39450
39451 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
39452 function prototype.
39453 (grub_rescue_cmd_initrd): Likewise.
39454
39455 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
39456 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
39457 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 39458
25f16ec1 39459 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
39460 GRUB_MACHINE_IEEE1275 is defined.
39461
39462 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
39463 Use NESTED_FUNC_ATTR attribute on the hook parameter.
39464
39465 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
39466 on nested function heap_init.
39467 (grub_upper_mem): New variable for i386-ieee1275.
39468 (grub_get_extended_memory): New function for i386-ieee1275.
39469 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
39470
39471 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
39472 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
39473 property.
f19dbdb7 39474
25f16ec1 39475 * loader/i386/ieee1275/linux.c: New file.
39476
39477 * loader/i386/ieee1275/linux_normal.c: New file.
39478
39479 * disk/ieee1275/nand.c: New file.
39480
e89d61e9 394812008-04-18 Thomas Schwinge <tschwinge@gnu.org>
39482
39483 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
39484 value.
39485 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
39486
602566f6 394872008-04-18 Robert Millan <rmh@aybabtu.com>
39488
39489 Restructures early code path on ieee1275 to unify grub_main() as
39490 the first C function that is executed in every platform.
39491
39492 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
39493 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
39494 cmain().
39495 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
39496 * kern/ieee1275/cmain.c (cmain): Rename to ...
39497 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
39498 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
39499 at the beginning.
39500
57490c2b 395012008-04-18 Robert Millan <rmh@aybabtu.com>
39502
39503 * util/update-grub.in: Fix syntax error when setting
39504 `GRUB_PRELOAD_MODULES'.
39505 Reported by Stephane Chazelas <stephane@artesyncp.com>
39506
1977517d 395072008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
39508
39509 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
39510 section into account, newer toolchains generate unique build ids
39511 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 39512 we want build ids to be preserved
1977517d 39513 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
39514 far from other sections don't cause the raw binary images grow
39515 size
39516
bfb1f1a2 395172008-04-15 Robert Millan <rmh@aybabtu.com>
39518
39519 * disk/lvm.c: Update copyright year.
39520 * kern/misc.c: Likewise.
39521
01979850 395222008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39523
39524 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 39525 there is no memory left for physical volume name.
01979850 39526
0a1150e2 395272008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
39528
39529 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
39530 volume name mapping to support bigger than 9 character names properly.
39531
82ead3fe 395322008-04-13 Robert Millan <rmh@aybabtu.com>
39533
39534 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
39535 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
39536
e54a72f5 395372008-04-13 Christian Franke <franke@computer.org>
39538
39539 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
39540 to create a floppy emulation boot CD when non emulation mode
39541 does not work.
39542 Enable Joliet CD filesystem extension.
39543
9fe86034 395442008-04-13 Robert Millan <rmh@aybabtu.com>
39545
39546 * kern/misc.c (grub_strncat): Fix off-by-one error.
39547 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
39548
39549 * kern/env.c (grub_env_context_close): Clear current context, not
39550 previous one.
39551 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
39552
39553 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
39554
7ceeee39 395552008-04-13 Robert Millan <rmh@aybabtu.com>
39556
39557 Improve robustness when handling LVM.
39558
39559 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 39560 (and leave `*p' unmodified).
7ceeee39 39561 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
39562 through it.
39563 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
39564 iterating through it.
39565 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
39566 through it.
fe6b695a 39567 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 39568 when due) on each grub_lvm_getvalue() or grub_strstr() call.
39569 Don't assume `vg->pvs != NULL' when iterating through it.
39570
58cd3d85 395712008-04-13 Robert Millan <rmh@aybabtu.com>
39572
39573 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
39574 * genmk.rb (partmap): New variable.
39575 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
39576 (#{partmap}): New target rule.
39577 * genpartmaplist.sh: New file.
39578 * Makefile.in (pkglib_DATA): Add partmap.lst.
39579 (partmap.lst): New target rule.
39580 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
39581 modules (including all partition maps), instead of preloading them.
39582
78b51059 395832007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
39584
39585 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
39586 `linux-boot-prober' (if installed) to detect other operating
39587 systems which are installed on the computer and add them to
39588 the boot menu.
39589 * conf/common.rmk: Build and install 30_os-prober.
39590
a91627b4 395912008-04-12 Robert Millan <rmh@aybabtu.com>
39592
39593 * kern/powerpc/ieee1275/init.c: Move from here ...
39594 * kern/ieee1275/init.c: ... to here. Update all users.
39595
39596 * kern/powerpc/ieee1275/cmain.c: Move from here ...
39597 * kern/ieee1275/cmain.c: ... to here. Update all users.
39598
39599 * kern/powerpc/ieee1275/openfw.c: Move from here ...
39600 * kern/ieee1275/openfw.c: ... to here. Update all users.
39601
39602 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
39603 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
39604
322562ea 396052008-04-10 Pavel Roskin <proski@gnu.org>
39606
39607 * configure.ac: Always use "_cv_" in cache variables for
39608 compatibility with Autoconf 2.62.
39609
a02a73c5 396102008-04-07 Robert Millan <rmh@aybabtu.com>
39611
39612 Revert grub/machine/init.h addition by Pavel (since it breaks on
39613 i386-ieee1275 and others):
39614 * util/i386/pc/misc.c: Remove grub/machine/init.h.
39615 * util/powerpc/ieee1275/misc.c: Likewise.
39616
25c024b1 396172008-04-07 Robert Millan <rmh@aybabtu.com>
39618
39619 * util/grub-probe.c (probe): Improve error message.
39620
3cbd2f98 396212008-04-07 Robert Millan <rmh@aybabtu.com>
39622
39623 * util/biosdisk.c (read_device_map): Skip devices that don't exist
39624 (this prevents the presence of a bogus entry from ruining the whole
39625 thing).
39626
87a297bf 396272008-04-06 Pavel Roskin <proski@gnu.org>
39628
36747a62 39629 * util/biosdisk.c: Include grub/util/biosdisk.h.
39630 * util/grub-fstest.c (execute_command): Make static.
39631 * util/grub-mkdevicemap.c (check_device): Likewise.
39632 * util/i386/pc/misc.c: Include grub/machine/init.h.
39633 * util/powerpc/ieee1275/misc.c: Likewise.
39634 * util/lvm.c: Include grub/util/lvm.h.
39635 * util/misc.c: Include grub/kernel.h, grub/misc.h and
39636 grub/cache.h.
39637 * util/raid.c: Include grub/util/raid.h.
39638 (grub_util_getdiskname): Make static.
39639
87a297bf 39640 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
39641 grub_hostfs_fini(), as they are called from grub_init_all() and
39642 grub_fini_all() respectively. This fixes an infinite loop in
39643 grub-fstest due to double registration of hostfs.
39644 Reported by Christian Franke <Christian.Franke@t-online.de>
39645
f6ce7629 396462008-04-05 Pavel Roskin <proski@gnu.org>
39647
39648 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
39649 all 8 functions. Otherwise, probe function 0 only.
39650
070e49e4 396512008-04-04 Pavel Roskin <proski@gnu.org>
39652
8b088a4c 39653 * commands/lspci.c (grub_lspci_iter): Print the bus number
39654 correctly.
39655
4f657021 39656 * commands/lspci.c (grub_pci_classes): Fix typos.
39657 (grub_lspci_iter): Don't print func twice. Print vendor ID
39658 before device ID, as it's normally done.
39659
070e49e4 39660 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39661 Fix signedness warnings.
39662 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
39663 Likewise.
39664 * util/ieee1275/get_disk_name.c: Include config.h so that
39665 _GNU_SOURCE is defined and getline() is declared. Mark an
39666 unused argument as such. Fix a signedness warning.
39667
ba7328dc 396682008-04-02 Pavel Roskin <proski@gnu.org>
39669
26887f22 39670 * genkernsyms.sh.in: Use more robust assignments for CC and
39671 srcdir. Quote srcdir.
39672 * gensymlist.sh.in: Likewise. Assert at the compile time that
39673 the symbol table is not empty.
39674
ba7328dc 39675 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
39676 * fs/cpio.c (grub_cpio_read): Likewise.
39677
0f582c6b 396782008-04-01 Pavel Roskin <proski@gnu.org>
39679
4b6e1995 39680 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
39681 * disk/host.c (grub_host_open): Likewise.
39682 * disk/loopback.c (grub_loopback_open): Likewise.
39683 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
39684 disk->id as in disk/host.c, not a multi-character constant.
39685
828a2768 39686 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
39687 later is obsolete, potentially dangerous and sets a bad example.
39688 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
39689 * util/misc.c (grub_util_get_image_size): Likewise.
39690
2bb4fb47 39691 * disk/loopback.c (options): Improve help for "--partitions".
39692
0f582c6b 39693 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
39694 options to align them with the short options, e.g. "echo -e".
39695
a33224e0 396962008-03-31 Bean <bean123ch@gmail.com>
39697
39698 * video/reader/png.c (grub_png_data): New member is_16bit and
39699 image_data.
39700 (grub_png_decode_image_header): Detect 16 bit png image.
39701 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
39702 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
39703 (grub_video_reader_png): Release memory occupied by image_data.
39704
39705 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
39706 4096 bytes.
39707 (grub_nfs_mount): Skip the test for sector per cluster.
39708
39709 * include/grub/ntfs.h (MAX_SPC): Removed.
39710
86cb4f54 397112008-03-31 Bean <bean123ch@gmail.com>
39712
39713 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
39714 (grub_probe_SOURCES): Add fs/afs.c.
39715 (grub_fstest_SOURCES): Likewise.
39716 (afs_mod_SOURCES): New variable.
39717 (afs_mod_CFLAGS): Likewise.
39718 (afs_mod_LDFLAGS): Likewise.
39719
39720 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
39721 (grub_emu_SOURCES): Likewise.
39722
39723 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39724
39725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39726
39727 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39728
39729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39730
39731 * fs/afs.c: New file.
39732
17c74c21 397332008-03-30 Pavel Roskin <proski@gnu.org>
39734
4cb68e89 39735 * disk/host.c: Include grub/misc.h to fix a warning.
39736 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
39737 warnings about implicit declarations.
39738
8790bb04 39739 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
39740 variable.
39741 * include/grub/i386/loader.h: Change declaration of
39742 grub_linux_boot() to match what grub_loader_set() expects.
39743 * util/getroot.c (grub_guess_root_device): Return const char* to
39744 fix a warning.
39745 * util/grub-probe.c (probe): Fix a warning about uninitialized
39746 abstraction_name variable.
39747 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
39748 second argument as unused to fix a warning.
39749
9a3f3296 39750 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
39751 missing grub_error() call.
39752
0ecef90d 39753 * util/update-grub_lib.in: Define datarootdir, since Autoconf
39754 2.60 and newer uses it to define datadir.
39755
0bf6d401 39756 * commands/sleep.c: Fix warning about implicit declaration.
39757 * disk/memdisk.c: Likewise.
39758 * loader/aout.c: Likewise.
39759 * loader/i386/bsd_normal.c: Likewise.
39760 * util/grub-probe.c: Likewise.
39761
7cdacf97 39762 * commands/i386/cpuid.c (has_longmode): Make static.
39763 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
39764 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
39765
17c74c21 39766 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
39767 GDT. This is more robust, as %ds can change.
39768 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
39769 calling real_to_prot().
39770 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
39771
80a3e68b 397722008-03-28 Pavel Roskin <proski@gnu.org>
39773
39774 * kern/i386/pc/startup.S: Assert that uncompressed functions
39775 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
39776 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
39777 code, as they push parts of the code (error handlers) beyond
39778 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
39779 code as correctness and size.
39780
77bcd272 397812008-03-28 Pavel Roskin <proski@gnu.org>
39782
39783 * kern/i386/pc/startup.S
39784 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
39785 data block address to the real mode, keep offset minimal. This
39786 works around a bug in AWARD BIOS on old Athlon systems, which
39787 makes CD detection hang.
39788
c5dfd43b 397892008-03-26 Pavel Roskin <proski@gnu.org>
39790
39791 * normal/color.c (grub_parse_color_name_pair): Make `name' a
39792 const.
39793 * include/grub/normal.h: Add grub_parse_color_name_pair()
39794 declaration.
39795
bf962df2 397962008-03-24 Bean <bean123ch@gmail.com>
39797
39798 * disk/i386/pc/biosdisk.c (cd_start): Removed.
39799 (cd_count): Removed.
39800 (cd_drive): New variable.
39801 (grub_biosdisk_get_drive): Don't check for (cdN) device.
39802 (grub_biosdisk_call_hook): Likewise.
39803 (grub_biosdisk_iterate): Change cdrom detection method.
39804 (grub_biosdisk_open): Replace cd_start with cd_drive.
39805 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
39806 detect cdrom device.
39807
39808 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
39809 Removed.
39810 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
39811 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
39812 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
39813 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
39814 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
39815 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
39816 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
39817 (grub_biosdisk_cdrp): New structure.
39818 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
39819
39820 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
39821
39822 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
39823 device.
39824
39825 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
39826 New function.
39827
68e7fc7a 398282008-03-20 Robert Millan <rmh@aybabtu.com>
39829
39830 Remove 2 TiB limit in ata.mod.
39831 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
39832 (grub_ata_dumpinfo): Print sector count with 0x%llx.
39833 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
39834 grub_uint64_t instead of grub_uint32_t.
39835
38ad2cf5 398362008-03-05 Bean <bean123ch@gmail.com>
39837
39838 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
39839 (grub_multiboot): Set boot device.
39840
39841 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
39842
2b89344e 398432008-03-02 Bean <bean123ch@gmail.com>
39844
39845 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
39846 symlink_buffer.
39847
87a95d1f 398482008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
39849
39850 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
39851 texinfo.tex.
39852
39853 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
39854 modified.
39855
39856 * docs/fdl.texi: New file.
f19dbdb7 39857
87a95d1f 39858 * docs/mdate-sh: New file. Copied from gnulib.
39859 * docs/texinfo.tex: Likewise.
39860
39861 * config.guess: Updated from gnulib.
39862 * install-sh: Likewise.
39863
7dc15d8e 398642008-02-28 Robert Millan <rmh@aybabtu.com>
39865
39866 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
39867 (aout_mod_SOURCES): New variable.
39868 (aout_mod_CFLAGS): Likewise.
39869 (aout_mod_LDFLAGS): Likewise.
39870
39871 * conf/i386-ieee1275.rmk: Likewise.
39872
b00ab696 398732008-02-28 Robert Millan <rmh@aybabtu.com>
39874
39875 * util/update-grub.in: Reorganise terminal validity check. Accept
39876 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
39877 Based on suggestion by Franklin PIAT.
39878
79ca2d78 398792008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
39880
39881 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
39882 function.
39883 * util/getroot.c (grub_util_check_block_device): New function that
39884 returns the given argument if it is a block device and returns NULL else.
39885 * util/grub-probe.c (argument_is_device): New variable.
39886 (probe): Promote device_name from a variable to an argument. Receive
39887 device_name from grub_util_check_block_device() if path is NULL and from
39888 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 39889 (options): Introduce new parameter '-d, --device'.
79ca2d78 39890 (main): Add description of the new parameter to the help screen.
39891 Rename path variable to argument. Set argument_is_device if the '-d'
39892 option is given. Pass argument to probe() depending on
39893 argument_is_device.
39894
0d16e571 398952008-02-24 Bean <bean123ch@gmail.com>
39896
39897 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
39898 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
39899 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
39900 (GRUB_ISO9660_VOLDESC_PART): Likewise.
39901 (GRUB_ISO9660_VOLDESC_END): Likewise.
39902 (grub_iso9660_primary_voldesc): New member escape.
39903 (grub_iso9660_data): New member joliet.
39904 (grub_iso9660_convert_string): New function.
39905 (grub_iso9660_mount): Detect joliet extension.
39906 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
39907 (grub_iso9660_iso9660_label): Likewise.
39908
39909 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
39910 (grub_setup_SOURCES): Add fs/udf.c.
39911 (grub_fstest_SOURCES): Likewise.
39912 (udf_mod_SOURCES): New variable.
39913 (udf_mod_CFLAGS): Likewise.
39914 (udf_mod_LDFLAGS): Likewise.
39915
39916 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
39917 (grub_emu_SOURCES): Likewise.
39918
39919 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39920
39921 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39922
39923 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39924
39925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39926
39927 * fs/udf.c: New file.
39928
8a594a17 399292008-02-24 Robert Millan <rmh@aybabtu.com>
39930
39931 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
39932 (normal/lexer.c_DEPENDENCIES): New variables.
39933 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39934 (normal/lexer.c_DEPENDENCIES): Likewise.
39935 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
39936 (normal/lexer.c_DEPENDENCIES): Likewise.
39937 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
39938 (normal/lexer.c_DEPENDENCIES): Likewise.
39939 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39940 (normal/lexer.c_DEPENDENCIES): Likewise.
39941 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39942 (normal/lexer.c_DEPENDENCIES): Likewise.
39943
2dc33c03 399442008-02-23 Robert Millan <rmh@aybabtu.com>
39945
39946 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
39947 since they were intended to be in hex. This didn't break previously
39948 because of a bug in gpt_partition_map_iterate() (see below).
39949
39950 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
39951 when checking the validity of GPT header.
39952 Remove `partno', since it always provides the same information as `i'.
39953
f6f4cfb0 399542008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39955
39956 * include/grub/efi/time.h: Fix a wrong comment.
39957
79ff665f 399582008-02-19 Pavel Roskin <proski@gnu.org>
39959
39960 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39961 message.
39962
d38e24c2 399632008-02-19 Bean <bean123ch@gmail.com>
39964
39965 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
39966 (aout_mod_SOURCES): New variable.
39967 (aout_mod_CFLAGS): Likewise.
39968 (aout_mod_LDFLAGS): Likewise.
39969 (_bsd_mod_SOURCES): New variable.
39970 (_bsd_mod_CFLAGS): Likewise.
39971 (_bsd_mod_LDFLAGS): Likewise.
39972 (bsd_mod_SOURCES): New variable.
39973 (bsd_mod_CFLAGS): Likewise.
39974 (bsd_mod_LDFLAGS): Likewise.
39975
39976 * include/grub/aout.h: New file.
39977
39978 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
39979
39980 * include/grub/i386/bsd.h: New file.
39981
39982 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
39983 to make it public.
39984
39985 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
39986 function is called, so that it's possible to change it inside the hook.
39987 (grub_elf64_load): Likewise.
39988 (grub_elf_file): Don't close the file if elf header is not found.
39989 (grub_elf_close): Close the file if grub_elf_file fails (The new
39990 grub_elf_file won't close it).
39991 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
39992 (grub_elf64_size): Likewise.
39993
39994 * kern/i386/loader.S (grub_unix_real_boot): New function.
39995
39996 * loader/aout.c: New file.
39997
39998 * loader/i386/bsd.c: New file.
39999
40000 * loader/i386/bsd_normal.c: New file.
40001
40002 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
40003
40004 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 40005 can test other formats.
d38e24c2 40006
b93bdb0f 400072008-02-19 Robert Millan <rmh@aybabtu.com>
40008
40009 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
40010 (grub_gpt_partition_type_empty): Redefine with macro from
40011 `<grub/gpt_partition.h>'.
40012 (gpt_partition_map_iterate): Adjust partition type comparison.
40013
40014 Export `entry' as partmap-specific `part.data' struct.
40015 (grub_gpt_header, grub_gpt_partentry): Move from here ...
40016
40017 * include/grub/gpt_partition.h (grub_gpt_header)
40018 (grub_gpt_partentry): ... to here (new file).
40019
40020 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
40021
40022 (grub_gpt_partition_type_bios_boot): New const variable, defined
40023 with macro from `<grub/gpt_partition.h>'.
40024
40025 (setup): Replace `first_start' with `embed_region', which keeps
40026 track of the embed region (and is partmap-agnostic).
40027
40028 Replace find_first_partition_start() with find_usable_region(),
40029 which finds a usable region for embedding using partmap-specific
40030 knowledge (supports PC/MSDOS and GPT).
40031
40032 Fix all assumptions that the embed region start at sector 1, using
40033 `embed_region.start' from now on. Similarly, use `embed_region.end'
40034 rather than `first_start' to calculate available size.
40035
40036 In grub_util_info() message, replace "into after the MBR" with an
40037 indication of the specific sector our embed region starts at.
40038
66cb40f6 400392008-02-19 Robert Millan <rmh@aybabtu.com>
40040
40041 * DISTLIST: Replace `commands/ieee1275/halt.c' and
40042 `commands/ieee1275/reboot.c' with `commands/halt.c' and
40043 `commands/reboot.c'.
40044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40045 (halt_mod_SOURCES): Likewise.
40046 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
40047 (halt_mod_SOURCES): Likewise.
40048
b7202015 400492008-02-17 Christian Franke <franke@computer.org>
40050
40051 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
40052
32b0fc49 400532008-02-17 Robert Millan <rmh@aybabtu.com>
40054
40055 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40056 set `first_start' to 0 for non-PC/MSDOS partition maps.
40057
aca63502 400582008-02-16 Robert Millan <rmh@aybabtu.com>
40059
40060 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
40061 do not assume partition map is PC/MSDOS before performing checks that
40062 are specific to that layout.
40063
0de8be86 400642008-02-13 Robert Millan <rmh@aybabtu.com>
40065
40066 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
40067 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
40068 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
40069
c3db8364 400702008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
40071
40072 * configure.ac: Only a cosmetic change on the handling of
40073 -fno-stack-protector.
40074
f714229e 400752008-02-12 Alexandre Boeglin <alex@boeglin.org>
40076
c3db8364 40077 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
40078 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
40079 reboot.c.
f714229e 40080 (grub_install_SOURCES): Add halt.mod and reboot.mod.
40081 (halt_mod_SOURCES): New variable.
40082 (halt_mod_CFLAGS): Likewise.
40083 (halt_mod_LDFLAGS): Likewise.
40084 (reboot_mod_SOURCES): Likewise.
40085 (reboot_mod_CFLAGS): Likewise.
40086 (reboot_mod_LDFLAGS): Likewise.
40087
c3db8364 40088 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
40089 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
40090 reboot.c.
f714229e 40091 (halt_mod_SOURCES): Likewise.
40092 (reboot_mod_SOURCES): Likewise.
40093
c3db8364 40094 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
40095 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 40096 (reboot_mod_SOURCES): Likewise.
40097
40098 * commands/i386/pc/reboot.c: merge this file ...
40099
40100 * commands/ieee1275/reboot.c: ... and this file ...
40101
40102 * commands/reboot.c: ... to this file.
c3db8364 40103 Add some precompiler directive to include the correct header for
40104 each machine.
f714229e 40105
40106 * commands/ieee1275/halt.c: move this file ...
40107
40108 * commands/halt.c: ... to here.
c3db8364 40109 Add some precompiler directive to include the correct header for
40110 each machine.
f714229e 40111
40112 * include/grub/efi/efi.h (grub_reboot): New function declaration.
40113 (grub_halt): Likewise.
40114
40115 * kern/efi/efi.c (grub_reboot): New function.
40116 (grub_halt): Likewise.
40117
c74493e0 401182008-02-12 Robert Millan <rmh@aybabtu.com>
40119
40120 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
40121 /dev (like it is done for /dev/mapper). This doesn't provide support
40122 for EVMS, but at least it is now easy to identify the problem when it
40123 arises.
40124
d0db4b04 401252008-02-11 Robert Millan <rmh@aybabtu.com>
40126
40127 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
40128 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
40129 comparing it with -1, not 0.
40130
bf748642 401312008-02-10 Robert Millan <rmh@aybabtu.com>
40132
40133 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
40134 `disk/lvm.c'.
40135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40136 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
40137
40138 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
40139 `disk/lvm.c' to the end of the list.
40140 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40141 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40142
b5db202a 401432008-02-10 Robert Millan <rmh@aybabtu.com>
40144
40145 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
40146 grub_print_error() instead. This will let user know why we're entering
40147 rescue mode.
40148 Based on suggestions from Sam Morris.
40149
83abee31 401502008-02-10 Alexandre Boeglin <alex@boeglin.org>
40151
40152 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
40153 on remaining N args, instead of "--" arg N times.
40154
78d5a08b 401552008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
40156
40157 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
40158 (fill_with_default_glyph): Changed to use unknown_glyph for fill
40159 pattern for unknown glyphs.
40160
68807e5f 401612008-02-09 Robert Millan <rmh@aybabtu.com>
40162
40163 * configure.ac: Probe for `help2man'.
40164 * Makefile.in (builddir): New variable.
40165 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
40166 or otherwise add a few flags/options to it.
40167 (install-local): For every executable utility or script that is
40168 installed, invoke $(HELP2MAN) to install a manpage based on --help
40169 output.
40170
40171 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
40172 that it doesn't prevent --help from working in build tree.
40173
40174 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
40175 with `bug-grub@gnu.org'.
40176 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
40177 * util/update-grub.in (usage): New function.
40178 Implement proper argument check, with support for --help and --version
40179 (as well as existing -y).
40180
401812008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 40182
40183 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
40184 avoid overwriting previous output.
40185 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
40186
c1962162 401872008-02-09 Robert Millan <rmh@aybabtu.com>
40188
40189 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
40190 drawing the menu.
40191
3dac2e3f 401922008-02-09 Robert Millan <rmh@aybabtu.com>
40193
40194 * commands/sleep.c: New file.
40195 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
40196 (sleep_mod_SOURCES): New variable.
40197 (sleep_mod_CFLAGS): Likewise.
40198 (sleep_mod_LDFLAGS): Likewise.
40199
7a634e08 402002008-02-09 Robert Millan <rmh@aybabtu.com>
40201
40202 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
40203 situations in which we can deduce the RAID size and the superblock
40204 doesn't match it.
40205
b92f0c18 402062008-02-09 Robert Millan <rmh@aybabtu.com>
40207
40208 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
40209 and return a grub_diskmemberlist_t composed of LVM physical volumes.
40210 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
40211
40212 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
40213 and return a grub_diskmemberlist_t composed of physical array members.
40214 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
40215
40216 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
40217 prototype.
40218 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
40219 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
40220 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
40221
40222 * util/grub-probe.c (probe): Move partmap probing code from here ...
40223 (probe_partmap): ... to here.
40224 (probe): Use probe_partmap() once for the disk we're probing, and
40225 additionally, when such disk contains a memberlist() struct member,
40226 once for each disk that is contained in the structure returned by
40227 memberlist().
40228
91a4bf68 402292008-02-09 Robert Millan <rmh@aybabtu.com>
40230
40231 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
40232 environment variable to 'all' in order to obtain debug output from
40233 non-util/ code.
40234 * util/i386/pc/grub-setup.c (main): Likewise.
40235
a96f9caa 402362008-02-08 Robert Millan <rmh@aybabtu.com>
40237
40238 * disk/raid.c (grub_raid_scan_device): Check for
40239 `array->device[sb.this_disk.number]' rather than for
40240 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 40241 guaranteed to be accessible.
a96f9caa 40242
b37a9222 402432008-02-08 Robert Millan <rmh@aybabtu.com>
40244
40245 * disk/raid.c: Update copyright.
40246 * fs/cpio.c: Likewise.
40247 * include/grub/raid.h: Likewise.
40248 * loader/i386/pc/multiboot.c: Likewise.
40249 * util/hostfs.c: Likewise.
40250
5626aee1 402512008-02-08 Robert Millan <rmh@aybabtu.com>
40252
40253 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
40254 to a grub_disk_t array.
40255 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
40256 `device[x]'.
40257 (grub_raid_scan_device): Replace `device[x].name' accesses with
40258 `device[x]->name'. Simplify initialization of `array->device[x]'.
40259
554f0187 402602008-02-08 Robert Millan <rmh@aybabtu.com>
40261
40262 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
40263 grub_dprintf() calls.
40264 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
40265 error message.
40266
1ec8425d 402672008-02-07 Christian Franke <franke@computer.org>
40268
40269 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
40270 instead of fseek and ftell to support large files.
40271 (grub_hostfs_read): Likewise.
40272
f2156fda 402732008-02-07 Robert Millan <rmh@aybabtu.com>
40274
40275 Patch from Jeroen Dekkers.
40276 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 40277 failure, since successfully reading all array members might not be
f2156fda 40278 required.
40279
9216e0e7 402802008-02-06 Robert Millan <rmh@aybabtu.com>
40281
40282 * util/grub-probe.c (probe): Simplify partmap probing (with the
40283 assumption that the first word up to the underscore equals to
40284 the module name).
40285
b0dfd29a 402862008-02-06 Christian Franke <franke@computer.org>
40287
40288 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
40289 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
40290 last block of a cpio or tar stream.
40291 Check for "TRAILER!!!" instead of any empty data
40292 block to detect last block of a cpio stream.
40293 (grub_cpio_dir): Fix constness of variable np.
40294 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
40295 cpio or tar trailer is detected. This fixes a crash
40296 on open of a non existing file.
40297
c32865bf 402982008-02-05 Bean <bean123ch@gmail.com>
40299
40300 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
40301 address of entry.
40302 (grub_multiboot_load_elf64): Likewise.
40303 (grub_multiboot): Initialize mbi structure.
40304
40305 * util/grub-fstest.c: Don't include unused header file script.h.
40306
fe6b695a 40307 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 40308 of file.
40309 (grub_fstest_SOURCES): Likewise.
40310
409480b7 403112008-02-05 Robert Millan <rmh@aybabtu.com>
40312
40313 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
40314 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
40315 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
40316 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
40317
40318 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
40319 (translation_table): Replace hardcoded values with macros
40320 provided by `<grub/term.h>'.
40321
40322 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
40323 (keyboard_map): Correct/add a few values, with macros provided
40324 by `<grub/term.h>'.
40325 (keyboard_map_shift): Zero values that don't differ from their
40326 `keyboard_map' equivalents.
40327 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
40328 Discard the second scan code that is always sent by Caps lock.
40329 Only use `keyboard_map_shift' when it provides a non-zero value,
40330 otherwise fallback to `keyboard_map'.
40331
99fadbaa 403322008-02-04 Bean <bean123ch@gmail.com>
40333
40334 * Makefile.in (enable_grub_fstest): New variable.
40335
40336 * conf/common.rmk (grub_fstest_init.lst): New rule.
40337 (grub_fstest_init.h): Likewise.
40338 (grub_fstest_init.c): Likewise.
40339 (util/grub-fstest.c_DEPENDENCIES): New variable.
40340 (grub_fstest_SOURCES): Likewise.
40341
40342 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
40343
40344 * util/grub-fstest.c: New file.
40345
bf567c50 403462008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40347
40348 Make grub-setup handle a separate root device.
f19dbdb7 40349
bf567c50 40350 * util/i386/pc/grub-setup.c (setup): Always open the root device,
40351 so that the root device can be compared with the destination
40352 device.
40353 When embedding the core image, if the root and destination devices
40354 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
40355 0xFF.
40356 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 40357
9be6b98b 403582008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40359
40360 Add support for having a grub directory in a different drive. This
40361 is still only the data handling part.
f19dbdb7 40362
9be6b98b 40363 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
40364 (codestart): Save %dh in GRUB_ROOT_DRIVE.
40365 (grub_root_drive): New variable.
40366
40367 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
40368 instead of GRUB_BOOT_DRIVE to construct a device name. Set
40369 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
40370 as it was.
40371
40372 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
40373
40374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
40375 macro.
40376 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
40377
40378 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
40379 is bogus, because PXE booting does not specify any drive
40380 correctly.
40381
40382 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
40383 am not sure if this is really correct.
40384
40385 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
40386 is always identical to the boot drive when booting from a CD.
40387
40388 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
40389 longer.
40390 (root_drive): New variable.
40391 (real_start): Unconditionally set %dh to ROOT_DRIVE.
40392 (setup_sectors): Push %dx right after popping it, because %dh will
40393 be modified later.
40394 (copy_buffer): Restore %dx.
40395
e0ca0677 403962008-02-03 Robert Millan <rmh@aybabtu.com>
40397
40398 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
40399 use `cdboot.img' for cdrom images.
40400
3b3f6629 404012008-02-03 Robert Millan <rmh@aybabtu.com>
40402
40403 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
40404 only setup gfxterm when `font' command has succeeded.
40405
d42b3672 404062008-02-03 Robert Millan <rmh@aybabtu.com>
40407
40408 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
40409 (grub_rescue_cmd_multiboot_loader)
40410 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
40411
fa370ea6 404122008-02-03 Pavel Roskin <proski@gnu.org>
40413
e0c5dacb 40414 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 40415 %edx and %esi from stack only after grub_gate_a20() is called.
40416 grub_gate_a20() clobbers %edx.
40417
f2a76e1d 404182008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
40419
40420 * configure.ac (AC_INIT): Bumped to 1.96.
40421
40422 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
40423 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
40424 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
40425 video/readers/png.c.
40426
90fd32d1 404272008-02-03 Bean <bean123ch@gmail.com>
9be665dd 40428
40429 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
40430 (cdboot_img_SOURCES): New variable.
40431 (cdboot_img_ASFLAGS): New variable.
40432 (cdboot_img_LDFLAGS): New variable.
40433
40434 * boot/i386/pc/cdboot.S: New file.
40435
40436 * disk/i386/pc/biosdisk.c (cd_start): New variable.
40437 (cd_count): Likewise.
40438 (grub_biosdisk_get_drive): Add support for cd device.
40439 (grub_biosdisk_call_hook): Likewise.
40440 (grub_biosdisk_iterate): Likewise.
40441 (grub_biosdisk_open): Likewise.
40442 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
40443 (grub_biosdisk_rw): Support reading from cd device.
40444 (GRUB_MOD_INIT): Iterate cd devices.
40445
40446 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
40447 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
40448 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
40449
40450 * kern/i386/pc/init.c (make_install_device): Check for cd device.
40451
4020aa53 404522008-02-02 Robert Millan <rmh@aybabtu.com>
40453
40454 * commands/read.c: New file.
40455 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
40456 (read_mod_SOURCES): New variable.
40457 (read_mod_CFLAGS): Likewise.
40458 (read_mod_LDFLAGS): Likewise.
40459
e03a1132 404602008-02-02 Robert Millan <rmh@aybabtu.com>
40461
40462 * normal/main.c (grub_normal_execute): Check for `menu->size' when
40463 determining whether menu has to be displayed.
40464
58c69220 404652008-02-02 Marco Gerards <marco@gnu.org>
40466
40467 * bus/pci.c: New file.
40468
40469 * include/grub/pci.h: Likewise.
40470
40471 * include/grub/i386/pc/pci.h: Likewise.
40472
40473 * commands/lspci.c: Likewise.
40474
40475 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
40476 `lspci.mod'.
40477 (pci_mod_SOURCES): New variable.
40478 (pci_mod_CFLAGS): Likewise.
40479 (pci_mod_LDFLAGS): Likewise.
40480 (lspci_mod_SOURCES): Likewise.
40481 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 40482 (lspci_mod_LDFLAGS): Likewise.
58c69220 40483
c004e1b4 404842008-02-02 Bean <bean123ch@gmail.com>
40485
40486 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
40487 (grub_ufs_get_file_block): Fix indirect block calculation problem.
40488
40489 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
40490 (grub_xfs_btree_node): New structure.
40491 (grub_xfs_btree_root): New structure.
40492 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
40493 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
40494 (GRUB_XFS_EXTENT_BLOCK): Likewise.
40495 (GRUB_XFS_EXTENT_SIZE): Likewise.
40496 (grub_xfs_read_block): Support btree format type.
40497 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
40498 Use directory block as basic unit.
40499
40500 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
40501
40502 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
40503 __attribute__ ((__regparm__ (1))).
40504
f95562bf 405052008-02-01 Robert Millan <rmh@aybabtu.com>
40506
40507 Correct a mistake in previous commit.
40508
40509 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
40510 top.
40511 (normal/command.c_DEPENDENCIES): New variable.
40512
7d31f41f 405132008-02-01 Robert Millan <rmh@aybabtu.com>
40514
40515 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
40516 top.
40517 (normal/command.c_DEPENDENCIES): New variable.
40518 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
40519 * conf/i386-ieee1275.rmk: Likewise.
40520 * conf/i386-linuxbios.rmk: Likewise.
40521 * conf/i386-pc.rmk: Likewise.
40522 * conf/sparc64-ieee1275.rmk: Likewise.
40523 * conf/powerpc-ieee1275.rmk: Likewise.
40524 (grub_emu_SOURCES): Add `fs/fshelp.c'.
40525
40526 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
40527
60b6be74 405282008-02-01 Robert Millan <rmh@aybabtu.com>
40529
40530 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
40531 call at beginning of function.
40532
078522ab 405332008-01-31 Pavel Roskin <proski@gnu.org>
40534
40535 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 40536 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
40537 (grub_mkrescue_SOURCES): Likewise.
078522ab 40538 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
40539
ccaa8a5f 405402008-01-30 Robert Millan <rmh@aybabtu.com>
40541
40542 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
40543 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
40544 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
40545 (grub_probe_SOURCES): ... to here.
40546
40547 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
40548 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
40549 * conf/i386-ieee1275.rmk: Likewise.
40550 * conf/i386-linuxbios.rmk: Likewise.
40551 * conf/powerpc-ieee1275.rmk: Likewise.
40552
ae5a9cd7 405532008-01-30 Tristan Gingold <gingold@free.fr>
40554
40555 * kern/rescue.c: Silently accept empty lines.
40556
70bc2ef2 405572008-01-29 Bean <bean123ch@gmail.com>
40558
40559 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
40560 (real_code_2): Code cleanup and change comment style.
40561 (move_memory): Avoid using 32-bit address mode.
40562
6a4d50ea 405632008-01-29 Bean <bean123ch@gmail.com>
40564
40565 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
40566 (png_mod_SOURCES): New variable.
40567 (png_mod_CFLAGS): Likewise.
40568 (png_mod_LDFLAGS): Likewise.
40569
40570 * video/readers/png.c: New file.
40571
11cc30ac 405722008-01-28 Robert Millan <rmh@aybabtu.com>
40573
40574 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
40575 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
40576 `ifndef GRUB_MOD_GAP' hack.
40577 * util/elf/grub-mkimage.c (add_segments): Likewise.
40578
3abc589f 405792008-01-27 Robert Millan <rmh@aybabtu.com>
40580
40581 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
40582 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 40583 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 40584
e1907778 405852008-01-27 Robert Millan <rmh@aybabtu.com>
40586
40587 Get grub-emu to build again (including parallel builds).
40588
40589 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
40590 Split into ...
40591 (util/grub-emu.c_DEPENDENCIES): ... this, ...
40592 (normal/execute.c_DEPENDENCIES): ... this, ...
40593 (grub-emu_DEPENDENCIES): ... and this.
40594
40595 * conf/i386-efi.rmk: Likewise.
40596 * conf/i386-linuxbios.rmk: Likewise.
40597 * conf/i386-ieee1275.rmk: Likewise.
40598 * conf/powerpc-ieee1275.rmk: Likewise.
40599 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
40600
2216b101 406012008-01-27 Robert Millan <rmh@aybabtu.com>
40602
40603 * NEWS: Add a few items.
40604
f75172d9 406052008-01-27 Robert Millan <rmh@aybabtu.com>
40606
40607 Fix parallel builds with grub-emu. Based on earlier commit for
40608 grub-probe and grub-setup.
40609
40610 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40611 (util/grub-emu.c_DEPENDENCIES): ... this.
40612 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40613 (util/grub-emu.c_DEPENDENCIES): ... this.
40614 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40615 (util/grub-emu.c_DEPENDENCIES): ... this.
40616 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40617 (util/grub-emu.c_DEPENDENCIES): ... this.
40618 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
40619 (util/grub-emu.c_DEPENDENCIES): ... this.
40620
3f51de77 406212008-01-27 Pavel Roskin <proski@gnu.org>
40622
40623 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
40624 to create a gap between _end and the modules added to the image
40625 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
40626 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
40627 * util/elf/grub-mkimage.c (add_segments): Likewise.
40628
2033f53e 406292008-01-26 Pavel Roskin <proski@gnu.org>
40630
40631 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
40632 just return an error.
40633
22da1f6f 406342008-01-26 Bean <bean123ch@gmail.com>
40635
40636 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
40637 (grub_reiserfs_get_item): Save offset of the next item.
40638 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
40639
2a9525e6 406402008-01-25 Robert Millan <rmh@aybabtu.com>
40641
40642 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
40643 make all filesystem sources appear together (possibly fixing omissions
40644 while at it).
40645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40646 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40647 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40649
40650 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
40651 add `kern/file.c'.
40652 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
40653 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40654 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
40655 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
40656
40657 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
40658 (probe): Add a sanity check to make sure of our ability to read
40659 requested files when probing for filesystem type.
40660
40661 * genmk.rb: Update copyright year (2007).
40662
40663 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
40664 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
40665 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
40666 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
40667 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
40668 : Remove function prototypes.
40669
b95f71b5 406702008-01-25 Robert Millan <rmh@aybabtu.com>
40671
40672 Revert my previous commits (based on wrong assumption of how grub_errno
40673 works).
40674
fe6b695a 40675 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 40676 * kern/file.c (grub_file_open): Likewise.
40677
d08bbb49 406782008-01-24 Pavel Roskin <proski@gnu.org>
40679
40680 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
40681 that hang if GRUB tries to setup colors.
40682 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
40683 colors for firmwares that don't support it.
40684 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
40685 Recognize Open Hack'Ware, set flags to work around its
40686 limitations.
40687
605e36ed 406882008-01-24 Robert Millan <rmh@aybabtu.com>
40689
40690 * kern/file.c (grub_file_open): Do not account previous failures of
40691 unrelated functions when grub_errno is checked for.
40692 Reported by Oleg Strikov.
40693
bac332a1 406942008-01-24 Bean <bean123ch@gmail.com>
40695
40696 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
40697 (grub_ufs_sblock): New member volume name.
40698 (grub_ufs_find_file): Fix string copy bug.
40699 (grub_ufs_label): Implement this function properly.
40700
40701 * fs/hfs.c (grub_hfs_cnid_type): New enum.
40702 (grub_hfs_iterate_records): Use the correct file number for extents
40703 and catalog file. Fix problem in next index calculation.
40704 (grub_hfs_find_node): Replace recursive function call with loop.
40705 (grub_hfs_iterate_dir): Replace recursive function call with loop.
40706
15c80c09 407072008-01-23 Robert Millan <rmh@aybabtu.com>
40708
40709 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
40710 `<grub/symbol.h>' and `<grub/multiboot.h>'.
40711 (grub_multiboot2_real_boot): New function prototype.
40712
40713 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
40714 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
40715
40716 * kern/i386/ieee1275/init.c (grub_os_area_addr)
40717 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
40718
305338fd 407192008-01-23 Robert Millan <rmh@aybabtu.com>
40720
40721 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
40722 #ifdef'ed out grub_printf().
40723
3ea52685 407242008-01-23 Robert Millan <rmh@aybabtu.com>
40725
40726 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
40727 grub_dprintf calls, since they make "debug=all" mode unusable.
40728 (grub_console_checkkey): Likewise.
40729
5882ae4b 407302008-01-23 Robert Millan <rmh@aybabtu.com>
40731
40732 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
40733 `term/i386/pc/at_keyboard.c'.
40734 (pkglib_MODULES): Add `serial.mod'.
40735 (serial_mod_SOURCES): New variable.
40736 (serial_mod_CFLAGS): Likewise.
40737 (serial_mod_LDFLAGS): Likewise.
40738
40739 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
40740 `<grub/powerpc/ieee1275/console.h>'.
40741 (grub_keyboard_controller_init): New function prototype.
40742 (grub_console_checkkey): Likewise.
40743 (grub_console_getkey): Likewise.
40744
40745 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
40746 keyboard on i386.
40747
40748 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
40749 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
40750
06ab5303 407512008-01-23 Robert Millan <rmh@aybabtu.com>
40752
40753 * kern/i386/pc/init.c (make_install_device): When memdisk image is
40754 present, "(memdisk)/boot/grub" becomes the default prefix.
40755
40756 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
40757 a memdisk tarball with all the modules. Add --overlay=DIR option that
40758 allows users to overlay additional files into the image.
40759
dbb475a4 407602008-01-23 Robert Millan <rmh@aybabtu.com>
40761
40762 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
40763 and `machine/memory.h'.
40764 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
40765 (_multiboot_mod_SOURCES): New variable.
40766 (_multiboot_mod_CFLAGS): Likewise.
40767 (_multiboot_mod_LDFLAGS): Likewise.
40768 (multiboot_mod_SOURCES): Likewise.
40769 (multiboot_mod_CFLAGS): Likewise.
40770 (multiboot_mod_LDFLAGS): Likewise.
40771
40772 * include/grub/i386/ieee1275/loader.h: New file.
40773
40774 * include/grub/i386/ieee1275/machine.h: Likewise.
40775
40776 * include/grub/i386/ieee1275/memory.h: Likewise.
40777
40778 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
40779 variable declaration.
40780 (grub_os_area_size): Likewise.
40781
40782 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
40783 (grub_lower_mem, grub_upper_mem): New variables.
40784 (grub_stop_floppy): New function (just to make
40785 grub_multiboot2_real_boot() happy).
40786
40787 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
40788 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
40789 (grub_stop): New function.
40790 Include `"../realmode.S"' and `"../loader.S"'.
40791
40792 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
40793 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
40794
40795 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
40796 rely on grub_multiboot2_real_boot() for final boot.
40797
25638629 407982008-01-22 Robert Millan <rmh@aybabtu.com>
40799
40800 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
40801 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
40802 device that doesn't look like an SD card.
40803 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
40804 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
40805 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
40806 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
40807 found.
40808
9dad816d 408092008-01-22 Robert Millan <rmh@aybabtu.com>
40810
40811 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
40812 avoid claiming over our own code.
40813
34842f2d 408142008-01-22 Bean <bean123ch@gmail.com>
40815
40816 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
40817 (jpeg_mod_SOURCES): New variable.
40818 (jpeg_mod_CFLAGS): Likewise.
40819 (jpeg_mod_LDFLAGS): Likewise.
40820
40821 * video/readers/jpeg.c : New file.
40822
44023a28 408232008-01-22 Bean <bean123ch@gmail.com>
40824
40825 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
40826 there are no more items.
40827
bc2d8ac6 408282008-01-21 Robert Millan <rmh@aybabtu.com>
40829
40830 * kern/mm.c (grub_mm_init_region): Improve debug message.
40831
261bd4bc 408322008-01-21 Robert Millan <rmh@aybabtu.com>
40833
40834 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
40835 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
40836 address.
40837 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
40838 a C macro.
40839 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
40840 Indicates start of upper memory.
40841 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
40842 (generate_image): Abort when image size is big enough to corrupt
40843 upper memory.
40844
40845 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
40846 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
40847 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40848 instead of hardcoding 0xA0000.
40849 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
40850 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
40851 instead of hardcoding 0xA0000.
40852
f970b55e 408532008-01-21 Robert Millan <rmh@aybabtu.com>
40854
40855 * disk/memdisk.c (memdisk_size): New variable.
40856 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
40857 `memdisk_size'.
40858 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
40859 image to dynamic memory.
40860 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
40861 `memdisk_size'. Free memdisk block.
40862
1a8b0526 408632008-01-21 Robert Millan <rmh@aybabtu.com>
40864
40865 Fix detection of very small filesystems (like tar).
40866
40867 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
40868 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
40869 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
40870 a problem with this disk).
40871
6e9b4aab 408722008-01-21 Robert Millan <rmh@aybabtu.com>
40873
40874 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
40875 on grub_biosdisk_rw_standard() error.
40876
0d8837b2 408772008-01-21 Robert Millan <rmh@aybabtu.com>
40878
40879 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
40880 recent changes.
40881 * kern/elf.c: Likewise.
40882 * kern/ieee1275/ieee1275.c: Likewise.
40883 * kern/powerpc/ieee1275/openfw.c: Likewise.
40884 * term/ieee1275/ofconsole.c: Likewise.
40885
ffd36e34 408862008-01-21 Robert Millan <rmh@aybabtu.com>
40887
40888 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
40889
3f0093d0 40890 * include/grub/kernel.h (grub_arch_memdisk_addr)
40891 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 40892
3f0093d0 40893 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
40894 (grub_arch_memdisk_size): ... to here.
ffd36e34 40895
6c391b21 408962008-01-21 Robert Millan <rmh@aybabtu.com>
40897
40898 Mostly based on bugfix from Bean.
40899
40900 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
40901 attribute with hook() parameter.
40902 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
40903 declaration.
40904 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
40905 attribute with hook() parameter.
40906 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
40907 declaration.
40908
55a581dc 409092008-01-21 Robert Millan <rmh@aybabtu.com>
40910
40911 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
40912 (pkglib_MODULES): Add `memdisk.mod'.
40913 (memdisk_mod_SOURCES): New variable.
40914 (memdisk_mod_CFLAGS): Likewise.
40915 (memdisk_mod_LDFLAGS): Likewise.
40916
40917 * disk/memdisk.c: New file.
40918
40919 * include/grub/disk.h (grub_disk_dev_id): Add
40920 `GRUB_DISK_DEVICE_MEMDISK_ID'.
40921
40922 * include/grub/i386/pc/kernel.h
40923 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
40924 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
40925 (grub_kernel_image_size): New variable declaration.
40926 (grub_total_module_size): Likewise.
40927 (grub_memdisk_image_size): Likewise.
40928
40929 * include/grub/i386/pc/memory.h
40930 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
40931
40932 * include/grub/kernel.h: Include `<grub/symbol.h>'.
40933 (grub_arch_memdisk_addr): New variable declaration.
40934 (grub_arch_memdisk_size): Likewise.
40935
40936 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
40937 (grub_arch_memdisk_size): Likewise.
40938
40939 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
40940 (codestart): Replace hardcoded `0x100000' with
40941 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
40942
40943 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
40944 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
40945 not NULL, append the contents of the file it refers to, at the end of
40946 the compressed kernel image. Initialize `grub_memdisk_image_size'
40947 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
40948 (options): Add "memdisk"|'m' option.
40949 (main): Parse --memdisk|-m option, and pass user-provided path as
40950 parameter to generate_image().
40951
3d7f54c9 409522008-01-20 Robert Millan <rmh@aybabtu.com>
40953
40954 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
40955 grub_dprintf() calls from here ...
40956 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
40957
0bf74728 409582008-01-20 Robert Millan <rmh@aybabtu.com>
40959
40960 Fix detection of "real mode" when /options/real-mode? doesn't exist.
40961
40962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
40963 declaration.
40964 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
40965 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
40966 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 40967 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 40968 property).
40969 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
40970 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
40971
33bf70a7 409722008-01-19 Robert Millan <rmh@aybabtu.com>
40973
fe6b695a 40974 Get rid of confusing function (superseded by
33bf70a7 40975 `grub_ieee1275_get_integer_property')
40976 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
40977 prototype.
40978 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
40979 function.
40980 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
40981 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 40982 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 40983
e2da7d26 409842008-01-19 Robert Millan <rmh@aybabtu.com>
40985
40986 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
40987 command after "shut-down", since implementations differ on which
40988 the command for halt is.
40989
59f1fd8d 409902008-01-19 Robert Millan <rmh@aybabtu.com>
40991
40992 * include/grub/i386/linuxbios/console.h: Add header protection.
40993 (grub_keyboard_controller_init): New function prototype.
40994 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
40995 (KEYBOARD_COMMAND_READ): Likewise.
40996 (KEYBOARD_COMMAND_WRITE): Likewise.
40997 (KEYBOARD_SCANCODE_SET1): Likewise.
40998 (grub_keyboard_controller_write): New function.
40999 (grub_keyboard_controller_read): Likewise.
41000 (grub_keyboard_controller_init): Likewise.
41001
41002 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
41003 (grub_console_init): On coreboot/LinuxBIOS, call
41004 grub_keyboard_controller_init().
41005
5f5a7c15 410062008-01-19 Robert Millan <rmh@aybabtu.com>
41007
41008 PowerPC changes provided by Pavel Roskin.
41009
41010 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
41011 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
41012 don't rely on cmain() doing it.
41013 * kern/i386/ieee1275/startup.S (_start): Store %eax in
41014 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
41015
1210e168 410162008-01-16 Robert Millan <rmh@aybabtu.com>
41017
41018 * include/grub/i386/linuxbios/memory.h
41019 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
41020 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
41021 receive `table_header' as argument. Instead, probe for it in the
41022 known memory ranges where it can be present.
41023 (grub_available_iterate): Do not pass a fixed `table_header' address
41024 to grub_linuxbios_table_iterate().
41025
3d04eab8 410262008-01-15 Robert Millan <rmh@aybabtu.com>
41027
41028 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
41029 * conf/i386-ieee1275.rmk: New file.
41030 * include/grub/i386/ieee1275/console.h: Likewise.
41031 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
41032 * include/grub/i386/ieee1275/kernel.h: Likewise.
41033 * include/grub/i386/ieee1275/time.h: Likewise.
41034 * kern/i386/ieee1275/init.c: Likewise.
41035 * kern/i386/ieee1275/startup.S: Likewise.
41036
d1bc1b73 410372008-01-15 Robert Millan <rmh@aybabtu.com>
41038
41039 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
41040 when pointers are 32-bit (but still do set it to one when they are
41041 64-bit).
41042
66a65807 410432008-01-15 Robert Millan <rmh@aybabtu.com>
41044
41045 * include/grub/ieee1275/ieee1275.h
41046 (grub_ieee1275_get_integer_property): New function prototype.
41047
41048 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
41049 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 41050 grub_ieee1275_get_property() to handle endianness.
66a65807 41051
41052 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
41053 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 41054 where appropriate.
66a65807 41055 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
41056 (grub_map): Likewise.
41057 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
41058
a83ccafd 410592008-01-15 Bean <bean123ch@gmail.com>
41060
41061 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
41062 (grub_script_execute_cmdline): Reset grub_errno.
41063
41064 * normal/main.c (read_config_file): Reset grub_errno.
41065
41066 * normal/parse.y (script_init): New.
41067 (script): Move function and menuentry here.
41068 (delimiter): New.
41069 (command): Add delimiter at the end of command.
41070 (commands): Adjust to match the new command.
41071 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 41072 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 41073 (if): Use the new commands.
41074
41075 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
41076
df6ecfc6 410772008-01-15 Robert Millan <rmh@aybabtu.com>
41078
41079 * normal/menu.c (run_menu): Move timeout message from here ...
41080 (print_timeout): ... to here.
41081 (run_menu): Use print_timeout() once during initial draw to print
41082 the whole message, and again in every clock tick to update only
41083 the number of seconds.
41084
87ae25eb 410852008-01-15 Robert Millan <rmh@aybabtu.com>
41086
41087 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
41088 actual size of `available' from grub_ieee1275_get_property(), and
41089 restrict parsing to that bound.
41090
47bf09a4 410912008-01-15 Christian Franke <franke@computer.org>
41092
41093 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
41094 (argp_program_version): Remove variable.
41095 (argp_program_bug_address): Likewise.
41096 (options): Convert from struct argp_option to struct option.
41097 (struct arguments): Remove.
41098 (parse_opt): Remove.
41099 (usage): New function.
41100 (main): Replace struct args members by simple variables.
41101 Replace argp_parse() by getopt_long().
41102 Add switch to evaluate options.
41103 Add missing "(...)" around root_dev in prefix string.
41104
c86f1469 411052008-01-14 Robert Millan <rmh@aybabtu.com>
41106
41107 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
41108 for grub_ieee1275_exit(), in order to improve portability.
41109
e622c559 411102008-01-14 Robert Millan <rmh@aybabtu.com>
41111
41112 * util/grub.d/10_linux.in (prefix): Define.
41113 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
41114
44cb1ec8 411152008-01-13 Pavel Roskin <proski@gnu.org>
41116
41117 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
41118 grub_errno if no errors have been detected.
41119
1eb8c802 411202008-01-12 Robert Millan <rmh@aybabtu.com>
41121
41122 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
41123 (grub_util_get_dev_abstraction): New function prototype.
41124
41125 * util/getroot.c: Include `<grub/util/getroot.h>'
41126 (grub_util_get_grub_dev): Move detection of abstraction type to ...
41127 (grub_util_get_dev_abstraction): ... here (new function).
41128
41129 * util/grub-probe.c: Convert PRINT_* to an enum. Add
41130 `PRINT_ABSTRACTION'.
41131 (probe): Probe for abstraction type when requested.
41132 (main): Understand `--target=abstraction'.
41133
41134 * util/i386/efi/grub-install.in: Add abstraction module to core
41135 image when it is found to be necessary.
41136 * util/i386/pc/grub-install.in: Likewise.
41137 * util/powerpc/ieee1275/grub-install.in: Likewise.
41138
41139 * util/update-grub_lib.in (font_path): Return system path without
41140 converting to GRUB path.
41141 * util/update-grub.in: Convert system path returned by font_path()
41142 to a GRUB path. Use `grub-probe -t abstraction' to determine what
41143 abstraction module is needed for loading fonts (if any). Export
41144 that as `GRUB_PRELOAD_MODULES'.
41145 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
41146 insmod commands).
41147
52bd3de9 411482008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
41149
41150 Remove some unused code from reiserfs.
f19dbdb7 41151
52bd3de9 41152 * fs/reiserfs.c (struct grub_reiserfs_key)
41153 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
41154 (struct grub_reiserfs_node_body): Removed.
41155 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41156 Likewise.
41157 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41158 Likewise.
41159 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41160 Likewise.
41161 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
41162 Likewise.
41163 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
41164 Likewise.
41165 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
41166 Likewise.
41167 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41168 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41169 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
41170
2f80039d 411712008-01-10 Robert Millan <rmh@aybabtu.com>
41172
41173 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
41174 Determines if a file is garbage left by packaging systems, etc.
41175 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
41176 for processing /etc/grub.d scripts.
41177 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
41178 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
41179 as a condition for processing Linux images.
41180
87888032 411812008-01-10 Pavel Roskin <proski@gnu.org>
41182
41183 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
41184 to compile reiserfs.c on PowerPC.
41185
7e54fced 411862008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 41187
41188 * kern/device.c (grub_device_iterate): Do not abort device iteration
41189 when one of the devices cannot be opened.
41190 * kern/disk.c (grub_disk_open): Do not account previous failures of
41191 unrelated functions when grub_errno is checked for.
41192
5aa541e6 411932008-01-08 Robert Millan <rmh@aybabtu.com>
41194
41195 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
41196 `! grub_linux_is_bzimage', change order of address comparison to make
41197 it more intuitive, and improve "too big zImage" error message.
41198
7076340d 411992008-01-08 Robert Millan <rmh@aybabtu.com>
41200
41201 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
41202 `$(update-grub_DATA)'.
41203 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
41204 targets.
41205
9ca70333 412062008-01-07 Robert Millan <rmh@aybabtu.com>
41207
41208 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
41209 which instruction is modified by grub-setup during installation
41210 (since it wasn't obvious by only looking at this file).
41211
38ccf575 412122008-01-07 Robert Millan <rmh@aybabtu.com>
41213
41214 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
41215 listing actual TODO items.
41216
f5db4291 412172008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41218
868967cf 41219 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
41220 correctly.
41221 (grub_reiserfs_get_key_offset): Likewise.
41222 (grub_reiserfs_set_key_offset): Likewise.
41223 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 41224 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 41225
41226 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
41227 better to remove the bitfield version completely.
f19dbdb7 41228
868967cf 412292008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41230
f5db4291 41231 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
41232 allocated from the heap, due to the fshelp implementation.
41233 (grub_reiserfs_dir): Free NODE, due to the same reason.
41234
492e6d9d 412352008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41236
41237 Mostly from Vincent Pelletier:
f19dbdb7 41238
492e6d9d 41239 * fs/reiserfs.c: New file.
f19dbdb7 41240
492e6d9d 41241 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
41242 (reiserfs_mod_SOURCES): New variable.
41243 (reiserfs_mod_CFLAGS): Likewise.
41244 (reiserfs_mod_LDFLAGS): Likewise.
41245
41246 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
41247 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
41248 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
41249 normal/color.c.
41250
9ce3e7c1 412512008-01-06 Robert Millan <rmh@aybabtu.com>
41252
41253 * normal/color.c: Remove `<grub/env.h>'.
41254
f3b58148 412552008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
41256
41257 * include/grub/normal.h: Include <grub/env.h>.
41258
7ac3bcfa 412592008-01-05 Robert Millan <rmh@aybabtu.com>
41260
41261 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
41262 usage example with `(hd0,1)'.
fb358190 41263 Reported by Samuel Thibault.
7ac3bcfa 41264
c8ee99d7 412652008-01-05 Robert Millan <rmh@aybabtu.com>
41266
41267 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
41268 (grub_linux_boot_zimage): Rename to ...
41269 (grub_linux_boot): ... this.
41270 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
41271 (grub_linux_boot_zimage): Conditionalize zImage copy.
41272
41273 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
41274 (grub_linux_boot_bzimage): Remove prototype.
41275 (grub_linux_boot_zimage): Rename to ...
41276 (grub_linux_boot): ... this.
41277
41278 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
41279 (grub_linux_boot): Remove function.
41280
0ece25b1 412812008-01-05 Robert Millan <rmh@aybabtu.com>
41282
41283 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
41284 (grub_env_write_color_highlight): Likewise.
41285 (grub_wait_after_message): Likewise.
41286
41287 * normal/color.c: New file.
41288
41289 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41290 (normal_mod_DEPENDENCIES): Likewise.
41291
41292 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41293 (normal_mod_DEPENDENCIES): Likewise.
41294
41295 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41296 (normal_mod_DEPENDENCIES): Likewise.
41297
41298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
41299 (normal_mod_DEPENDENCIES): Likewise.
41300
41301 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
41302 for waiting after a message is printed.
41303 * normal/main.c (read_config_file): Likewise.
41304 (grub_normal_init): Register grub_env_write_color_normal() and
41305 grub_env_write_color_highlight() hooks. Mark `color_normal' and
41306 `color_highlight' variables as global.
41307
41308 * normal/menu.c (grub_wait_after_message): New function.
41309 (grub_color_menu_normal): New variable. Replaces ...
41310 (GRUB_COLOR_MENU_NORMAL): ... this macro.
41311 (grub_color_menu_highlight): New variable. Replaces ...
41312 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
41313 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
41314 `GRUB_TERM_COLOR_STANDARD'.
41315 (print_message): Use `grub_setcolorstate' to reload colors. Rename
41316 `normal_code' and `highlight_code' to `old_color_normal' and
41317 `old_color_highlight', respectively.
41318 (grub_menu_init_page): Update colors when drawing the menu, based on
41319 `menu_color_normal' and `menu_color_highlight' variables.
41320 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
41321 a message is printed.
41322
182dd4e5 413232008-01-05 Robert Millan <rmh@aybabtu.com>
41324
41325 * kern/env.c (grub_env_context_open): Propagate hooks for global
41326 variables to new context.
41327
41328 * kern/main.c (grub_set_root_dev): Export `root' variable.
41329
ddf8f6ad 413302008-01-05 Robert Millan <rmh@aybabtu.com>
41331
41332 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 41333 discs unconditionally, since udev and others have options to provide
ddf8f6ad 41334 them.
41335
d8b43d9b 413362008-01-05 Robert Millan <rmh@aybabtu.com>
41337
41338 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
41339
2bff2de3 413402008-01-04 Christian Franke <franke@computer.org>
41341
41342 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
41343 of eisa_mmap.
41344
97eab917 413452008-01-03 Pavel Roskin <proski@gnu.org>
41346
41347 * kern/i386/linuxbios/init.c: Put "void" to all function
41348 declarations with no arguments.
41349 * kern/powerpc/ieee1275/init.c: Likewise.
41350 * term/i386/pc/at_keyboard.c: Likewise.
41351 * term/i386/pc/vga_text.c: Likewise.
41352 * util/grub-mkdevicemap.c: Likewise.
41353
b9416d00 413542008-01-02 Robert Millan <rmh@aybabtu.com>
41355
41356 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
41357 message when loaded image is out of bounds.
41358 (grub_multiboot_load_elf64): Likewise.
41359
92695df9 413602008-01-02 Pavel Roskin <proski@gnu.org>
41361
41362 * util/grub.d/10_linux.in: Try version without ".old" when
41363 looking for initrd. It's better to use initrd from the newer
41364 kernel of the same version than no initrd at all.
41365
d98d9cad 413662008-01-01 Robert Millan <rmh@aybabtu.com>
41367
41368 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
41369
dbfdce36 413702008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
41371
f19dbdb7 41372 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 41373 grub_video_get_active_render_target.
41374 (grub_video_adapter): Added unmap_color and get_active_render_target.
41375
f19dbdb7 41376 * video/video.c: Added grub_video_unmap_color and
dbfdce36 41377 grub_video_get_active_render_target.
41378 (grub_video_get_info): Changed method to accept NULL pointer as an
41379 argument to allow detection of active video adapter.
41380
41381 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
41382 grub_video_vbe_unmap_color_int.
41383 Added grub_video_vbe_unmap_color and
41384 grub_video_vbe_get_active_render_target.
41385 (grub_video_vbe_adapter): Added unmap_color and
41386 get_active_render_target.
41387
f19dbdb7 41388 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 41389 with grub_video_vbe_unmap_color_int.
41390
41391 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
41392 (DEFAULT_NORMAL_COLOR): Likewise.
41393 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
41394 (DEFAULT_FG_COLOR): Removed.
41395 (DEFAULT_BG_COLOR): Likewise.
41396 (DEFAULT_CURSOR_COLOR): Changed value.
41397 (grub_virtual_screen): Added standard_color_setting,
41398 normal_color_setting, highlight_color_setting and term_color.
41399 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
41400 (bitmap_width): Added.
41401 (bitmap_height): Likewise.
41402 (bitmap): Likewise.
41403 (set_term_color): Likewise.
41404 (grub_virtual_screen_setup): Changed to use new terminal coloring
41405 settings.
41406 (grub_gfxterm_init): Added init for bitmap.
41407 (grub_gfxterm_fini): Added destroy for bitmap.
41408 (redraw_screen_rect): Updated to use background bitmap and new
41409 terminal coloring.
41410 (scroll_up): Added optimization for case when there is no bitmap.
41411 (grub_gfxterm_cls): Fixed to use correct background color.
41412 (grub_virtual_screen_setcolorstate): Changed to use new terminal
41413 coloring.
41414 (grub_virtual_screen_setcolor): Likewise.
41415 (grub_virtual_screen_getcolor): Added.
41416 (grub_gfxterm_background_image_cmd): Likewise.
41417 (grub_video_term): Added setcolor and getcolor.
41418 (MOD_INIT): Added registration of background_image command.
41419 (MOD_TERM): Added unregistration for background_image command.
41420
c3c20931 414212007-12-30 Pavel Roskin <proski@gnu.org>
41422
41423 * loader/multiboot_loader.c: Fix multiboot command
41424 unregistration. Fix all typos in the word "multiboot".
41425
df266716 414262007-12-29 Pavel Roskin <proski@gnu.org>
94239199 41427
41428 * util/grub.d/10_linux.in: Refactor search for initrd. Add
41429 support for initrd names used in Fedora.
41430
fc6e896c 414312007-12-26 Bean <bean123ch@gmail.com>
41432
41433 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
41434 (cpio_mod_SOURCES): New variable.
41435 (cpio_mod_CFLAGS): Likewise.
41436 (cpio_mod_LDFLAGS): Likewise.
41437
41438 * fs/cpio.c: New file.
41439
41440 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
41441
41442 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41443
41444 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41445
41446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41447
533110ad 414482007-12-25 Robert Millan <rmh@aybabtu.com>
41449
41450 * include/grub/term.h (struct grub_term): Add `getcolor' function.
41451 (grub_getcolor): New function.
41452
41453 * kern/term.c (grub_getcolor): New function.
41454 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
41455 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
41456 (print_entry): Set normal and highlight colors to
41457 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
41458 respectively, before printing and restore them to old
41459 values afterwards.
41460 (grub_menu_init_page): Likewise. Fill an additional colored space
41461 that would otherwise be left blank.
41462
41463 * term/efi/console.c (grub_console_getcolor): New function.
41464 (struct grub_console_term.getcolor): New variable.
41465 * term/i386/pc/console.c (grub_console_getcolor): New function.
41466 (struct grub_console_term.getcolor): New variable.
41467 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
41468 (struct grub_console_term.getcolor): New variable.
41469
41470 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
41471 (struct grub_console_term.setcolor): Remove variable.
41472 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
41473 (struct grub_console_term.setcolor): Remove variable.
41474 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
41475 (struct grub_console_term.setcolor): Remove variable.
41476 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
41477 (struct grub_console_term.setcolor): Remove variable.
41478
4931827f 414792007-12-25 Robert Millan <rmh@aybabtu.com>
41480
41481 * configure.ac: Search for possible unifont.hex locations, and
41482 define UNIFONT_HEX if found.
41483
41484 * Makefile.in (UNIFONT_HEX): Define variable.
41485 (DATA): Rename to ...
41486 (PKGLIB): ... this. Update all users.
41487 (PKGDATA): New variable.
41488 (pkgdata_IMAGES): Rename to ...
41489 (pkglib_IMAGES): ... this. Update all users.
41490 (pkgdata_MODULES): Rename to ...
41491 (pkglib_MODULES): ... this. Update all users.
41492 (pkgdata_PROGRAMS): Rename to ...
41493 (pkglib_PROGRAMS): ... this. Update all users.
41494 (pkgdata_DATA): Rename to ...
41495 (pkglib_DATA): ... this. Update all users.
41496 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
41497 (unicode.pff, ascii.pff): New rules.
41498 (all-local): Add `$(PKGDATA)' dependency.
41499 (install-local): Process `$(PKGDATA)'.
41500
41501 * util/update-grub_lib.in (font_path): Search for *.pff files in
41502 a few more locations, including `${pkgdata}'.
41503
57e57e31 415042007-12-23 Robert Millan <rmh@aybabtu.com>
41505
41506 Patch from Bean <bean123ch@gmail.com>:
41507 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
41508 `size'.
41509
4bc72aa9 415102007-12-21 Bean <bean123ch@gmail.com>
41511
41512 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
41513 (ntfscomp_mod_SOURCES): New variable.
41514 (ntfscomp_mod_CFLAGS): Likewise.
41515 (ntfscomp_mod_LDFLAGS): Likewise.
41516
41517 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
41518 (grub_probe_SOURCES): Likewise.
41519 (grub_emu_SOURCES): Likewise.
41520
41521 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41522 (grub_emu_SOURCES): Likewise.
41523
41524 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41525 (grub_emu_SOURCES): Likewise.
41526
41527 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
41528 (grub_emu_SOURCES): Likewise.
41529
41530 * fs/ntfs.c (grub_ntfscomp_func): New variable.
41531 (read_run_list): Renamed to grub_ntfs_read_run_list.
41532 (decomp_nextvcn): Moved to ntfscomp.c.
41533 (decomp_getch): Likewise.
41534 (decomp_get16): Likewise.
41535 (decomp_block): Likewise.
41536 (read_block): Likewise.
41537 (read_data): Partially moved to ntfscomp.c.
41538 (fixup): Change unsigned to grub_uint16_t.
41539 (read_mft): Change unsigned long to grub_uint32_t.
41540 (read_attr): Likewise.
41541 (read_data): Likewise.
41542 (read_run_data): Likewise.
41543 (read_run_list): Likewise.
41544 (read_mft): Likewise.
41545
41546 * fs/ntfscomp.c: New file.
41547
41548 * include/grub/ntfs.h: New file.
41549
af680a87 415502007-12-16 Robert Millan <rmh@aybabtu.com>
41551
41552 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
41553 IDE disk check, since Linux is known to support 20 IDE disks.
41554 Reported by Colin Watson.
41555
84be7599 415562007-12-15 Bean <bean123ch@gmail.com>
41557
41558 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
41559 (lnxboot_img_SOURCES): New variable.
41560 (lnxboot_img_ASFLAGS): Likewise.
41561 (lnxboot_img_LDFLAGS): Likewise.
41562
41563 * boot/i386/pc/lnxboot.S: New file.
41564
6af9db01 415652007-11-24 Pavel Roskin <proski@gnu.org>
41566
41567 * configure.ac: Test if '--build-id=none' is supported by the
41568 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
41569 objcopy to generate incorrect binary files (binutils
41570 2.17.50.0.18-1 as shipped by Fedora 8).
41571 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
41572 linking, so that build ID doesn't break the test.
41573
7361cfe6 415742007-11-24 Pavel Roskin <proski@gnu.org>
41575
41576 * include/grub/i386/time.h: use "void" in the argument list
41577 of grub_cpu_idle().
41578 * include/grub/powerpc/time.h: Likewise.
41579 * include/grub/sparc64/time.h: Likewise.
41580
1593e10c 415812007-11-18 Christian Franke <franke@computer.org>
41582
41583 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
41584 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
41585 This fixes the problem that function keys did not work in grub-emu.
41586
3b8db1a8 415872007-11-18 Christian Franke <franke@computer.org>
41588
41589 * disk/host.c (grub_host_open): Remove attribute unused from
41590 name parameter. Add check for "host". This fixes the problem
41591 that grub-emu does not find partitions.
41592
2e29408d 415932007-11-18 Christian Franke <franke@computer.org>
41594
41595 * util/hostfs.c (is_dir): New function.
41596 (grub_hostfs_dir): Handle missing dirent.d_type case.
41597 (grub_hostfs_read): Add missing fseek().
41598 (grub_hostfs_label): Clear label pointer. This fixes a crash
41599 of grub-emu on "ls (host)".
41600
398cd047 416012007-11-18 Christian Franke <franke@computer.org>
41602
41603 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
41604 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
41605 to 64 bit boundary by default.
41606
c405c391 416072007-11-18 Bean <bean123ch@gmail.com>
41608
41609 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
41610 (hexdump_mod_SOURCES): New variable.
41611 (hexdump_mod_CFLAGS): Likewise.
41612 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 41613
c405c391 41614 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41615
41616 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41617
41618 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41619
41620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
41621
41622 * include/grub/hexdump.h: New file.
41623
41624 * commands/hexdump.c: New file.
41625
5cced7fd 416262007-11-10 Robert Millan <rmh@aybabtu.com>
41627
41628 * commands/i386/pc/play.c (beep_off): Switch order of arguments
41629 in grub_outb() calls.
41630 (beep_on): Likewise.
41631
8b714eb0 416322007-11-10 Christian Franke <franke@computer.org>
41633
41634 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
41635 (grub_menu_run): Likewise.
41636
ce0f1839 416372007-11-10 Robert Millan <rmh@aybabtu.com>
41638
41639 * include/grub/i386/efi/machine.h: New file.
41640 * include/grub/i386/linuxbios/machine.h: Likewise.
41641 * include/grub/i386/pc/machine.h: Likewise.
41642 * include/grub/powerpc/ieee1275/machine.h: Likewise.
41643 * include/grub/sparc64/ieee1275/machine.h: Likewise.
41644
41645 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
41646 (serial_hw_io_addr): New variable.
41647 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
41648 instead of `(unsigned short *) 0x400'.
41649
270c237d 416502007-11-10 Bean <bean123ch@gmail.com>
41651
41652 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
41653
a87783bf 416542007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41655
41656 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
41657 (vga_mod_SOURCES): Added.
41658 (vga_mod_CFLAGS): Likewise.
41659 (vga_mod_LDFLAGS): Likewise.
41660
41661 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
41662 grub_outb() calls.
41663 (set_map_mask): Likewise.
41664 (set_read_map): Likewise.
41665 (set_read_address): Likewise.
41666 (vga_font): Removed variable.
41667 (get_vga_glyph): Removed function.
41668 (invalidate_char): Likewise.
41669 (write_char): Changed to use grub_font_get_glyph() for font
41670 information.
41671 (grub_vga_putchar): Likewise.
41672 (grub_vga_getcharwidth): Likewise.
41673
6433b448 416742007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
41675
41676 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
41677 flags.
41678 (pxeboot_img_LDFLAGS): Likewise.
41679 (diskboot_img_LDFLAGS): Likewise.
41680 (kernel_img_LDFLAGS): Likewise.
41681
49178511 416822007-11-06 Robert Millan <rmh@aybabtu.com>
41683
41684 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
41685 in grub_outb() calls.
41686 (serial_hw_init): Likewise.
41687
53b052de 416882007-11-05 Robert Millan <rmh@aybabtu.com>
41689
41690 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
41691 spaces. Skip non-regular files.
41692
5ab33bba 416932007-11-05 Robert Millan <rmh@aybabtu.com>
41694
41695 * kern/disk.c (grub_disk_firmware_fini)
41696 (grub_disk_firmware_is_tainted): New variables.
41697
41698 * include/grub/disk.h (grub_disk_firmware_fini)
41699 (grub_disk_firmware_is_tainted): Likewise.
41700
41701 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
41702 (grub_disk_biosdisk_fini): ... to here.
41703 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
41704 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
41705 is set. Register grub_disk_biosdisk_fini() in
41706 `grub_disk_firmware_fini'.
41707
41708 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
41709 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
41710 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
41711 to finish existing firmware disk interface.
41712
41713 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
41714 (ata_mod_SOURCES): New variable.
41715 (ata_mod_CFLAGS): Likewise.
41716 (ata_mod_LDFLAGS): Likewise.
41717
0149ab7c 417182007-11-05 Robert Millan <rmh@aybabtu.com>
41719
41720 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
41721 (grub_ata_wait): Reimplement using grub_millisleep().
41722
41723 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
41724 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
41725
be7ac41e 417262007-11-03 Marco Gerards <marco@gnu.org>
41727
41728 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
41729 (CRTC_ADDR_PORT): New macro.
41730 (CRTC_DATA_PORT): Likewise.
41731 (CRTC_CURSOR): Likewise.
41732 (CRTC_CURSOR_ADDR_HIGH): Likewise.
41733 (CRTC_CURSOR_ADDR_LOW): Likewise.
41734 (update_cursor): New function.
41735 (grub_console_real_putchar): Call `update_cursor'.
41736 (grub_console_gotoxy): Likewise.
41737 (grub_console_cls): Set the default color when clearing the
41738 screen.
41739 (grub_console_setcursor): Implemented.
41740
bb06ab2e 417412007-11-03 Marco Gerards <marco@gnu.org>
41742
41743 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
41744 become activate.
41745 (grub_ata_pio_write): Likewise.
41746
41747 (grub_atapi_identify): Wait after issuing an ATA command.
41748 (grub_atapi_packet): Likewise.
41749 (grub_ata_identify): Likewise.
41750 (grub_ata_readwrite): Likewise.
41751
cf8f780b 417522007-11-03 Marco Gerards <marco@gnu.org>
41753
41754 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
41755 (grub_ata_pio_write): Likewise.
41756 (grub_ata_readwrite): Use `grub_error', instead of
41757 returning `grub_errno'.
41758
ed649e54 417592007-11-03 Marco Gerards <marco@gnu.org>
41760
41761 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
41762 grub_ata_pio_write once for every single sector, instead of for
41763 multiple sectors.
41764
ca25d8f0 417652007-10-31 Robert Millan <rmh@aybabtu.com>
41766
41767 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
41768
41769 * conf/i386-linuxbios.rmk: New file.
41770
41771 * kern/i386/pc/hardware.c: Likewise.
41772 * term/i386/pc/at_keyboard.c: Likewise.
41773 * term/i386/pc/vga_text.c: Likewise.
41774
41775 * include/grub/i386/linuxbios/boot.h: Likewise.
41776 * include/grub/i386/linuxbios/console.h: Likewise.
41777 * include/grub/i386/linuxbios/init.h: Likewise.
41778 * include/grub/i386/linuxbios/kernel.h: Likewise.
41779 * include/grub/i386/linuxbios/loader.h: Likewise.
41780 * include/grub/i386/linuxbios/memory.h: Likewise.
41781 * include/grub/i386/linuxbios/serial.h: Likewise.
41782 * include/grub/i386/linuxbios/time.h: Likewise.
41783
41784 * kern/i386/linuxbios/init.c: Likewise.
41785 * kern/i386/linuxbios/startup.S: Likewise.
41786 * kern/i386/linuxbios/table.c: Likewise.
41787
e911ecc1 417882007-10-31 Marco Gerards <marco@gnu.org>
41789
41790 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
41791 (ata_mod_SOURCES): New variable.
41792 (ata_mod_CFLAGS): Likewise.
41793 (ata_mod_LDFLAGS): Likewise.
41794
41795 * disk/ata.c: New file.
41796
41797 * include/grub/disk.h (grub_disk_dev_id): Add
41798 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 41799
7f66d0e0 418002007-10-31 Robert Millan <rmh@aybabtu.com>
41801
41802 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
41803 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
41804
41805 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
41806 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
41807
41808 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
41809 `<grub/types.h>'.
41810
41811 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
41812
5cd7dd46 418132007-10-27 Robert Millan <rmh@aybabtu.com>
41814
3236ca65 41815 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 41816
2ebfc90f 418172007-10-22 Robert Millan <rmh@aybabtu.com>
41818
41819 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
41820 `"../realmode.S"'.
41821 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
41822
73fcb0f3 418232007-10-22 Robert Millan <rmh@aybabtu.com>
41824
41825 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
41826 (pkgdata_MODULES): Add `biosdisk.mod'.
41827 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
41828 variables.
41829
41830 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
41831 (grub_biosdisk_init): Replace with ...
41832 (GRUB_MOD_INIT(biosdisk)): ... this.
41833 (grub_biosdisk_fini): Replace with ...
41834 (GRUB_MOD_FINI(biosdisk)): ... this.
41835
41836 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
41837 (grub_machine_init): Remove call to grub_biosdisk_init().
41838 (grub_machine_fini): Remove call to grub_machine_fini().
41839
41840 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
41841
3381d274 418422007-10-22 Robert Millan <rmh@aybabtu.com>
41843
41844 * include/grub/time.h: New file.
41845 * include/grub/i386/time.h: Likewise.
41846 * include/grub/powerpc/time.h: Likewise.
41847 * include/grub/sparc64/time.h: Likewise.
41848
41849 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
41850 instances to ...
41851 (KERNEL_MACHINE_TIME_HEADER): ... this.
41852 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41853 instances to ...
41854 (KERNEL_MACHINE_TIME_HEADER): ... this.
41855 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
41856 instances to ...
41857 (KERNEL_MACHINE_TIME_HEADER): ... this.
41858
41859 * kern/i386/efi/init.c: Include `<grub/time.h>'.
41860 (grub_millisleep): New function.
41861 * kern/i386/pc/init.c: Include `<grub/time.h>'.
41862 (grub_millisleep): New function.
41863 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
41864 Remove `grub/machine/time.h' include.
41865 (grub_millisleep): New function.
41866 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
41867 Remove `grub/machine/time.h' include.
41868 (grub_millisleep): New function.
41869
41870 * include/grub/misc.h (grub_div_roundup): New function.
41871
41872 * kern/misc.c: Include `<grub/time.h>'.
41873 (grub_millisleep_generic): New function.
41874
41875 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
41876 Add `time.h'.
41877 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
41878 Add `time.h'.
41879 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
41880 `machine/time.h'. Add `time.h'.
41881 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
41882
a39a0312 418832007-10-21 Robert Millan <rmh@aybabtu.com>
41884
41885 * include/grub/misc.h (grub_max): New function.
41886
2aad70e2 418872007-10-21 Robert Millan <rmh@aybabtu.com>
41888
41889 * util/misc.c (grub_util_info): Call fflush() before returning.
41890
54b71c4b 418912007-10-20 Robert Millan <rmh@aybabtu.com>
41892
41893 * genmk.rb (Image): Copy `extra_flags' from here ...
41894 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
41895
41896 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
41897 to `argc' and `args' arguments.
41898
a979f513 418992007-10-17 Robert Millan <rmh@aybabtu.com>
41900
41901 * kern/i386/loader.S: New file.
41902
41903 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
41904 * kern/i386/loader.S (grub_linux_prot_size)... to here.
41905 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
41906 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
41907 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
41908 * kern/i386/loader.S (grub_linux_real_addr)... to here.
41909 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
41910 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
41911 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
41912 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
41913 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
41914 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
41915 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
41916 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
41917
41918 * kern/i386/realmode.S: New file.
41919
41920 * kern/i386/pc/startup.S (protstack): Moved from here ...
41921 * kern/i386/realmode.S (protstack)... to here.
41922 * kern/i386/pc/startup.S (gdt): Moved from here ...
41923 * kern/i386/realmode.S (gdt)... to here.
41924 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
41925 * kern/i386/realmode.S (prot_to_real)... to here.
41926
41927 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
41928 `kern/i386/realmode.S'.
41929
825fc8fd 419302007-10-17 Robert Millan <rmh@aybabtu.com>
41931
41932 * include/grub/i386/loader.h: New file.
41933
41934 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
41935 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41936 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41937 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41938 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
41939 * include/grub/i386/loader.h (grub_linux_prot_size)
41940 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41941 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41942 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41943 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
41944
41945 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
41946
e179b2f4 419472007-10-15 Robert Millan <rmh@aybabtu.com>
41948
41949 * normal/misc.c (grub_normal_print_device_info): Do not probe for
41950 filesystem when dev->disk is unset.
41951 Do probe for filesystem even when dev->disk->has_partitions is set.
41952 In case a filesystem is found, always report it.
41953 In case it isn't, if dev->disk->has_partitions is set, report that
41954 a partition table was found instead of reporting that no filesystem
41955 could be identified.
41956
5db82af6 419572007-10-12 Robert Millan <rmh@aybabtu.com>
41958
41959 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
41960 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
41961
68f6ac74 41962 * include/grub/types.h (grub_host_to_target16): New macro.
41963 (grub_host_to_target32): Likewise.
41964 (grub_host_to_target64): Likewise.
41965 (grub_target_to_host16): Likewise.
41966 (grub_target_to_host32): Likewise.
41967 (grub_target_to_host64): Likewise.
5db82af6 41968
41969 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41970 Renamed from to ...
41971 (GRUB_MOD_ALIGN): ...this. Update all users.
41972
68f6ac74 41973 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
41974 grub_host_to_target32.
41975 Replace grub_be_to_cpu32 with grub_target_to_host32.
41976 (load_modules): Likewise.
41977 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
41978 Replace grub_be_to_cpu32 with grub_target_to_host32.
41979 Replace grub_cpu_to_be16 with grub_host_to_target16.
41980 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 41981
3cf497cc 419822007-10-12 Robert Millan <rmh@aybabtu.com>
41983
41984 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
41985 * util/elf/grub-mkimage.c: ... here.
41986
41987 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
41988 `util/powerpc/ieee1275/grub-mkimage.c'.
41989
c8cc3692 419902007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 41991
c8cc3692 41992 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
41993 and make it easier to figure out.
41994 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
41995 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
41996 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
41997 leave us with less than HEAP_MIN_SIZE total heap.
41998 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 41999
5c58b791 420002007-10-03 Robert Millan <rmh@aybabtu.com>
42001
42002 * include/grub/i386/io.h: New file.
42003 * commands/i386/pc/play.c (inb): Removed.
42004 (outb): Removed.
42005 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42006 with grub_outb().
afcd2ef8 42007 * term/i386/pc/serial.c (inb): Removed.
42008 (outb): Removed.
42009 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42010 with grub_outb().
42011 * term/i386/pc/vga.c (inb): Removed.
42012 (outb): Removed.
42013 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
42014 with grub_outb().
5c58b791 42015
1a477ed6 420162007-10-02 Robert Millan <rmh@aybabtu.com>
42017
42018 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
42019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42020 Reported by Marcin Kurek.
42021
6b5d80fa 420222007-09-07 Robert Millan <rmh@aybabtu.com>
42023
42024 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
42025 SmartFirmware version updates (as released by Sven Luther), and avoid
42026 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
42027 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
42028 known broken.
42029
5618afbf 420302007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42031
42032 From Hitoshi Ozeki:
42033 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
42034 when merging two regions.
42035
6139dcd9 420362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42037
508e39ee 42038 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
42039 * normal/completion.c (grub_normal_do_completion): Likewise.
42040 Reported by Hitoshi Ozeki.
42041
420422007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42043
6139dcd9 42044 Do not use devices at boot in chainloading.
f19dbdb7 42045
6139dcd9 42046 * loader/i386/pc/chainloader.c (boot_drive): New variable.
42047 (boot_part_addr): Likewise.
42048 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
42049 with BOOT_DRIVE and BOOT_PART_ADDR.
42050 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
42051 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
42052
38da6516 420532007-08-29 Robert Millan <rmh@aybabtu.com>
42054
42055 Patch from Simon Peter <dn.tlp@gmx.net>:
42056 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
42057 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
42058 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
42059 util/i386/pc/grub-setup.c_DEPENDENCIES.
42060 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
42061 util/grub-probe.c_DEPENDENCIES.
42062 * conf/powerpc-ieee1275.rmk: Likewise.
42063
29d0928c 420642007-08-28 Robert Millan <rmh@aybabtu.com>
42065
42066 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
42067 to tell grub-mkdevicemap how to name devices.
42068 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
42069 feature).
42070
42071 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
42072 util/i386/get_disk_name.c.
42073 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
42074 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
42075 util/ieee1275/get_disk_name.c.
42076
42077 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
42078
42079 * DISTLIST: Add util/i386/get_disk_name.c and
42080 util/ieee1275/get_disk_name.c.
42081
42082 * util/grub-mkdevicemap.c: Replace device naming logic with
42083 grub_util_get_disk_name() calls.
42084
5a0d3cca 420852007-08-20 Robert Millan <rmh@aybabtu.com>
42086
42087 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
42088 (so that it works for both plural and singular quantities).
42089
8b72db2f 420902007-08-05 Robert Millan <rmh@aybabtu.com>
42091
42092 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
42093 so that [xz] isn't taken into account when determining order.
42094
352466bf 420952007-08-02 Marco Gerards <marco@gnu.org>
42096
42097 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
42098 `include/multiboot2.h', `include/grub/elfload.h',
42099 `include/multiboot.h', `include/grub/multiboot.h',
42100 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
42101 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
42102 `kern/elf.c', `loader/multiboot_loader.c',
42103 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
42104 `loader/i386/pc/multiboot2.c',
42105 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
42106 `util/i386/pc/grub-mkrescue.in'. Remove
42107 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
42108 `include/grub/i386/pc/util/biosdisk.h' and
42109 `include/grub/powerpc/ieee1275/multiboot.h'.
42110
8f096014 421112007-08-02 Bean <bean123ch@gmail.com>
42112
42113 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
42114 (ntfs_mod_SOURCES): New variable.
42115 (ntfs_mod_CFLAGS): Likewise.
42116 (ntfs_mod_LDFLAGS): Likewise.
42117
42118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
42119 (grub_probe_SOURCES): Likewise.
42120 (grub_emu_SOURCES): Likewise.
42121
42122 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42123 (grub_emu_SOURCES): Likewise.
42124
42125 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
42126 (grub_emu_SOURCES): Likewise.
f19dbdb7 42127
8f096014 42128 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
42129
42130 * fs/ntfs.c: New file.
42131
9959f7db 421322007-08-02 Bean <bean123ch@gmail.com>
42133
42134 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
42135
42136 * file.h (grub_file): Likewise.
42137
42138 * fshelp.h (grub_fshelp_read_file): Likewise.
42139
42140 * util/i386/pc/grub-setup.c (setup): Likewise.
42141 (save_first_sector): Likewise.
42142 (save_blocklists): Likewise.
f19dbdb7 42143
9959f7db 42144 * fs/affs.c (grub_affs_read_file): Likewise.
42145
42146 * fs/ext2.c (grub_ext2_read_file): Likewise.
42147
42148 * fs/fat.c (grub_fat_read_data): Likewise.
42149
42150 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
42151
42152 * fs/hfs.c (grub_hfs_read_file): Likewise.
42153
42154 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42155
42156 * fs/jfs.c (grub_jfs_read_file): Likewise.
42157
42158 * fs/minix.c (grub_minix_read_file): Likewise.
42159
42160 * fs/sfs.c (grub_sfs_read_file): Likewise.
42161
42162 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 42163
9959f7db 42164 * fs/xfs.c (grub_xfs_read_file): Likewise.
42165
42166 * command/blocklist.c (read_blocklist): Likewise.
42167 (print_blocklist): Likewise.
42168
0a203f83 421692007-08-02 Marco Gerards <marco@gnu.org>
42170
42171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
42172 `util/hostfs.c'.
42173
42174 * disk/host.c: New file.
42175
42176 * util/hostfs.c: Likewise.
42177
42178 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
42179 return `GRUB_ERR_BAD_FS'.
42180 * fs/sfs.c (grub_sfs_mount): Likewise.
42181 * fs/xfs.c (grub_xfs_mount): Likewise.
42182
42183 * include/grub/disk.h (enum grub_disk_dev_id): Add
42184 `GRUB_DISK_DEVICE_HOST_ID'.
42185
42186 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
42187
e5dfe777 421882007-07-24 Jerone Young <jerone@gmail.com>
42189
f19dbdb7 42190 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 42191 modules for compilation.
42192 * conf/powerpc-ieee1275.rmk: Likewise.
42193
42194 * include/multiboot.h: Move multiboot definitions to one file. Rename
42195 many definitions to not get grub specific.
42196 * include/multiboot2.h: Create header with multiboot 2 definitions.
42197 * include/grub/multiboot.h: Header for grub specific function
42198 prototypes and definitions.
42199 * include/grub/multiboot2.h: Likewise.
42200 * include/grub/multiboot_loader.h: Likewise.
42201 * include/grub/i386/pc/multiboot.h: Removed.
42202 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
42203
42204 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
42205 and 2 to allow for one multiboot and module commands.
42206 * loader/multiboot2.c: Add multiboot2 functionality.
42207 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
42208 and definition names.
42209 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
42210 2 functions.
42211 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
42212 ieee1275 specific multiboot2 code.
42213
42214 * kern/i386/pc/startup.S: Change headers and definition names for
42215 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
42216
daf0f0ba 422172007-07-22 Robert Millan <rmh@aybabtu.com>
42218
42219 * geninitheader.sh: Process file specified in first parameter rather
42220 than hardcoding grub_modules_init.lst.
fe6b695a 42221 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 42222 than hardcoding grub_modules_init.h.
42223
42224 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
42225 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
42226 grub_probe_init.[ch] and grub_setup_init.[ch].
42227
42228 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
42229 grub_modules_init.h with grub_emu_init.h.
42230 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
42231 grub_probe_init.[ch] files.
42232 * conf/i386-efi.rmk: Likewise.
42233 * conf/i386-pc.rmk: Likewise.
42234 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
42235 grub_setup_init.[ch] files.
42236
42237 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
42238 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
42239 to initialize modules rather than a list of hardcoded functions.
42240 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
42241 grub_init_all() to initialize modules rather than a list of hardcoded
42242 functions.
42243
54cdc1cc 422442007-07-22 Robert Millan <rmh@aybabtu.com>
42245
42246 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
42247 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
42248
ad0686cc 422492007-07-22 Robert Millan <rmh@aybabtu.com>
42250
42251 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42252 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
42253 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
42254 flag when running on SmartFirmware.
42255 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
42256 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
42257 was set.
42258
42259 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42260 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
42261 rather than decreasing it.
42262
42263 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
42264 there's not enough space to do it, fail in the same way as when it
42265 can't be done because there are no partitions.
42266
42267 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
42268 when nvsetenv failed.
42269
969c02ec 422702007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42271
42272 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
42273 because this rule is automatically generated.
42274 (grub-mkrescue): Removed for the same reason as above.
42275
5a79f472 422762007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
42277
42278 Migrate to GNU General Public License Version 3.
f19dbdb7 42279
5a79f472 42280 * COPYING: Replaced with the plain text version of GPLv3.
42281
42282 * config.guess: Updated from gnulib.
42283 * config.sub: Likewise.
42284
42285 * geninit.sh: Output a GPLv3 copyright notice.
42286 * geninitheader.sh: Likewise.
42287 * genmodsrc.sh: Likewise.
42288 * gensymlist.sh.in: Likewise.
42289
42290 * boot/i386/pc/boot.S: Upgraded to GPLv3.
42291 * boot/i386/pc/diskboot.S: Likewise.
42292 * boot/i386/pc/pxeboot.S: Likewise.
42293 * commands/blocklist.c: Likewise.
42294 * commands/boot.c: Likewise.
42295 * commands/cat.c: Likewise.
42296 * commands/cmp.c: Likewise.
42297 * commands/configfile.c: Likewise.
42298 * commands/echo.c: Likewise.
42299 * commands/help.c: Likewise.
42300 * commands/ls.c: Likewise.
42301 * commands/search.c: Likewise.
42302 * commands/terminal.c: Likewise.
42303 * commands/test.c: Likewise.
42304 * commands/videotest.c: Likewise.
42305 * commands/i386/cpuid.c: Likewise.
42306 * commands/i386/pc/halt.c: Likewise.
42307 * commands/i386/pc/play.c: Likewise.
42308 * commands/i386/pc/reboot.c: Likewise.
42309 * commands/i386/pc/vbeinfo.c: Likewise.
42310 * commands/i386/pc/vbetest.c: Likewise.
42311 * commands/ieee1275/halt.c: Likewise.
42312 * commands/ieee1275/reboot.c: Likewise.
42313 * commands/ieee1275/suspend.c: Likewise.
42314 * disk/loopback.c: Likewise.
42315 * disk/lvm.c: Likewise.
42316 * disk/raid.c: Likewise.
42317 * disk/efi/efidisk.c: Likewise.
42318 * disk/i386/pc/biosdisk.c: Likewise.
42319 * disk/ieee1275/ofdisk.c: Likewise.
42320 * font/manager.c: Likewise.
42321 * fs/affs.c: Likewise.
42322 * fs/ext2.c: Likewise.
42323 * fs/fat.c: Likewise.
42324 * fs/fshelp.c: Likewise.
42325 * fs/hfs.c: Likewise.
42326 * fs/hfsplus.c: Likewise.
42327 * fs/iso9660.c: Likewise.
42328 * fs/jfs.c: Likewise.
42329 * fs/minix.c: Likewise.
42330 * fs/sfs.c: Likewise.
42331 * fs/ufs.c: Likewise.
42332 * fs/xfs.c: Likewise.
42333 * hello/hello.c: Likewise.
42334 * include/grub/acorn_filecore.h: Likewise.
42335 * include/grub/arg.h: Likewise.
42336 * include/grub/bitmap.h: Likewise.
42337 * include/grub/boot.h: Likewise.
42338 * include/grub/cache.h: Likewise.
42339 * include/grub/device.h: Likewise.
42340 * include/grub/disk.h: Likewise.
42341 * include/grub/dl.h: Likewise.
42342 * include/grub/elfload.h: Likewise.
42343 * include/grub/env.h: Likewise.
42344 * include/grub/err.h: Likewise.
42345 * include/grub/file.h: Likewise.
42346 * include/grub/font.h: Likewise.
42347 * include/grub/fs.h: Likewise.
42348 * include/grub/fshelp.h: Likewise.
42349 * include/grub/gzio.h: Likewise.
42350 * include/grub/hfs.h: Likewise.
42351 * include/grub/kernel.h: Likewise.
42352 * include/grub/loader.h: Likewise.
42353 * include/grub/lvm.h: Likewise.
42354 * include/grub/misc.h: Likewise.
42355 * include/grub/mm.h: Likewise.
42356 * include/grub/net.h: Likewise.
42357 * include/grub/normal.h: Likewise.
42358 * include/grub/parser.h: Likewise.
42359 * include/grub/partition.h: Likewise.
42360 * include/grub/pc_partition.h: Likewise.
42361 * include/grub/raid.h: Likewise.
42362 * include/grub/rescue.h: Likewise.
42363 * include/grub/script.h: Likewise.
42364 * include/grub/setjmp.h: Likewise.
42365 * include/grub/symbol.h: Likewise.
42366 * include/grub/term.h: Likewise.
42367 * include/grub/terminfo.h: Likewise.
42368 * include/grub/tparm.h: Likewise.
42369 * include/grub/types.h: Likewise.
42370 * include/grub/video.h: Likewise.
42371 * include/grub/efi/api.h: Likewise.
42372 * include/grub/efi/chainloader.h: Likewise.
42373 * include/grub/efi/console.h: Likewise.
42374 * include/grub/efi/console_control.h: Likewise.
42375 * include/grub/efi/disk.h: Likewise.
42376 * include/grub/efi/efi.h: Likewise.
42377 * include/grub/efi/pe32.h: Likewise.
42378 * include/grub/efi/time.h: Likewise.
42379 * include/grub/i386/linux.h: Likewise.
42380 * include/grub/i386/setjmp.h: Likewise.
42381 * include/grub/i386/types.h: Likewise.
42382 * include/grub/i386/efi/kernel.h: Likewise.
42383 * include/grub/i386/efi/loader.h: Likewise.
42384 * include/grub/i386/efi/time.h: Likewise.
42385 * include/grub/i386/pc/biosdisk.h: Likewise.
42386 * include/grub/i386/pc/boot.h: Likewise.
42387 * include/grub/i386/pc/chainloader.h: Likewise.
42388 * include/grub/i386/pc/console.h: Likewise.
42389 * include/grub/i386/pc/init.h: Likewise.
42390 * include/grub/i386/pc/kernel.h: Likewise.
42391 * include/grub/i386/pc/loader.h: Likewise.
42392 * include/grub/i386/pc/memory.h: Likewise.
42393 * include/grub/i386/pc/multiboot.h: Likewise.
42394 * include/grub/i386/pc/serial.h: Likewise.
42395 * include/grub/i386/pc/time.h: Likewise.
42396 * include/grub/i386/pc/vbe.h: Likewise.
42397 * include/grub/i386/pc/vbeblit.h: Likewise.
42398 * include/grub/i386/pc/vbefill.h: Likewise.
42399 * include/grub/i386/pc/vbeutil.h: Likewise.
42400 * include/grub/i386/pc/vga.h: Likewise.
42401 * include/grub/ieee1275/ieee1275.h: Likewise.
42402 * include/grub/ieee1275/ofdisk.h: Likewise.
42403 * include/grub/powerpc/libgcc.h: Likewise.
42404 * include/grub/powerpc/setjmp.h: Likewise.
42405 * include/grub/powerpc/types.h: Likewise.
42406 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
42407 * include/grub/powerpc/ieee1275/console.h: Likewise.
42408 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
42409 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
42410 * include/grub/powerpc/ieee1275/loader.h: Likewise.
42411 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
42412 * include/grub/powerpc/ieee1275/time.h: Likewise.
42413 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
42414 * include/grub/sparc64/libgcc.h: Likewise.
42415 * include/grub/sparc64/setjmp.h: Likewise.
42416 * include/grub/sparc64/types.h: Likewise.
42417 * include/grub/sparc64/ieee1275/console.h: Likewise.
42418 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42419 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42420 * include/grub/sparc64/ieee1275/time.h: Likewise.
42421 * include/grub/util/biosdisk.h: Likewise.
42422 * include/grub/util/getroot.h: Likewise.
42423 * include/grub/util/lvm.h: Likewise.
42424 * include/grub/util/misc.h: Likewise.
42425 * include/grub/util/raid.h: Likewise.
42426 * include/grub/util/resolve.h: Likewise.
42427 * io/gzio.c: Likewise.
42428 * kern/device.c: Likewise.
42429 * kern/disk.c: Likewise.
42430 * kern/dl.c: Likewise.
42431 * kern/elf.c: Likewise.
42432 * kern/env.c: Likewise.
42433 * kern/err.c: Likewise.
42434 * kern/file.c: Likewise.
42435 * kern/fs.c: Likewise.
42436 * kern/loader.c: Likewise.
42437 * kern/main.c: Likewise.
42438 * kern/misc.c: Likewise.
42439 * kern/mm.c: Likewise.
42440 * kern/parser.c: Likewise.
42441 * kern/partition.c: Likewise.
42442 * kern/rescue.c: Likewise.
42443 * kern/term.c: Likewise.
42444 * kern/efi/efi.c: Likewise.
42445 * kern/efi/init.c: Likewise.
42446 * kern/efi/mm.c: Likewise.
42447 * kern/i386/dl.c: Likewise.
42448 * kern/i386/efi/init.c: Likewise.
42449 * kern/i386/efi/startup.S: Likewise.
42450 * kern/i386/pc/init.c: Likewise.
42451 * kern/i386/pc/lzo1x.S: Likewise.
42452 * kern/i386/pc/startup.S: Likewise.
42453 * kern/ieee1275/ieee1275.c: Likewise.
42454 * kern/powerpc/cache.S: Likewise.
42455 * kern/powerpc/dl.c: Likewise.
42456 * kern/powerpc/ieee1275/cmain.c: Likewise.
42457 * kern/powerpc/ieee1275/crt0.S: Likewise.
42458 * kern/powerpc/ieee1275/init.c: Likewise.
42459 * kern/powerpc/ieee1275/openfw.c: Likewise.
42460 * kern/sparc64/cache.S: Likewise.
42461 * kern/sparc64/dl.c: Likewise.
42462 * kern/sparc64/ieee1275/init.c: Likewise.
42463 * kern/sparc64/ieee1275/openfw.c: Likewise.
42464 * loader/efi/chainloader.c: Likewise.
42465 * loader/efi/chainloader_normal.c: Likewise.
42466 * loader/i386/efi/linux.c: Likewise.
42467 * loader/i386/efi/linux_normal.c: Likewise.
42468 * loader/i386/pc/chainloader.c: Likewise.
42469 * loader/i386/pc/chainloader_normal.c: Likewise.
42470 * loader/i386/pc/linux.c: Likewise.
42471 * loader/i386/pc/linux_normal.c: Likewise.
42472 * loader/i386/pc/multiboot.c: Likewise.
42473 * loader/i386/pc/multiboot_normal.c: Likewise.
42474 * loader/powerpc/ieee1275/linux.c: Likewise.
42475 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42476 * normal/arg.c: Likewise.
42477 * normal/cmdline.c: Likewise.
42478 * normal/command.c: Likewise.
42479 * normal/completion.c: Likewise.
42480 * normal/execute.c: Likewise.
42481 * normal/function.c: Likewise.
42482 * normal/lexer.c: Likewise.
42483 * normal/main.c: Likewise.
42484 * normal/menu.c: Likewise.
42485 * normal/menu_entry.c: Likewise.
42486 * normal/misc.c: Likewise.
42487 * normal/parser.y: Likewise.
42488 * normal/script.c: Likewise.
42489 * normal/i386/setjmp.S: Likewise.
42490 * normal/powerpc/setjmp.S: Likewise.
42491 * normal/sparc64/setjmp.S: Likewise.
42492 * partmap/acorn.c: Likewise.
42493 * partmap/amiga.c: Likewise.
42494 * partmap/apple.c: Likewise.
42495 * partmap/gpt.c: Likewise.
42496 * partmap/pc.c: Likewise.
42497 * partmap/sun.c: Likewise.
42498 * term/gfxterm.c: Likewise.
42499 * term/terminfo.c: Likewise.
42500 * term/efi/console.c: Likewise.
42501 * term/i386/pc/console.c: Likewise.
42502 * term/i386/pc/serial.c: Likewise.
42503 * term/i386/pc/vesafb.c: Likewise.
42504 * term/i386/pc/vga.c: Likewise.
42505 * term/ieee1275/ofconsole.c: Likewise.
42506 * util/biosdisk.c: Likewise.
42507 * util/console.c: Likewise.
42508 * util/genmoddep.c: Likewise.
42509 * util/getroot.c: Likewise.
42510 * util/grub-emu.c: Likewise.
42511 * util/grub-mkdevicemap.c: Likewise.
42512 * util/grub-probe.c: Likewise.
42513 * util/lvm.c: Likewise.
42514 * util/misc.c: Likewise.
42515 * util/raid.c: Likewise.
42516 * util/resolve.c: Likewise.
42517 * util/update-grub.in: Likewise.
42518 * util/update-grub_lib.in: Likewise.
42519 * util/grub.d/00_header.in: Likewise.
42520 * util/grub.d/10_hurd.in: Likewise.
42521 * util/grub.d/10_linux.in: Likewise.
42522 * util/i386/efi/grub-install.in: Likewise.
42523 * util/i386/efi/grub-mkimage.c: Likewise.
42524 * util/i386/pc/grub-install.in: Likewise.
42525 * util/i386/pc/grub-mkimage.c: Likewise.
42526 * util/i386/pc/grub-mkrescue.in: Likewise.
42527 * util/i386/pc/grub-setup.c: Likewise.
42528 * util/i386/pc/misc.c: Likewise.
42529 * util/powerpc/ieee1275/grub-install.in: Likewise.
42530 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
42531 * util/powerpc/ieee1275/misc.c: Likewise.
42532 * video/bitmap.c: Likewise.
42533 * video/video.c: Likewise.
42534 * video/i386/pc/vbe.c: Likewise.
42535 * video/i386/pc/vbeblit.c: Likewise.
42536 * video/i386/pc/vbefill.c: Likewise.
42537 * video/i386/pc/vbeutil.c: Likewise.
42538 * video/readers/tga.c: Likewise.
42539
3572d015 425402007-07-02 Robert Millan <rmh@aybabtu.com>
42541
42542 * conf/i386-efi.rmk: Replace obsolete reference to
42543 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
42544 with util/getroot.c.
42545 * conf/powerpc-ieee1275.rmk: Likewise.
42546 * conf/sparc64-ieee1275.rmk: Likewise.
42547
42548 * util/grub-emu.c (main): Fix unchecked pointer handling.
42549
2c2a681b 425502007-07-02 Robert Millan <rmh@aybabtu.com>
42551
42552 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
42553 invocation to fail, in order to support partition-less media.
42554
42555 * util/i386/pc/grub-install.in: Likewise.
42556
42557 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
42558 which fs or partmap modules are needed (akin to its sister scripts).
42559
42560 Also use grub-probe to get rid of unportable /proc/mounts check.
42561
42562 Print the same informational message that the other scripts do, before
fe6b695a 42563 exiting.
2c2a681b 42564
6193defe 425652007-06-23 Robert Millan <rmh@aybabtu.com>
42566
fe6b695a 42567 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 42568 a font file can be found and, if so, echo the GRUB path to it.
42569
42570 * util/update-grub.in: Handle multiple terminals depending on user
42571 input, platform availability and font file presence. Propagate
42572 variables of our findings to /etc/grub.d/ children.
42573
42574 * util/grub.d/00_header.in: Handle multiple terminals, based on
42575 environment setup by update-grub.
42576
eface1dc 425772007-06-23 Robert Millan <rmh@aybabtu.com>
42578
ba50d28f 42579 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 42580
bf697e28 425812007-06-21 Robert Millan <rmh@aybabtu.com>
42582
42583 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
42584 indicate end of data section in kernel image.
42585 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
42586 GRUB_KERNEL_MACHINE_DATA_END.
42587
42588 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
42589 space for it.
42590 * kern/i386/efi/startup.S: Likewise.
42591
42592 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
42593 during image generation. Implement --prefix option to override this
42594 patch.
42595 * util/i386/efi/grub-mkimage.c: Likewise.
42596
42597 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
42598 code to make path relative to its root into a separate function.
42599
42600 * util/i386/pc/grub-install.in: Use newly provided
42601 make_system_path_relative_to_its_root() to convert ${grubdir}, then
42602 pass the result to grub-install --prefix.
42603
baa574b4 426042007-06-13 Robert Millan <rmh@aybabtu.com>
42605
42606 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
42607 DEFAULT_DEVICE_MAP.
42608 * util/grub-emu.c: Use above definitions from misc.h instead of
42609 defining them.
42610 * util/grub-mkdevicemap.c: Likewise.
42611 * util/i386/pc/grub-setup.c: Likewise.
42612 * util/grub-probe.c: Likewise.
42613 (probe): Abort with grub_util_error() when either
42614 grub_guess_root_device or grub_util_get_grub_dev fails.
42615
0215dcbf 426162007-06-12 Robert Millan <rmh@aybabtu.com>
42617
42618 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
42619 "pager" assignment.
42620 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
42621 "pcdata".
42622 * util/grub-probe.c (probe): Likewise for "drive_name".
42623
8af2ab7b 426242007-06-11 Robert Millan <rmh@aybabtu.com>
42625
42626 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
42627 not just the cdrom one.
42628
59d31694 426292007-06-11 Robert Millan <rmh@aybabtu.com>
42630
42631 * util/i386/pc/grub-mkrescue.in: Add "set -e".
42632 Add --pkglibdir=DIR option to override pkglibdir.
42633 Mention --image-type=TYPE in help output.
42634 Fix --grub-mkimage (it was a no-op).
fe6b695a 42635 Abort gracefully when no parameter is given.
59d31694 42636
7ee367e4 426372007-06-11 Robert Millan <rmh@aybabtu.com>
42638
42639 * util/i386/pc/grub-mkrescue.in: New file.
42640 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
42641 * Makefile.in: Handle bin_SCRIPTS.
42642
29b0ed46 426432007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
42644
42645 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
42646 list of video modes.
42647
c0f90770 426482007-06-06 Robert Millan <rmh@aybabtu.com>
42649
42650 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
42651 file doesn't exist, or if it is in a filesystem grub can't read.
42652
42653 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
42654 not abort if GRUB_DRIVE could not be defined. Rearrange generated
42655 header comment to fit in 80 columns when the variables are resolved.
42656
42657 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
42658 could be identified by update-grub. Remove redundant check for
fe6b695a 42659 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 42660 handles that).
42661
fb36dc26 426622007-06-04 Robert Millan <rmh@aybabtu.com>
42663
42664 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
42665
42666 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
42667
42668 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
42669
0c68c93e 426702007-06-04 Robert Millan <rmh@aybabtu.com>
42671
42672 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
42673
42674 * include/grub/partition.h: Declare grub_apple_partition_map_init and
42675 grub_apple_partition_map_fini.
42676
42677 * util/biosdisk.c
42678 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
42679 to access >2 TiB disks).
42680
42681 Print disk->total_sectors with %llu instead of %lu, since this
42682 variable is always 64-bit (prevents wrong disk size from being displayed
42683 on either >2 TiB disk or big-endian CPU).
42684
42685 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
42686 into a generic case that supports all (sane) partition maps.
42687
42688 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
42689 breaks big-endian.
42690
42691 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
42692 and grub_apple_partition_map_fini() after that.
42693
0f23eb74 426942007-06-01 Robert Millan <rmh@aybabtu.com>
42695
42696 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
42697
42698 * util/grub.d/00_header.in: Only enable gfxterm when
42699 convert_system_path_to_grub_path() succeeds.
42700
42c71976 427012007-05-20 Robert Millan <rmh@aybabtu.com>
42702
42703 * util/update-grub_lib.in: New file.
42704 * DISTLIST: Add update-grub_lib.in.
42705 * conf/common.rmk: Generate update-grub_lib and install it in
42706 $(lib_DATA).
42707 * Makefile.in: Add install routine for $(lib_DATA).
42708
42709 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
42710 function provided by update-grub_lib to support arbitrary paths of
42711 unifont.pff.
42712 * util/update-grub.in: Use convert_system_path_to_grub_path() to
42713 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
42714
5beb2291 427152007-05-19 Robert Millan <rmh@aybabtu.com>
42716
42717 * commands/i386/cpuid.c: New module.
42718 * DISTLIST: Add it.
42719 * conf/i386-efi.rmk: Enable cpuid.mod.
42720 * conf/i386-pc.rmk: Likewise.
42721
7262eca1 427222007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42723
42724 * kern/disk.c (grub_disk_read): Check return value of
42725 grub_realloc().
42726
260ba823 427272007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
42728
42729 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
42730 arrays.
42731 * disk/raid.c (grub_raid_open): Likewise.
42732
1ecb6cf2 427332007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42734
42735 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
42736 stack instead of on the heap.
42737
42738 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
42739 before doing a read on it.
42740
42741 * configure.ac: Only use -fno-stack-protector for the target
42742 environment.
f19dbdb7 42743
21c8cbb1 427442007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
42745
42746 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
42747 __attribute_ ((unused)) to mode_type argument.
42748
42749 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 42750
21c8cbb1 42751 * kern/misc.c (memcmp): Fix prototype.
42752
42753 * include/grub/partition.h [GRUB_UTIL]
42754 (grub_gpt_partition_map_init): Add prototype.
42755 (grub_gpt_partition_map_fini): Likewise.
42756
42757 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
42758 at the right place.
42759
42760 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
42761 (grub_fat_read_data): Likewise.
42762 (grub_fat_find_dir): Likewise.
42763
42764 * font/manager.c (find_glyph): Make table a const.
42765 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 42766
849d55d3 427672007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
42768
42769 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
42770 code, first search for device in /dev/mapper, then in /dev.
42771 (grub_util_get_grub_dev): New function.
42772 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
42773 prototype.
42774 * util/grub-probe.c (probe): Remove check for RAID, call
42775 grub_util_get_grub_dev() instead of
42776 grub_util_biosdisk_get_grub_dev().
42777 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
42778 grub_util_biosdisk_get_grub_dev().
42779 * util/i386/pc/grub-setup.c (main): Likewise.
42780
8fff7c2f 427812007-05-16 Robert Millan <rmh@aybabtu.com>
42782
42783 * DISTLIST: Update for the latest changes.
42784 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
42785 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
42786 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
42787 grub/util/biosdisk.h.
42788 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
42789 grub/util/biosdisk.h.
42790
48e12b52 427912007-05-16 Robert Millan <rmh@aybabtu.com>
42792
42793 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
42794
46b9d128 427952007-05-16 Robert Millan <rmh@aybabtu.com>
42796
42797 * util/i386/efi/grub-install.in: New.
42798 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
42799 newly added grub-install.
42800 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
42801 include.
42802 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
42803 grub/util/biosdisk.h.
42804 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
42805 grub/util/biosdisk.h.
42806
2d1a40a9 428072007-05-16 Robert Millan <rmh@aybabtu.com>
42808
42809 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
42810 * include/grub/util/biosdisk.h: ... here.
42811 * util/i386/pc/biosdisk.c: Moved to ...
42812 * util/biosdisk.c: ... here.
42813 * util/i386/pc/getroot.c: Moved to ...
42814 * util/getroot.c: ... here.
42815 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
42816 * util/grub-mkdevicemap.c: ... here.
42817 * util/i386/pc/grub-probe.c: Moved to ...
42818 * util/grub-probe.c: ... here.
42819
9e26e3bc 428202007-05-15 Robert Millan <rmh@aybabtu.com>
42821
42822 * util/update-grub.in: Remove duplicated line in grub.cfg header
42823 message.
42824
57f96397 428252007-05-13 Robert Millan <rmh@aybabtu.com>
42826
42827 * util/update-grub.in: Fix a few assumptions about the devices holding
42828 /, /boot and /boot/grub being the same.
42829 * util/grub.d/00_header.in: Likewise.
42830 * util/grub.d/10_hurd.in: Likewise.
42831 * util/grub.d/10_linux.in: Likewise.
42832
42833 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
42834 patterns. Use that to define the `.old' suffix as older than `'.
42835
42836 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
42837
42838 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
42839 the grub.cfg header message.
42840
2e610d62 428412007-05-11 Robert Millan <rmh@aybabtu.com>
42842
42843 * util/update-grub.in: Create device.map if it doesn't already exist,
42844 before attempting to run grub-probe.
42845 Check for grub-probe and grub-mkdevicemap with the same code
42846 grub-install is using.
42847 Remove test mode.
42848
3f6a10ef 428492007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
42850
42851 * Makefile.in: Add the datarootdir autoconf variable.
42852
02e7b75e 428532007-05-09 Robert Millan <rmh@aybabtu.com>
42854
42855 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 42856 fail gracefully if dev->disk->partition == NULL.
02e7b75e 42857
75f396cc 428582007-05-07 Robert Millan <rmh@aybabtu.com>
42859
42860 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
42861 determine partition map module.
42862 * util/i386/pc/grub-install.in: Use this feature to decide which
42863 partition module to load, instead of hardcoding pc and gpt.
42864
da65cb36 428652007-05-07 Robert Millan <rmh@aybabtu.com>
42866
42867 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
42868 source directory differs from build directory.
42869
b57d6a91 428702007-05-05 Robert Millan <rmh@aybabtu.com>
42871
42872 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
42873 initialisation.
42874
509d00f1 428752007-05-05 Robert Millan <rmh@aybabtu.com>
42876
42877 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
42878
c48f23ef 428792007-05-05 Robert Millan <rmh@aybabtu.com>
42880
42881 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
42882 command-line arguments via ${GRUB_CMDLINE_LINUX}.
42883
20b97658 428842007-05-05 Robert Millan <rmh@aybabtu.com>
42885
42886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
42887 (grub_probe_SOURCES): Likewise.
42888 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
42889 GPT and initialize dos_part and bsd_part accordingly.
42890 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
42891 install_bsd_part.
42892 (main): Activate gpt module for use during partition identification,
42893 and deactivate it afterwards.
42894 * util/i386/pc/grub-install.in: Add gpt module to core.img.
42895 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
42896 partition identification, and deactivate it afterwards.
42897
99123174 428982007-05-05 Robert Millan <rmh@aybabtu.com>
42899
42900 * term/i386/pc/console.c (grub_console_fini): Call
42901 grub_term_set_current() before grub_term_unregister().
42902
ebd97f6e 429032007-05-04 Robert Millan <rmh@aybabtu.com>
42904
42905 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
42906 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
42907 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
42908 and update-grub_DATA.
42909 * conf/common.rmk: Build and install update-grub components.
42910 * conf/common.mk: Regenerate.
42911 * util/update-grub.in: New. Core of update-grub.
42912 * util/grub.d/00_header.in: New. Generates grub.cfg header.
42913 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
42914 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
42915 * util/grub.d/README: New. Document grub.d directory layout.
42916
b06a264d 429172007-05-01 Robert Millan <rmh@aybabtu.com>
42918
42919 * util/grub-emu.c: Move initialization functions
42920 grub_util_biosdisk_init() and grub_init_all() before
42921 grub_util_biosdisk_get_grub_dev(), which relies on them.
42922
41f0050e 429232007-04-19 Robert Millan <rmh@aybabtu.com>
42924
42925 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
42926 it is used later.
42927
04582bb3 429282007-04-18 Jerone Young <jerone@gmail.com>
42929
f19dbdb7 42930 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 42931 stanza.
42932
08db4632 429332007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 42934
08db4632 42935 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
42936 continue on and look for device node with real device name.
42937
801b76be 429382007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 42939
fe6b695a 42940 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 42941 ability.
42942 * Makefile.in: Add autoconf package transformation code.
42943 * util/i386/pc/grub-install.in: Likewise.
42944 * util/powerpc/ieee1275/grub-install.in: Likewise.
42945
6795c4e1 429462007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42947
42948 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
42949 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
42950 (EXT2_REVISION): Likewise.
42951 (EXT2_INODE_SIZE): Likewise.
42952 (struct grub_ext2_block_group): Added a missing member
42953 "used_dirs".
42954 (grub_ext2_read_inode): Divide by the inode size in a superblock
42955 instead of 128 to obtain INODES_PER_BLOCK.
42956 Use the macro EXT2_INODE_SIZE instead of directly using
42957 SBLOCK->INODE_SIZE.
42958
d70af616 429592007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42960
42961 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
42962 superblock instead of the structure size to compute an
42963 offset. This fixes the problem that GRUB could not read a
42964 filesystem when inode size is different from 128-byte.
42965
3b801603 429662007-03-05 Marco Gerards <marco@gnu.org>
42967
42968 * normal/main.c (read_config_file): When "menu" is not set, create
42969 an initial context.
42970
4785bfe4 429712007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42972
42973 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
42974 (HEAP_LIMIT): New macro.
42975 (grub_claim_heap): Claim memory up to `heaplimit'.
42976
a0cbb023 429772007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42978
42979 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
42980 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
42981 (_start): Likewise.
42982 (grub_arch_modules_addr): Return address after `_end'.
42983 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
42984 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
42985 (add_segments): Calculate `_end' from phdr size and location.
42986 (ALIGN_UP): Moved to ...
42987 * include/grub/misc.h: here.
42988 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42989 New macro.
42990 (GRUB_IEEE1275_MODULE_BASE): Removed.
42991
fd7d8eba 429922007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42993
42994 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42995 loop boundary.
42996
9b09e6fc 429972007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42998
42999 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
43000 All users updated.
43001 (grub_elf64_load_hook_t): Likewise.
43002 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
43003 debug output.
43004
3ce27299 430052007-02-20 Hollis Blanchard <hollis@penguinppc.org>
43006
43007 * kern/mm.c: Update copyright.
43008 (grub_mm_debug): Correct syntax error.
43009 (grub_mm_dump_free): New function.
43010 (grub_debug_free): Call `grub_free'.
43011 * include/grub/mm.h: Update copyright.
43012 (grub_mm_dump_free): Add declaration.
43013
077d5fee 430142007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43015
43016 * include/grub/ieee1275/ieee1275.h: Update copyright.
43017 * kern/powerpc/ieee1275/init.c: Likewise.
43018 * kern/powerpc/ieee1275/openfw.c: Likewise.
43019
43020 * loader/powerpc/ieee1275/linux.c: Likewise.
43021 * include/grub/elfload.h: Likewise.
43022 * kern/elf.c: Likewise.
43023 (grub_elf32_load): Pass `base' and `size' parameters. Update all
43024 callers.
43025 (grub_elf64_load): Likewise.
43026 (grub_elf32_load_segment): Move to a nested function.
43027 (grub_elf64_load_segment): Likewise.
43028
dc946850 430292007-02-12 Hollis Blanchard <hollis@penguinppc.org>
43030
43031 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
43032 prototype.
43033 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
43034 (grub_heap_len): Likewise.
43035 (HEAP_SIZE): New macro.
43036 (grub_claim_heap): New function.
43037 (grub_machine_init): Don't claim heap directly. Call
43038 `grub_claim_heap'.
43039 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
43040 (grub_available_iterate): New function.
43041
baa2a121 430422007-02-03 Thomas Schwinge <tschwinge@gnu.org>
43043
43044 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
43045 * configure.ac: Use it for testing the HOST and TARGET compilers.
43046
4fe9862e 430472006-12-13 Thomas Schwinge <tschwinge@gnu.org>
43048
43049 * Makefile.in (enable_grub_emu): New variable.
43050 * configure.ac (--enable-grub-emu): New option.
43051 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
43052 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
43053 * conf/i386-pc.rmk: Likewise.
43054 * conf/powerpc-ieee1275.rmk: Likewise.
43055 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
43056
a8aa5762 430572006-12-12 Marco Gerards <marco@gnu.org>
43058
43059 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
43060
43061 * kern/env.c (grub_env_unset): Don't free the member `value' when
43062 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
43063 pointer.
43064
43065 * normal/main.c (current_menu): Removed.
43066 (free_menu): Unset the `menu' environment variable.
43067 (grub_normal_menu_addentry): Make use of the environment variable
43068 `menu', instead of using the global `current_menu'. Allocate
43069 memory for the sourcecode of this entry.
43070 (read_config_file): New argument `nested', changed all callers.
43071 Only in the case of a new context, initialize a new menu. Set the
43072 `menu' environment variable.
43073 (grub_normal_execute): Don't set and unset the environment
43074 variable `menu' here anymore. Only free the menu when leaving the
43075 context.
43076
43077 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
43078 leak.
43079
957b3a3e 430802006-12-11 Marco Gerards <marco@gnu.org>
43081
43082 * normal/menu_entry.c (run): Fix off by one bug so the last line
43083 is executed. Move the loader check to outside the loop.
43084
ef875714 430852006-12-08 Hollis Blanchard <hollis@penguinppc.org>
43086
43087 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
43088
4e739985 430892006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
43090
43091 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
43092 the number of sectors. Reported by Andrey Shuvikov
43093 <mr_hyro@yahoo.com>.
f19dbdb7 43094
790707f2 430952006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
43096
43097 * kern/disk.c (grub_disk_read): When there is a read error, always
43098 try to read only the necessary data.
f19dbdb7 43099
790707f2 43100 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
43101 disk/raid.c.
43102 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
43103 prototype.
43104 [GRUB_UTIL] (grub_raid_fini): Likewise.
43105 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 43106 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 43107 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
43108 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
43109 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
43110 and grub_raid_fini().
f19dbdb7 43111
03e58196 431122006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43113
43114 * include/grub/types.h (__unused): Rename to UNUSED.
43115 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
43116 (grub_elf64_size): Likewise.
f19dbdb7 43117
ae4f23bf 431182006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43119
43120 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
43121 grub_error_push and grub_error_pop in the error-handling path.
43122 (grub_elf32_load_segment): Only call grub_file_read with non-zero
43123 length.
43124
2166cc83 431252006-11-03 Hollis Blanchard <hollis@penguinppc.org>
43126
43127 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
43128 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43130 (kernel_elf_SOURCES): Likewise.
43131 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
43132 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
43133 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43134 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43135 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
43136 (elf_mod_SOURCES): New variable.
43137 (elf_mod_CFLAGS): Likewise.
43138 (elf_mod_LDFLAGS): Likewise.
43139 * include/grub/types.h (__unused): New macro.
43140 * include/grub/elfload.h: New file.
43141 * kern/elf.c: Likewise.
43142 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
43143 (ELF32_LOADMASK): New macro.
43144 (ELF64_LOADMASK): Likewise.
43145 (vmlinux): Removed.
43146 (grub_linux_load32): New function.
43147 (grub_linux_load64): Likewise.
43148 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
43149 Use grub_elf_t instead of grub_file_t.
43150
a09d5aa5 431512006-11-02 Hollis Blanchard <hollis@penguinppc.org>
43152
43153 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
43154 `catch_result' to struct set_color_args.
43155
d976fc51 431562006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43157
43158 * normal/menu.c: Include grub/script.h.
43159 * normal/menu_entry.c: Likewise.
43160 * include/grub/normal.h: Do not include grub/script.h.
43161
67507549 431622006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43163
43164 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
43165
69203a99 431662006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43167
43168 * kern/disk.c (grub_disk_open): Print debug messages when opening a
43169 disk.
43170 (grub_disk_close): Print debug messages when closing a disk.
43171 (grub_disk_read): Print debug messages when disk read fails.
43172 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
43173 filesystem type.
43174 * kern/partition.c: Include misc.h.
43175 (grub_partition_iterate): Print debug messages when detecting
43176 partition type.
43177
e2b8278c 431782006-10-27 Hollis Blanchard <hollis@penguinppc.org>
43179
43180 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
43181 is negative.
43182 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
43183
97b2f2ff 431842006-10-26 Hollis Blanchard <hollis@penguinppc.org>
43185
43186 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43187 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
43188
6555d655 431892006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
43190
43191 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
43192 instead of sizeof(lv). Patch by Michael Guntsche.
43193
4d42b77f 431942006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
43195
43196 * disk/lvm.c: Rename VGS to VG_LIST.
43197 (grub_lvm_iterate): Change VGS->LV to VG-LV.
43198 (grub_lvm_open): Likewise.
43199 Thanks to Michael Guntsche for finding this bug.
43200
5d74d927 432012006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43202
43203 * configure.ac (AC_INIT): Bumped to 1.95.
43204
a1bb27e4 432052006-10-14 Robert Millan <rmh@aybabtu.com>
43206
43207 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
43208 with "/dev/.static/dev/md".
43209
e0994b8b 432102006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43211
43212 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
43213 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
43214 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
43215 DRIVE_NAME are always freed.
43216
43217 * util/i386/pc/biosdisk.c (make_device_name): Add one into
43218 DOS_PART, as a DOS partition is counted from one instead of zero
43219 now. Reported by Robert Millan.
43220
ddd5cee9 432212006-10-14 Robert Millan <rmh@aybabtu.com>
43222
43223 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
43224 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
43225 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
43226 string returned by grub_guess_root_device.
43227 * util/i386/pc/grub-setup.c: Likewise.
43228 * util/i386/pc/grub-probefs.c: Likewise.
43229
43230 * util/i386/pc/grub-probefs.c: Rename to ...
43231 * util/i386/pc/grub-probe.c: ... this.
43232 * DISTLIST: Remove grub-probefs, add grub-probe.
43233 * conf/i386-efi.rmk: Likewise.
43234 * conf/i386-pc.rmk: Likewise.
43235 * util/i386/pc/grub-install.in: Likewise.
43236
43237 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
43238 choose which information we want to print.
43239
2b002173 432402006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
43241
43242 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
43243 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
43244 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
43245 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
43246 video/readers/tga.c and video/i386/pc/vbeutil.c.
43247
432482006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
43249
43250 Added support for RAID and LVM.
f19dbdb7 43251
2b002173 43252 * disk/lvm.c: New file.
43253 * disk/raid.c: Likewise.
43254 * include/grub/lvm.h: Likewise.
f19dbdb7 43255 * include/grub/raid.h: Likewise.
2b002173 43256 * include/grub/util/lvm.h: Likewise.
43257 * include/grub/util/raid.h: Likewise.
43258 * util/lvm.c: Likewise.
43259 * util/raid.c: Likewise.
43260
43261 * include/grub/disk.h (grub_disk_dev_id): Add
43262 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
43263 (grub_disk_get_size): New prototype.
43264 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
43265 returns a partition.
43266 (grub_disk_get_size): New function.
f19dbdb7 43267
2b002173 43268 * kern/i386/pc/init.c (make_install_device): Copy the prefix
43269 verbatim if grub_install_dos_part is -2.
43270
43271 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
43272 and LVM devices.
43273
43274 * util/i386/pc/grub-setup.c (setup): New argument
43275 MUST_EMBED. Force embedding of GRUB when the argument is
43276 true. Close FILE before returning.
43277 (main): Add support for RAID and LVM.
f19dbdb7 43278
2b002173 43279 * conf/common.rmk: Add RAID and LVM modules.
43280 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
43281 util/lvm.c.
43282 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
43283
43284 * kern/misc.c (grub_strstr): New function.
43285 * include/grub/misc.h (grub_strstr): New prototype.
43286
050548d0 432872006-10-10 Tristan Gingold <tristan.gingold@bull.net>
43288
43289 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
43290
da849d2d 432912006-10-05 Tristan Gingold <tristan.gingold@bull.net>
43292
43293 * kern/misc.c (grub_strtoull): Guess the base only if not
43294 specified.
43295
97b2f2ff 432962006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 43297
43298 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
43299 PowerMac support.
43300
97b2f2ff 433012006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 43302
43303 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
43304
43305 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
43306 Remove `flags' argument. All callers changed.
43307 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
43308 (IEEE1275_IHANDLE_INVALID): New variable.
43309 (IEEE1275_CELL_INVALID): New variable.
43310 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
43311 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
43312 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
43313 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
43314 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
43315 codes from Open Firmware. All callers updated.
43316 (grub_ieee1275_next_property): Directly return Open Firmware return
43317 code.
43318 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43319 Standardize error checking from `grub_ieee1275_get_property'.
43320 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
43321 `devalias' to `aliases'. Correct comments. Consolidate error paths.
43322
97b2f2ff 433232006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 43324
43325 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
43326 `instance_to_package_args' to `instance_to_path_args'.
43327
43328 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
43329 `grub_ieee1275_chosen'.
43330
43331 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
43332 `grub_ieee1275_interpret'.
43333
97b2f2ff 433342006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 43335
43336 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
43337
97b2f2ff 433382006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 43339
43340 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
43341 (__cmpdi): Likewise.
43342
43343 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
43344 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
43345 `grub_ssize_t'.
43346
02bb8acc 43347 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 43348
43349 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
43350 to type `grub_ssize_t'.
43351 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
43352
7f9a8531 433532006-09-22 Marco Gerards <marco@gnu.org>
43354
43355 * normal/script.c (grub_script_create_cmdmenu): Skip leading
43356 newlines.
43357
b5ef1102 433582006-09-22 Marco Gerards <marco@gnu.org>
43359
43360 * commands/echo.c: New file.
43361
43362 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
43363
43364 * conf/common.rmk (echo_mod_SOURCES): New variable.
43365 (echo_mod_CFLAGS): Likewise.
43366 (echo_mod_LDFLAGS): Likewise.
43367
2cff3677 433682006-09-22 Marco Gerards <marco@gnu.org>
43369
43370 * normal/main.c (get_line): Malloc memory instead of using
43371 preallocated memory. Removed the arguments `cmdline' and
43372 `max_len'. Updated all callers.
43373
6ba4688b 433742006-09-22 Marco Gerards <marco@gnu.org>
43375
43376 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
43377 (normal_mod_DEPENDENCIES): Likewise.
43378
43379 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
43380 (normal_mod_DEPENDENCIES): Likewise.
43381
43382 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
43383
e02ac02c 433842006-09-22 Johan Rydberg <jrydberg@gnu.org>
43385
43386 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
43387 programs.
43388 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
43389 (normal_mod_DEPENDENCIES): Likewise.
43390 * conf/i386-pc.mk: Regenerate.
43391 * conf/i386-efi.mk: Likewise
43392 * conf/common.mk: Likewise.
43393 * conf/powerpc-ieee1275.mk: Likewise.
43394 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43395
8d252e44 433962006-09-22 Robert Millan <rmh@aybabtu.com>
43397
43398 Sync with i386 version.
43399 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
43400 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
43401
209bf7ac 434022006-09-21 Robert Millan <rmh@aybabtu.com>
43403
43404 Import from GRUB Legacy (lib/device.c):
43405 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
43406 (init_device_map) [__linux__]: Add support for I2O devices.
43407
6b146090 434082006-09-14 Marco Gerards <marco@gnu.org>
43409
43410 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
43411 `-melf_i386'.
43412
e38600a8 434132006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 43414
43415 * util/i386/pc/grub-install.in: Skip menu.lst when removing
43416 /boot/grub/*.lst.
78fa1790 43417
2952da5d 43418 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 43419
2952da5d 43420 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
43421 before adding it to device.map.
43422
01b82a64 434232006-08-15 Johan Rydberg <jrydberg@gnu.org>
43424
fe6b695a 43425 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 43426 compiles a file; using the -MD option.
43427 * conf/common.mk: Regenerate.
43428 * conf/i386-pc.mk: Likewise.
43429 * conf/i386-efi.mk: Likewise.
43430 * conf/powerpc-ieee1275.mk: Likewise.
43431 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 43432
1064790d 434332006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
43434
43435 Move the prototypes of grub_setjmp and grub_longjmp to
43436 cpu/setjmp.h, so that each architecture may specify different
43437 attributes.
f19dbdb7 43438
1064790d 43439 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
43440 (grub_longjmp): Likewise.
43441 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
43442 (grub_longjmp): Likewise.
43443 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
43444 (grub_longjmp): Likewise.
43445
43446 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
43447 [!GRUB_UTIL] (grub_longjmp): Removed.
43448
29dda3ed 434492006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
43450
43451 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
43452 "color!" method does not return any value.
43453
ad2a06ed 434542006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43455
43456 * include/grub/bitmap.h: New file.
43457
43458 * include/grub/i386/pc/vbeutil.h: Likewise.
43459
43460 * video/bitmap.c: Likewise.
43461
43462 * video/readers/tga.c: Likewise.
43463
43464 * video/i386/pc/vbeutil.c: Likewise.
43465
43466 * commands/videotest.c: Code cleanup and updated to reflect to new
43467 video API.
43468
43469 * term/gfxterm.c: Likewise.
43470
43471 * video/video.c: Likewise.
43472
43473 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
43474 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
43475 (bitmap_mod_SOURCES): New entry.
43476 (bitmap_mod_CFLAGS): Likewise.
43477 (bitmap_mod_LDFLAGS): Likewise.
43478 (tga_mod_SOURCES): Likewise.
43479 (tga_mod_CFLAGS): Likewise.
43480 (tga_mod_LDFLAGS): Likewise.
43481
43482 * include/grub/video.h (grub_video_blit_operators): New enum type.
43483 (grub_video_render_target): Changed as forward declaration and moved
43484 actual definition to be video driver specific.
43485 (grub_video_adapter.blit_bitmap): Added blitting operator.
43486 (grub_video_adapter.blit_render_target): Likewise.
43487 (grub_video_blit_bitmap): Likewise.
43488 (grub_video_blit_render_target): Likewise.
43489
43490 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
43491 driver specific render target definition.
43492 (grub_video_vbe_map_rgba): Added driver internal helper.
43493 (grub_video_vbe_unmap_color): Updated to use
43494 grub_video_i386_vbeblit_info.
43495 (grub_video_vbe_get_video_ptr): Likewise.
43496
43497 * include/grub/i386/pc/vbeblit.h
43498 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
43499 grub_video_i386_vbeblit_info.
43500 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
43501 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
43502 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
43503 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
43504 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
43505 (grub_video_i386_vbeblit_index_index): Likewise.
43506 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
43507 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
43508 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
43509 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
43510 operator.
43511 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
43512 operator.
43513
43514 * video/i386/pc/vbeblit.c: Updated to reflect changes on
43515 include/grub/i386/pc/vbeblit.h.
43516
43517 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
43518 Updated to use grub_video_i386_vbeblit_info.
43519 (grub_video_i386_vbefill_R8G8B8): Likewise.
43520 (grub_video_i386_vbefill_index): Likewise.
43521 (grub_video_i386_vbefill): Added generic filler.
43522
43523 * video/i386/pc/vbefill.c: Updated to reflect changes on
43524 include/grub/i386/pc/vbefill.h.
43525
43526 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
43527 grub_video_i386_vbeblit_info.
43528 (grub_video_vbe_unmap_color): Likewise.
43529 (grub_video_vbe_blit_glyph): Likewise.
43530 (grub_video_vbe_scroll): Likewise.
43531 (grub_video_vbe_draw_pixel): Removed function.
43532 (grub_video_vbe_get_pixel): Likewise.
43533 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
43534 updated code to use it.
43535 (common_blitter): Added common blitter for render target and bitmap.
43536 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
43537 (grub_video_vbe_blit_render_target): Likewise.
43538
bc8c036d 435392006-07-30 Johan Rydberg <jrydberg@gnu.org>
43540
43541 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
43542 is in text mode if there is no console control protocol instance
43543 available.
43544
684a8eff 435452006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43546
43547 * include/grub/video.h: Code cleanup.
43548
43549 * include/grub/i386/pc/vbe.h: Likewise.
43550
43551 * video/i386/pc/vbe.c: Likewise.
43552
43553 * video/i386/pc/vbeblit.c: Likewise.
43554
43555 * video/i386/pc/vbefill.c: Likewise.
43556
43557 * video/video.c: Likewise. Also added more comments.
43558
5915059b 435592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
43560
43561 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
43562 (struct grub_biosdisk_dap): Likewise.
43563
43564 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
43565 linkage settings for all functions.
43566
90ce5d56 435672006-07-12 Marco Gerards <marco@gnu.org>
43568
43569 * configure.ac (--enable-mm-debug): Fix typo.
43570
43571 * genkernsyms.sh.in: Use proper quoting for `CC'.
43572
43e7f879 435732006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
43574
43575 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
43576 (normal_mod_ASFLAGS): Remove "-m32".
43577
4889bdec 435782006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
43579
43580 * util/misc.c: Include config.h.
43581 [!HAVE_MEMALIGN]: Do not include malloc.h.
43582 (grub_memalign): Use posix_memalign, if present. Then, use
43583 memalign, if present. Otherwise, emit an error.
43584
43585 * util/grub-emu.c: Do not include malloc.h.
43586
43587 * include/grub/util/misc.h: Include unistd.h. This is required for
43588 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
43589 D. Eades III <hde@foobar-qux.org>.
43590
43591 * configure.ac (AC_GNU_SOURCE): Added.
43592 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
43593 type.
43594
fd39d4da 435952006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
43596
43597 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
43598 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
43599
b786f3b5 436002006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
43601
43602 * include/grub/types.h (grub_host_addr_t): Rename to
43603 grub_target_addr_t.
43604 (grub_host_off_t): Rename to grub_target_off_t.
43605 (grub_host_size_t): Rename to grub_target_size_t.
43606 (grub_host_ssize_t): Rename to grub_target_ssize_t.
43607 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
43608
43609 * include/grub/kernel.h (struct grub_module_header): Change type
43610 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
43611 (grub_module_info): Likewise.
f19dbdb7 43612
051988bb 436132006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43614
43615 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
43616 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
43617 Velazquez <jesus.velazquez@gmail.com>.
43618
deae281b 436192006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
43620
43621 Count partitions from 1 instead of 0 in the string representation
43622 of partitions. Still use 0-based internally.
f19dbdb7 43623
deae281b 43624 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
43625 (sun_partition_map_iterate): Use grub_partition_t instead of
43626 struct grub_partition *. Cast DESC->START_CYLINDER to
43627 grub_uint64_t after converting the endian.
43628 (sun_partition_map_probe): Subtract 1 for PARTNUM.
43629 (sun_partition_map_get_name): Add 1 to P->INDEX.
43630
43631 * partmap/pc.c (grub_partition_parse): Subtract 1 for
43632 PCDATA->DOS_PART.
43633 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
43634
43635 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
43636 zero instead of one.
43637 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
43638 (gpt_partition_map_get_name): Add 1 into P->INDEX.
43639
43640 * partmap/apple.c (apple_partition_map_iterate): Change the type
43641 of POS to unsigned.
43642 (apple_partition_map_probe): Subtract 1 for PARTNUM.
43643 (apple_partition_map_get_name): Add 1 into P->INDEX.
43644
43645 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
43646 of POS to unsigned.
43647 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
43648 calculate the offset of a partition.
43649 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
43650 (amiga_partition_map_get_name): Add 1 into P->INDEX.
43651
43652 * partmap/acorn.c (acorn_partition_map_find): Change the type of
43653 SECTOR to grub_disk_addr_t.
43654 (acorn_partition_map_iterate): Likewise.
43655 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
43656 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
43657 top.
43658 (acorn_partition_map_get_name): Add 1 into P->INDEX.
43659
43660 * kern/i386/pc/init.c (make_install_device): Add 1 into
43661 GRUB_INSTALL_DOS_PART.
43662
43663 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
43664 conditional.
43665
524a1e6a 436662006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43667
43668 Clean up the code to support 64-bit addressing in disks and
43669 files. This change is not enough for filesystems yet.
f19dbdb7 43670
524a1e6a 43671 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
43672 type of "start" to grub_uint64_t.
43673 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
43674 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
43675 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
43676 convert addresses.
43677
43678 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
43679 to grub_disk_addr_t.
43680
43681 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
43682 string.
43683
43684 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43685
43686 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
43687 to char *.
43688
43689 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
43690
43691 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
43692
43693 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
43694
43695 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
43696 to grub_off_t, to detect an error from grub_file_seek.
43697 (grub_multiboot_load_elf32): Likewise.
43698
43699 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
43700 maximum unsigned long value when an overflow is detected.
43701 (grub_strtoull): New function.
43702 (grub_divmod64): Likewise.
43703 (grub_lltoa): use grub_divmod64.
43704
43705 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
43706 grub_disk_addr_t.
43707 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
43708 the pointer to next character. Use grub_strtoull instead of
43709 grub_strtoul.
43710 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
43711 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
43712 respectively.
43713
fe6b695a 43714 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 43715 return value is signed.
43716 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
43717 test if OFFSET is less than zero, as OFFSET is unsigned now.
43718
43719 * kern/disk.c (struct grub_disk_cache): Change the type of
43720 "sector" to grub_disk_addr_t.
43721 (grub_disk_cache_get_index): Change the type of SECTOR to
43722 grub_disk_addr_t. Calculate the hash with SECTOR casted to
43723 unsigned after shifting.
43724 (grub_disk_cache_invalidate): Change the type of SECTOR to
43725 grub_disk_addr_t.
43726 (grub_disk_cache_unlock): Likewise.
43727 (grub_disk_cache_store): Likewise.
43728 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
43729 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
43730 grub_disk_addr_t and grub_uint64_t, respectively.
43731 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
43732 body, as the value of OFFSET is tweaked by
43733 grub_disk_check_range. Change the types of START_SECTOR, LEN and
43734 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
43735 respectively.
43736 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
43737 body, as the value of OFFSET is tweaked by
43738 grub_disk_check_range. Change the types of LEN and N to
43739 grub_size_t.
43740
43741 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
43742 and "saved_offset" to grub_off_t.
43743 (test_header): Cast BUF to char *.
43744 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
43745 to char *.
43746 (grub_gzio_read): Change the types of OFFSET and SIZE to
43747 grub_off_t and grub_size_t, respectively.
43748
43749 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
43750 Removed.
43751 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
43752 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
43753 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
43754 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
43755 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
43756
43757 * include/grub/types.h (grub_off_t): Unconditionally set to
43758 grub_uint64_t.
43759 (grub_disk_addr_t): Changed to grub_uint64_t.
43760
43761 * include/grub/partition.h (struct grub_partition): Change the
43762 types of "start", "len" and "offset" to grub_disk_addr_t,
43763 grub_uint64_t and grub_disk_addr_t, respectively.
43764 (grub_partition_get_start): Return grub_disk_addr_t.
43765 (grub_partition_get_len): Return grub_uint64_t.
43766
43767 * include/grub/misc.h (grub_strtoull): New prototype.
43768 (grub_divmod64): Likewise.
43769
43770 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
43771 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
43772 grub_off_t, respectively.
43773 All callers and references changed.
43774
43775 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
43776 grub_size_t in "read".
43777 All callers and references changed.
43778
43779 * include/grub/file.h (struct grub_file): Change the types of
43780 "offset" and "size" to grub_off_t and grub_off_t,
43781 respectively. Change the type of SECTOR to grub_disk_addr_t in
43782 "read_hook".
43783 (grub_file_read): Change the type of LEN to grub_size_t.
43784 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
43785 grub_off_t.
43786 (grub_file_size): Return grub_off_t.
43787 (grub_file_tell): Likewise.
43788 All callers and references changed.
43789
43790 * include/grub/disk.h (struct grub_disk_dev): Change the types of
43791 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
43792 "write".
43793 (struct grub_disk): Change the type of "total_sectors" to
43794 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 43795 "read_hook".
524a1e6a 43796 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
43797 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
43798 (grub_disk_write): Likewise.
43799 All callers and references changed.
43800
43801 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
43802 char * for grub_strncmp to silence gcc.
43803 (grub_iso9660_mount): Likewise.
43804 (grub_iso9660_mount): Likewise.
43805 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
43806 return statement.
43807 (grub_iso9660_iterate_dir): Likewise.
43808 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
43809
43810 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
43811 LEN to grub_disk_addr_t and grub_size_t, respectively.
43812
43813 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43814
43815 * fs/jfs.c (grub_jfs_read_file): Likewise.
43816
43817 * fs/minix.c (grub_jfs_read_file): Likewise.
43818
43819 * fs/sfs.c (grub_jfs_read_file): Likewise.
43820
43821 * fs/ufs.c (grub_jfs_read_file): Likewise.
43822
43823 * fs/xfs.c (grub_jfs_read_file): Likewise.
43824
43825 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
43826 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
43827 respectively.
43828
43829 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
43830 BLKNR to -1 instead of returning GRUB_ERRNO.
43831 (grub_ext2_read_file): Change the types of SECTOR and
43832 LEN to grub_disk_addr_t and grub_size_t, respectively.
43833
43834 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
43835 LEN to grub_disk_addr_t and grub_size_t, respectively.
43836
43837 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
43838 grub_file_read.
43839
43840 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
43841 string. Do not cast SECTOR explicitly.
43842
43843 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
43844 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
43845 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
43846 grub_disk_addr_t and grub_size_t, respectively. If the sector is
43847 over 2TB and LBA mode is not supported, raise an error.
43848 (get_safe_sectors): New function.
43849 (grub_biosdisk_read): Use get_safe_sectors.
43850 (grub_biosdisk_write): Likewise.
43851
43852 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
43853 (grub_efidisk_write): Likewise.
43854
43855 * disk/loopback.c (delete_loopback): Cosmetic changes.
43856 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
43857 correctly.
43858 (grub_loopback_open): Likewise.
43859 (grub_loopback_read): Likewise. Also, change the type of POS to
43860 grub_off_t, and fix the usage of grub_memset.
43861
43862 * commands/i386/pc/play.c: Include grub/machine/time.h.
43863
43864 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
43865 print FILE->SIZE.
43866
43867 * commands/configfile.c: Include grub/env.h.
43868
43869 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
43870 GRUB_ERRNO directly instead. Change the type of POS to
43871 grub_off_t. Follow the coding standard.
43872
43873 * commands/blocklist.c: Include grub/partition.h.
43874 (grub_cmd_blocklist): Return an error if the underlying device is
43875 not a disk. Take the starting sector of a partition into account,
43876 if a partition is used.
43877
43878 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
43879 a length field.
43880 (lba_mode): Support 64-bit addresses.
43881 (chs_mode): Likewise.
43882 (copy_buffer): Adapted to the new offsets of a length field and a
43883 segment field.
43884 (blocklist_default_start): Allocate 64-bit space.
43885
43886 * boot/i386/pc/boot.S (force_lba): Removed.
43887 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 43888 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 43889 space.
43890 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
43891 is useless.
43892 (lba_mode): Refactored to support a 64-bit address. More size
43893 optimization.
43894 (setup_sectors): Likewise.
43895
53af98ad 438962006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
43897
43898 * DISTLIST: Added include/grub/i386/linux.h. Removed
43899 include/grub/i386/pc/linux.h
43900
43901 * configure.ac (AC_INIT): Bumped to 1.94.
43902
43903 * config.guess: Updated from gnulib.
43904 * config.sub: Likewise.
43905 * install-sh: Likewise.
43906 * mkinstalldirs: Likewise.
43907
b4c1940a 439082006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43909
43910 * conf/common.rmk (grub_modules_init.lst): Depended on
43911 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
43912 MODSRCFILES.
43913
43914 * genmk.rb (PModule::rule): Reverted the previous change.
43915
cfca1cfd 439162006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
43917
43918 * conf/common.rmk (grub_modules_init.lst): Depends on
43919 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
43920 that the target does not exist before producing.
43921 (grub_modules_init.h): Remove the target before generating.
43922 (grub_emu_init.c): Likewise.
43923
43924 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
43925
aa6d7826 439262006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
43927
43928 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
43929 for the target-specific tests. Make sure that we also have the
43930 up-to-date target variables for those tests.
43931
26c607b9 439322006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43933
43934 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
43935 (PModule::rule): Likewise.
43936
0162321a 439372006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
43938
43939 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
43940 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
43941 target-specific flags should be prefixed.
43942 (PModule::rule): Likewise.
43943
6c826348 439442006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43945
43946 * configure.ac (CMP): Check if cmp is available explicitly.
43947
b977bf01 439482006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
43949
43950 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
43951 (target_cpu): New variable.
43952 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 43953
b977bf01 43954 * util/i386/pc/grub-install.in (host_cpu): Removed.
43955 (target_cpu): New variable.
43956 (pkglibdir): Use target_cpu instead of host_cpu.
43957
43958 * util/genmoddep.c: Removed.
f19dbdb7 43959
b977bf01 43960 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
43961 instead of GRUB_HOST_SIZEOF_VOID_P.
43962 * kern/dl.c: Likewise.
43963
43964 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
43965 ...
43966 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43967 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43968 (GRUB_TARGET_SIZEOF_LONG): ... this.
43969 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43970 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43971 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43972 to ...
43973 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43974 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43975 (GRUB_TARGET_SIZEOF_LONG): ... this.
43976 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43977 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43978 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43979 to ...
43980 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43981 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43982 (GRUB_TARGET_SIZEOF_LONG): ... this.
43983 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43984 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43985
43986 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
43987 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
43988 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
43989 instead of GRUB_HOST_SIZEOF_LONG.
43990 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
43991 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
43992 GRUB_CPU_WORDS_BIGENDIAN.
43993 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
43994 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
43995 grub_host_ssize_t.
43996
43997 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
43998 (genmoddep_SOURCES): Likewise.
43999 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
44000 (genmoddep_SOURCES): Likewise.
44001 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
44002 (genmoddep_SOURCES): Likewise.
44003 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
44004 Likewise.
44005 (genmoddep_SOURCES): Likewise.
44006
44007 * genmoddep.awk: New file.
44008
44009 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
44010 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
44011 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
44012 (PModule::rule): Likewise.
44013 (Program::rule): Likewise.
44014 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
44015 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
44016 respectively.
44017
44018 * configure.ac: Rewritten intensively to use host and target
44019 instead of build and host, respectively.
44020
44021 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
44022 (host_cpu): Removed.
44023 (target_cpu): New variable.
44024 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
44025 (BUILD_CC): Removed.
44026 (BUILD_CFLAGS): Likewise.
44027 (BUILD_CPPFLAGS): Likewise.
44028 (TARGET_CC): New variable.
44029 (TARGET_CFLAGS): Likewise.
44030 (TARGET_CPPFLAGS): Likewise.
44031 (TARGET_LDFLAGS): Likewise.
44032 (AWK): Likewise.
44033 (include): Use target_cpu instead of host_cpu.
44034 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 44035
b977bf01 44036 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
44037
f09771a1 440382006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
44039
44040 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
44041 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
44042 field 'false' to 'exec_on_false'.
44043 (grub_script_create_cmdif): Renamed argument names to reflect above
44044 changes.
44045
44046 * normal/execute.c (grub_script_execute_cmdif): Likewise.
44047
44048 * normal/script.c (grub_script_create_cmdif): Likewise.
44049
118f4fb3 440502006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
44051
44052 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
44053 top.
44054 (grub_hfsplus_btree_recptr): Likewise.
44055 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
44056 FILEBLOCK both to pass a block number and store next block
44057 number.
44058 (grub_hfsplus_read_block): Rewritten heavily to support an extent
44059 overflow file correctly. Specify errors appropriately, because
44060 fshelp expects that GRUB_ERRNO is set when fails. Reuse
44061 grub_hfsplus_btree_recptr to get the pointer to a found key.
44062 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
44063 is found.
44064
44065 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
44066 linux.mod.
44067 (_linux_mod_SOURCES): New variable.
44068 (_linux_mod_CFLAGS): Likewise.
44069 (_linux_mod_LDFLAGS): Likewise.
44070 (linux_mod_SOURCES): Likewise.
44071 (linux_mod_CFLAGS): Likewise.
44072 (linux_mod_LDFLAGS): Likewise.
44073
44074 * DISTLIST: Added loader/i386/efi/linux.c,
44075 loader/i386/efi/linux_normal.c and
44076 include/grub/i386/efi/loader.h.
44077
44078 * loader/i386/efi/linux.c: New file.
44079 * loader/i386/efi/linux_normal.c: Likewise.
44080 * include/grub/i386/efi/loader.h: Likewise.
44081
89a7d726 440822006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
44083
44084 * commands/blocklist.c: New file.
44085
44086 * DISTLIST: Added commands/blocklist.c.
44087
44088 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 44089 color for the background, and a darker color for the foreground.
89a7d726 44090 (grub_console_checkkey): Return READ_KEY.
44091 (grub_console_cls): Set the background to
44092 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
44093
44094 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
44095
44096 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
44097 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
44098
44099 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
44100 prototype.
44101
44102 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
44103 BG. The spec is wrong again.
44104
44105 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
44106 prototype.
44107 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
44108
44109 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44110 commands/blocklist.c.
44111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 44112
89a7d726 44113 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
44114 (blocklist_mod_SOURCES): New variable.
44115 (blocklist_mod_CFLAGS): Likewise.
44116 (blocklist_mod_LDFLAGS): Likewise.
44117
75c8f258 441182006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
44119
44120 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
44121 duplication.
44122 (lba_mode): Use %eax more intensively to reduce the code size.
44123
da2eb181 441242006-05-20 Marco Gerards <marco@gnu.org>
44125
44126 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
44127
44128 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
44129 for `menuentry'.
44130 (script): Accept leading newlines.
44131 (newlines): New rule to describe 0 or more newlines.
44132 (commands): Accept `command' with trailing newline. Fixed the
44133 order in which arguments were passed to `grub_script_add_cmd'.
44134 Accept commands separated by newlines.
44135 (function): Changed to accept newlines.
44136 (menuentry) Rewritten.
44137
44138 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
44139 front of the list, instead of to the end.
44140
577b4050 441412006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
44142
44143 * util/i386/pc/grub-install.in (bindir): New variable.
44144 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
44145 Shaver <lbgwjl@gmail.com>.
44146
0d6e1189 441472006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
44148
44149 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
44150 grub/machine/linux.h
44151 * loader/i386/pc/linux.c: Likewise.
44152
44153 * include/grub/i386/pc/linux.h: Moved to ...
44154 * include/grub/i386/linux.h: ... here.
44155
44156 * include/grub/i386/linux.h (struct linux_kernel_params): New
44157 struct.
f19dbdb7 44158
31b86e9f 441592006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
44160
44161 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
44162 checking.
44163 (grub_video_vbe_blit_glyph): Likewise.
44164 (grub_video_vbe_blit_bitmap): Likewise.
44165 (grub_video_vbe_blit_render_target): Likewise.
44166
83b984de 441672006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
44168
44169 * configure.ac (--with-platform): Properly quote the square
44170 brackets.
44171
5f0413bd 441722006-05-08 Marco Gerards <marco@gnu.org>
44173
44174 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
44175 this...
44176 (kernel_elf_HEADERS): ...to this. Updated all users.
44177 (grubof_symlist.c): Renamed from this...
44178 (kernel_elf_symlist.c): ...to this. Updated all users.
44179 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44180 (grubof_SOURCES): Renamed from this...
44181 (kernel_elf_SOURCES): ...to this.
44182 (grubof_HEADERS): Renamed from this...
44183 (kernel_elf_HEADERS): ...to this.
44184 (grubof_CFLAGS): Renamed from this...
44185 (kernel_elf_CFLAGS): ...to this.
44186 (grubof_ASFLAGS): Renamed from this...
44187 (kernel_elf_ASFLAGS): ...to this.
44188 (grubof_LDFLAGS): Renamed from this...
44189 (kernel_elf_LDFLAGS): ...to this.
44190
44191 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
44192 this...
44193 (kernel_elf_HEADERS): ...to this. Updated all users.
44194 (grubof_symlist.c): Renamed from this...
44195 (kernel_elf_symlist.c): ...to this. Updated all users.
44196 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
44197 (grubof_SOURCES): Renamed from this...
44198 (kernel_elf_SOURCES): ...to this.
44199 (grubof_HEADERS): Renamed from this...
44200 (kernel_elf_HEADERS): ...to this.
44201 (grubof_CFLAGS): Renamed from this...
44202 (kernel_elf_CFLAGS): ...to this.
44203 (grubof_ASFLAGS): Renamed from this...
44204 (kernel_elf_ASFLAGS): ...to this.
44205 (grubof_LDFLAGS): Renamed from this...
44206 (kernel_elf_LDFLAGS): ...to this.
44207
44208 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
44209 `kernel.elf' instead of `grubof'.
44210
05568c2e 442112006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
44212
44213 Add --with-platform to configure. Use pkglibdir instead of
44214 pkgdatadir. This is reported by Roger Leigh.
44215
44216 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
44217 (host_vendor): Likewise.
44218 (host_os): Likewise.
44219 (pkgdatadir): Likewise.
44220 (platform): New variable.
44221 (pkglibdir): Likewise.
44222 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 44223
05568c2e 44224 * util/i386/pc/grub-install.in (datadir): Removed.
44225 (host_vendor): Likewise.
44226 (host_os): Likewise.
44227 (pkgdatadir): Likewise.
44228 (platform): New variable.
44229 (pkglibdir): Likewise.
44230 Use PKGLIBDIR instead of PKGDATADIR.
44231
44232 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
44233 instead of GRUB_DATADIR.
44234 (main): Likewise.
44235 * util/i386/pc/grub-mkimage.c (usage): Likewise.
44236 (main): Likewise.
44237 * util/i386/efi/grub-mkimage.c (usage): Likewise.
44238 (main): Likewise.
44239
44240 * configure.ac (--with-platform): New option.
44241 Use PLATFORM instead of HOST_VENDOR to specify a platform.
44242
44243 * Makefile.in: Include a makefile based on PLATFORM instead of
44244 HOST_VENDOR.
44245 (pkgdatadir): Not appended by the machine type.
44246 (pkglibdir): Appended by the machine type.
44247 (host_vendor): Removed.
44248 (platform): New variable.
44249 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
44250 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
44251 (uninstall): Likewise.
44252
4e93851c 442532006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
44254
44255 Use the environment context in the menu. Remove the commands
44256 "default" and "timeout", and use variables instead.
f19dbdb7 44257
4e93851c 44258 * normal/menu.c: Include grub/env.h.
44259 (print_entry): Cast TITLE to silence gcc.
44260 (get_timeout): New function.
44261 (set_timeout): Likewise.
44262 (get_entry_number): Likewise.
44263 (run_menu): Use a default entry, a fallback entry and a timeout
44264 in the environment variables "default", "fallback" and
44265 "timeout". Also, tweak the default entry if it is not within the
44266 current menu entries.
44267 (grub_menu_run): Use a fallback entry in the environment variable
44268 "fallback".
44269
44270 * normal/main.c (read_config_file): Do not initialize
44271 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
44272 NEWMENU->TIMEOUT.
44273 (grub_normal_execute): Use a data slot to store the menu.
44274
44275 * include/grub/normal.h (struct grub_menu): Removed default_entry,
44276 fallback_entry and timeout.
44277 (struct grub_menu_list): Removed.
44278 (grub_menu_list_t): Likewise.
44279 (struct grub_context): Likewise.
44280 (grub_context_t): Likewise.
44281 (grub_context_get): Likewise.
44282 (grub_context_get_current_menu): Likewise.
44283 (grub_context_push_menu): Likewise.
44284 (grub_context_pop_menu): Likewise.
44285 (grub_default_init): Likewise.
44286 (grub_default_fini): Likewise.
44287 (grub_timeout_init): Likewise.
44288 (grub_timeout_fini): Likewise.
44289
44290 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
44291 and timeout.mod.
44292 (normal_mod_SOURCES): Removed normal/context.c.
44293
44294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
44295 commands/default.c, commands/timeout.c and normal/context.c.
44296 (normal_mod_SOURCES): Removed normal/context.c.
44297
44298 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
44299 commands/timeout.c and normal/context.c.
44300 (normal_mod_SOURCES): Removed normal/context.c.
44301
44302 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
44303 commands/default.c, commands/timeout.c and normal/context.c.
44304 (normal_mod_SOURCES): Removed normal/context.c.
44305
44306 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
44307 timeout.mod.
44308 (default_mod_SOURCES): Removed.
44309 (default_mod_CFLAGS): Likewise.
44310 (default_mod_LDFLAGS): Likewise.
44311 (timeout_mod_SOURCES): Removed.
44312 (timeout_mod_CFLAGS): Likewise.
44313 (timeout_mod_LDFLAGS): Likewise.
44314
44315 * DISTLIST: Removed commands/default.c, commands/timeout.c and
44316 normal/context.c.
44317
44318 * commands/default.c: Removed.
44319 * commands/timeout.c: Likewise.
44320 * normal/context.c: Likewise.
44321
1eb9cc1d 443222006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
44323
44324 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
44325
385bd9c1 443262006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
44327
44328 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
44329 "next" to "prev" for readability.
44330 (struct grub_env_sorted_var): New struct.
44331 (grub_env_context): Renamed to ...
44332 (initial_context): ... this.
44333 (grub_env_var_context): Renamed to ...
44334 (current_context): ... this.
44335 (grub_env_find): Look only at CURRENT_CONTEXT.
44336 (grub_env_context_open): Rewritten to copy exported variables from
44337 previous context.
44338 (grub_env_context_close): Rewritten according to the new
44339 scheme. Also, add an assertion to prevent the initial context from
44340 removed.
44341 (grub_env_insert): Removed the code for the sorted list.
44342 (grub_env_remove): Likewise.
44343 (grub_env_export): Simply mark the variable with
44344 GRUB_ENV_VAR_GLOBAL.
44345 (grub_env_set): A cosmetic change for naming consistency.
44346 (grub_env_get): Likewise.
44347 (grub_env_unset): Likewise.
44348 (grub_env_iterate): Rewritten to sort variables within this
44349 function.
44350 (grub_register_variable_hook): Fixed for naming consistency. Call
44351 grub_env_find again, only if NAME is not found at the first time.
44352 (mangle_data_slot_name): New function.
44353 (grub_env_set_data_slot): Likewise.
44354 (grub_env_get_data_slot): Likewise.
44355 (grub_env_unset_data_slot): Likewise.
44356
44357 * include/grub/env.h (grub_env_var_type): New enum.
44358 (GRUB_ENV_VAR_LOCAL): New constant.
44359 (GRUB_ENV_VAR_GLOBAL): Likewise.
44360 (GRUB_ENV_VAR_DATA): Likewise.
44361 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
44362 "type".
44363 (grub_env_set): Replace VAR with NAME for consistency.
44364 (grub_register_variable_hook): Likewise.
44365 (grub_env_export): Specify the name of the argument.
44366 (grub_env_set_data_slot): New prototype.
44367 (grub_env_get_data_slot): Likewise.
44368 (grub_env_unset_data_slot): Likewise.
44369
7f362539 443702006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44371
44372 Extend the loader so that GRUB can accept a loader which comes
44373 back to GRUB when a loaded image exits. Also, this change adds
44374 support for a chainloader on EFI.
f19dbdb7 44375
7f362539 44376 * term/efi/console.c: Include grub/misc.h.
44377 (grub_console_checkkey): Display a scan code on the top for
44378 debugging. This will be removed once the EFI port gets stable.
44379 Correct the scan code mapping.
44380
44381 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
44382 allocate memory from larger regions, in order to reduce the number
44383 of allocated regions. Otherwise, the MacOSX loader panics.
44384 (filter_memory_map): Avoid less than 1MB for compatibility with
44385 other loaders.
44386 (add_memory_regions): Allocate from the tail of a region, if
44387 possible, to avoid allocating a region near to 1MB, for the MacOSX
44388 loader.
44389
44390 * kern/efi/init.c (grub_efi_set_prefix): Specify
44391 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
44392
44393 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
44394 argument IMAGE_HANDLE and specify it to get a loaded image.
44395 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
44396 grub_efi_get_loaded_image.
fe6b695a 44397 (grub_efi_get_filename): Divide the length by the size of
7f362539 44398 grub_efi_char16_t.
44399 (grub_efi_get_device_path): New function.
44400 (grub_efi_print_device_path): Print End Device Path nodes. Divide
44401 the length by the size of grub_efi_char16_t for a file path device
44402 path node.
44403
44404 * kern/loader.c (grub_loader_noreturn): New variable.
44405 (grub_loader_set): Accept a new argument NORETURN. Set
44406 GRUB_LOADER_NORETURN to NORETURN.
44407 All callers changed.
44408 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
44409 grub_machine_fini.
44410
44411 * include/grub/efi/efi.h (grub_efi_get_device_path): New
44412 prototype.
44413 (grub_efi_get_loaded_image): Take an argument to specify an image
44414 handle.
44415
44416 * include/grub/loader.h (grub_loader_set): Added one more argument
44417 NORETURN.
44418
44419 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
44420 instead of grub_efi_open_protocol.
44421 (grub_efidisk_get_device_name): Likewise.
44422 (grub_efidisk_close): Print a newline.
44423 (grub_efidisk_get_device_handle): Fixed to use
44424 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
44425 GRUB_EFI_DEVICE_PATH_TYPE.
44426
44427 * disk/efi/efidisk.c (device_path_guid): Moved to ...
44428 * kern/efi/efi.c (device_path_guid): ... here.
44429
44430 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
44431 chain.mod.
44432 (kernel_mod_HEADERS): Added efi/disk.h.
44433 (_chain_mod_SOURCES): New variable.
44434 (_chain_mod_CFLAGS): Likewise.
44435 (_chain_mod_LDFLAGS): Likewise.
44436 (chain_mod_SOURCES): Likewise.
44437 (chain_mod_CFLAGS): Likewise.
44438 (chain_mod_LDFLAGS): Likewise.
44439
44440 * DISTLIST: Added include/grub/efi/chainloader.h,
44441 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
44442
44443 * include/grub/efi/chainloader.h: New file.
44444 * loader/efi/chainloader.c: Likewise.
44445 * loader/efi/chainloader_normal.c: Likewise.
44446
c0111d6e 444472006-04-30 Marco Gerards <marco@gnu.org>
44448
44449 * commands/configfile.c (grub_cmd_source): New function.
44450 (GRUB_MOD_INIT): Register the commands `source' and `.'.
44451 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
44452
df5341da 444532006-04-30 Marco Gerards <marco@gnu.org>
44454
44455 * normal/execute.c (grub_script_execute_cmd): Change the return
44456 type to `grub_err_t'. Correctly return the error.
44457 (grub_script_execute_cmdline): In case a command line is not a
44458 command or a function, try to interpret it as an assignment.
44459
f85934bd 444602006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
44461
44462 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
44463 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
44464 skip a node whose name is obviously invalid as UTF-16,
44465 i.e. contains a NUL character. Stop the iteration when the last
44466 directory entry is found. Instead of using the return value of
44467 grub_hfsplus_btree_iterate_node, store the value in RET and use
44468 it, because the iterator can be stopped by the last directory
44469 entry.
44470
8f8a2cf8 444712006-04-30 Marco Gerards <marco@gnu.org>
44472
44473 * include/grub/env.h (grub_env_export): New prototype. Reported
44474 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
44475
a27e84ce 444762006-04-30 Marco Gerards <marco@gnu.org>
44477
44478 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
44479 size of the extents in a catalog file record.
44480
eaef0553 444812006-04-29 Marco Gerards <marco@gnu.org>
44482
44483 * commands/configfile.c (grub_cmd_configfile): Execute the
44484 configfile within its own context.
44485
44486 * include/grub/env.h (grub_env_context_open): New prototype.
44487 (grub_env_context_close): Likewise.
44488
44489 * kern/env.c (grub_env): Removed.
44490 (grub_env_sorted): Likewise.
44491 (grub_env_context): New variable.
44492 (grub_env_var_context): Likewise.
44493 (grub_env_find): Search both the active context and the global
44494 context.
44495 (grub_env_context_open): New function.
44496 (grub_env_context_close): Likewise.
44497 (grub_env_insert): Likewise.
44498 (grub_env_remove): Likewise.
44499 (grub_env_export): Likewise.
44500 (grub_env_set): Changed to use helper functions to avoid code
44501 duplication.
44502 (grub_env_iterate): Rewritten so both the current context and the
44503 global context are being used.
44504
44505 * normal/command.c (export_command): New function.
44506 (grub_command_init): Register the `export' function.
44507
7b455f4d 445082006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
44509
44510 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
44511 explicitly to suppress gcc's warnings.
44512 * fs/fat.c (grub_fat_find_dir): Likewise.
44513 (grub_fat_label): Likewise.
44514 * fs/xfs.c (grub_xfs_read_inode): Likewise.
44515 (grub_xfs_mount): Likewise.
44516 (grub_xfs_label): Likewise.
44517 * fs/affs.c (grub_affs_mount): Likewise.
44518 (grub_affs_label): Likewise.
44519 (grub_affs_iterate_dir): Likewise.
44520 * fs/sfs.c (grub_sfs_mount): Likewise.
44521 (grub_sfs_iterate_dir): Likewise.
44522 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
44523 * fs/hfs.c (grub_hfs_mount): Likewise.
44524 (grub_hfs_cmp_catkeys): Likewise.
44525 (grub_hfs_find_dir): Likewise.
44526 (grub_hfs_dir): Likewise.
44527 (grub_hfs_label): Likewise.
44528 * fs/jfs.c (grub_jfs_mount): Likewise.
44529 (grub_jfs_opendir): Likewise.
44530 (grub_jfs_getent): Likewise.
44531 (grub_jfs_lookup_symlink): Likewise.
44532 (grub_jfs_label): Likewise.
44533 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
44534 (grub_hfsplus_iterate_dir): Likewise.
44535 (grub_hfsplus_btree_iterate_node): Made static.
44536
44537 * util/grub-emu.c (prefix): New variable.
44538 (grub_machine_set_prefix): New function.
44539 (main): Do not set the environment variable "prefix" here. Only
44540 set PREFIX, which is used later by grub_machine_set_prefix.
44541
44542 * include/grub/video.h: Do not include grub/symbol.h.
44543 (grub_video_register): Not exported. This symbol is not defined in
44544 the kernel.
44545 (grub_video_unregister): Likewise.
44546 (grub_video_iterate): Likewise.
44547 (grub_video_setup): Likewise.
44548 (grub_video_restore): Likewise.
44549 (grub_video_get_info): Likewise.
44550 (grub_video_get_blit_format): Likewise.
44551 (grub_video_set_palette): Likewise.
44552 (grub_video_get_palette): Likewise.
44553 (grub_video_set_viewport): Likewise.
44554 (grub_video_get_viewport): Likewise.
44555 (grub_video_map_color): Likewise.
44556 (grub_video_map_rgb): Likewise.
44557 (grub_video_map_rgba): Likewise.
44558 (grub_video_fill_rect): Likewise.
44559 (grub_video_blit_glyph): Likewise.
44560 (grub_video_blit_bitmap): Likewise.
44561 (grub_video_blit_render_target): Likewise.
44562 (grub_video_scroll): Likewise.
44563 (grub_video_swap_buffers): Likewise.
44564 (grub_video_create_render_target): Likewise.
44565 (grub_video_delete_render_target): Likewise.
44566 (grub_video_set_active_render_target): Likewise.
44567
44568 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
44569 Undefined.
44570 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
44571
44572 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
44573 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44574 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44575 instead of $(srcdir)/genkernsyms.sh.
44576
44577 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
44578 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44579 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44580 instead of $(srcdir)/genkernsyms.sh.
44581
44582 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
44583 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44584 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44585 instead of $(srcdir)/genkernsyms.sh.
44586
44587 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
44588 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
44589 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
44590 instead of $(srcdir)/genkernsyms.sh.
44591
44592 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
44593 genkernsyms.sh.
44594
44595 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
44596 genkernsyms.sh.
44597 (gensymlist.sh): New target.
44598 (genkernsyms.sh): Likewise.
44599
44600 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
44601 genkernsyms.sh.in and gensymlist.sh.in.
44602
44603 * genkernsyms.sh: Removed.
44604 * gensymlist.sh: Likewise.
f19dbdb7 44605
7b455f4d 44606 * genkernsyms.sh.in: New file.
44607 * gensymlist.sh.in: Likewise.
44608
1885bb27 446092006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44610
44611 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
44612 clobber "prefix", since we may have already set it manually.
44613
71538dff 446142006-04-25 Hollis Blanchard <hollis@penguinppc.org>
44615
44616 * kern/misc.c (abort): New alias for grub_abort.
44617
2965c7cc 446182006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
44619
44620 A new machine-specific function "grub_machine_set_prefix" is
44621 defined. This is called after loading modules, so that a prefix
44622 initialization can use modules. Also, this change adds an
44623 intensive debugging feature for the memory manager via the
44624 configure option "--enable-mm-debug".
f19dbdb7 44625
2965c7cc 44626 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
44627 PART.LEN.
44628
44629 * kern/sparc64/ieee1275/init.c (abort): Removed.
44630 (grub_stop): Likewise.
44631 (grub_exit): New function.
44632 (grub_set_prefix): Renamed to ...
44633 (grub_machine_set_prefix): ... this.
44634 (grub_machine_init): Do not call grub_set_prefix.
44635
44636 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
44637 (grub_machine_set_prefix): ... this.
44638 (grub_machine_init): Do not call grub_set_prefix.
44639
44640 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
44641 (grub_machine_init): Do not set the prefix here.
44642
44643 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
44644
44645 * kern/efi/init.c: Include grub/mm.h.
44646 (grub_efi_set_prefix): New function.
44647
44648 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
44649 (grub_efi_get_filename): New function.
44650 (grub_print_device_path): Renamed to ...
44651 (grub_efi_print_device_path): ... this.
44652
44653 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
44654 [MM_DEBUG] (grub_realloc): Likewise.
44655 [MM_DEBUG] (grub_free): Likewise.
44656 [MM_DEBUG] (grub_memalign): Likewise.
44657 [MM_DEBUG] (grub_mm_debug): New variable.
44658 [MM_DEBUG] (grub_debug_malloc): New function.
44659 [MM_DEBUG] (grub_debug_free): New function.
44660 [MM_DEBUG] (grub_debug_realloc): New function.
44661 [MM_DEBUG] (grub_debug_memalign): New function.
44662
44663 * kern/misc.c (grub_abort): Print a newline to distinguish
44664 the message.
44665
44666 * kern/main.c (grub_main): Call grub_machine_set_prefix and
44667 grub_set_root_dev after loading modules. This is necessary when
44668 setting a prefix depends on modules.
44669
44670 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
44671 (grub_efi_print_device_path): ... this.
44672 (grub_efi_get_filename): New prototype.
44673 (grub_efi_set_prefix): Likewise.
44674
44675 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
44676 and grub/disk.h.
44677 (grub_efidisk_get_device_handle): New prototype.
44678 (grub_efidisk_get_device_name): Likewise.
44679
44680 * include/grub/mm.h: Include config.h.
44681 (MM_DEBUG): Removed.
44682 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
44683 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
44684 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
44685 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
44686 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
44687 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
44688 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
44689 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
44690 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
44691
44692 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
44693
44694 * disk/efi/efidisk.c: Include grub/partition.h.
44695 (iterate_child_devices): New function.
44696 (add_device): First, compare only last device path nodes, so that
44697 devices are sorted by the types.
44698 (grub_efidisk_get_device_handle): New function.
44699 (grub_efidisk_get_device_name): Likewise.
44700
44701 * configure.ac (--enable-mm-debug): New option to enable the
44702 memory manager debugging feature. This makes the binary much
44703 bigger, so is disabled by default.
44704
9cacaa17 447052006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
44706
44707 Use grub_abort instead of grub_stop, and grub_exit must be
44708 define in each architecture now. Also, this change adds support
44709 for EFI disks.
f19dbdb7 44710
9cacaa17 44711 * util/i386/pc/grub-probefs.c: Include grub/term.h.
44712 (grub_getkey): New function.
44713 (grub_term_get_current): Likewise.
44714
44715 * util/i386/pc/grub-setup.c: Include grub/term.h.
44716 (grub_getkey): New function.
44717 (grub_term_get_current): Likewise.
44718
44719 * util/misc.c (grub_stop): Renamed to ...
44720 (grub_exit): ... this.
44721
44722 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
44723 (grub_exit): ... this.
44724 (grub_machine_init): Use grub_abort instead of abort.
44725 (grub_stop): Removed.
44726
44727 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
44728 abort.
44729
44730 * kern/i386/pc/startup.S (grub_exit): New function.
44731 (cold_reboot): New label.
44732
44733 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
44734 (grub_efi_init): Call grub_efidisk_init.
44735 (grub_efi_fini): Call grub_efidisk_fini.
44736
44737 * kern/efi/efi.c: Include grub/mm.h.
44738 (grub_efi_console_control_guid): Renamed to ...
44739 (console_control_guid): ... this.
44740 (grub_efi_loaded_image_guid): Renamed to ...
44741 (loaded_image_guid): ... this.
44742 (grub_efi_locate_handle): New function.
44743 (grub_efi_open_protocol): Likewise.
44744 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
44745 GRUB_EFI_CONSOLE_CONTROL_GUID.
44746 (grub_efi_exit): Removed.
44747 (grub_stop): Likewise.
44748 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
44749 (grub_exit): New function.
44750 (grub_print_device_path): Likewise.
44751
44752 * kern/rescue.c (grub_rescue_cmd_exit): New function.
44753 (grub_enter_rescue_mode): Register "exit".
44754
44755 * kern/misc.c (grub_real_dprintf): A cosmetic change.
44756 (grub_abort): New function.
44757
44758 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
44759
44760 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
44761
44762 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
44763
44764 * include/grub/efi/efi.h (grub_efi_exit): Removed.
44765 (grub_print_device_path): New prototype.
44766 (grub_efi_locate_handle): Likewise.
44767 (grub_efi_open_protocol): Likewise.
44768
44769 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
44770 * disk/efi/efidisk.c: Likewise.
44771
44772 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
44773
44774 * include/grub/efi/console_control.h
44775 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
44776
44777 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
44778 last 8 bytes as an array.
44779 (GRUB_EFI_DISK_IO_GUID): New macro.
44780 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
44781 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
44782 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
44783 grub_uint8_t.
44784 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
44785 (struct grub_efi_device_path): Rename the member "sub_type" to
44786 "subtype".
44787 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
44788 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
44789 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
44790 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
44791 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
44792 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
44793 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
44794 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
44795 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
44796 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
44797 (struct grub_efi_pci_device_path): New structure.
44798 (grub_efi_pci_device_path_t): New type.
44799 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
44800 (struct grub_efi_pccard_device_path): New structure.
44801 (grub_efi_pccard_device_path_t): New type.
44802 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
44803 (struct grub_efi_memory_mapped_device_path): New structure.
44804 (grub_efi_memory_mapped_device_path_t): New type.
44805 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
44806 (struct grub_efi_vendor_device_path): New structure.
44807 (grub_efi_vendor_device_path_t): New type.
44808 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
44809 (struct grub_efi_controller_device_path): New structure.
44810 (grub_efi_controller_device_path_t): New type.
44811 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
44812 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
44813 (struct grub_efi_acpi_device_path): New structure.
44814 (grub_efi_acpi_device_path_t): New type.
44815 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
44816 (struct grub_efi_expanded_acpi_device_path): New structure.
44817 (grub_efi_expanded_acpi_device_path_t): New type.
44818 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
44819 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
44820 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
44821 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
44822 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
44823 (struct grub_efi_atapi_device_path): New structure.
44824 (grub_efi_atapi_device_path_t): New type.
44825 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
44826 (struct grub_efi_fibre_channel_device_path): New structure.
44827 (grub_efi_fibre_channel_device_path_t): New type.
44828 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
44829 (struct grub_efi_1394_device_path): New structure.
44830 (grub_efi_1394_device_path_t): New type.
44831 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
44832 (struct grub_efi_usb_device_path): New structure.
44833 (grub_efi_usb_device_path_t): New type.
44834 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
44835 (struct grub_efi_usb_class_device_path): New structure.
44836 (grub_efi_usb_class_device_path_t): New type.
44837 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
44838 (struct grub_efi_i2o_device_path): New structure.
44839 (grub_efi_i2o_device_path_t): New type.
44840 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
44841 (struct grub_efi_mac_address_device_path): New structure.
44842 (grub_efi_mac_address_device_path_t): New type.
44843 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
44844 (struct grub_efi_ipv4_device_path): New structure.
44845 (grub_efi_ipv4_device_path_t): New type.
44846 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
44847 (struct grub_efi_ipv6_device_path): New structure.
44848 (grub_efi_ipv6_device_path_t): New type.
44849 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
44850 (struct grub_efi_infiniband_device_path): New structure.
44851 (grub_efi_infiniband_device_path_t): New type.
44852 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
44853 (struct grub_efi_uart_device_path): New structure.
44854 (grub_efi_uart_device_path_t): New type.
44855 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
44856 (struct grub_efi_vendor_messaging_device_path): New structure.
44857 (grub_efi_vendor_messaging_device_path_t): New type.
44858 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
44859 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
44860 (struct grub_efi_hard_drive_device_path): New structure.
44861 (grub_efi_hard_drive_device_path_t): New type.
44862 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
44863 (struct grub_efi_cdrom_device_path): New structure.
44864 (grub_efi_cdrom_device_path_t): New type.
44865 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
44866 (struct grub_efi_vendor_media_device_path): New structure.
44867 (grub_efi_vendor_media_device_path_t): New type.
44868 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
44869 (struct grub_efi_file_path_device_path): New structure.
44870 (grub_efi_file_path_device_path_t): New type.
44871 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
44872 (struct grub_efi_protocol_device_path): New structure.
44873 (grub_efi_protocol_device_path_t): New type.
44874 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
44875 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
44876 (struct grub_efi_bios_device_path): New structure.
44877 (grub_efi_bios_device_path_t): New type.
44878 (struct grub_efi_disk_io): New structure.
44879 (grub_efi_disk_io_t): New type.
44880 (struct grub_efi_block_io_media): New structure.
44881 (grub_efi_block_io_media_t): New type.
44882 (struct grub_efi_block_io): New structure.
44883 (grub_efi_block_io_t): New type.
44884
44885 * include/grub/misc.h (grub_stop): Removed.
44886 (grub_exit): New prototype.
44887 (grub_abort): Likewise.
44888
44889 * include/grub/disk.h (enum grub_disk_dev_id): Added
44890 GRUB_DISK_DEVICE_EFIDISK_ID.
44891
44892 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
44893 disk/efi/efidisk.c.
44894 (kernel_syms.lst): Remove the target if an error occurs.
44895
49986a9f 448962006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
44897
44898 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
44899 as it was simply too buggy.
44900
970d3b8a 449012006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
44902
44903 * kern/misc.c (grub_lltoa): New function.
44904 (grub_vsprintf): Added support for the long long suffix,
44905 i.e. "ll".
44906
ff04ec24 449072006-04-20 Hollis Blanchard <hollis@penguinppc.org>
44908
44909 * Makefile.in (LDFLAGS): Add variable.
44910 (LD): Remove variable.
44911 * configure.ac: Add -m32 to LDFLAGS.
44912 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
44913 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
44914 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
44915 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
44916 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
44917 variables.
44918 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
44919 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
44920 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
44921
37e5e1a4 449222006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
44923
44924 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
44925 length for unknown glyph.
44926
c352d8dd 449272006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
44928
2eab1c0d 44929 Add support for pre-loaded modules into the EFI port.
f19dbdb7 44930
2eab1c0d 44931 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
44932 completely. Accept one more argument DIR. The caller has changed.
44933
44934 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
44935
44936 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
44937 (grub_efi_loaded_image_guid): New variable.
44938 (grub_efi_get_loaded_image): New function.
44939 (grub_arch_modules_addr): Likewise.
44940
44941 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
44942 prototype.
44943
44944 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
44945 (struct grub_efi_loaded_image): New structure.
44946 (grub_efi_loaded_image_t): New type.
44947
449482006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44949
c352d8dd 44950 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
44951 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
44952 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
44953
6d01d6b4 449542006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44955
44956 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44957
976a4ea0 449582006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
44959
44960 * DISTLIST: Added include/grub/efi/console.h,
44961 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
44962 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44963
44964 * include/grub/efi/console.h: New file.
44965 * include/grub/efi/time.h: Likewise.
44966 * include/grub/i386/efi/kernel.h: Likewise.
44967 * kern/efi/init.c: Likewise.
44968 * kern/efi/mm.c: Likewise.
44969 * term/efi/console.c: Likewise.
f19dbdb7 44970
976a4ea0 44971 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
44972 (grub_stop): Removed.
44973 (grub_get_rtc): Likewise.
44974 (grub_machine_init): Simply call grub_efi_init.
44975 (grub_machine_fini): Call grub_efi_fini.
44976
44977 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
44978 (grub_efi_output_string): Removed.
44979 (grub_efi_stall): New function.
44980 (grub_stop): Likewise.
44981 (grub_get_rtc): Likewise.
44982
44983 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
44984 (grub_efi_stall): New prototype.
44985 (grub_efi_allocate_pages): Likewise.
44986 (grub_efi_free_pages): Likewise.
44987 (grub_efi_get_memory_map): Likewise.
44988 (grub_efi_mm_init): Likewise.
44989 (grub_efi_mm_fini): Likewise.
44990 (grub_efi_init): Likewise.
44991 (grub_efi_fini): Likewise.
44992
44993 * include/grub/i386/efi/time.h: Do not include
44994 grub/symbol.h. Include grub/efi/time.h.
44995 (GRUB_TICKS_PER_SECOND): Removed.
44996 (grub_get_rtc): Likewise.
44997
44998 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
44999 Added padding. The EFI spec is buggy.
45000 (GRUB_EFI_BLACK): New macro.
45001 (GRUB_EFI_BLUE): Likewise.
45002 (GRUB_EFI_GREEN): Likewise.
45003 (GRUB_EFI_CYAN): Likewise.
45004 (GRUB_EFI_RED): Likewise.
45005 (GRUB_EFI_MAGENTA): Likewise.
45006 (GRUB_EFI_BROWN): Likewise.
45007 (GRUB_EFI_LIGHTGRAY): Likewise.
45008 (GRUB_EFI_BRIGHT): Likewise.
45009 (GRUB_EFI_DARKGRAY): Likewise.
45010 (GRUB_EFI_LIGHTBLUE): Likewise.
45011 (GRUB_EFI_LIGHTGREEN): Likewise.
45012 (GRUB_EFI_LIGHTCYAN): Likewise.
45013 (GRUB_EFI_LIGHTRED): Likewise.
45014 (GRUB_EFI_LIGHTMAGENTA): Likewise.
45015 (GRUB_EFI_YELLOW): Likewise.
45016 (GRUB_EFI_WHITE): Likewise.
45017 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
45018 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
45019 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
45020 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
45021 (GRUB_EFI_BACKGROUND_RED): Likewise.
45022 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
45023 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
45024 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
45025 (GRUB_EFI_TEXT_ATTR): Likewise.
45026
45027 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
45028 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
45029 (kernel_mod_HEADERS): Added efi/time.h.
45030
83709125 450312006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
45032
45033 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
45034 include/grub/efi/api.h, include/grub/efi/console_control.h,
45035 include/grub/efi/efi.h, include/grub/efi/pe32.h,
45036 include/grub/i386/efi/time.h, kern/efi/efi.c,
45037 kern/i386/efi/init.c, kern/i386/efi/startup.S,
45038 and util/i386/efi/grub-mkimage.c.
45039
45040 * Makefile.in (RMKFILES): Added i386-efi.rmk.
45041
45042 * genmk.rb (PModule#rule): Do not export symbols if
45043 #{prefix}_EXPORTS is set to "no".
45044
45045 * conf/i386-efi.mk: New file.
45046 * conf/i386-efi.rmk: Likewise.
45047 * include/grub/efi/api.h: Likewise.
45048 * include/grub/efi/console_control.h: Likewise.
45049 * include/grub/efi/efi.h: Likewise.
45050 * include/grub/efi/pe32.h: Likewise.
45051 * include/grub/i386/efi/time.h: Likewise.
45052 * kern/efi/efi.c: Likewise.
45053 * kern/i386/efi/init.c: Likewise.
45054 * kern/i386/efi/startup.S: Likewise.
45055 * util/i386/efi/grub-mkimage.c: Likewise.
45056
450572006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 45058
45059 * include/grub/script.h: Include <grub/parser.h> and
45060 "grub_script.tab.h".
45061 (struct grub_lexer_param): New struct.
45062 (struct grub_parser_param): Likewise.
45063 (grub_script_create_arglist): Pass the state in an argument.
45064 (grub_script_add_arglist): Likewise.
45065 (grub_script_create_cmdline): Likewise.
45066 (grub_script_create_cmdblock): Likewise.
45067 (grub_script_create_cmdif): Likewise.
45068 (grub_script_create_cmdmenu): Likewise.
45069 (grub_script_add_cmd): Likewise.
45070 (grub_script_arg_add): Likewise.
45071 (grub_script_lexer_ref): Likewise.
45072 (grub_script_lexer_deref): Likewise.
45073 (grub_script_lexer_record_start): Likewise.
45074 (grub_script_lexer_record_stop): Likewise.
45075 (grub_script_mem_record): Likewise.
45076 (grub_script_mem_record_stop): Likewise.
45077 (grub_script_malloc): Likewise.
45078 (grub_script_yylex): Likewise.
45079 (grub_script_yyparse): Likewise.
45080 (grub_script_yyerror): Likewise.
45081 (grub_script_yylex): Likewise.
45082 (grub_script_lexer_init): Return the state.
45083
45084 * normal/lexer.c (grub_script_lexer_state): Removed variable.
45085 (grub_script_lexer_done): Likewise.
45086 (grub_script_lexer_getline): Likewise.
45087 (grub_script_lexer_refs): Likewise.
45088 (script): Likewise.
45089 (newscript): Likewise.
45090 (record): Likewise.
45091 (recording): Likewise.
45092 (recordpos): Likewise.
45093 (recordlen): Likewise.
45094 (grub_script_lexer_init): Return the state instead of setting
45095 global variables.
45096 (grub_script_lexer_ref): Use the newly added argument for state
45097 instead of globals.
45098 (grub_script_lexer_deref): Likewise.
45099 (grub_script_lexer_record_start): Likewise.
45100 (grub_script_lexer_record_stop): Likewise.
45101 (recordchar): Likewise.
45102 (nextchar): Likewise.
45103 (grub_script_yylex2): Likewise.
45104 (grub_script_yylex): Likewise.
45105 (grub_script_yyerror): Likewise.
45106
45107 * normal/parser.y (func_mem): Removed variable.
45108 (menu_entry): Likewise.
45109 (err): Likewise.
45110 (%lex-param): New parser option.
45111 (%parse-param): Likewise.
45112 (script): Always return the AST.
45113 (argument): Pass the state around.
45114 (arguments): Likewise.
45115 (grubcmd): Likewise.
45116 (commands): Likewise.
45117 (function): Likewise.
45118 (menuentry): Likewise.
45119 (if_statement): Likewise.
45120 (if): Likewise.
45121
45122 * normal/script.c (grub_script_memused): Removed variable.
45123 (grub_script_parsed): Likewise.
45124 (grub_script_malloc): Added a state argument. Use that instead of
45125 global variables.
45126 (grub_script_mem_record): Likewise.
45127 (grub_script_mem_record_stop): Likewise.
45128 (grub_script_arg_add): Likewise.
45129 (grub_script_add_arglist): Likewise.
45130 (grub_script_create_cmdline): Likewise.
45131 (grub_script_create_cmdif): Likewise.
45132 (grub_script_create_cmdmenu): Likewise.
45133 (grub_script_add_cmd): Likewise.
45134 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 45135
e2a8c904 451362006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 45137
45138 * normal/command.c (grub_command_init): Remove the title command.
45139
45140 * normal/lexer.c (grub_script_yylex): Renamed from this...
45141 (grub_script_yylex2): ... to this.
45142 (grub_script_yylex): New function. Temporary
45143 introduced to filter some tokens.
45144 (grub_script_yyerror): Print a newline.
45145
45146 * normal/main.c (read_config_file): Output information about the
45147 lines that contain errors. Wait for a key after all lines have
45148 been processed. Don't return an empty menu.
45149
45150 * normal/parser.y (func_mem): Don't initialize.
45151 (menu_entry): Likewise.
45152 (err): New variable.
45153 (script): Don't return anything when an error was encountered.
45154 (ws, returns): Removed rules.
45155 (argument): Disabled concatenated variable support.
45156 (arguments): Remove explicit separators.
45157 (grubcmd): Likewise.
45158 (function): Likewise.
45159 (menuentry): Likewise.
45160 (if): Likewise.
45161 (commands): Likewise. Add error handling.
45162
45163 * normal/script.c (grub_script_create_cmdline): If
45164 `grub_script_parsed' is 0, assume the parser encountered an error.
45165
c9a86192 451662006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
45167
45168 * configure.ac: Add support for EFI. Fix the typo
45169 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
45170
70f3b243 451712006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45172
45173 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
45174 foreign multibyte characters should be shown correctly.
45175
65f201ad 451762006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
45177
45178 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
45179 calculation.
45180 (read_config_file): Made it to close file before returning.
45181
b4b93674 451822006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
45183
45184 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
45185 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
45186 video/i386/pc/vbefill.c.
45187
45188 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
45189 video/i386/pc/vbefill.c.
45190
45191 * include/grub/video.h (grub_video_blit_format): New enum.
45192 (grub_video_mode_info): Added new member blit_format.
45193 (grub_video_get_blit_format): New function prototype.
45194
45195 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
45196 function prototype.
45197 (grub_video_vbe_map_rgb): Likewise.
45198 (grub_video_vbe_unmap_color): Likewise.
45199
45200 * include/grub/i386/pc/vbeblit.h: New file.
45201
45202 * include/grub/i386/pc/vbefill.h: New file.
45203
45204 * video/video.c (grub_video_get_blit_format): New function.
45205 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
45206 (grub_video_vbe_map_rgb): Likewise.
45207 (grub_video_vbe_unmap_color): Likewise.
45208
45209 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
45210 optimized fills.
45211 (grub_video_vbe_blit_render_target): Changed to use more optimized
45212 blits.
45213 (grub_video_vbe_setup): Added detection for optimized settings.
45214 (grub_video_vbe_create_render_target): Likewise.
45215
45216 * video/i386/pc/vbeblit.c: New file.
45217
45218 * video/i386/pc/vbefill.c: New file.
45219
c2379b9c 452202006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
45221
45222 * font/manager.c (grub_font_get_glyph): Removed font fixup from
45223 here...
45224
45225 * util/unifont2pff.rb: ... and moved it to here. Improved argument
45226 parsing to support both hex and dec ranges. If filename was missing
45227 show usage information.
45228
bd0d7896 452292006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
45230
45231 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
45232 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
45233
45234 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
45235 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
45236 (video_mod_SOURCES): Added.
45237 (video_mod_CFLAGS): Likewise.
45238 (video_mod_LDFLAGS): Likewise.
45239 (gfxterm_mod_SOURCES): Likewise.
45240 (gfxterm_mod_CFLAGS): Likewise.
45241 (gfxterm_mod_LDFLAGS): Likewise.
45242 (videotest_mod_SOURCES): Likewise.
45243 (videotest_mod_CFLAGS): Likewise.
45244 (videotest_mod_LDFLAGS): Likewise.
45245 (vesafb_mod_SOURCES): Removed.
45246 (vesafb_mod_CFLAGS): Likewise.
45247 (vesafb_mod_LDFLAGS): Likewise.
45248 (vga_mod_SOURCES): Likewise.
45249 (vga_mod_CFLAGS): Likewise.
45250 (vga_mod_LDFLAGS): Likewise.
45251
45252 * commands/videotest.c: New file.
45253
45254 * font/manager.c (fill_with_default_glyph): Modified to use
45255 grub_font_glyph.
45256 (grub_font_get_glyph): Likewise.
45257 (fontmanager): Renamed from this...
45258 (font_manager): ... to this.
45259
45260 * include/grub/font.h (grub_font_glyph): Added new structure.
45261 (grub_font_get_glyph): Modified to use grub_font_glyph.
45262
45263 * include/grub/misc.h (grub_abs): Added as inline function.
45264
45265 * include/grub/video.h: New file.
45266
45267 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
45268 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
45269 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
45270 (grub_vbe_get_controller_info): Renamed from this...
45271 (grub_vbe_bios_get_controller_info): ... to this.
45272 (grub_vbe_get_mode_info): Renamed from this...
45273 (grub_vbe_bios_get_mode_info): ... to this.
45274 (grub_vbe_set_mode): Renamed from this...
45275 (grub_vbe_bios_set_mode): ... to this.
45276 (grub_vbe_get_mode): Renamed from this...
45277 (grub_vbe_bios_get_mode): ... to this.
45278 (grub_vbe_set_memory_window): Renamed from this...
45279 (grub_vbe_bios_set_memory_window): ... to this.
45280 (grub_vbe_get_memory_window): Renamed from this...
45281 (grub_vbe_bios_get_memory_window): ... to this.
45282 (grub_vbe_set_scanline_length): Renamed from this...
45283 (grub_vbe_set_scanline_length): ... to this.
45284 (grub_vbe_get_scanline_length): Renamed from this...
45285 (grub_vbe_bios_get_scanline_length): ... to this.
45286 (grub_vbe_set_display_start): Renamed from this...
45287 (grub_vbe_bios_set_display_start): ... to this.
45288 (grub_vbe_get_display_start): Renamed from this...
45289 (grub_vbe_bios_get_display_start): ... to this.
45290 (grub_vbe_set_palette_data): Renamed from this...
45291 (grub_vbe_bios_set_palette_data): ... to this.
45292 (grub_vbe_set_pixel_rgb): Removed.
45293 (grub_vbe_set_pixel_index): Likewise.
45294
45295 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
45296 from this...
45297 (grub_vbe_bios_get_controller_info): ... to this.
45298 (grub_vbe_get_mode_info): Renamed from this...
45299 (grub_vbe_bios_get_mode_info): ... to this.
45300 (grub_vbe_set_mode): Renamed from this...
45301 (grub_vbe_bios_set_mode): ... to this.
45302 (grub_vbe_get_mode): Renamed from this...
45303 (grub_vbe_bios_get_mode): ... to this.
45304 (grub_vbe_set_memory_window): Renamed from this...
45305 (grub_vbe_bios_set_memory_window): ... to this.
45306 (grub_vbe_get_memory_window): Renamed from this...
45307 (grub_vbe_bios_get_memory_window): ... to this.
45308 (grub_vbe_set_scanline_length): Renamed from this...
45309 (grub_vbe_set_scanline_length): ... to this.
45310 (grub_vbe_get_scanline_length): Renamed from this...
45311 (grub_vbe_bios_get_scanline_length): ... to this.
45312 (grub_vbe_set_display_start): Renamed from this...
45313 (grub_vbe_bios_set_display_start): ... to this.
45314 (grub_vbe_get_display_start): Renamed from this...
45315 (grub_vbe_bios_get_display_start): ... to this.
45316 (grub_vbe_set_palette_data): Renamed from this...
45317 (grub_vbe_bios_set_palette_data): ... to this.
45318 (grub_vbe_bios_get_controller_info): Fixed problem with registers
45319 getting corrupted after calling it. Added more pushes and pops.
45320 (grub_vbe_bios_set_mode): Likewise.
45321 (grub_vbe_bios_get_mode): Likewise.
45322 (grub_vbe_bios_get_memory_window): Likewise.
45323 (grub_vbe_bios_set_scanline_length): Likewise.
45324 (grub_vbe_bios_get_scanline_length): Likewise.
45325 (grub_vbe_bios_get_display_start): Likewise.
45326 (grub_vbe_bios_set_palette_data): Likewise.
45327
45328 * normal/cmdline.c (cl_set_pos): Refresh the screen.
45329 (cl_insert): Likewise.
45330 (cl_delete): Likewise.
45331
45332 * term/gfxterm.c: New file.
45333
45334 * term/i386/pc/vesafb.c: Removed file.
45335
45336 * video/video.c: New file.
45337
45338 * video/i386/pc/vbe.c (real2pm): Added new function.
45339 (grub_video_vbe_draw_pixel): Likewise.
45340 (grub_video_vbe_get_video_ptr): Likewise.
45341 (grub_video_vbe_get_pixel): Likewise
45342 (grub_video_vbe_init): Likewise.
45343 (grub_video_vbe_fini): Likewise.
45344 (grub_video_vbe_setup): Likewise.
45345 (grub_video_vbe_get_info): Likewise.
45346 (grub_video_vbe_set_palette): Likewise.
45347 (grub_video_vbe_get_palette): Likewise.
45348 (grub_video_vbe_set_viewport): Likewise.
45349 (grub_video_vbe_get_viewport): Likewise.
45350 (grub_video_vbe_map_color): Likewise.
45351 (grub_video_vbe_map_rgb): Likewise.
45352 (grub_video_vbe_map_rgba): Likewise.
45353 (grub_video_vbe_unmap_color): Likewise.
45354 (grub_video_vbe_fill_rect): Likewise.
45355 (grub_video_vbe_blit_glyph): Likewise.
45356 (grub_video_vbe_blit_bitmap): Likewise.
45357 (grub_video_vbe_blit_render_target): Likewise.
45358 (grub_video_vbe_scroll): Likewise.
45359 (grub_video_vbe_swap_buffers): Likewise.
45360 (grub_video_vbe_create_render_target): Likewise.
45361 (grub_video_vbe_delete_render_target): Likewise.
45362 (grub_video_vbe_set_active_render_target): Likewise.
45363 (grub_vbe_set_pixel_rgb): Remove function.
45364 (grub_vbe_set_pixel_index): Likewise.
45365 (index_color_mode): Remove static variable.
45366 (active_mode): Likewise.
45367 (framebuffer): Likewise.
45368 (bytes_per_scan_line): Likewise.
45369 (grub_video_vbe_adapter): Added new static variable.
45370 (framebuffer): Likewise.
45371 (render_target): Likewise.
45372 (initial_mode): Likewise.
45373 (mode_in_use): Likewise.
45374 (mode_list): Likewise.
45375
5f97350b 453762006-03-10 Marco Gerards <marco@gnu.org>
45377
45378 * configure.ac (AC_INIT): Bumped to 1.93.
45379
45380 * DISTLIST: Added `include/grub/hfs.h'.
45381
a3c5c6f8 453822006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
45383
45384 * boot/i386/pc/boot.S (general_error): Before looping, try INT
45385 18H, which might help the BIOS falling back to next boot media.
45386
6de53d26 453872006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
45388
45389 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
45390 Poe Chen <poe.poechen@gmail.com>.
45391
77c4a393 453922006-01-17 Marco Gerards <marco@gnu.org>
45393
45394 * include/grub/normal.h: Include <grub/script.h>.
45395 (grub_command_list): Removed struct.
45396 (grub_command_list_t): Removed type.
45397 (grub_menu_entry): Remove members `num' and `command_list'. Add
45398 members `commands' and `sourcecode'.
45399 * include/grub/script.h: Add inclusion guards.
45400 (grub_script_cmd_menuentry): New struct.
45401 (grub_script_execute_menuentry): New prototype.
45402 (grub_script_lexer_record_start): Likewise.
45403 (grub_script_lexer_record_stop): Likewise.
45404 * normal/execute.c (grub_script_execute_menuentry): New function.
45405 * normal/lexer.c (record, recording, recordpos, recordlen): New
45406 variables.
45407 (grub_script_lexer_record_start): New function.
45408 (grub_script_lexer_record_stop): Likewise.
45409 (recordchar): Likewise.
45410 (nextchar): Likewise.
45411 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
45412 2048 as the buffer size. Add the tokens `menuentry' and `@'.
45413 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
45414 (current_menu): New variable.
45415 (free_menu): Mainly rewritten.
45416 (grub_normal_menu_addentry): New function.
45417 (read_config_file): Rewritten.
45418 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 45419 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 45420 the menu entry.
45421 (run): Mainly rewritten.
45422 * normal/parser.y (menu_entry): New variable.
45423 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
45424 (menuentry): New rule.
45425 (command): Add `menuentry'.
45426 (if_statement): Allow additional returns before `fi'.
45427 * normal/script.c (grub_script_create_cmdmenu): New function.
45428
144f1f98 454292006-01-03 Marco Gerards <marco@gnu.org>
45430
45431 * INSTALL: GNU Bison is required.
45432 * configure.ac: Rewritten the test to detect Bison.
45433 * Makefile.in (YACC): New variable. Reported by Xun Sun
45434 <xun.sun.cn@gmail.com>.
45435
af4b2d89 454362006-01-03 Marco Gerards <marco@gnu.org>
45437
45438 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
45439 the HFS+ filesystem to filesystem blocks.
45440 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
45441 GCC warning is silenced.
45442
15643b71 454432006-01-03 Marco Gerards <marco@gnu.org>
45444
45445 * partmap/apple.c (apple_partition_map_iterate): Convert the data
45446 read from disk from big endian to host byte order.
45447
00905879 454482006-01-03 Hollis Blanchard <hollis@penguinppc.org>
45449
45450 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
45451 documentation.
45452 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
45453 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
45454 embedded HFS+ filesystem.
45455 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
45456 (grub_hfs_sblock): Move from here...
45457 * include/grub/hfs.h: To here... New file.
45458 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
45459 documentation.
45460 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
45461 New macros.
45462 (grub_hfsplus_volheader): Change type of member `magic' to
45463 `grub_uint16_t'.
45464 (grub_hfsplus_data): Add new member `embedded_offset'.
45465 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
45466 returned block.
45467 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
45468 Calculate the offset.
45469
8899bc3e 454702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45471
45472 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
45473 Removed.
45474 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
45475
ae8c0277 454762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45477
45478 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
45479 ENV->NAME is NULL after allocating ENV->VALUE.
45480
07084456 454812005-12-25 Marco Gerards <marco@gnu.org>
45482
45483 * kern/env.c (grub_env_set): Rewritten the error handling code.
45484
4750f5f1 454852005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45486
45487 * geninit.sh: Made more robust, and more portable.
45488
50214199 454892005-12-25 Marco Gerards <marco@gnu.org>
45490
45491 Add support for Apple HFS+ filesystems.
f19dbdb7 45492
50214199 45493 * fs/hfsplus.c: New file.
45494
45495 * DISTLIST: Added `fs/hfsplus.c'.
45496
45497 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
45498 (hfsplus_mod_SOURCES): New variable.
45499 (hfsplus_mod_CFLAGS): Likewise.
45500 (hfsplus_mod_LDFLAGS): Likewise.
45501 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
45502 (grub_setup_SOURCES): Likewise.
45503 (grub_mkdevicemap_SOURCES): Likewise.
45504 (grub_emu_SOURCES): Likewise.
45505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45506
45507 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
45508
45509 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
45510
befaed6c 455112005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
45512
45513 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
45514 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
45515 include/grub/parser.h, include/grub/script.h, kern/parser.c,
45516 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
45517 normal/lexer.c, normal/parser.y, normal/script.c, and
45518 partmap/gpt.c.
45519 Removed kern/sparc64/cache.c.
45520
45521 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
45522 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
45523 grub_emu_init.c.
45524
45525 * configure.ac (AC_INIT): Bumped to 1.92.
45526
6a124103 455272005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
45528
45529 * kern/err.c (grub_error_push): Added new function to support error
45530 stacks.
45531 (grub_error_pop): Likewise.
45532 (grub_error_stack_items): New local variable to support error stacks.
45533 (grub_error_stack_pos): Likewise.
45534 (grub_error_stack_assert): Likewise.
45535 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
45536 stack depth.
45537 (grub_print_error): Added support to print errors from error stack.
45538
45539 * include/grub/err.h (grub_error_push): Added function prototype.
45540 (grub_error_pop): Likewise.
45541
be973c1b 455422005-12-09 Hollis Blanchard <hollis@penguinppc.org>
45543
45544 * configure.ac: Accept `powerpc64' as host_cpu.
45545 (amd64): Rename to `biarch32'.
45546
45547 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
45548 non-cacheline-aligned addresses.
45549
45550 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
45551 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
45552 if `size' is non-zero.
45553
b04216ab 455542005-12-03 Marco Gerards <mgerards@xs4all.nl>
45555
45556 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
45557 and `cd' to make sure the filename is not prefixed with a
45558 directory name.
45559 (pkgdata_MODULES): Add `gpt.mod'.
45560 (gpt_mod_SOURCES): New variable.
45561 (gpt_mod_CFLAGS): Likewise.
45562 (gpt_mod_LDFLAGS): Likewise.
45563
45564 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
45565
45566 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
45567 New macro.
45568
45569 * partmap/gpt.c: New file.
45570
45571 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
45572 GPT partition map is detected.
45573
41730ed9 455742005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
45575
45576 * commands/i386/pc/play.c: New file.
45577 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
45578 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
45579 macros.
f19dbdb7 45580
95dc3643 455812005-11-27 Marco Gerards <mgerards@xs4all.nl>
45582
45583 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
45584 ((unused))' to silence gcc warning.
45585
1569ec51 455862005-11-26 Hollis Blanchard <hollis@penguinppc.org>
45587
45588 * configure.ac: Correct `AC_PROG_YACC' test.
45589
9abde152 455902005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45591
45592 * util/powerpc/ieee1275/grub-install.in: Run the mount point
45593 check before installing files.
45594
44b83271 455952005-11-22 Mike Small <smallm@panix.com>
45596
45597 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
45598 number regex so multidigit numbers are recognized correctly.
45599
456002005-11-22 Mike Small <smallm@panix.com>
45601
45602 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
45603 debugging message before attempting to claim memory.
45604 (grub_rescue_cmd_initrd): Add a claim debugging message and try
45605 multiple addresses in case of failure.
45606
9c12956b 456072005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45608
45609 * term/tparm.c (get_space): Remove empty `if' statement.
45610
45611 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
45612
45613 * kern/parser.c (check_varstate): Rename `state' to 's'.
45614
aeaf81d9 456152005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45616
45617 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
45618 variable definitions to the beginning of each function. Sort stack
45619 variables by size.
45620 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
45621 `buf' argument to `char *'.
45622
79bbb63f 456232005-11-22 Hollis Blanchard <hollis@penguinppc.org>
45624
45625 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
45626 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45627 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 45628 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45629 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45630 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45631 configfile.mod, search.mod, gzio.mod and test.mod.
45632 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45633 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45634 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45635 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45636 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45637 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45638 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45639 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45640 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45641 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45642 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45643 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45644 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45645 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45646 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45647 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45648 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45649 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45650 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45651 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45652 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45653 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45654 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
45655
45656 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
45657 `grep --include'.
45658 (pkgdata_MODULES): Add test.mod.
45659
233b1628 456602005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45661
45662 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
45663 appending to variables with "+=".
45664 (PModule): Use full pathname to generate *.lst filenames.
45665
45666 * Makefile.in: Fixed list rules moved from genmk.rb.
45667 (.DELETE_ON_ERROR): New special target.
45668 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
45669
45670 * conf/i386-pc.rmk: Include conf/common.mk.
45671 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 45672 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 45673 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
45674 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
45675 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
45676 configfile.mod, search.mod, gzio.mod and test.mod.
45677 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
45678 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
45679 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
45680 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
45681 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
45682 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
45683 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
45684 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
45685 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
45686 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
45687 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45688 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45689 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
45690 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
45691 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
45692 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
45693 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45694 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
45695 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
45696 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
45697 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
45698 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
45699 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
45700 here...
45701 * conf/common.rmk: ... to here. New file.
45702
45703 * conf/common.mk: New file.
45704
16f820c8 457052005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
45706
45707 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
45708 (grub_script.tab.c): ... here.
45709
45710 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
45711 (grub_script.tab.c): ... here.
45712
45713 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
45714 (grub_script.tab.c): ... here.
45715
45716 * normal/command.c (grub_command_find): Fixed a memory leak of
45717 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
45718
63ba1554 457192005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45720
45721 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
45722 "@" which marks the start of a comment on ARM.
45723 (VARIABLE): Likewise.
45724
7f67dc13 457252005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45726
79bbb63f 45727 Add support for Linux/ADFS partition tables.
7f67dc13 45728
45729 * partmap/acorn.c: New file.
45730
45731 * include/grub/acorn_filecore.h: Likewise.
45732
45733 * DISTLIST: Added `partmap/acorn.c' and
45734 `include/grub/acorn_filecore.h'.
f19dbdb7 45735
7f67dc13 45736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45737 `partmap/acorn.c'.
45738 (pkgdata_MODULES): Add `acorn.mod'.
45739 (acorn_mod_SOURCES): New variable.
45740 (acorn_mod_CFLAGS): Likewise.
45741
45742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45743 `partmap/acorn.c'.
45744 (pkgdata_MODULES): Add `acorn.mod'.
45745 (acorn_mod_SOURCES): New variable.
45746 (acorn_mod_CFLAGS): Likewise.
45747
45748 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
45749 (pkgdata_MODULES): Add `acorn.mod'.
45750 (acorn_mod_SOURCES): New variable.
45751 (acorn_mod_CFLAGS): Likewise.
45752 (acorn_mod_LDFLAGS): Likewise.
45753
45754 * include/types.h (grub_disk_addr_t): New typedef.
45755
6d099807 457562005-11-13 Marco Gerards <mgerards@xs4all.nl>
45757
45758 * geninit.sh: New file.
45759
45760 * geninitheader.sh: Likewise.
45761
45762 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
45763 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
45764 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
45765 * commands/configfile.c (grub_configfile_init)
45766 (grub_configfile_fini): Likewise.
45767 * commands/default.c (grub_default_init, grub_default_fini):
45768 Likewise.
45769 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
45770 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
45771 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
45772 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
45773 Likewise.
45774 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
45775 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
45776 Likewise.
45777 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 45778 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 45779 Likewise.
45780 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
45781 Likewise.
fe6b695a 45782 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 45783 Likewise.
45784 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
45785 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
45786 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
45787 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
45788 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
45789 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
45790 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
45791 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
45792 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
45793 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
45794 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
45795 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
45796 * partmap/amiga.c (grub_amiga_partition_map_init)
45797 (grub_amiga_partition_map_fini): Likewise.
45798 * partmap/apple.c (grub_apple_partition_map_init)
45799 (grub_apple_partition_map_fini): Likewise.
45800 * partmap/pc.c (grub_pc_partition_map_init)
45801 (grub_pc_partition_map_fini): Likewise.
45802 * partmap/sun.c (grub_sun_partition_map_init,
45803 grub_sun_partition_map_fini): Likewise.
45804 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
45805 Likewise.
45806
45807 * util/grub-emu.c: Include <grub_modules_init.h>.
45808 (main): Don't initialize and de-initialize any modules directly,
45809 use `grub_init_all' and `grub_fini_all' instead.
45810
45811 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
45812 `grub_vesafb_mod_init'.
45813 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
45814 all users.
45815 * term/i386/pc/vga.c (grub_vga_init): Renamed to
45816 `grub_vga_mod_init'. Updated all users.
45817 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 45818
6d099807 45819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
45820 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
45821 rules.
45822
45823 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
45824 Generate a function to initialize the module in utilities.
45825 Updated all callers.
45826 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
45827 initialize the module in utilities. Updated all callers.
45828
9046bcf0 458292005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45830
45831 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
45832 escape sequence and a literal ^L to clear the screen.
45833
45834 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
45835 when returning from Open Firmware.
45836
d13ea639 458372005-11-09 Hollis Blanchard <hollis@penguinppc.org>
45838
45839 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
45840 (grub_ofconsole_height): Likewise.
45841 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
45842 manually insert a '\n'.
45843 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
45844 `grub_ofconsole_height'. Return early if these are already set.
45845
a8fcf206 458462005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
45847
45848 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
45849 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
45850 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
45851 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
45852 and `normal/script.c'.
45853 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45854 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45855 (test_mod_SOURCES): New variable.
45856 (test_mod_CFLAGS): Likewise.
45857 (test_mod_LDFLAGS): Likewise.
45858 (pkgdata_MODULES): Add `test.mod'.
45859 (grub_script.tab.c): New rule.
45860 (grub_script.tab.h): Likewise.
45861
b6b32745 458622005-11-07 Marco Gerards <mgerards@xs4all.nl>
45863
45864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45865 `commands/test.c', `normal/execute.c', `normal/lexer.c',
45866 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45867 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45868 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
45869 (test_mod_SOURCES): New variable.
45870 (test_mod_CFLAGS): Likewise.
45871 (pkgdata_MODULES): Add `test.mod'.
45872 (grub_script.tab.c): New rule.
45873 (grub_script.tab.h): Likewise.
45874
daac212a 458752005-11-06 Marco Gerards <mgerards@xs4all.nl>
45876
45877 Add initial scripting support.
45878
45879 * commands/test.c: New file.
45880 * include/grub/script.h: Likewise.
45881 * normal/execute.c: Likewise.
45882 * normal/function.c: Likewise.
45883 * normal/lexer.c: Likewise.
45884 * normal/parser.y: Likewise.
45885 * normal/script.c: Likewise.
45886
45887 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 45888
daac212a 45889 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
45890 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
45891 `normal/function.c' and `normal/script.c'.
45892 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
45893 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 45894 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
45895 variables.
daac212a 45896 (pkgdata_MODULES): Add `test.mod'.
45897 (grub_script.tab.c): New rule.
45898 (grub_script.tab.h): Likewise.
45899
45900 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
45901
45902 * include/grub/normal.h (grub_test_init): New prototype.
45903 (grub_test_fini): Likewise.
f19dbdb7 45904
daac212a 45905 * normal/command.c: Include <grub/script.h>.
45906 (grub_command_execute): Rewritten.
f19dbdb7 45907
daac212a 45908 * util/grub-emu.c (main): Call `grub_test_init' and
45909 `grub_test_fini'.
45910
77500b2b 459112005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45912
45913 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
45914 to 0.
45915 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
45916 there are no pending characters.
45917
e45deb9e 459182005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45919
45920 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
45921 `grub_strndup' to drop device arguments. Replace unnecessary
45922 `grub_strndup' with `grub_strdup'.
45923
4ce32619 459242005-11-03 Hollis Blanchard <hollis@penguinppc.org>
45925
45926 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
45927 `debug' environment variable has been set.
45928
459292005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45930
4ce32619 45931 * Makefile.in (install-local): Use $(DATA).
45932 (uninstall): Likewise.
45933 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
45934 (sbin_UTILITIES): ... to here.
45935 (sbin_SCRIPTS): New variable.
45936 (grub_install_SOURCES): New variable.
45937 * util/powerpc/ieee1275/grub-install.in: New file.
45938 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
45939 variable.
45940 (add_segments): Call `grub_util_get_path'.
45941
25fe6f03 459422005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45943
45944 From Timothy Baldwin:
45945 * commands/ls.c (grub_ls_list_files): Close FILE with
45946 grub_file_close.
45947 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
45948
04ccf3ec 459492005-10-24 Marco Gerards <mgerards@xs4all.nl>
45950
45951 * include/grub/parser.h: New file.
45952
45953 * kern/parser.c: Likewise.
45954
45955 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
45956 (grub_setup_SOURCES): Likewise.
45957 (grub_probefs_SOURCES): Likewise.
45958 (grub_emu_SOURCES): Likewise.
45959 (kernel_img_HEADERS): Add `parser.h'.
45960
45961 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45962 (grub_emu_SOURCES): Add `kern/parser.c'.
45963 (grubof_SOURCES): Likewise.
45964
45965 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45966 (grubof_SOURCES): Add `kern/parser.c'.
45967
45968 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
45969
45970 * kern/misc.c (grub_split_cmdline): Removed function.
45971
45972 * kern/rescue.c: Include <grub/parser.h>.
45973 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
45974 of `grub_split_cmdline'.
45975
45976 * normal/command.c: Include <grub/parser.h>.
45977 (grub_command_execute): Use `grub_parser_split_cmdline' instead
45978 of `grub_split_cmdline'.
45979
45980 * normal/completion.c: Include <grub/parser.h>.
45981 (cmdline_state): New variable.
45982 (iterate_dir): End the filename with a quote depending on the
45983 command line state.
45984 (get_state): new function.
45985 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
45986 split the arguments and determine the current argument. When the
45987 argument string is not quoted, escape all spaces.
45988
6d8f4b0e 459892005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45990
45991 * normal/sparc64/setjmp.S: New file.
45992
15cf03ed 459932005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45994
45995 * include/grub/sparc64/libgcc.h: New file.
45996 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
45997 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
45998 normal/sparc64/setjmp.c.
45999
03e8661a 460002005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
46001
46002 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
46003 * kern/sparc64/cache.S: New file.
46004 * kern/sparc64/cache.c: Removed.
46005 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
46006 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
46007 -mtune=ultrasparc.
46008 (COMMON_LDFLAGS): Add -melf64_sparc.
46009 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
46010 (grubof_SOURCES): Use cache.S instead of cache.c.
46011 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
46012 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
46013 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
46014 commented though.
46015 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
46016 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
46017 (linux_mod_CFLAGS): Commented out.
46018 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
46019 out because module isn't built.
46020 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
46021 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
46022 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
46023 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
46024 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
46025 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46026 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46027 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
46028 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
46029 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
46030 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46031 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46032 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
46033 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
46034
34eeec8a 460352005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
46036
46037 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
46038 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
46039 longer, because HFS should not be used on PC.
46040
708367a3 460412005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46042
46043 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
46044 consistently within the loop.
46045
6fa1251a 460462005-10-15 Marco Gerards <mgerards@xs4all.nl>
46047
46048 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
46049 directory can not be read.
46050
4801580b 460512005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46052
46053 * configure.ac (AC_INIT): Increase the version number to 1.91.
46054
46055 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
46056 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
46057 term/i386/pc/serial.c.
46058
219ad426 460592005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46060
46061 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
46062 file size must be permitted.
46063
46064 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
46065 between %ah and %al.
46066
688e5699 460672005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46068
46069 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
46070 grub_uint64_t.
46071 Call the hook with a NUL-terminated filename.
46072 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
46073 grub_cpu_to_be32.
46074
46075 * kern/term.c (cursor_state): New variable.
46076 (grub_term_set_current): Reset the cursor state on a new
46077 terminal.
46078 (grub_setcursor): Rewritten to use CURSOR_STATE.
46079 (grub_getcursor): New function.
46080
46081 * include/grub/term.h (grub_getcursor): New prototype.
46082
46083 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
46084 integers on ARM. Reported by Timothy Baldwin
46085 <T.E.Baldwin99@members.leeds.ac.uk>.
46086
bb34586c 460872005-10-11 Marco Gerards <mgerards@xs4all.nl>
46088
46089 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
46090 allocated.
46091 (grub_sfs_dir): Likewise.
46092
9a909877 460932005-10-09 Marco Gerards <mgerards@xs4all.nl>
46094
46095 Add support for the SFS filesystem.
46096
46097 * fs/sfs.c: New file.
46098
46099 * DISTLIST: Added `fs/sfs.c'.
46100
46101 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
46102 (grub_probefs_SOURCES): Likewise.
46103 (grub_emu_SOURCES): Likewise.
46104 (pkgdata_MODULES): Add `sfs.mod'.
46105 (sfs_mod_SOURCES): New variable.
46106 (sfs_mod_CFLAGS): Likewise.
46107 (sfs_mod_LDFLAGS): Likewise.
46108
46109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
46110 (pkgdata_MODULES): Add `sfs.mod'.
46111 (sfs_mod_SOURCES): New variable.
46112 (sfs_mod_CFLAGS): Likewise.
46113
46114 * util/grub-emu.c (main): Call `grub_sfs_init' and
46115 `grub_sfs_fini'.
46116
46117 * include/grub/fs.h (grub_sfs_init): New prototype.
46118 (grub_sfs_fini): Likewise.
46119
57bdbde3 461202005-10-07 Marco Gerards <mgerards@xs4all.nl>
46121
46122 Add support for the AFFS filesystem.
46123
46124 * fs/affs.c: New file.
46125
46126 * DISTLIST: Added `fs/affs.c'.
46127
46128 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
46129 (grub_probefs_SOURCES): Likewise.
46130 (grub_emu_SOURCES): Likewise.
46131 (pkgdata_MODULES): Add `affs.mod'.
46132 (affs_mod_SOURCES): New variable.
46133 (affs_mod_CFLAGS): Likewise.
46134 (affs_mod_LDFLAGS): Likewise.
46135
46136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
46137 (pkgdata_MODULES): Add `affs.mod'.
46138 (affs_mod_SOURCES): New variable.
46139 (affs_mod_CFLAGS): Likewise.
46140
46141 * util/grub-emu.c (main): Call `grub_affs_init' and
46142 `grub_affs_fini'.
46143
46144 * include/grub/fs.h (grub_affs_init): New prototype.
46145 (grub_affs_fini): Likewise.
46146
047b67e0 461472005-10-01 Marco Gerards <mgerards@xs4all.nl>
46148
46149 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
46150
59b8208a 461512005-10-01 Marco Gerards <mgerards@xs4all.nl>
46152
46153 * configure.ac: Accept `x86_64' as host_cpu. In that case add
46154 `-m32' to CFLAGS.
46155
46156 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
46157 linking.
f19dbdb7 46158
59b8208a 46159 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
46160 (COMMON_LDFLAGS): New variable.
46161 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
46162 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
46163 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
46164 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
46165 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
46166 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
46167 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
46168 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
46169 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
46170 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
46171 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
46172 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
46173 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
46174 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
46175 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
46176 variables.
46177 (normal_mod_ASFLAGS): Add `-m32'.
46178
46179 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
46180 (grub_host_size_t, grub_host_ssize_t): New types.
46181 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 46182 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 46183 `GRUB_HOST_SIZEOF_VOID_P'.
46184
46185 * include/grub/kernel.h (struct grub_module_header): Type of
46186 member offset changed to `grub_host_off_t'. Type of member size
46187 changed to `grub_host_size_t'.
46188 (struct grub_module_info): Type of member offset changed to
46189 `grub_host_off_t'. Type of member size changed to
46190 `grub_host_size_t'.
46191
b4093103 461922005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
46193
46194 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 46195
b4093103 46196 * kern/i386/pc/startup.S (multiboot_header): New label.
46197 (multiboot_entry): Likewise.
46198 (multiboot_trampoline): Likewise.
46199
46200 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46201 Increased to 0x4A0.
46202
46203 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
46204 put parentheses after a question mark.
46205 [!GRUB_UTIL] (my_mod): New variable.
46206
46207 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
46208
b2499b29 462092005-09-28 Marco Gerards <mgerards@xs4all.nl>
46210
46211 Adds support for the XFS filesystem. Btrees are not supported
46212 yet.
46213
46214 * fs/xfs.c: New file.
46215
46216 * DISTLIST: Added `fs/xfs.c'.
46217
46218 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
46219 (grub_probefs_SOURCES): Likewise.
46220 (grub_emu_SOURCES): Likewise.
46221 (pkgdata_MODULES): Add `xfs.mod'.
46222 (xfs_mod_SOURCES): New variable.
46223 (xfs_mod_CFLAGS): Likewise.
46224
46225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
46226 (pkgdata_MODULES): Add `xfs.mod'.
46227 (xfs_mod_SOURCES): New variable.
46228 (xfs_mod_CFLAGS): Likewise.
46229
46230 * util/grub-emu.c (main): Call `grub_xfs_init' and
46231 `grub_xfs_fini'.
46232
46233 * include/grub/fs.h (grub_xfs_init): New prototype.
46234 (grub_xfs_fini): Likewise.
46235
f19dbdb7 46236
83d37a62 462372005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
46238
46239 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
46240 color modes, allow greater than 16 colors to be configured as
46241 a default palette.
46242
47d2d65e 462432005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
46244
46245 * normal/completion.c (complete_arguments): Add the qualifier
46246 const into OPTIONS.
46247
46248 From Omniflux <omniflux+lists@omniflux.com>:
46249 * include/grub/terminfo.h: New file.
46250 * include/grub/tparm.h: Likewise.
46251 * include/grub/i386/pc/serial.h: Likewise.
46252 * term/terminfo.c: Likewise.
46253 * term/tparm.c: Likewise.
46254 * term/i386/pc/serial.c: Likewise.
46255 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
46256 serial.mod.
46257 (terminfo_mod_SOURCES): New variable.
46258 (terminfo_mod_CFLAGS): Likewise.
46259 (serial_mod_SOURCES): Likewise.
46260 (serial_mod_CFLAGS): Likewise.
46261
48b671ff 462622005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
46263
46264 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
46265 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
46266 and kern/powerpc/ieee1275/cmain.c, respectively.
46267
46268 * boot/powerpc/ieee1275/crt0.S: Moved to ...
46269 * kern/powerpc/ieee1275/crt0.S: ... here.
46270
46271 * boot/powerpc/ieee1275/cmain.c: Moved to ...
46272 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 46273
48b671ff 46274 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
46275 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
46276 instead of boot/powerpc/ieee1275/crt0.S and
46277 boot/powerpc/ieee1275/cmain.c, respectively.
46278
46279 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
46280 sectors. It was not used anyway.
46281
09fc77a7 462822005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46283
46284 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
46285 `unused parameter' warning.
46286
003789c7 462872005-08-30 Hollis Blanchard <hollis@penguinppc.org>
46288
46289 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
46290 function.
46291 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
46292 getcharwidth.
46293
67f44c86 462942005-08-28 Marco Gerards <metgerards@student.han.nl>
46295
46296 * include/grub/normal.h (enum grub_completion_type): Added
46297 `GRUB_COMPLETION_TYPE_ARGUMENT'.
46298
46299 * normal/cmdline.c (print_completion): Handle
46300 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
46301 * normal/menu_entry.c (store_completion): Likewise.
46302
46303 * normal/completion.c (complete_arguments): New function.
46304 (grub_normal_do_completion): Call `complete_arguments' when the
46305 current words start with a dash.
46306
0b5abe02 463072005-08-27 Marco Gerards <metgerards@student.han.nl>
46308
46309 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
46310 `gzio.mod' instead of `io.mod').
46311
d9864ee1 463122005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
46313
46314 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
46315 (DISTDIRS): Added io and video.
46316 Rewrite the search routine to make an output consistently.
46317
46318 * DISTLIST: Added conf/sparc64-ieee1275.mk,
46319 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
46320 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
46321 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
46322 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
46323 util/powerpc/ieee1275/misc.c.
f19dbdb7 46324
d9864ee1 46325 * include/grub/gzio.h: New file.
46326 * io/gzio.c: Likewise.
f19dbdb7 46327
d9864ee1 46328 * kern/file.c (grub_file_close): Call grub_device_close only if
46329 FILE->DEVICE is not NULL.
46330
46331 * include/grub/mm.h [!NULL] (NULL): New macro.
46332
46333 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
46334
46335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
46336 (pkgdata_MODULES): Added gzio.mod.
46337 (gzio_mod_SOURCES): New variable.
46338 (gzio_mod_CFLAGS): Likewise.
46339
46340 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
46341 (pkgdata_MODULES): Added gzio.mod.
46342 (gzio_mod_SOURCES): New variable.
46343 (gzio_mod_CFLAGS): Likewise.
46344
46345 * commands/cat.c: Include grub/gzio.h.
46346 (grub_cmd_cat): Use grub_gzfile_open instead of
46347 grub_file_open.
f19dbdb7 46348
d9864ee1 46349 * commands/cmp.c: Include grub/gzio.h.
46350 (grub_cmd_cmp): Use grub_gzfile_open instead of
46351 grub_file_open.
46352
46353 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
46354 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
46355 grub_file_open.
46356 (grub_rescue_cmd_module): Likewise.
46357
fa46f4b5 463582005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46359
46360 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
46361 kern/sparc64/ieee1275/init.c because it contains _start.
46362 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
46363
e9211b5d 463642005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
46365
46366 * configure.ac: Add support for sparc64 host with ieee1275
46367 firmware.
46368 * configure: Generated from configure.ac.
46369 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
46370 instead of int.
46371 (grub_ofdisk_read): Likewise.
46372 (grub_ofdisk_open): Use %p to print pointer values, and cast the
46373 pointers as (void *) to remove a warning.
46374 (grub_ofdisk_close): Likewise.
46375 (grub_ofdisk_read): Likewise.
46376 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
46377 returns, so make it return void to remove a warning.
46378 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
46379 Corresponding prototype change.
46380 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
46381 values, and cast the pointers as (void *) to remove a warning.
46382 (grub_mm_dump): Likewise.
46383 * conf/sparc64-ieee1275.mk: New file.
46384 * conf/sparc64-ieee1275.rmk: Likewise.
46385 * include/grub/sparc64/setjmp.h: Likewise.
46386 * include/grub/sparc64/types.h: Likewise.
46387 * include/grub/sparc64/ieee1275/console.h: Likewise.
46388 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
46389 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
46390 * include/grub/sparc64/ieee1275/time.h: Likewise.
46391 * kern/sparc64/cache.c: Likewise.
46392 * kern/sparc64/dl.c: Likewise.
46393 * kern/sparc64/ieee1275/init.c: Likewise.
46394 * kern/sparc64/ieee1275/openfw.c: Likewise.
46395
385c6a92 463962005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
46397
46398 * util/console.c (grub_ncurses_putchar): If C is greater than
46399 0x7f, set C to a question mark.
46400 (grub_ncurses_getcharwidth): New function.
46401 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
46402 getcharwidth.
46403
46404 * normal/menu.c (print_entry): Made aware of Unicode. First,
46405 convert TITLE to UCS-4, and predict the cursor position by
46406 grub_getcharwidth.
46407
46408 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
46409 const to SRC.
46410 * kern/misc.c (grub_utf16_to_utf8): Likewise.
46411
16ccb8b1 464122005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46413
46414 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
46415 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46416 grub_strcat.
46417
46418 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
46419 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
46420 grub_strcpy and grub_strlen. Take it into account that a space
46421 character is inserted as a delimiter.
46422
6a85ce79 464232005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46424
46425 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 46426 invalid magic in the error.
6a85ce79 46427
46428 * commands/search.c: New file.
f19dbdb7 46429
6a85ce79 46430 * util/grub-emu.c (main): Call grub_search_init and
46431 grub_search_fini.
46432
46433 * kern/rescue.c (grub_rescue_print_disks): Removed.
46434 (grub_rescue_print_devices): New function.
46435 (grub_rescue_cmd_ls): Use grub_device_iterate with
46436 grub_rescue_print_devices instead of grub_disk_dev_iterate with
46437 grub_rescue_print_disks.
46438
46439 * kern/partition.c (grub_partition_iterate): Return the result of
46440 PARTMAP->ITERATE instead of GRUB_ERRNO.
46441
46442 * kern/device.c: Include grub/partition.h.
46443 (grub_device_iterate): New function.
46444
46445 * include/grub/partition.h (grub_partition_iterate): Return int
46446 instead of grub_err_t.
46447
46448 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
46449 prototype.
46450 [GRUB_UTIL] (grub_search_fini): Likewise.
46451
46452 * include/grub/device.h (grub_device_iterate): New prototype.
46453
46454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46455 commands/search.c.
46456 (pkgdata_MODULES): Added search.mod.
46457 (search_mod_SOURCES): New variable.
46458 (search_mod_CFLAGS): Likewise.
46459
46460 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
46461 (pkgdata_MODULES): Added search.mod.
46462 (search_mod_SOURCES): New variable.
46463 (search_mod_CFLAGS): Likewise.
46464
46465 * commands/ls.c (grub_ls_list_disks): Renamed to ...
46466 (grub_ls_list_devices): ... this, and use grub_device_iterate.
46467 All callers changed.
46468
46469 * DISTLIST: Added commands/search.c.
46470
ef095434 464712005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
46472
46473 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
46474 conversion.
46475 (grub_getcharwidth): New function.
46476
46477 * kern/misc.c (grub_utf8_to_ucs4): New function.
46478
46479 * include/grub/term.h (struct grub_term): Added a new member
46480 "getcharwidth".
46481 (grub_getcharwidth): New prototype.
46482
46483 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
46484
46485 * term/i386/pc/console.c (map_char): New function. Segregated from
46486 grub_console_putchar.
46487 (grub_console_putchar): Use map_char.
46488 (grub_console_getcharwidth): New function.
46489 (grub_console_term): Specified grub_console_getcharwidth as
46490 getcharwidth.
46491
46492 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
46493 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
46494
46495 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
46496 GRUB_ERRNO.
46497 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
46498 on grub_strtoul completely.
46499 (write_char): Declare local variables in the beginning of the
46500 function.
46501 (grub_vesafb_getcharwidth): New function.
46502 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
46503 getcharwidth.
46504
1f0a95e4 465052005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
46506
46507 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
46508 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
46509 commands/i386/pc/vbetest.c.
46510
46511 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
46512 call grub_vbe_get_controller_info again, because the returned
46513 information is volatile.
46514 (grub_vbe_set_video_mode): Mostly rewritten.
46515 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
46516 grub_vbe_status_t correctly.
46517 (grub_vbe_get_video_mode_info): Likewise.
46518 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
46519 several if statements.
46520
46521 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
46522 * commands/i386/pc/vbeinfo.c: ... this.
46523
46524 * commands/i386/pc/vbe_test.c: Renamed to ...
46525 * commands/i386/pc/vbetest.c: ... this.
46526
46527 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
46528 ...
46529 (grub_cmd_vbeinfo): ... this. Save video modes before
46530 iterating. Skip a video mode, if it is not available, not enough
46531 information is given or it is monochrome. Show the memory
46532 model. Leave the interpretation of MODEVAR to grub_strtoul
46533 completely.
46534 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
46535 (GRUB_MOD_FINI): Likewise.
46536
46537 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
46538 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
46539 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
46540 duplicated grub_env_get. Leave the interpretation of MODEVAR to
46541 grub_strtoul completely.
46542 (real2pm): Removed.
46543 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
46544 (GRUB_MOD_FINI): Likewise.
46545
46546 * normal/misc.c: Include grub/mm.h.
46547
46548 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
46549 vbe_list_modes with vbetest.mod and vbeinfo.mod.
46550 (vbe_list_modes_mod_SOURCES): Removed.
46551 (vbe_list_modes_mod_CFLAGS): Likewise.
46552 (vbe_test_mod_SOURCES): Likewise.
46553 (vbe_test_mod_CFLAGS): Likewise.
46554 (vbeinfo_mod_SOURCES): New variable.
46555 (vbeinfo_mod_CFLAGS): Likewise.
46556 (vbetest_mod_SOURCES): Likewise.
46557 (vbetest_mod_CFLAGS): Likewise.
46558
992ffbbe 465592005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
46560
46561 * normal/misc.c: New file.
46562
46563 * DISTLIST: Added normal/misc.c.
f19dbdb7 46564
992ffbbe 46565 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
46566 DISK to HOOK. Call HOOK with DISK.
46567 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46568 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46569 * partmap/sun.c (sun_partition_map_iterate): Likewise.
46570
46571 * normal/menu_entry.c (struct screen): Added a new member
46572 "completion_shown".
46573 (completion_buffer): New global variable.
46574 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
46575 (store_completion): New function.
46576 (complete): Likewise.
46577 (clear_completions): Likewise.
46578 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
46579 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
46580 a tab, call complete.
46581
46582 * normal/completion.c (disk_dev): Removed.
46583 (print_simple_completion): Likewise.
46584 (print_partition_completion): Likewise.
46585 (print_func): New global variable.
46586 (add_completion): Do not take the arguments WHAT or PRINT any
46587 longer. Added a new argument TYPE. Instead of printing directly,
46588 call PRINT_FUNC if not NULL.
46589 All callers changed.
46590 (complete_device): Use a local variable DEV instead of
46591 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
46592 (grub_normal_do_completion): Take a new argument HOOK. Do not
46593 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
46594 empty string, return NULL instead.
46595 All callers changed.
46596
46597 * normal/cmdline.c (print_completion): New function.
46598
46599 * kern/partition.c (grub_partition_iterate): Add an argument DISK
46600 to HOOK.
46601 All callers changed.
46602
46603 * kern/disk.c (grub_print_partinfo): Removed.
46604
46605 * include/grub/partition.h (struct grub_partition_map): Add a new
46606 argument DISK into HOOK of ITERATE.
46607 (grub_partition_iterate): Add a new argument DISK to HOOK.
46608
46609 * include/grub/normal.h (enum grub_completion_type): New enum.
46610 (grub_completion_type_t): New type.
46611 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
46612 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
46613 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
46614 (GRUB_COMPLETION_TYPE_FILE): Likewise.
46615 (grub_normal_do_completion): Added a new argument HOOK.
46616 (grub_normal_print_device_info): New prototype.
46617
46618 * include/grub/disk.h (grub_print_partinfo): Removed.
46619
46620 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
46621 (normal_mod_SOURCES): Likewise.
46622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46623 (normal_mod_SOURCES): Likewise.
46624
46625 * commands/ls.c (grub_ls_list_disks): Use
46626 grub_normal_print_device_info instead of grub_print_partinfo. Free
46627 PNAME.
46628 (grub_ls_list_files): Use grub_normal_print_device_info instead of
46629 duplicating the code.
46630
0bd41162 466312005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46632
46633 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 46634 follow GCS more precisely.
46635 * commands/i386/pc/vbe_test.c: Likewise.
46636 * include/grub/i386/pc/vbe.h: Likewise.
46637 * term/i386/pc/vesafb.c: Likewise.
46638 * video/i386/pc/vbe.c: Likewise.
0bd41162 46639
6323696a 466402005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
46641
46642 * DISTLIST: Added term/i386/pc/vesafb.c
46643 DISTLIST: Added video/i386/pc/vbe.c
46644 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
46645 DISTLIST: Added commands/i386/pc/vbe_test.c.
46646 * commands/i386/pc/vbe_list_modes.c: New file.
46647 * commands/i386/pc/vbe_test.c: Likewise.
46648 * term/i386/pc/vesafb.c: Likewise.
46649 * video/i386/pc/vbe.c: Likewise.
46650 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
46651 (grub_vbe_probe) Added prototype.
46652 (grub_vbe_set_video_mode) Likewise.
46653 (grub_vbe_get_video_mode) Likewise.
46654 (grub_vbe_get_video_mode_info) Likewise.
46655 (grub_vbe_set_pixel_rgb) Likewise.
46656 (grub_vbe_set_pixel_index) Likewise.
46657 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
46658 (pkgdata_MODULES): Added vesafb.mod.
46659 (pkgdata_MODULES): Added vbe_list_modes.mod.
46660 (pkgdata_MODULES): Added vbe_test.mod.
46661 (vbe_mod_SOURCES): Added.
46662 (vbe_mod_CFLAGS): Likewise.
46663 (vesafb_mod_SOURCES): Likewise.
46664 (vesafb_mod_CFLAGS): Likewise.
46665 (vbe_list_modes_mod_SOURCES): Likewise.
46666 (vbe_list_modes_mod_CFLAGS): Likewise.
46667 (vbe_test_mod_SOURCES): Likewise.
46668 (vbe_test_mod_CFLAGS): Likewise.
46669
0a74e62f 466702005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
46671
0a74e62f 46672 * normal/command.c (grub_command_execute): If INTERACTIVE is
46673 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
46674 CMDLINE. Disable the pager if INTERACTIVE is true.
46675 All callers are changed.
46676
46677 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
46678 before reading a config file.
46679 * normal/main.c (read_config_file): Even if a command is not
46680 found, register it if it is within an entry.
46681
46682 * util/grub-emu.c: Include sys/types.h and unistd.h.
46683 (options): Added --hold.
46684 (struct arguments): Added a new member "hold".
46685 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
46686 missing.
46687 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
46688 cleared by a debugger, if it is not zero.
46689
46690 * include/grub/normal.h (grub_command_execute): Add an argument
46691 INTERACTIVE.
46692
e51f85ae 466932005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
46694
46695 * DISTLIST: Added include/grub/i386/pc/vbe.h.
46696
e9c6f39b 466972005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
46698
46699 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
46700 program with another one, because the old one didn't detect a bug
46701 in gcc-3.4. Always use regparm 2, because the new test is still
46702 not enough for gcc-4.0. Someone must investigate a simple test
46703 case which detects a bug in gcc-4.0.
46704
8de3495c 467052005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
46706
46707 * DISTLIST: Added normal/completion.c.
46708
46709 * normal/completion.c: New file.
f19dbdb7 46710
8de3495c 46711 * term/i386/pc/console.c (grub_console_getwh): New function.
46712 (grub_console_term): Assign grub_console_getwh to getwh.
46713
46714 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
46715 function is defined in normal/completion.c as
46716 grub_normal_do_completion.
46717 (grub_cmdline_get): Use grub_normal_do_completion instead of
46718 grub_tab_complete.
46719
46720 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
46721 returns non-zero, otherwise return 0.
46722 (grub_partition_iterate): First, probe the partition map. Then,
46723 call ITERATE only for this partition map.
46724
46725 * kern/misc.c (grub_strncmp): Rewritten.
46726
46727 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
46728 returns non-zero. Otherwise return 0.
46729
46730 * include/grub/partition.h (grub_partition_map_iterate): Return
46731 int instead of void.
46732
46733 * include/grub/normal.h (grub_normal_do_completion): New prototype.
46734
46735 * include/grub/misc.h (grub_strncmp): Change the type of N to
46736 grub_size_t.
46737
46738 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
46739 of void.
46740
46741 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 46742 unsigned explicitly before comparing it with I.
8de3495c 46743
46744 * kern/main.c (grub_env_write_root): Add the attribute unused into
46745 VAR.
46746
46747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46748 normal/completion.c.
46749 (normal_mod_SOURCES): Likewise.
46750 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46751 (normal_mod_SOURCES): Likewise.
46752
46753 * normal/command.c (grub_iterate_commands): If ITERATE returns
46754 non-zero, return one immediately.
46755
e85e144b 467562005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
46757
46758 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
46759 * kern/i386/pc/startup.S: Updated Global Descriptor table's
46760 descriptions.
46761 (grub_vbe_get_controller_info): New function.
46762 (grub_vbe_get_mode_info): Likewise.
46763 (grub_vbe_set_mode): Likewise.
46764 (grub_vbe_get_mode): Likewise.
46765 (grub_vbe_set_memory_window): Likewise.
46766 (grub_vbe_get_memory_window): Likewise.
46767 (grub_vbe_set_scanline_length): Likewise.
46768 (grub_vbe_get_scanline_length): Likewise.
46769 (grub_vbe_set_display_start): Likewise.
46770 (grub_vbe_get_display_start): Likewise.
46771 (grub_vbe_set_palette_data): Likewise.
46772 * include/grub/i386/pc/vbe.h: New file.
46773
c46153d2 467742005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46775
46776 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46777 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
46778 * DISTLIST: Likewise.
46779 * kern/ieee1275/of.c: Moved to ...
46780 * kern/ieee1275/ieee1275.c: ... here.
46781
0cb90c45 467822005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46783
46784 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
46785 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
46786 Pass 0 as `end' parameter to grub_strtoul().
46787
a19fb360 467882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
46789
46790 * include/grub/powerpc/ieee1275/console.h: Do not include
46791 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
46792 ifdef.
46793 (grub_console_cur_color): Remove i386-specific prototype.
46794 (grub_console_real_putchar): Likewise.
46795 (grub_console_checkkey): Likewise.
46796 (grub_console_getkey): Likewise.
46797 (grub_console_getxy): Likewise.
46798 (grub_console_gotoxy): Likewise.
46799 (grub_console_cls): Likewise.
46800 (grub_console_setcursor): Likewise.
46801 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
46802 Include <grub/machine/console.h>.
46803 * term/ieee1275/ofconsole.c: Likewise.
46804
4ac9bd04 468052005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
46806
46807 * Makefile.in (LIBLZO): New variable.
46808
46809 * configure.ac: Check for LZO version 2.
46810
46811 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
46812 lzo/lzo1x.h instead of lzo1x.h.
46813
46814 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
46815 of -llzo.
46816
46817 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
46818 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
46819
46820 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
46821 copying the data from PARTITION to P.
46822
f4917dfd 468232005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46824
46825 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
46826 negative, unload the module.
46827
46828 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
46829 map is "pc_partition_map" but not "pc".
46830 (usage): Fix the description. The options are --boot-image and
46831 --core-image but not --boot-file or --core-file.
46832 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
46833 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
46834 DEFAULT_DIRECTORY.
46835
46836 * util/i386/pc/grub-install.in: Do not specify --boot-file or
46837 --core-file. Specify INSTALL_DEVICE as an argument.
46838
46839 * util/console.c: Include config.h.
46840 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
46841 [HAVE_NCURSES_H]: Include ncurses.h.
46842 [HAVE_CURSES_H]: Include curses.h.
46843 [!A_NORMAL] (A_NORMAL): Defined as zero.
46844 [!A_STANDOUT] (A_STANDOUT): Likewise.
46845
46846 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
46847 -lncurses.
46848 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
46849
46850 * configure.ac: Check for curses libraries and headers.
46851
46852 * Makefile.in (LIBCURSES): New variable.
46853
46854 * genmk.rb (Script::rule): Set the executable bits.
46855
46856 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
46857 name of the PC partition map is "pc_partition_map" but not "pc".
46858
0e143073 468592005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46860
46861 * util/i386/pc/grub-install.in (grub_probefs): New variable.
46862 (modules): Likewise.
46863 (usage): Added descriptions for --modules and --grub-probefs.
46864 Handle --modules and --grub-probefs. Save the arguments in MODULES
46865 and GRUB_PROBEFS, respectively.
46866 Auto-detect a filesystem module against GRUBDIR. If the result is
46867 empty and modules are not specified explicitly, abort the
46868 installation. Add the result to MODULES.
46869
46870 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
46871 disk/powerpc/ieee1275/ofdisk.c,
46872 include/grub/powerpc/ieee1275/init.h and
46873 term/powerpc/ieee1275/ofconsole.c.
46874 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
46875 term/ieee1275/ofconsole.c.
46876
46877 * include/grub/powerpc/ieee1275/console.h: Resurrected.
46878
46879 * COPYING: Upgraded to the latest version. Only the address of the
46880 FSF office has changed.
f19dbdb7 46881
efd6e6d5 468822005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
46883
46884 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
46885 kern/ieee1275.c with kern/ieee1275/of.c.
46886
46887 * kern/ieee1275.c: Moved to ...
46888 * kern/ieee1275/of.c: ... here.
46889
8ceafda2 468902005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
46891
46892 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 46893 readability.
8ceafda2 46894
46895 * config.guess: Updated to the latest version from gnulib.
46896 * config.sub: Likewise.
46897 * install.sh: Likewise.
46898 * mkinstalldirs: Likewise.
46899
46900 * include/grub/console.h: Removed. This file is arch-specific. Do
46901 not put this in include/grub.
46902
46903 * include/grub/i386/pc/console.h: Resurrected.
46904
46905 * util/console.c: Include grub/machine/console.h instead of
46906 grub/console.h.
46907 * util/grub-emu.c: Likewise.
46908
267f6cd9 469092005-08-04 Marco Gerards <metgerards@student.han.nl>
46910
46911 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
46912 hardcoded value.
f19dbdb7 46913
267f6cd9 46914 From Vincent Pelletier <subdino2004@yahoo.fr>
46915 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
46916 Redefined to use grub_getwh.
46917 (grub_term): New member named getwh.
46918 (grub_getwh): New prototype.
46919 * kern/term.c (grub_getwh): New function.
46920 * term/i386/pc/console.c (grub_console_getwh): New function.
46921 (grub_console_term): New member `getwh'.
46922 * term/i386/pc/vga.c (grub_vga_getwh): New function.
46923 (grub_vga_term): New member `getwh'.
0b5abe02 46924 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 46925 grub_ssize_t.
46926 (grub_ofconsole_getw): New function.
46927 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
46928 (grub_ofconsole_term): New field named getwh and new initial
46929 value.
46930
3be7266d 469312005-08-03 Hollis Blanchard <hollis@penguinppc.org>
46932
46933 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
46934 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
46935 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
46936 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
46937 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
46938 of <grub/machine/ieee1275.h>.
46939 * commands/ieee1275/reboot.c: Likewise.
46940 * boot/powerpc/ieee1275/ieee1275.c: Move ...
46941 * kern/ieee1275.c: ... to here. All users updated. Change all
46942 parameter structs to use new type `grub_ieee1275_cell_t'.
46943 * term/powerpc/ieee1275/ofconsole.c: Move ...
46944 * term/ieee1275/ofconsole.c: ... to here. All users updated.
46945 * disk/powerpc/ieee1275/ofdisk.c: Move ...
46946 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
46947 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
46948 to return int.
46949 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
46950 Remove unused prototypes. All users updated.
46951 * include/grub/powerpc/ieee1275/console.h: Removed.
46952 * include/grub/powerpc/ieee1275/ieee1275.h: Define
46953 `grub_ieee1275_cell_t'.
46954 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
46955 Cast comparisons with -1 to the correct type.
46956 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
46957 type to match `grub_ieee1275_entry_fn'.
46958
8b5f3938 469592005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
46960
46961 * DISTLIST: Added util/i386/pc/grub-probefs.c.
46962
46963 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
46964 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
46965 partmap/sun.c.
46966 (grub_probefs_SOURCES): New variable.
46967
46968 * util/i386/pc/grub-probefs.c: New file.
46969
46970 * util/i386/pc/grub-setup.c (main): Call
46971 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
46972 grub_hfs_init and grub_jfs_init to initialize the system. Call
46973 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
46974 grub_pc_partition_map_fini to finish the system.
46975
ea409713 469762005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
46977
46978 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
46979 function.
46980 (grub_multiboot_load_elf32): Likewise.
46981 (grub_multiboot_is_elf64): Likewise.
46982 (grub_multiboot_load_elf64): Likewise.
46983 (grub_multiboot_load_elf): Likewise.
46984 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
46985 an ELF32 or ELF64 file.
46986 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
46987
46988 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
46989 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
46990 NULL before calling FS->LABEL.
46991 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
46992 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
46993 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
46994 before calling FS->LABEL.
46995
141a288b 469962005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
46997
46998 * util/i386/pc/grub-install.in (datadir): New variable.
46999 (libdir): Removed.
47000 (pkgdatadir): New variable.
47001 (pkglibdir): Removed.
47002
0d5f8a54 470032005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
47004
47005 * DISTLIST: Added util/i386/pc/grub-install.in.
47006
47007 * util/i386/pc/grub-install.in: New file.
47008
47009 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
47010 (grub_install_SOURCES): Likewise.
47011
47012 * genmk.rb: Added support for scripts.
47013 (Script): New class.
47014 (scripts): New variable.
47015
47016 * Makefile.in (install-local): Install sbin_SCRIPTS by
47017 INSTALL_SCRIPT.
47018 (uninstall): Remove sbin_SCRIPTS.
47019
47020 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
47021 device, try to get a GRUB device by
47022 grub_util_biosdisk_get_grub_dev.
47023 Free DEST_DEV.
47024
47025 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
47026 description for --device-map.
47027
5f968e1e 470282005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47029
47030 Change the semantics of variable hooks. They now return strings
47031 instead of error values.
f19dbdb7 47032
5f968e1e 47033 * util/i386/pc/grub-setup.c: Include grub/env.h.
47034 (setup): Use grub_device_set_root instead of grub_env_set.
47035
47036 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
47037 grub_env_get instead of grub_device_set_root and
47038 grub_device_get_root, respectively.
47039
47040 * kern/main.c (grub_env_write_root): New function.
47041 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
47042 grub_env_set instead of grub_device_set_root.
47043
47044 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
47045 many variables.
47046 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
47047 rather than calling ENV->WRITE_HOOK afterwards.
47048 (grub_env_get): Return the result of ENV->READ_HOOK rather than
47049 passing a pointer of a pointer.
47050 (grub_register_variable_hook): Change the types of "read_hook" and
47051 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
47052 respectively.
47053 Allocate the default empty string on the heap, because this string
47054 may be freed later.
47055
47056 * kern/device.c: Include grub/env.h.
47057 (grub_device_set_root): Removed.
47058 (grub_device_get_root): Likewise.
47059 (grub_device_open): Use grub_env_get instead of
47060 grub_device_get_root.
47061
47062 * include/grub/env.h (grub_env_read_hook_t): New type.
47063 (grub_env_write_hook_t): Likewise.
47064 (grub_env_var): Change the types of "read_hook" and "write_hook"
47065 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
47066 (grub_register_variable_hook): Likewise.
47067
47068 * include/grub/device.h (grub_device_set_root): Removed.
47069 (grub_device_set_root): Likewise.
47070
47071 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
47072 make sure that DIRNAME terminates with '/', so that
47073 grub_fat_find_dir will fail if PATH is not a directory.
47074
47075 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
47076 from DIRNAME.
47077 Use the qualifier auto for print_files and print_files_long.
47078 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
47079 as a regular file.
47080 Put a newline only if there is no error.
47081 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
47082 used.
47083
896f0afd 470842005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
47085
47086 * kern/partition.c (grub_partition_probe): Initialize PART to
47087 NULL. Otherwise, when no partition map is registered, this returns
47088 a garbage.
47089
b28b81b2 470902005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
47091
47092 * partmap/apple.c (apple_partition_map_iterate): Check if POS
47093 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
47094 valid.
47095
5f3607e0 470962005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
47097
47098 * commands/ls.c (grub_ls_list_disks): Print the filesystem
47099 information on each device, if it does not have partitions. Print
47100 "Device" instead of "Disk", because this function is not specific
47101 to disk devices.
47102
47103 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
47104 static to ensure that it is put on the memory rather than a
47105 register.
47106
502c87e8 471072005-07-17 Yoshinori Okuji <okuji@enbug.org>
47108
47109 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
47110 (grub_cat_init): Likewise.
47111 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
47112 (options): Likewise.
47113 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
47114 (grub_configfile_init): Likewise.
47115 * font/manager.c (GRUB_MOD_INIT): Likewise.
47116 * commands/help.c (GRUB_MOD_INIT): Likewise.
47117 (grub_help_init): Likewise.
47118 * normal/command.c (grub_command_init): Likewise.
47119 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
47120 * disk/loopback.c (grub_loop_init): Likewise.
47121 (GRUB_MOD_INIT): Likewise.
47122 * commands/ls.c (grub_ls_init): Likewise.
47123 (GRUB_MOD_INIT): Likewise.
47124 (options): Likewise.
47125 * commands/boot.c (grub_boot_init): Likewise.
47126 (GRUB_MOD_INIT): Likewise.
47127 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
47128 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
47129 (GRUB_MOD_INIT): Likewise.
47130 * commands/cmp.c (grub_cmp_init): Likewise.
47131 (GRUB_MOD_INIT): Likewise.
47132
47133 * normal/arg.c: Use <> instead of "" to include header files.
47134 (SHORT_ARG_HELP): New macro.
47135 (SHORT_ARG_USAGE): Likewise.
47136 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
47137 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
47138 descriptions.
47139 (find_short): Check if C is 'h' or 'u' explicitly.
47140 (grub_arg_show_help): Use space characters instead of tabs. Treat
47141 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
47142 are shown with --help and --usage only if they are not used for
47143 the command itself.
47144 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
47145 'h' and 'u'.
47146
47147 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
47148 const into "longarg". Change the type of "shortarg" to int.
47149
f806d18e 471502005-07-17 Yoshinori Okuji <okuji@enbug.org>
47151
47152 * boot/i386/pc/boot.S (boot_drive_check): New label.
47153
47154 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
47155 macro.
47156
47157 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
47158 which do not pass a boot drive correctly. Copied from GRUB Legacy.
47159
e293232b 471602005-07-17 Yoshinori Okuji <okuji@enbug.org>
47161
47162 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
47163 When turning off Gate A20, skip the check and return immediately,
47164 because this is not fatal usually.
47165
ebedfd00 471662005-07-17 Yoshinori Okuji <okuji@enbug.org>
47167
47168 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
47169 be 0x7C00 instead of 0x8000.
47170
47171 * boot/i386/pc/pxeboot.S: Rewritten.
47172
47173 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
47174 EXT_C.
47175 (gate_a20_check_state): Read a byte from 0x108000. Invert the
47176 result.
47177
654fc59f 471782005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
47179
47180 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
47181 robustness. This routine now supports a BIOS call and System
47182 Control Port A to modify the gate A20.
47183
47184 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47185 Increased to 0x440.
47186
09f9923f 471872005-07-12 Hollis Blanchard <hollis@penguinppc.org>
47188
47189 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
47190 device path and resulting ihandle.
47191 (grub_ofdisk_close): dprintf the ihandle being closed.
47192 (grub_ofdisk_read): dprintf function parameters.
47193 * kern/mm.c (grub_mm_init_region): Likewise.
47194 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
47195 (grub_linux_boot): dprintf the Linux entry point, initrd address and
47196 size, and boot arguments.
47197 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
47198 before loading into memory.
47199 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
47200 before loading into memory.
47201
7ef504d8 472022005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
47203
47204 * kern/mm.c: Added much documentation.
47205 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
47206 8, set to 5 instead of 8.
47207
e0f050c2 472082005-07-10 Yoshinori Okuji <okuji@enbug.org>
47209
47210 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
47211
47212 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
47213 (grub_mkdevicemap_SOURCES): New variable.
47214
47215 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
47216 lib/device.c of GRUB Legacy.
47217
7224189a 472182005-07-10 Yoshinori Okuji <okuji@enbug.org>
47219
47220 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
47221 instead of PATH is NULL.
47222
68c864eb 472232005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
47224
47225 * commands/cmp.c (BUFFER_SIZE): New macro.
47226 (grub_cmd_cmp): Close the right file at the right time. Compare
47227 only data just read. Don't report files of different size as
47228 identical. Dynamically allocate buffers. Move variable
47229 declarations at the beginning of function.
47230
e6f3e614 472312005-07-09 Yoshinori Okuji <okuji@enbug.org>
47232
47233 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
47234 reverse.
47235
f8f1559a 472362004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
47237
47238 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
47239 when backspace is pressed at beginning of line.
47240
39c9d41d 472412005-07-03 Yoshinori Okuji <okuji@enbug.org>
47242
47243 * DISTLIST: Added genfslist.sh.
47244
47245 * normal/main.c (fs_module_list): New variable.
47246 (autoload_fs_module): New function.
47247 (read_fs_list): Likewise.
47248 (grub_normal_execute): Call read_fs_list.
47249
47250 * kern/fs.c (grub_fs_autoload_hook): New variable.
47251 (grub_fs_probe): Added support for auto-loading.
47252
47253 * include/grub/normal.h (struct grub_fs_module_list): New struct.
47254 (grub_fs_module_list_t): New type.
47255
47256 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
47257 (grub_fs_autoload_hook): New prototype.
47258
47259 * genfslist.sh: New file.
f19dbdb7 47260
39c9d41d 47261 * genmk.rb: Added a rule to generate a filesystem list.
47262
121c1d83 472632005-06-30 Marco Gerards <metgerards@student.han.nl>
47264
47265 * configure.ac: Fix the test for cross-compiling.
47266
47267 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
47268 define GRUB_UTIL anymore.
47269
47270 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
47271 so this function works on other systems than just big endian.
47272 (load_modules): Likewise.
47273 (add_segments): Likewise.
47274
e75d76e1 472752005-06-23 Hollis Blanchard <hollis@penguinppc.org>
47276
47277 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
47278 contains `l' modifier, get a long from va_arg().
47279
50b5a0a7 472802005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
47281
47282 * kern/mm.c (grub_free): If the next free block which is being
47283 merged is the first free block, set the first block to the block
47284 being freed.
47285 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
47286
89371b20 472872005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47288
47289 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
47290 `grub_ieee1275_chosen'.
47291
168d6e58 472922005-05-08 Hollis Blanchard <hollis@penguinppc.org>
47293
47294 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
47295 (grub_ieee1275_chosen): New variable.
47296 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
47297 `chosen'.
47298 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
47299 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47300 Rename first argument to `phandle' for consistency.
47301 (grub_ieee1275_get_property_length): Likewise.
47302 (grub_ieee1275_next_property): Likewise. Change type of first argument
47303 to grub_ieee1275_phandle_t.
47304 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
47305 Move export next to declaration.
47306 (grub_ieee1275_chosen): New variable.
47307 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
47308 Correct cosmetic typo.
47309 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
47310 `grub_ieee1275_chosen'.
47311 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
47312 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
47313 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
47314 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
47315 `grub_ieee1275_chosen'.
47316
ca5baa3f 473172005-05-10 Hollis Blanchard <hollis@penguinppc.org>
47318
47319 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
47320 /chosen/bootargs.
47321 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
47322 /chosen/bootargs as "variable=value" pairs.
47323
708b345f 473242005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
47325
47326 * include/grub/misc.h (grub_dprintf): New macro.
47327 (grub_real_dprintf): New prototype.
47328 (grub_strword): Likewise.
47329 (grub_iswordseparator): Likewise.
47330 * kern/misc.c (grub_real_dprintf): New function.
47331 (grub_strword): Likewise.
47332 (grub_iswordseparator): Likewise.
47333
f4c5e67c 473342005-04-30 Hollis Blanchard <hollis@penguinppc.org>
47335
47336 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
47337 (roundup): Remove macro.
47338 (grub_ieee1275_flags): Make static.
47339 (grub_ieee1275_realmode): Remove.
47340 (grub_ieee1275_test_flag): New function.
47341 (grub_ieee1275_set_flag): Likewise.
47342 (find_options): Rename to `grub_ieee1275_find_options'; update
47343 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
47344 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
47345 (cmain): New prototype.
47346 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
47347 `grub_ieee1275_flags' directly.
47348 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
47349 machine/biosdisk.h.
47350 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
47351 Don't include grub/machine/init.h.
47352 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
47353 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47354 Remove prototype.
47355 (grub_ieee1275_realmode): Likewise.
47356 (grub_ieee1275_flag): New enum.
47357 (grub_ieee1275_test_flag): New prototype.
47358 (grub_ieee1275_set_flag): New prototype.
47359 * include/grub/powerpc/ieee1275/init.h: Remove file.
47360 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
47361 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
47362 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
47363 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
47364 comment.
47365 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
47366 `grub_ieee1275_test_flag'.
47367 (grub_ieee1275_encode_devname): Likewise.
47368
ed16607e 473692005-04-21 Hollis Blanchard <hollis@penguinppc.org>
47370
47371 * include/grub/powerpc/ieee1275/ieee1275.h
47372 (grub_ieee1275_encode_devname): New prototype.
47373 (grub_ieee1275_get_filename): Likewise.
47374 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
47375 function.
47376 (grub_set_prefix): Likewise.
47377 (grub_machine_init): Call grub_set_prefix.
47378 * kern/powerpc/ieee1275/openfw.c: Fix typos.
47379 (grub_parse_type): New enum.
47380 (grub_ieee1275_get_devargs): New function.
47381 (grub_ieee1275_get_devname): Likewise.
47382 (grub_ieee1275_parse_args): Likewise.
47383 (grub_ieee1275_get_filename): Likewise.
47384 (grub_ieee1275_encode_devname): Likewise.
47385
be369920 473862005-03-30 Marco Gerards <metgerards@student.han.nl>
47387
47388 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
47389 `grub_loader_unset'.
47390
a5ce3a4a 473912005-03-26 Hollis Blanchard <hollis@penguinppc.org>
47392
47393 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
47394 instead of grub_ieee1275_interpret.
47395 (grub_halt_init): New function.
47396 (grub_halt_fini): Likewise.
47397 (GRUB_MOD_INIT): Correct message grammar.
47398 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
47399 instead of grub_ieee1275_interpret.
47400 (grub_reboot_init): New function.
47401 (grub_reboot_fini): Likewise.
47402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
47403 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
47404 util/i386/pc/misc.c with commands/ieee1275/halt.c,
47405 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
47406 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
47407 function.
47408 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
47409 Add prototype.
47410 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
47411 prototype.
47412 (grub_halt): Likewise.
47413 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
47414 (cmain): Remove __attribute__((unused)).
47415 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
47416 (grub_heap_len): Likewise.
47417 (grub_machine_fini): New function.
47418 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
47419 (grub_halt): Likewise.
47420 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
47421 function.
47422 * util/powerpc/ieee1275/misc.c: New file.
47423
0058f771 474242005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
47425
47426 * DISTLIST: New file.
47427 * gendistlist.sh: Likewise.
f19dbdb7 47428
0058f771 47429 * Makefile.in (COMMON_DISTFILES): Removed.
47430 (BOOT_DISTFILES): Likewise.
47431 (CONF_DISTFILES): Likewise.
47432 (DISK_DISTFILES): Likewise.
47433 (FS_DISTFILES): Likewise.
47434 (INCLUDE_DISTFILES): Likewise.
47435 (KERN_DISTFILES): Likewise.
47436 (LOADER_DISTFILES): Likewise.
47437 (TERM_DISTFILES): Likewise.
47438 (UTIL_DISTFILES): Likewise.
47439 (DISTFILES): Likewise.
47440 (uninstall): Uninstall files in $(pkgdata_DATA).
47441 (DISTLIST): New target.
47442 (distdir): Use the contents of the file DISTLIST to get a list of
47443 distributed files.
47444
46b3b8a5 474452005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
47446
47447 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
47448 descriptor. This is ported from GRUB Legacy.
47449
47450 * gencmdlist.sh: Added an extra semicolon to make it work with
47451 old sed versions. Reported by Robert Bihlmeyer
47452 <robbe@orcus.priv.at>.
47453
5822ff87 474542005-03-08 Yoshinori Okuji <okuji@enbug.org>
47455
47456 Automatic loading of commands is supported.
f19dbdb7 47457
5822ff87 47458 * normal/main.c (read_command_list): New function.
47459 (grub_normal_execute): Call read_command_list.
47460
47461 * normal/command.c (grub_register_command): Return zero or CMD.
47462 Allocate CMD->NAME from the heap.
47463 Initialize CMD->MODULE_NAME to zero.
47464 Find the same name as well. If the same command is found and it is
47465 a dummy command, overwrite members. If it is not a dummy command,
47466 return zero.
47467 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
47468 (grub_command_find): If a dummy command is found, load a module
47469 and retry to find a command only once.
47470
47471 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
47472 make sure that each command is loaded.
47473
47474 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
47475 macro.
47476 (struct grub_command): Remove const from the member `name'.
47477 Add a new member `module_name'.
47478 (grub_register_command): Return grub_command_t.
47479
47480 * commands/help.c (grub_cmd_help): Call grub_command_find to make
47481 sure that each command is loaded.
47482
47483 * genmk.rb (PModule::rule): Specify a module name without the
47484 suffix ".mod" to gencmdlist.sh.
47485
7b1f4b57 474862005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47487
47488 * gencmdlist.sh: New file.
f19dbdb7 47489
7b1f4b57 47490 * genmk.rb (PModule::rule): Generate a rule for a command list.
47491 Clean command.lst.
47492 Generate command.lst from $(COMMANDFILES).
47493
47494 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
47495 (DATA): Added $(pkgdata_DATA).
47496 (install-local): Install files in $(pkgdata_DATA).
47497
062aaf39 474982005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
47499
47500 * term/i386/pc/vga.c (debug_command): Removed.
47501 (GRUB_MOD_INIT): Do not register the command "debug".
47502
47503 From Hollis Blanchard:
47504 * commands/configfile.c: New file.
47505 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47506 commands/configfile.c.
47507 (pkgdata_MODULES): Added configfile.mod.
47508 (configfile_mod_SOURCES): New variable.
47509 (configfile_mod_CFLAGS): Likewise.
47510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47511 commands/configfile.c.
47512 (pkgdata_MODULES): Added configfile.mod.
47513 (configfile_mod_SOURCES): New variable.
47514 (configfile_mod_CFLAGS): Likewise.
47515 * util/grub-emu.c (main): Call grub_configfile_init and
47516 grub_configfile_fini.
47517 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
47518 prototype.
47519 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 47520
cee01aa6 475212005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47522
47523 * normal/arg.c (grub_arg_show_help): Do not show the bug report
47524 address.
47525
47526 * commands/help.c (grub_cmd_help): Do not print newlines after
47527 the last command in print_command_help.
47528
93f3a1d8 475292005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
47530
47531 * commands/default.h: New file.
47532 * commands/timeout.h: Likewise.
47533 * normal/context.c: Likewise.
f19dbdb7 47534
93f3a1d8 47535 * util/misc.c: Do not include sys/times.h.
47536 Include sys/time.h and grub/machine/time.h.
47537 (grub_get_rtc): Rewritten with gettimeofday.
47538
47539 * util/grub-emu.c (main): Call grub_default_init and
47540 grub_timeout_init before grub_normal_init, and call
47541 grub_timeout_fini and grub_default_fini after grub_main.
47542
47543 * util/console.c (grub_ncurses_checkkey): Return the read
47544 character or -1.
47545
47546 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
47547 timeouts.
47548
47549 * normal/main.c (read_config_file): Push MENU. If this fails,
47550 print an error and wait for a user input.
47551 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
47552 If a menu is empty or an error occurs, pop MENU.
47553 (grub_normal_execute): Pop and free MENU after grub_menu_run
47554 returns.
47555
47556 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
47557
47558 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
47559 include time.h.
47560 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47561 without GRUB_UTIL.
47562 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
47563 time.h.
47564 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
47565 without GRUB_UTIL.
47566
47567 * include/grub/normal.h (struct grub_menu_list): New struct.
47568 (grub_menu_list_t): New type.
47569 (struct grub_context): New struct.
47570 (grub_context_t): New type.
47571 (grub_register_command): Got rid of EXPORT_FUNC.
47572 (grub_unregister_command): Likewise.
47573 (grub_context_get): New prototype.
47574 (grub_context_get_current_menu): Likewise.
47575 (grub_context_push_menu): Likewise.
47576 (grub_context_pop_menu): Likewise.
47577 [GRUB_UTIL] (grub_default_init): Likewise.
47578 [GRUB_UTIL] (grub_default_fini): Likewise.
47579 [GRUB_UTIL] (grub_timeout_init): Likewise.
47580 [GRUB_UTIL] (grub_timeout_fini): Likewise.
47581
47582 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
47583 commands/timeout.c and normal/context.c.
47584 (pkgdata_MODULES): Added default.mod and timeout.mod.
47585 (normal_mod_SOURCES): Added normal/context.c.
47586 (default_mod_SOURCES): New variable.
47587 (default_mod_CFLAGS): Likewise.
47588 (timeout_mod_SOURCES): Likewise.
47589 (timeout_mod_CFLAGS): Likewise.
47590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
47591 conf/i386-pc.rmk.
47592 (pkgdata_MODULES): Added default.mod and timeout.mod.
47593 (normal_mod_SOURCES): Added normal/context.c.
47594 (default_mod_SOURCES): New variable.
47595 (default_mod_CFLAGS): Likewise.
47596 (timeout_mod_SOURCES): Likewise.
47597 (timeout_mod_CFLAGS): Likewise.
47598
47599 * Makefile.in (all-local): Added $(MKFILES).
47600
4ed2e1dd 476012005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
47602
47603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
47604 (grub_emu_SOURCES): Likewise.
47605 (pkgdata_MODULES): Add `sun.mod'.
47606 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47608 `partmap/sun.c'.
47609 (pkgdata_MODULES): Add `sun.mod'.
47610 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
47611 * include/grub/partition.h (grub_sun_partition_map_init): New
47612 prototype.
47613 (grub_sun_partition_map_fini): Likewise.
47614 * partmap/sun.c: New file.
47615 * util/grub-emu.c (main): Initialize and de-initialize the sun
47616 partitionmap support.
47617
4d4e372e 476182005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
47619
47620 This implements an Emacs-like menu entry editor.
f19dbdb7 47621
4d4e372e 47622 * normal/menu_entry.c: New file.
f19dbdb7 47623
4d4e372e 47624 * util/console.c (grub_ncurses_putchar): Translate some Unicode
47625 characters to ASCII.
47626 (saved_char): New variable.
47627 (grub_ncurses_checkkey): Rewritten completely.
47628 (grub_ncurses_getkey): Likewise.
47629 (grub_ncurses_init): Call raw instead of cbreak.
47630
47631 * normal/menu.c (print_entry): Do not put a space.
47632 (init_page): Renamed to ...
47633 (grub_menu_init_page): ... this. All callers changed.
47634 (edit_menu_entry): Removed.
47635 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
47636
47637 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
47638
47639 * kern/misc.c (grub_vprintf): Call grub_refresh.
47640
47641 * normal/menu.c (DISP_LEFT): Renamed to ...
47642 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
47643 * normal/menu.c (DISP_UP): Renamed to ...
47644 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
47645 * normal/menu.c (DISP_RIGHT): Renamed to ...
47646 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
47647 * normal/menu.c (DISP_DOWN): Renamed to ...
47648 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
47649 * normal/menu.c (DISP_HLINE): Renamed to ...
47650 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
47651 * normal/menu.c (DISP_VLINE): Renamed to ...
47652 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
47653 * normal/menu.c (DISP_UL): Renamed to ...
47654 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
47655 * normal/menu.c (DISP_UR): Renamed to ...
47656 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
47657 * normal/menu.c (DISP_LL): Renamed to ...
47658 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
47659 * normal/menu.c (DISP_LR): Renamed to ...
47660 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
47661 * normal/menu.c (TERM_WIDTH): Renamed to ...
47662 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
47663 * normal/menu.c (TERM_HEIGHT): Renamed to ...
47664 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
47665 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
47666 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
47667 * normal/menu.c (TERM_MARGIN): Renamed to ...
47668 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
47669 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
47670 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
47671 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
47672 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
47673 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
47674 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
47675 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
47676 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
47677 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
47678 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
47679 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
47680 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
47681 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
47682 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
47683 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
47684 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
47685 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
47686 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
47687 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
47688 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
47689 All callers changed.
47690
47691 * include/grub/normal.h: New prototype.
47692
47693 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47694 normal/menu_entry.c.
47695 (normal_mod_SOURCES): Likewise.
47696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47697 (normal_mod_SOURCES): Likewise.
47698
e6b92c8a 476992005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
47700
47701 * include/grub/normal.h (grub_halt_init): New prototype.
47702 (grub_halt_fini): Likewise.
47703 (grub_reboot_init): Likewise.
47704 (grub_reboot_fini): Likewise.
47705
47706 * util/grub-emu.c: Include signal.h.
47707 (main_env): New global variable.
47708 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
47709 catch C-c.
47710 (grub_machine_fini): New function.
47711 (main): Call grub_halt_init and grub_reboot_init before
47712 grub_main, and grub_reboot_fini and grub_halt_fini after it.
47713 Call setjmp with MAIN_ENV to go back afterwards.
47714 Call grub_machine_fini right before return.
47715
47716 * include/grub/util/misc.h: Include setjmp.h.
47717 (main_env): New prototype.
47718
47719 * include/grub/kernel.h (grub_machine_fini): New prototype.
47720 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
47721 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
47722
47723 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
47724 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
47725 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 47726
e6b92c8a 47727 * util/i386/pc/misc.c: New file.
f19dbdb7 47728
e6b92c8a 47729 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47730 util/i386/pc/misc.c, commands/i386/pc/halt.c and
47731 commands/i386/pc/reboot.c.
47732
c642636f 477332005-02-14 Guillem Jover <guillem@hadrons.org>
47734
47735 * include/grub/dl.h (grub_dl_check_header): New prototype.
47736 (grub_arch_dl_check_header): Change return type to grub_err_t,
47737 remove size parameter and export function. Update all callers.
47738 * kern/dl.c (grub_dl_check_header): New function.
47739 (grub_dl_load_core): Use `grub_dl_check_header' instead of
47740 `grub_arch_dl_check_header'. Check ELF type. Check if sections
47741 are inside the core.
47742 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
47743 independent ELF header checks.
47744 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47745 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
47746 `grub_dl_check_header' instead of explicit checks. Check for the
47747 ELF type.
47748 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
47749 `grub_dl_check_header' instead of explicit checks. Remove arch
47750 specific ELF header checks.
47751
e6b92c8a 47752 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
47753 argument SIZE.
47754
5eabe94b 477552005-02-13 Hollis Blanchard <hollis@penguinppc.org>
47756
47757 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
47758 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
47759
1b14a681 477602005-02-12 Hollis Blanchard <hollis@penguinppc.org>
47761
47762 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 47763 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 47764 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 47765 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 47766 * partmap/amiga.c (amiga_partition_map_iterate): Return
47767 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
47768 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47769
aca108aa 477702005-02-01 Guillem Jover <guillem@hadrons.org>
47771
47772 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
47773 help info.
47774
c9f9c556 477752005-01-31 Marco Gerards <metgerards@student.han.nl>
47776
47777 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
47778 Removed prototype.
47779 (grub_rescue_cmd_linux): New prototype.
47780 (grub_rescue_cmd_initrd): Likewise.
47781 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
47782 `bi_rec'.
47783 (grub_linux_release_mem): Release the memory for the initrd.
47784 (grub_load_linux): Renamed from this...
47785 (grub_rescue_cmd_linux): ...To this. Changed all callers.
47786 Changed `entry' not to be static. Loop over memory regions to
47787 find another one when the default fails.
47788 (grub_rescue_cmd_initrd): New function.
47789 (grub_linux_init): Remove function.
47790 (grub_linux_fini): Likewise.
47791 (GRUB_MOD_INIT): Register `initrd'.
47792 (GRUB_MOD_FINI): Unregister `initrd'.
47793 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
47794 Function removed.
47795 (grub_linux_normal_fini): Likewise.
47796 (GRUB_MOD_INIT): Register `initrd'.
47797 (GRUB_MOD_FINI): Unregister `initrd'.
47798
990cf3aa 477992005-01-31 Marco Gerards <metgerards@student.han.nl>
47800
47801 * commands/help.c: New file.
47802 * normal/arg.c (show_help): Renamed to...
47803 (grub_arg_show_help): ... this.
47804 * commands/i386/pc/halt.c: New file.
47805 * commands/i386/pc/reboot.c: Likewise.
47806 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
47807 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
47808 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
47809 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
47810 variables.
47811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47812 `commands/help.c'.
47813 (pkgdata_MODULES): Add `help.mod'.
47814 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
47815 * grub/i386/pc/init.h (grub_reboot): New prototype.
47816 (grub_halt): Likewise.
47817 * include/grub/normal.h (grub_arg_show_help): New prototype.
47818 (grub_help_init): Likewise.
47819 (grub_help_fini): Likewise.
47820 * util/grub-emu.c (main): Initialize and deinitialize the help
47821 command.
47822
47823 * normal/cmdline.c (grub_cmdline_get): Doc fix.
47824
47825 * normal/command.c (grub_command_init): Fixed the description of
47826 the `set' and `unset' commands.
47827
478282005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 47829
47830 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
47831 function.
47832 * commands/ieee1275/halt.c: New file.
47833 * commands/ieee1275/reboot.c: Likewise.
47834 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
47835 `__attribute__ ((unused))'. Some GCS related fixed.
47836 (grub_suspend_init) [GRUB_UTIL]: Function removed.
47837 (grub_suspend_fini): Likewise.
47838 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
47839 and `halt.mod'.
47840 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
47841 (halt_mod_CFLAGS): New variables.
47842 * include/grub/powerpc/ieee1275/ieee1275.h
47843 (grub_ieee1275_interpret): New prototype.
47844
1ab09cc7 478452005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
47846
47847 * include/grub/misc.h (memmove): New prototype.
47848 (memcpy): Likewise.
47849
8b8cbdb2 478502005-01-22 Hollis Blanchard <hollis@penguinppc.org>
47851
47852 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
47853 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
47854
e3741a27 478552005-01-22 Marco Gerards <metgerards@student.han.nl>
47856
47857 * kern/misc.c (grub_strndup): Function rewritten.
47858
776bd780 478592005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
47860
47861 * normal/menu.c (TERM_WIDTH): Macro redefined.
47862 (TERM_TOP_BORDER_Y): Likewise.
47863 (draw_border): Replaced while-loop by a for-loop. Make the number
47864 of lines consistent with the number of lines displayed in
47865 print_entries. Added a margin below the rectangle.
47866 (print_entry): Make the entry fit in the rectangle.
47867 (print_entries): Display the scroll arrows next to the right
47868 border.
47869
78026bce 478702005-01-21 Marco Gerards <metgerards@student.han.nl>
47871
47872 * fs/minix.c (grub_minix_find_file): Reserve more space for
47873 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
47874 `grub_strncpy' to copy `path' into it.
47875
67bbaf0f 478762005-01-21 Marco Gerards <metgerards@student.han.nl>
47877
47878 Add the loopback device, a device via which files can be accessed
47879 as devices.
f19dbdb7 47880
67bbaf0f 47881 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
47882 (pkgdata_MODULES): Add loopback.mod.
47883 (loopback_mod_SOURCES): New variable.
47884 (loopback_mod_CFLAGS): Likewise.
47885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47886 `disk/loopback.c'.
47887 (pkgdata_MODULES): Add loopback.mod.
47888 (loopback_mod_SOURCES): New variable.
47889 (loopback_mod_CFLAGS): Likewise.
47890 * disk/loopback.c: new file.
47891 * include/grub/normal.h (grub_loop_init): New prototype.
47892 (grub_loop_fini): New prototype.
47893 * util/grub-emu.c (main): Initialize and de-initialize loopback
47894 support.
47895 * include/grub/disk.h (grub_disk_dev_id): Add
47896 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
47897
6f1c18bd 478982005-01-20 Hollis Blanchard <hollis@penguinppc.org>
47899
47900 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
47901 function.
47902 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
47903 (suspend_mod_SOURCES): New variable.
47904 (suspend_mod_CFLAGS): Likewise.
47905 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
47906 New prototype.
47907 * commands/ieee1275/suspend.c: New file.
47908
b38551da 479092005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47910
47911 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 47912 ((unused))' to `__attribute__ ((used))'.
b38551da 47913 (GRUB_MOD_FINI): Likewise.
47914 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
47915 * genmk.rb (PModule): Assign space to common symbols when linking
47916 modules.
47917
777aff39 479182005-01-20 Marco Gerards <metgerards@student.han.nl>
47919
47920 * include/grub/mm.h (grub_mm_init_region): Change the type of the
47921 `unsigned' arguments to `grub_size_t'.
47922 (grub_malloc): Likewise.
47923 (grub_realloc): Likewise.
47924 (grub_memalign): Likewise.
47925 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
47926 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
47927 * util/misc.c (grub_malloc): Likewise.
47928 (grub_realloc): Likewise.
47929 * kern/mm.c (get_header_from_pointer): Change the casts to
47930 `unsigned' into a cast to `grub_size_t'.
47931
47932 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
47933 point to `currnode' when `currnode' is changed.
47934
47935 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
47936 Schottelius <nico-linux@schottelius.org>.
47937
d0ff18e1 479382005-01-09 Hollis Blanchard <hollis@penguinppc.org>
47939
47940 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
47941 (note_path): Remove variable.
47942 (GRUB_IEEE1275_NOTE_NAME): New macro.
47943 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
47944 (grub_ieee1275_note_hdr): New structure.
47945 (grub_ieee1275_note_desc): Likewise.
47946 (grub_ieee1275_note): Likewise.
47947 (load_note): Remove `dir' argument. All callers updated. Remove
47948 `note_img' and `path'. Do not load a file from `note_path'.
47949 Initialize a struct grub_ieee1275_note and write that to `out'.
47950 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
47951
4ca7004c 479522005-01-05 Marco Gerards <metgerards@student.han.nl>
47953
47954 * util/misc.c (grub_util_read_image): Revert last change. It
47955 called `grub_util_read_at', which seeks from the beginning of the
47956 file.
47957
0b412211 479582005-01-04 Hollis Blanchard <hollis@penguinppc.org>
47959
47960 * TODO: Add note about endianness in grub-mkimage.
47961 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
47962 section.
47963 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
47964 (grub_mkimage_SOURCES): New target.
47965 * include/grub/kernel.h (grub_start_addr): Remove variable.
47966 (grub_end_addr): Likewise.
47967 (grub_total_module_size): Likewise.
47968 (grub_kernel_image_size): Likewise.
47969 (GRUB_MODULE_MAGIC): New constant.
47970 (grub_module_info): New structure.
47971 (grub_arch_modules_addr): New prototype.
47972 (grub_get_end_addr): Remove prototype.
47973 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
47974 * include/grub/powerpc/ieee1275/kernel.h: New file.
47975 * include/grub/util/misc.h (grub_util_get_fp_size): New
47976 prototype.
47977 (grub_util_read_at): Likewise.
47978 (grub_util_write_image_at): Likewise.
47979 * kern/main.c (grub_get_end_addr): Remove function.
47980 (grub_load_modules): Call grub_arch_modules_addr instead of using
47981 grub_end_addr. Look for a grub_module_info struct in memory. Use
47982 the grub_module_info fields instead of calling grub_get_end_addr
47983 as loop conditions. Move grub_add_unused_region code here.
47984 (grub_add_unused_region): Remove function.
47985 * kern/i386/pc/init.c: Include grub/cache.h.
47986 (grub_machine_init): Remove call to grub_get_end_addr. Remove
47987 one call to add_mem_region.
47988 (grub_arch_modules_addr): New function.
47989 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
47990 (grub_total_module_size): Likewise.
47991 Include grub/machine/kernel.h.
47992 (grub_arch_modules_addr): New function.
47993 * util/grub-emu.c (grub_end_addr): Remove variable.
47994 (grub_total_module_size): Likewise.
47995 (grub_arch_modules_addr): New function.
47996 * util/misc.c: Include unistd.h.
47997 (grub_util_get_fp_size): New function.
47998 (grub_util_read_at): Likewise.
47999 (grub_util_write_image_at): Likewise.
48000 (grub_util_read_image): Call grub_util_read_at.
48001 (grub_util_write_image): Call grub_util_write_image_at.
48002 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
48003 additional memory in kernel_img for a struct grub_module_info.
48004 Fill in that grub_module_info.
48005 * util/powerpc/ieee1275/grub-mkimage.c: New file.
48006
458786f8 480072005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48008
48009 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
48010 New function.
48011 * include/grub/powerpc/ieee1275/ieee1275.h
48012 (grub_ieee1275_milliseconds): New prototype.
48013 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
48014 Change to 1000.
48015 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
48016 grub_ieee1275_milliseconds.
48017
ac507d1b 480182005-01-03 Hollis Blanchard <hollis@penguinppc.org>
48019
48020 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
48021 variable.
48022 (find_options): New function.
48023 (cmain): Call find_options.
48024 * include/grub/powerpc/ieee1275/ieee1275.h
48025 (grub_ieee1275_realmode): New extern variable.
48026 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
48027 grub_map if grub_ieee1275_realmode is false.
48028
6b8fd1c4 480292004-12-29 Marco Gerards <metgerards@student.han.nl>
48030
48031 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
48032 lines are inserted and make it work like readline. Reported by
48033 Vincent Pelletier <subdino2004@yahoo.fr>.
48034
8514a1e0 480352004-12-28 Marco Gerards <metgerards@student.han.nl>
48036
48037 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
48038
48039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
48040 `kern/powerpc/cache.S'.
48041
924b6140 480422004-12-27 Marco Gerards <metgerards@student.han.nl>
48043
48044 * genmk.rb: Handle the `Program' class in the main loop. Written
48045 by Johan Rydberg <jrydberg@gnu.org>.
48046 (Program): New class.
48047 (programs): New variable.
48048 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
48049 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
48050 instead of "grub/kernel.h". Include <grub/machine/init.h>.
48051 (help_arch): Function removed.
48052 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
48053 `powerpc/libgcc.h' and `loader.h'.
48054 (pkgdata_PROGRAMS): New variable.
48055 (sbin_UTILITIES): Variable removed.
48056 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
48057 (grubof_SOURCES): Variable re-defined so it only includes the
48058 core functionality.
48059 (grubof_CFLAGS): Remove `-DGRUBOF'.
48060 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
48061 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
48062 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
48063 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
48064 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
48065 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
48066 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
48067 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
48068 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
48069 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
48070 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48071 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
48072 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
48073 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
48074 (pc_mod_CFLAGS): New variables.
48075 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
48076 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
48077 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
48078 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
48079 Moved from here...
48080 * include/grub/i386/pc/init.h (grub_os_area_addr)
48081 (rub_os_area_size): ... to here.
48082 * include/grub/powerpc/ieee1275/ieee1275.h
48083 (grub_ieee1275_entry_fn): Export symbol.
48084 * include/grub/powerpc/ieee1275/init.h: New file.
48085 * include/grub/powerpc/libgcc.h: Likewise.
48086 * include/grub/cache.h: Likewise.
48087 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
48088 <hollis@penguinppc.org>.
48089 * kern/dl.c: Include <grub/cache.h>.
48090 (grub_dl_flush_cache): New function.
48091 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
48092 for this module.
48093 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
48094 (grub_console_init): Removed prototypes.
48095 (grub_machine_init): Don't initialize the modules anymore.
48096 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
48097 static.
48098 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
48099 Macro undef removed.
48100 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
48101 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
48102 relocation `R_PPC_REL32'. Return an error when the relocation is
48103 unknown.
48104 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
48105 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
48106 * util/misc.c (grub_arch_sync_caches): Likewise.
48107
e4b47e0c 481082004-12-19 Marco Gerards <metgerards@student.han.nl>
48109
48110 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
48111 `symlist.c', add `grubof_symlist.c'.
48112 (symlist.c): Variable removed.
48113 (grubof_HEADERS): Variable added.
48114 (grubof_symlist.c): New target.
48115 (kernel_syms.lst): Use `grubof_HEADERS' instead of
48116 `kernel_img_HEADERS'.
48117 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
48118 * kern/powerpc/dl.c: New file.
48119 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
48120 Function removed.
48121 (grub_arch_dl_relocate_symbols): Likewise.
48122 (grub_register_exported_symbols): Likewise.
48123
4ceb3636 481242004-12-13 Marco Gerards <metgerards@student.han.nl>
48125
48126 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
48127 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
48128 to fail instead. Reported by Vincent Pelletier
48129 <subdino2004@yahoo.fr>.
48130
48131 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
48132 it is not allocated. Reported by Vincent Pelletier
48133 <subdino2004@yahoo.fr>.
48134
48135 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
48136 output so the output looks better.
f19dbdb7 48137
3f1578fe 481382004-12-04 Marco Gerards <metgerards@student.han.nl>
48139
48140 Modulize the partition map support and add support for the amiga
48141 partition map.
f19dbdb7 48142
3f1578fe 48143 * commands/ls.c: Include <grub/partition.h> instead of
48144 <grub/machine/partition.h>.
48145 * kern/disk.c: Likewise.
48146 * kern/rescue.c: Likewise.
48147 * loader/i386/pc/chainloader.c: Likewise.
48148 * normal/cmdline.c: Likewise.
48149 * kern/powerpc/ieee1275/init.c: Likewise.
48150 (grub_machine_init): Call `grub_pc_partition_map_init',
48151 `grub_amiga_partition_map_init' and
48152 `grub_apple_partition_map_init'.
48153 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
48154 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
48155 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
48156 `partition.h' and `pc_partition.h'.
48157 (grub_setup_SOURCES): Remove
48158 `disk/i386/pc/partition.c'. Add `kern/partition.c',
48159 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48160 (grub_emu_SOURCES): Likewise.
48161 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
48162 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
48163 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
48164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48165 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
48166 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
48167 (grubof_SOURCES): Likewise.
48168 * disk/i386/pc/partition.c: File removed.
48169 * disk/powerpc/ieee1275/partition.c: Likewise.
48170 * include/grub/powerpc/ieee1275/partition.h: Likewise.
48171 * include/grub/i386/pc/partition.h: Likewise.
48172 * kern/partition.c: New file.
48173 * partmap/amiga.c: Likewise.
48174 * partmap/apple.c: Likewise.
48175 * partmap/pc.c: Likewise.
48176 * include/grub/partition.h: Likewise..
48177 * include/grub/pc_partition.h: Likewise.
48178 * util/grub-emu.c: Include <grub/partition.h> instead of
48179 <grub/machine/partition.h>.
48180 (main): Call `grub_pc_partition_map_init',
48181 `grub_amiga_partition_map_init' and
48182 `grub_apple_partition_map_init' and deinitialize afterwards.
48183 * util/i386/pc/biosdisk.c: Include `#include
48184 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48185 `<grub/machine/partition.h>'.
48186 * util/i386/pc/grub-setup.c: Likewise.
48187 * util/i386/pc/biosdisk.c: Likewise.
48188 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
48189 partition information in case of a PC partition.
48190 * util/i386/pc/grub-setup.c: Include `#include
48191 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
48192 `<grub/machine/partition.h>'.
48193 (setup): Only access the PC specific partition information in case
48194 of a PC partition.
48195
0ef4ced9 481962004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 48197
0ef4ced9 48198 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
48199 (grub_longjmp): Likewise.
48200 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
48201 20.
48202 * normal/powerpc/setjmp.S: New file.
48203 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48204 `normal/powerpc/setjmp.S'.
48205 (grubof_CFLAGS): Add `-DGRUBOF'.
48206 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
48207 [GRUB_UTIL && !GRUBOF].
f19dbdb7 48208
19950e29 482092004-11-16 Marco Gerards <metgerards@student.han.nl>
48210
48211 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
48212 property named `name'. Correctly handle the error returned by
48213 `grub_ieee1275_finddevice' if a device can not be opened.
48214
a2fea427 482152004-11-02 Hollis Blanchard <hollis@penguinppc.org>
48216
48217 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
48218 `actual' for negativity.
48219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
48220 kern/fshelp.c.
48221
41ea0ea3 482222004-11-01 Marco Gerards <metgerards@student.han.nl>
48223
48224 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
48225 (PAGE_OFFSET): New macro.
48226 (CRTC_ADDR_PORT): Likewise.
48227 (CRTC_DATA_PORT): Likewise.
48228 (START_ADDR_HIGH_REGISTER): Likewise.
48229 (START_ADDR_LOW_REGISTER): Likewise.
48230 (GRAPHICS_ADDR_PORT): Likewise.
48231 (GRAPHICS_DATA_PORT): Likewise.
48232 (READ_MAP_REGISTER): Likewise.
48233 (INPUT_STATUS1_REGISTER): Likewise.
48234 (INPUT_STATUS1_VERTR_BIT): Likewise.
48235 (page): New variable.
48236 (wait_vretrace): New function.
48237 (set_read_map): Likewise.
48238 (set_start_address): Likewise.
48239 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
48240 the right page.
48241 (check_vga_mem): Take the page into account.
48242 (write_char): Likewise.
48243 (write_cursor): Likewise.
48244 (scroll_up): Likewise. Copy the page to the page that is not
48245 shown and switch between both pages.
48246 (grub_vga_putchar): Fix off by one error.
48247 (grub_vga_cls): Wait for the vertical retrace. Take the page into
48248 account.
48249
ad0bd20b 482502004-11-01 Marco Gerards <metgerards@student.han.nl>
48251
48252 Add support for iso9660 (including rockridge).
f19dbdb7 48253
ad0bd20b 48254 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48255 (iso9660_mod_SOURCES): New variable.
48256 (iso9660_mod_CFLAGS): Likewise.
48257 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
48258 * include/grub/fs.h (grub_iso9660_init): New prototype.
48259 * util/grub-emu.c (main): Call `grub_iso9660_init'.
48260 * fs/iso9660.c: New file.
48261
48262 * include/grub/misc.h (grub_strncat): New prototype.
48263 * kern/misc.c (grub_strncat): New function.
f19dbdb7 48264
ad0bd20b 48265 * fs/hfs.c (grub_hfs_mount): Translate the error
48266 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
48267 * fs/jfs.c (grub_jfs_mount): Likewise.
48268 * fs/ufs.c (grub_ufs_mount): Likewise.
48269
a5477a59 482702004-10-28 Hollis Blanchard <hollis@penguinppc.org>
48271
48272 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
48273 which initialized BAT registers.
48274 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
48275 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48276 Move from here...
48277 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
48278 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
48279 ... to here.
48280 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
48281 (grub_mapclaim): Likewise.
48282 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
48283 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
48284 hand.
48285
9304c1f8 482862004-10-19 Hollis Blanchard <hollis@penguinppc.org>
48287
48288 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
48289 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
48290 -ffreestanding and -msoft-float.
48291
86f4ae25 482922004-10-15 Hollis Blanchard <hollis@penguinppc.org>
48293
48294 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
48295 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
48296 set in grub_ieee1275_flags.
48297
38912228 482982004-10-14 Hollis Blanchard <hollis@penguinppc.org>
48299
48300 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
48301 prototype.
48302 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
48303 grub_console_init first.
48304 Change the memory range used for grub_ieee1275_claim and
48305 grub_mm_init_region.
48306 Print an error message if the claim fails.
48307 Include <grub/misc.h>.
48308
d1923dc8 483092004-10-13 Hollis Blanchard <hollis@penguinppc.org>
48310
48311 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
48312 Call grub_children_iterate for device nodes of type `scsi',
48313 `ide', or `ata'.
48314 (grub_ofdisk_open): Remove manual device alias resolution.
48315 Fix memory leak when device cannot be opened.
f19dbdb7 48316 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 48317 (grub_children_iterate): New prototype.
48318 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
48319 New function.
48320 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48321 Return -1 if args.size was -1.
48322
4512e4f3 483232004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48324
48325 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
48326 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
48327 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
48328 Open Firmware's memory for it; claim memory from _start to _end.
48329 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
48330 (_end): New extern.
48331 (_start): Zero BSS from __bss_start to _end.
48332 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48333 New extern.
48334 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
48335
4d61feb0 483362004-10-11 Hollis Blanchard <hollis@penguinppc.org>
48337
ad0bd20b 48338 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
48339 -1 if args.base was -1.
4d61feb0 48340
026fa2f9 483412004-10-08 Hollis Blanchard <hollis@penguinppc.org>
48342
48343 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
48344 escape sequence instead of a literal ^L. Also call
48345 grub_ofconsole_gotoxy.
48346
9f2220ef 483472004-10-03 Hollis Blanchard <hollis@penguinppc.org>
48348
48349 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
48350 void * arguments to grub_addr_t. All callers updated. Also make
48351 the `result' argument optional.
48352 (grub_ieee1275_release): change void * arguments to grub_addr_t.
48353 All callers updated.
48354
8a572cd7 483552004-09-22 Hollis Blanchard <hollis@penguinppc.org>
48356
48357 * commands/ls.c (grub_ls_list_files): Use the string following the
48358 initial ')', if present, as the filesystem path.
48359 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
48360
48361 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
48362
18aa81f2 483632004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
48364
48365 Make the source code of the menu interface more readable.
f19dbdb7 48366
18aa81f2 48367 * normal/menu.c: Include grub/mm.h.
48368 (TERM_WIDTH): New macro.
48369 (TERM_HEIGHT): Likewise.
48370 (TERM_INFO_HEIGHT): Likewise.
48371 (TERM_MARGIN): Likewise.
48372 (TERM_SCROLL_WIDTH): Likewise.
48373 (TERM_TOP_BORDER_Y): Likewise.
48374 (TERM_LEFT_BORDER_X): Likewise.
48375 (TERM_BORDER_WIDTH): Likewise.
48376 (TERM_MESSAGE_HEIGHT): Likewise.
48377 (TERM_BORDER_HEIGHT): Likewise.
48378 (TERM_NUM_ENTRIES): Likewise.
48379 (TERM_FIRST_ENTRY_Y): Likewise.
48380 (TERM_ENTRY_WIDTH): Likewise.
48381 (TERM_CURSOR_X): Likewise.
48382 (draw_border): Use macros instead of magic numbers.
48383 (print_entry): Likewise.
48384 (print_entries): Likewise.
48385 (run_menu): Likewise. Also, handle the key 'e'.
48386 (run_menu_entry): Ignore empty command lines.
48387 (print_message): Added a new argument EDIT. If EDIT is true,
48388 print a different message.
48389 (init_page): Likewise.
48390 (edit_menu_entry): New function. Not implemented yet.
48391
b47efe30 483922004-09-17 Marco Gerards <metgerards@student.han.nl>
48393
48394 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
48395 can be loaded from normal mode.
f19dbdb7 48396
b47efe30 48397 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
48398 `multiboot.mod'.
48399 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
48400 (multiboot_mod_CFLAGS): New variables.
48401 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 48402 * loader/i386/pc/multiboot_normal.c: Likewise.
48403
b47efe30 48404 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
48405 attribute `unused'.
f19dbdb7 48406
b47efe30 48407 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
48408 `fdiro' to read the mode information from instead of `diro'.
48409
48410 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
48411 looking up a symlink.
48412
48413 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
48414 macro.
48415 * normal/command.c (grub_command_execute): Don't parse the
48416 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
48417 flags of the command.
48418
48419 * normal/menu.c (grub_menu_run): Fix typo.
48420
da75ac71 484212004-09-14 Hollis Blanchard <hollis@penguinppc.org>
48422
48423 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
48424
48425 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
48426 `y + 1' instead of `y - 1'.
48427
48428 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 48429
062b24c2 484302004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
48431
48432 From Hollis Blanchard <hollis@penguinppc.org>:
48433 * kern/misc.c (memmove): New alias for grub_memmove.
48434 (memcmp): New alias for grub_memcmp.
48435 (memset): New alias for grub_memset.
f19dbdb7 48436 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 48437 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 48438 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 48439 (grub_ieee1275_get_property): Likewise.
f19dbdb7 48440
8ddad845 484412004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
48442
48443 Added normal mode command `chainloader' as module chain.mod, which
48444 depends on normal.mod and _chain.mod.
f19dbdb7 48445
8ddad845 48446 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
48447 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
48448 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
48449 Deleted prototype.
48450 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
48451 but arguments parsing moved to ...
48452 (grub_chainloader_cmd): ... here. New function.
48453 * include/grub/i386/pc/chainloader.h: New file.
48454 * loader/i386/pc/chainloader_normal.c: Likewise.
48455
2c1f4ce3 484562004-09-11 Marco Gerards <metgerards@student.han.nl>
48457
48458 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
48459 (grub_mkimage_LDFLAGS): Likewise.
48460 (grub_emu_SOURCES): Likewise.
48461 (kernel_img_HEADERS): Added fshelp.h.
48462 * fs/ext2.c: Include <grub/fshelp.h>.
48463 (FILETYPE_REG): New macro.
48464 (FILETYPE_INO_REG): Likewise.
48465 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
48466 Changed all users.
48467 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
48468 all users.
48469 (grub_fshelp_node): New struct.
48470 (grub_ext2_data): Added member `diropen'. Changed member `inode'
48471 to a pointer.
48472 (grub_ext2_get_file_block): Removed function.
48473 (grub_ext2_read_block): New function.
48474 (grub_ext2_read_file): Replaced parameter `data' by `node'.
48475 This function was written.
48476 (grub_ext2_mount): Read the root inode. Create a diropen struct.
48477 (grub_ext2_find_file): Removed function.
48478 (grub_ext2_read_symlink): New function.
48479 (grub_ext2_iterate_dir): Likewise.
48480 (grub_ext2_open): Rewritten.
48481 (grub_ext2_dir): Rewritten.
48482 * include/grub/fshelp.h: New file.
48483 * fs/fshelp.c: Likewise.
48484
3c52136a 484852004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
48486
48487 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
48488 (print_message): Add a missing newline.
48489 (run_menu): Added timeout support.
48490 (run_menu_entry): New local function.
48491 (grub_menu_run): Added support for booting.
48492
48493 * kern/loader.c (grub_loader_is_loaded): New function.
48494
48495 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
48496 (grub_get_rtc): Exported.
48497
48498 * include/grub/i386/pc/time.h: Include grub/symbol.h.
48499 (grub_get_rtc): Exported.
48500
48501 * include/grub/normal.h (struct grub_command_list): Remove
48502 constant from the member `command'.
48503
48504 * include/grub/loader.h (grub_loader_is_loaded): Declared.
48505
48506 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
48507
48508 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
48509
aa033560 485102004-08-28 Marco Gerards <metgerards@student.han.nl>
48511
48512 Add support for the JFS filesystem.
48513
48514 * fs/jfs.c: New file.
48515 * include/grub/fs.h (grub_jfs_init): New prototype.
48516 (grub_jfs_fini): New prototype.
48517 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
48518 (grub_emu_SOURCES): Likewise.
48519 (pkgdata_MODULES): Add jfs.mod.
48520 (jfs_mod_SOURCES): New variable.
48521 (jfs_mod_CFLAGS): Likewise.
48522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
48523 (grubof_SOURCES): Likewise.
48524 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
48525
48526 * fs/fat.c (grub_fat_find_dir): Convert the filename little
48527 endian to the host endian.
48528 (grub_fat_utf16_to_utf8): Move function from there...
48529 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 48530 the endianness of the source string anymore.
aa033560 48531 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
48532
94bc45af 485332004-08-24 Marco Gerards <metgerards@student.han.nl>
48534
48535 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
48536 (grub_boot_fini) [GRUB_UTIL]: Likewise.
48537 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
48538 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 48539
94bc45af 48540 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
48541 (grub_hfs_iterate_dir): Make the function static. Add prototypes
48542 for `node_found' and `it_dir'.
48543 (grub_hfs_dir): Add prototype for `dir_hook'.
48544
48545 * fs/minix.c (grub_minix_get_file_block): Add prototype for
48546 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
48547 and `indir32' to silence a gcc warning.
48548
48549 * include/grub/fs.h (grub_hfs_init): New prototype.
48550 (grub_hfs_fini): Likewise.
f19dbdb7 48551
48552
97543f08 485532004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
48554
48555 Each disk device has its own id now. This is useful to make use
48556 of multiple disk devices.
f19dbdb7 48557
97543f08 48558 * include/grub/disk.h (grub_disk_dev_id): New enum.
48559 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
48560 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
48561
48562 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
48563 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48564
48565 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
48566 GRUB_DISK_DEVICE_OFDISK_ID as an id.
48567
48568 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
48569 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
48570
48571 * include/grub/disk.h (struct grub_disk_dev): Added a new member
48572 "id" which is used by the cache manager.
48573
48574 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
48575 of just "GRUB".
48576
64372eb4 485772004-08-18 Marco Gerards <metgerards@student.han.nl>
48578
48579 * fs/hfs.c: New file.
48580 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
48581 (grub_emu_SOURCES): Likewise.
48582 (pkgdata_MODULES): Add hfs.mod.
48583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
48584 (grubof_SOURCES): Likewise.
48585 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
48586
48587 * include/grub/misc.h (grub_strncasecmp): Add prototype.
48588 * kern/misc.c (grub_strncasecmp): Add function.
48589
cc61b58f 485902004-08-14 Marco Gerards <metgerards@student.han.nl>
48591
48592 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
48593 with parentheses.
48594
48595 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
48596 (grub_ext2_dir): In case the directory entry type is unknown, read
48597 it from the inode.
48598
0ef123f6 485992004-08-02 Peter Bruin <pjbruin@dds.nl>
48600
48601 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
48602 grub_load_linux instead of grub_rescue_cmd_linux as second
48603 argument of grub_rescue_register_command.
48604
48605 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
48606
a447c5df 486072004-07-27 Marco Gerards <metgerards@student.han.nl>
48608
48609 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
48610 function.
48611 * commands/boot.c: Remove the check for `GRUB_UTIL'.
48612 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
48613 `loader/powerpc/ieee1275/linux.c',
48614 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
48615 * include/grub/powerpc/ieee1275/ieee1275.h
48616 (grub_ieee1275_release): New prototype.
48617 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
48618 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
48619 normal, boot, linux and linux_normal.
48620 * loader/powerpc/ieee1275/linux.c: New file.
48621 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
48622
5a9e3546 486232004-07-12 Marco Gerards <metgerards@student.han.nl>
48624
48625 * normal/arg.c (grub_arg_parse): Correct error handling after
48626 reallocating the argumentlist (check if `argl' is not null instead
48627 of checking if `args' is not null).
48628 * kern/mm.c (grub_realloc): Return the same pointer when using the
48629 same region, instead of returning the header address.
48630
e15199cb 486312004-07-11 Marco Gerards <metgerards@student.han.nl>
48632
48633 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
48634 one block instead of two when looking for the initial partition.
48635 (grub_partition_probe): Initialize the local variable `p' with 0.
48636 Use base 10 for the grub_strtoul call.
48637 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
48638 need for one local variable.
48639 (grub_strtoul): Don't add the new value to `num', instead of that
48640 just assign it.
48641
020616c2 486422004-07-11 Marco Gerards <metgerards@student.han.nl>
48643
48644 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
48645 (pxeboot_img_SOURCES): New variable.
48646 (pxeboot_img_ASFLAGS): Likewise.
48647 (pxeboot_img_LDFLAGS): Likewise.
48648 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
48649 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
48650 <lode_leroy@hotmail.com>.
48651
6c51eb64 486522004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48653
48654 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
48655 there was no input.
48656
cfb12aff 486572004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48658
48659 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
48660 the history buffer logic.
48661
6eabba74 486622004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
48663
48664 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
48665 (FILETYPE_INO_SYMLINK): New macros.
48666 (grub_ext2_find_file): Check if the node is a directory using the
48667 inode stat information instead of using the filetype in the
48668 dirent. Exclude the first character of an absolute symlink.
48669 (grub_ext2_dir): Mask out the filetype part of the mode member of
48670 the inode.
48671
66e19ef8 486722004-05-24 Marco Gerards <metgerards@student.han.nl>
48673
48674 Add support for UFS version 1 and 2. Add support for the minix
48675 filesystem version 1 and 2, both the variants with 14 and 30 long
48676 filenames.
f19dbdb7 48677
66e19ef8 48678 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
48679 fs/minix.c.
48680 (grub_emu_SOURCES): Likewise.
48681 (pkgdata_MODULES): Add ufs.mod and minix.mod.
48682 (ufs_mod_SOURCES): New variable.
48683 (ufs_mod_CFLAGS): Likewise.
48684 (minix_mod_SOURCES): Likewise.
48685 (minix_mod_CFLAGS): Likewise.
48686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
48687 fs/minix.c.
48688 (grubof_SOURCES): Likewise.
48689 * fs/ufs.c: New file.
48690 * fs/minix.c: New file.
48691 * include/grub/fs.h (grub_ufs_init): New prototype.
48692 (grub_ufs_fini): Likewise.
48693 (grub_minix_init): Likewise.
48694 (grub_minix_fini): Likewise.
48695 * util/grub-emu.c (main): Initialize and deinitialize UFS and
48696 minix fs.
48697
cc2e748a 486982004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
48699
48700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
48701 commands/ls.c, commands/terminal.c, commands/boot.c,
48702 commands/cmp.c and commands/cat.c.
48703 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
48704
48705 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
48706 "env.h"
48707
4b13b216 487082004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48709
48710 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
48711 and grub_, respectively. Because the conversion is trivial and
48712 mechanical, I omit the details here. Please refer to the CVS
48713 if you need more information.
48714
6a142551 487152004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
48716
48717 * include/pupa: Renamed to ...
48718 * include/grub: ... this.
48719 * util/i386/pc/pupa-mkimage.c: Renamed to ...
48720 * util/i386/pc/grub-mkimage.c: ... this.
48721 * util/i386/pc/pupa-setup.c: Renamed to ...
48722 * util/i386/pc/grub-setup.c: ... this.
48723 * util/pupa-emu.c: Renamed to ...
48724 * util/grub-emu.c: ... this.
48725
e56cdf21 487262004-03-29 Marco Gerards <metgerards@student.han.nl>
48727
48728 Add support for the newworld apple macintosh (PPC). This has been
48729 tested on the powerbook 2000 only. It only adds support for
48730 generic ieee1275 functions, console and disk support. This should
48731 be easy to port to other architectures with support for Open
48732 Firmware.
f19dbdb7 48733
e56cdf21 48734 * configure.ac: Accept the powerpc as host_cpu. In the case of
48735 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
48736 specific tests are only executed while building for the i386.
48737 Inverse test for crosscompile.
48738 * genmk.rb (Utility): Allow assembler files.
48739 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
48740 * conf/powerpc-ieee1275.rmk: New file.
48741 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
48742 * disk/powerpc/ieee1275/partition.c: Likewise.
48743 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
48744 * include/pupa/powerpc/ieee1275/console.h: Likewise.
48745 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
48746 * include/pupa/powerpc/ieee1275/time.h: Likewise.
48747 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
48748 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
48749 * include/pupa/powerpc/ieee1275/loader.h
48750 * include/pupa/powerpc/setjmp.h: Likewise.
48751 * include/pupa/powerpc/types.h: Likewise.
48752 * kern/powerpc/ieee1275/init.c: Likewise.
48753 * kern/powerpc/ieee1275/openfw.c: Likewise.
48754 * term/powerpc/ieee1275/ofconsole.c: Likewise.
48755
48756 These files were written by Johan Rydberg
48757 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 48758
e56cdf21 48759 * boot/powerpc/ieee1275/cmain.c: New file.
48760 * boot/powerpc/ieee1275/crt0.S: Likewise.
48761 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
48762 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
48763
8c8cc205 487642004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
48765
48766 * Makefile.in: Update copyright.
48767 * genmodsrc.sh: Likewise.
48768 * gensymlist.sh: Likewise.
48769 * term/i386/pc/vga.c: Indent correctly.
48770
48771 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
48772 bugreporting address.
48773 * util/i386/pc/pupa-setup.c (usage): Likewise,
48774 (main): Call pupa_ext2_init and pupa_ext2_fini.
48775
f19dbdb7 48776 * fs/fat.c (log2): Renamed to ...
8c8cc205 48777 (fat_log2): ... this.
48778 All callers changed.
48779 * kern/misc.c (memcpy): Alias to pupa_memmove.
48780 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
48781 lvalue cast.
48782 * util/console.c (pupa_ncurses_fini): Return 0.
48783
48784 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
48785 Move fail label here.
48786 [__GNU__]: Don't warn when using stat.
48787 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
48788 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
48789 long int. Use strtol instead of strtoul.
f19dbdb7 48790
db1771cf 487912004-03-14 Marco Gerards <metgerards@student.han.nl>
48792
48793 * commands/boot.c: New file.
48794 * commands/cat.c: Likewise.
48795 * commands/cmp.c: Likewise.
48796 * commands/ls.c: Likewise.
48797 * commands/terminal.c: Likewise.
48798 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
48799 (pupa_register_command): Changed interface to match the new
48800 argument parser.
48801 (pupa_command_execute): Changed (almost rewritten) so it uses
48802 pupa_split_command. Added support for setting variables using the
48803 syntax `foo=bar'.
48804 (rescue_command): Changed to work with the new argument parser.
48805 (terminal_command): Moved from here to commands/terminal.c.
48806 (set_command): New function.
48807 (unset_command): New function.
48808 (insmod_command): New function.
48809 (rmmod_command): New function.
48810 (lsmod_command): New function.
48811 (pupa_command_init): Don't initialize the command terminal
48812 anymore. Initialize the commands set, unset, insmod, rmmod and
48813 lsmod.
48814 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
48815 (kernel_img_HEADERS): Add arg.h and env.h.
48816 (pupa_mkimage_LDFLAGS): Add kern/env.c.
48817 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
48818 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
48819 normal/arg.c.
48820 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
48821 terminal.mod.
48822 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
48823 (boot_mod_SOURCES): New variable.
48824 (terminal_mod_SOURCES): Likewise.
48825 (ls_mod_SOURCES): Likewise.
48826 (cmp_mod_SOURCES): Likewise.
48827 (cat_mod_SOURCES): Likewise.
48828
48829 * normal/arg.c: New file.
48830 * kern/env.c: Likewise.
48831 * include/pupa/arg.h: Likewise.
48832 * include/pupa/env.h: Likewise.
48833 * font/manager.c (font_command): Changed to match argument parsing
48834 interface changes.
48835 (PUPA_MOD_INIT): Likewise.
48836 * hello/hello.c (pupa_cmd_hello): Likewise.
48837 (PUPA_MOD_INIT): Likewise.
48838 * include/pupa/disk.h: Include <pupa/device.h>.
48839 (pupa_print_partinfo): New prototype.
48840 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
48841 (pupa_dl_get_prefix): Likewise.
48842 * include/pupa/misc.h: Include <pupa/err.h>.
48843 (pupa_isgraph): New prototype.
48844 (pupa_isdigit): Likewise.
48845 (pupa_split_cmdline): Likewise.
48846 * include/pupa/normal.h: Include <pupa/arg.h>.
48847 (pupa_command): Changed the prototype of the member `func' to
48848 match the argument parsing interface. Added member `options'.
48849 (pupa_register_command): Updated to match function.
48850 (pupa_arg_parse): New prototype.
48851 (pupa_hello_init) [PUPA_UTIL]: New prototype.
48852 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
48853 (pupa_ls_init) [PUPA_UTIL]: Likewise.
48854 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
48855 (pupa_cat_init) [PUPA_UTIL]: Likewise.
48856 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
48857 (pupa_boot_init) [PUPA_UTIL]: Likewise.
48858 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
48859 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
48860 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
48861 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
48862 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
48863 * kern/disk.c: Include <pupa/file.h>.
48864 (pupa_print_partinfo): New function.
48865 * kern/dl.c: Include <pupa/env.h>.
48866 (pupa_dl_dir): Variable removed.
48867 (pupa_dl_load): Use the environment variable `prefix' instead of
48868 the variable pupa_dl_dir.
48869 (pupa_dl_set_prefix): Function removed.
48870 (pupa_dl_get_prefix): Likewise.
48871 * kern/i386/pc/init.c: Include <pupa/env.h>.
48872 (pupa_machine_init): Use the environment variable `prefix' instead of
48873 using pupa_dl_set_prefix to set the prefix.
48874 * kern/main.c: Include <pupa/env.h>.
48875 (pupa_set_root_dev): Use the environment variable `prefix' instead of
48876 using pupa_dl_get_prefix to get the prefix.
48877 * kern/misc.c: Include <pupa/env.h>.
48878 (pupa_isdigit): New function.
48879 (pupa_isgraph): Likewise.
48880 (pupa_ftoa): Likewise.
48881 (pupa_vsprintf): Added support for printing values of the type
48882 `double'. Make it possible to format variable output when using
48883 formatting like `%1.2%f'.
48884 (pupa_split_cmdline): New function.
48885 * kern/rescue.c: Include <pupa/env.h>.
48886 (next_word): Removed function.
48887 (pupa_rescue_cmd_prefix): Likewise.
48888 (pupa_rescue_cmd_set): New function.
48889 (pupa_rescue_cmd_unset): New function.
48890 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
48891 split the command line instead of splitting it here. Added
48892 support for setting variables using the syntax `foo=bar'. Don't
48893 initialize the prefix command anymore. Initialized the set and
48894 unset commands.
48895 * normal/cmdline.c: Include <pupa/env.h>.
48896 (pupa_tab_complete): Added prototypes for print_simple_completion,
48897 print_partition_completion, add_completion, iterate_commands,
48898 iterate_dev, iterate_part and iterate_dir. Moved code to print
48899 partition information from here to kern/disk.c.
fe6b695a 48900 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 48901 * normal/main.c: Include <pupa/env.h>.
48902 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
48903 instead of using pupa_dl_get_prefix to get the prefix.
48904 * term/i386/pc/vga.c: Include <pupa/arg.h>.
48905 (check_vga_mem): Cast pointers to `void *' to silence a gcc
48906 warning.
48907 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
48908 (pupa_vga_setcolor): Declare unused variables with `__attribute__
48909 ((unused))' to silence a gcc warning.
48910 (pupa_vga_setcolor): Likewise.
48911 (debug_command): Changed to match argument parsing
48912 interface changes.
48913 * util/pupa-emu.c: Include <pupa/env.h>.
48914 (options): Added 0's for unused fields to silence a gcc warning.
48915 (argp): Likewise.
48916 (main): Use the environment variable `prefix' instead of using
48917 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
48918 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
48919 and terminal.
48920
48921 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
48922 * util/misc.c: Include <malloc.h>.
48923 (pupa_malloc): Rewritten so errors are correctly reported.
48924 (pupa_realloc): Likewise.
48925 (pupa_memalign): Likewise.
48926 (pupa_mm_init_region): Declare unused variables with
48927 `__attribute__ ((unused))' to silence a gcc warning.
48928 * normal/i386/setjmp.S: Remove tab at the end of the file to
48929 silence a gcc warning.
48930 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
48931 variables with `__attribute__ ((unused))' to silence a gcc
48932 warning.
48933 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
48934 local variable i unsigned to silence a gcc warning.
48935
48936 * kern/term.c: Include <pupa/misc.h>.
48937 (pupa_more_lines): New variable.
48938 (pupa_more): Likewise.
48939 (pupa_putcode): When the pager is active pause at the end of every
48940 screen.
48941 (pupa_set_more): New function.
48942 * include/pupa/term.h (pupa_set_more): New prototype.
48943
48944
3b1139cb 489452004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
48946
48947 Now this project is GRUB 2 rather than PUPA. The location of
48948 the CVS repository was moved to GRUB's.
f19dbdb7 48949
3b1139cb 48950 * configure.ac: Use bug-grub as the reporting address.
48951 Use GRUB instead of PUPA.
48952 Change the version number to 1.90.
48953
8367695c 489542004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
48955
48956 * genkernsyms.sh: Updated copyright information.
48957 * genmk.rb: Likewise.
48958 * genmodsrc.sh: Likewise.
48959 * gensymlist.sh: Likewise.
48960 * boot/i386/pc/boot.S: Likewise.
48961 * boot/i386/pc/diskboot.S: Likewise.
48962 * disk/i386/pc/biosdisk.c: Likewise.
48963 * disk/i386/pc/partition.c: Likewise.
48964 * font/manager.c: Likewise.
48965 * fs/ext2.c: Likewise.
48966 * fs/fat.c: Likewise.
48967 * include/pupa/boot.h: Likewise.
48968 * include/pupa/device.h: Likewise.
48969 * include/pupa/disk.h: Likewise.
48970 * include/pupa/dl.h: Likewise.
48971 * include/pupa/elf.h: Likewise.
48972 * include/pupa/err.h: Likewise.
48973 * include/pupa/file.h: Likewise.
48974 * include/pupa/font.h: Likewise.
48975 * include/pupa/fs.h: Likewise.
48976 * include/pupa/kernel.h: Likewise.
48977 * include/pupa/loader.h: Likewise.
48978 * include/pupa/misc.h: Likewise.
48979 * include/pupa/mm.h: Likewise.
48980 * include/pupa/net.h: Likewise.
48981 * include/pupa/normal.h: Likewise.
48982 * include/pupa/rescue.h: Likewise.
48983 * include/pupa/setjmp.h: Likewise.
48984 * include/pupa/symbol.h: Likewise.
48985 * include/pupa/term.h: Likewise.
48986 * include/pupa/types.h: Likewise.
48987 * include/pupa/i386/setjmp.h: Likewise.
48988 * include/pupa/i386/types.h: Likewise.
48989 * include/pupa/i386/pc/biosdisk.h: Likewise.
48990 * include/pupa/i386/pc/boot.h: Likewise.
48991 * include/pupa/i386/pc/console.h: Likewise.
48992 * include/pupa/i386/pc/init.h: Likewise.
48993 * include/pupa/i386/pc/kernel.h: Likewise.
48994 * include/pupa/i386/pc/linux.h: Likewise.
48995 * include/pupa/i386/pc/loader.h: Likewise.
48996 * include/pupa/i386/pc/memory.h: Likewise.
48997 * include/pupa/i386/pc/multiboot.h: Likewise.
48998 * include/pupa/i386/pc/partition.h: Likewise.
48999 * include/pupa/i386/pc/time.h: Likewise.
49000 * include/pupa/i386/pc/vga.h: Likewise.
49001 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
49002 * include/pupa/util/getroot.h: Likewise.
49003 * include/pupa/util/misc.h: Likewise.
49004 * include/pupa/util/resolve.h: Likewise.
49005 * kern/device.c: Likewise.
49006 * kern/disk.c: Likewise.
49007 * kern/dl.c: Likewise.
49008 * kern/err.c: Likewise.
49009 * kern/file.c: Likewise.
49010 * kern/fs.c: Likewise.
49011 * kern/loader.c: Likewise.
49012 * kern/main.c: Likewise.
49013 * kern/misc.c: Likewise.
49014 * kern/mm.c: Likewise.
49015 * kern/rescue.c: Likewise.
49016 * kern/term.c: Likewise.
49017 * kern/i386/dl.c: Likewise.
49018 * kern/i386/pc/init.c: Likewise.
49019 * kern/i386/pc/lzo1x.S: Likewise.
49020 * kern/i386/pc/startup.S: Likewise.
49021 * loader/i386/pc/chainloader.c: Likewise.
49022 * loader/i386/pc/linux.c: Likewise.
49023 * loader/i386/pc/multiboot.c: Likewise.
49024 * normal/cmdline.c: Likewise.
49025 * normal/command.c: Likewise.
49026 * normal/main.c: Likewise.
49027 * normal/menu.c: Likewise.
49028 * normal/i386/setjmp.S: Likewise.
49029 * term/i386/pc/console.c: Likewise.
49030 * term/i386/pc/vga.c: Likewise.
49031 * util/console.c: Likewise.
49032 * util/genmoddep.c: Likewise.
49033 * util/misc.c: Likewise.
49034 * util/pupa-emu.c: Likewise.
49035 * util/resolve.c: Likewise.
49036 * util/unifont2pff.rb: Likewise.
49037 * util/i386/pc/biosdisk.c: Likewise.
49038 * util/i386/pc/getroot.c: Likewise.
49039 * util/i386/pc/pupa-mkimage.c: Likewise.
49040 * util/i386/pc/pupa-setup.c: Likewise.
49041
e6eced71 490422004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
49043
49044 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
49045 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
49046 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
49047 reading and reset it after reading.
49048 (pupa_ext2_close): Return PUPA_ERR_NONE.
49049
49050 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
49051 Correct value.
49052 (struct linux_kernel_header): Add kernel_version and
49053 initrd_addr_max.
49054 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
49055 pupa_file_read succeeds.
49056 (pupa_rescue_cmd_initrd): Implement.
49057
5aded270 490582003-12-03 Marco Gerards <metgerards@student.han.nl>
49059
49060 * fs/ext2.c (pupa_ext2_label): New function.
49061 (pupa_ext2_fs): Added label.
49062 * fs/fat.c (pupa_fat_label): New function.
49063 (pupa_fat_fs): Added label.
49064 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
49065
49066 * kern/misc.c (pupa_strndup): New function.
49067 * include/pupa/misc.h (pupa_strndup): New prototype.
49068
49069 * include/pupa/normal.h: Include <pupa/err.h>.
49070 (pupa_set_history): New prototype.
49071 (pupa_iterate_commands): New prototype.
49072 * normal/cmdline.c: Include <pupa/machine/partition.h>,
49073 <pupa/disk.h>, <pupa/file.h>.
49074 (hist_size): New variable.
49075 (hist_lines): Likewise.
49076 (hist_end): Likewise.
49077 (hist_used): Likewise.
49078 (pupa_set_history): New function.
49079 (pupa_history_get): Likewise.
49080 (pupa_history_add): Likewise.
49081 (pupa_history_replace): Likewise.
49082 (pupa_tab_complete): Likewise.
49083 (pupa_cmdline_run): Added tab completion and history buffer. Tab
49084 completion shows partitionnames while completing partitions, this
49085 feature was suggested by Jeff Bailey.
49086 * normal/command.c (pupa_iterate_commands): New function.
49087 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
49088 (pupa_normal_init): Initialize history buffer.
49089 (PUPA_MOD_INIT): Likewise.
49090 (pupa_normal_fini): Free the history buffer.
49091 (PUPA_MOD_FINI): Likewise.
49092
49093 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
49094 key.
49095
49096 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
49097 * configure.ac [i386]: Check for regparam bug.
49098 (NESTED_FUNC_ATTR) [! i386]: Defined.
49099
1f7315a3 491002003-11-17 Marco Gerards <metgerards@student.han.nl>
49101
49102 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
49103 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
49104 (pupa_emu_SOURCES): New variable.
49105 (pupa_emu_LDFLAGS): Likewise.
49106 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
49107 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
49108 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
49109 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49110 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
49111 (pupa_jmp_buf): New typedef.
49112 (pupa_setjmp) [PUPA_UTIL]: New macro.
49113 (pupa_longjmp) [PUPA_UTIL]: Likewise.
49114 * include/pupa/term.h (struct pupa_term): New member `refresh'.
49115 (pupa_refresh): New prototype.
49116 * include/pupa/util/getroot.h: New file.
49117 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
49118 it.
49119 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
49120 (pupa_rescue_cmd_cat): Likewise.
49121 (pupa_rescue_cmd_ls): Likewise.
49122 (pupa_rescue_cmd_testload): Likewise.
49123 (pupa_rescue_cmd_lsmod): Likewise.
49124 * normal/cmdline.c (pupa_cmdline_get): Likewise.
49125 * normal/menu.c (run_menu): Likewise.
49126 * kern/term.c (pupa_cls): Likewise.
49127 (pupa_refresh): New function.
49128 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
49129 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
49130 * util/console.c: New file.
f19dbdb7 49131
1f7315a3 49132 * util/i386/pc/getroot.c: New file.
49133 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
49134 (pupa_putchar): New function.
49135 (pupa_refresh): Likewise.
49136 (xgetcwd): Function moved to ...
49137 (strip_extra_slashes): Likewise.
49138 (get_prefix): Likewise.
f19dbdb7 49139 * util/i386/pc/getroot.c: ... here.
1f7315a3 49140 (find_root_device): Function moved and renamed to...
49141 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
49142 Changed all callers.
49143 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
49144 and renamed to...
49145 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
49146 Changed all callers.
49147 * util/misc.c (pupa_memalign): New function.
49148 (pupa_mm_init_region): Likewise.
49149 (pupa_register_exported_symbols): Likewise.
49150 (pupa_putchar): Function removed.
49151 * util/pupa-emu.c: New file.
49152
9a5c1ade 491532003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
49154
49155 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
49156 (_multiboot_mod_SOURCES): New variable.
49157 (_multiboot_mod_CFLAGS): Likewise.
49158 * loader/i386/pc/multiboot.c: New file.
49159 * include/pupa/i386/pc/multiboot.h: Likewise.
49160 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
49161 (pupa_multiboot_real_boot): New function.
49162 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
49163 (pupa_multiboot_real_boot): New prototype.
49164 (pupa_rescue_cmd_multiboot): Likewise
49165 (pupa_rescue_cmd_module): Likewise.
49166
49167 * kern/loader.c (pupa_loader_set): Continue when
49168 pupa_loader_unload_func() fails.
49169 (pupa_loader_unset): New function.
49170 * include/pupa/loader.h (pupa_loader_unset): New prototype.
49171
49172 * kern/misc.c (pupa_stpcpy): New function.
49173 * include/pupa/misc.h (pupa_stpcpy): New prototype.
49174
8e72a9c0 491752003-11-12 Marco Gerards <metgerards@student.han.nl>
49176
49177 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
49178 for available extensions.
49179
49180 * include/pupa/i386/pc/time.h: New file.
49181 * kern/disk.c: Include <pupa/machine/time.h>.
49182 (PUPA_CACHE_TIMEOUT): New macro.
49183 (pupa_last_time): New variable.
49184 (pupa_disk_open): Flush the cache when there was a timeout.
49185 (pupa_disk_close): Reset the timer.
49186 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
49187 pupa_currticks.
49188 * util/misc.c: Include <sys/times.h>
49189 (pupa_get_rtc): New function.
49190
c4adbd32 491912003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
49192
49193 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
49194 as blocks.
49195 (pupa_ext2_get_file_block): Use blocks member.
49196
49197 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
49198 first block. Return -1 instead of pupa_errno on error.
49199
bfd30f06 492002003-10-27 Marco Gerards <metgerards@student.han.nl>
49201
49202 * README: In the pupa-mkimage example use _chain instead of chain
49203 and ext2 instead of fat.
49204 * TODO: Replace ext2fs with jfs as an example. Add an item for
49205 adding journal playback for ext2fs.
49206 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
49207 (pkgdata_MODULES): Added ext2.mod.
49208 (ext2_mod_SOURCES): New variable.
49209 (ext2_mod_CFLAGS): Likewise.
49210 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
49211 * include/pupa/misc.h (pupa_strncpy): New prototype.
49212 (pupa_strcat): Likewise.
49213 (pupa_strncmp): Likewise.
49214 * kern/misc.c (pupa_strcat): Enable function.
49215 (pupa_strncpy): New function.
49216 (pupa_strncmp): Likewise.
49217 * fs/ext2.c: New file.
f19dbdb7 49218
bfd30f06 49219 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
49220 when the read failed before retrying.
49221 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
49222 (_FILE_OFFSET_BITS): Likewise.
49223 * configure.ac: Added AC_SYS_LARGEFILE.
49224
98d15063 492252003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49226
49227 * genmk.rb (PModule#rule): Make sure to get only symbol names
49228 from the output of nm.
59cad637 49229 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 49230
18d9c7cd 492312003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
49232
49233 I forgot to check in these changes for a long time. This adds
49234 incomplete support for VGA console, and this is still very
49235 buggy. Also, a lot of consideration is required for I18N,
49236 UNICODE, and VGA font issues. Therefore, assume that this is
49237 such that "better than nothing".
f19dbdb7 49238
18d9c7cd 49239 * font/manager.c: New file.
49240 * include/pupa/font.h: Likewise.
49241 * include/pupa/i386/pc/vga.h: Likewise.
49242 * term/i386/pc/vga.c: Likewise.
49243 * util/unifont2pff.rb: Likewise.
49244
49245 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
49246 (pkgdata_MODULES): Added vga.mod and font.mod.
49247 (vga_mod_SOURCES): New variables.
49248 (vga_mod_CFLAGS): Likewise.
49249 (font_mod_SOURCES): Likewise.
49250 (font_mod_CFLAGS): Likewise.
49251
49252 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
49253
49254 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 49255 (struct pupa_term): Added init and fini.
18d9c7cd 49256 Changed the argument of putchar to pupa_uint32_t.
49257
49258 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
49259 (pupa_console_real_putchar): New prototype.
49260 (pupa_console_putchar): Removed.
49261 (pupa_console_checkkey): Exported.
49262 (pupa_console_getkey): Likewise.
49263
49264 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
49265 characters.
49266
49267 * kern/term.c (pupa_term_set_current): Rewritten.
49268 (pupa_putchar): Likewise.
49269 (pupa_putcode): New function.
49270
49271 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
49272 (pupa_console_real_putchar): ... this.
49273 (pupa_vga_set_mode): New function.
49274 (pupa_vga_get_font): Likewise.
49275
49276 * normal/command.c: Include pupa/term.h.
49277 (terminal_command): New function.
49278 (pupa_command_init): Register the command "terminal".
49279
49280 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
49281 (DISP_UP): Likewise.
49282 (DISP_RIGHT): Likewise.
49283 (DISP_DOWN): Likewise.
49284 (DISP_HLINE): Likewise.
49285 (DISP_VLINE): Likewise.
49286 (DISP_UL): Likewise.
49287 (DISP_UR): Likewise.
49288 (DISP_LL): Likewise.
49289 (DISP_LR): Likewise.
49290
49291 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 49292
977329f5 492932003-02-08 NIIBE Yutaka <gniibe@m17n.org>
49294
49295 * util/resolve.c (pupa_util_resolve_dependencies): BUG
49296 FIX. Reverse the path_list.
49297
49298 * include/pupa/normal.h: Export pupa_register_command and
49299 pupa_unregister_command.
49300
49301 * hello/hello.c (pupa_cmd_hello): New module.
49302 * conf/i386-pc.rmk: Added hello.mod.
49303
1f5ab428 493042003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
49305
49306 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 49307
1f5ab428 49308 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
49309 (compress_kernel): New variable.
49310 (generate_image): Heavily modified to support compressing a
49311 large part of the core image.
49312
49313 * util/misc.c (pupa_util_read_image): Fix a file descriptor
49314 leak.
49315 (pupa_util_load_image): New function.
49316
49317 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
49318 (pupa_compressed_size): New variable.
49319 (codestart): Enable Gate A20 here.
49320 Decompress the compressed part of the core image.
49321 Rearrange the code to put functions and variables which are
49322 required for initialization in the non-compressed part.
49323 Include lzo1x.S.
49324
49325 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
49326 here.
49327
49328 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
49329
f19dbdb7 49330 * include/pupa/i386/pc/kernel.h
1f5ab428 49331 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
49332 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
49333 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49334 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49335 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
49336
49337 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
49338
49339 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
49340 (Utility#rule): Likewise.
49341
49342 * configure.ac: Check if LZO is available.
49343
ce5bf700 493442003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
49345
49346 * include/pupa/normal.h: New file.
49347 * include/pupa/setjmp.h: Likewise.
49348 * include/pupa/i386/setjmp.h: Likewise.
49349 * normal/cmdline.c: Likewise.
49350 * normal/command.c: Likewise.
49351 * normal/main.c: Likewise.
49352 * normal/menu.c: Likewise.
49353 * normal/i386/setjmp.S: Likewise.
f19dbdb7 49354
ce5bf700 49355 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
49356 (pupa_rescue_cmd_initrd): Likewise.
49357
49358 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
49359 Likewise.
49360
49361 * kern/i386/pc/startup.S (translation_table): New variable.
49362 (translate_keycode): New function.
49363 (pupa_console_getkey): Call translate_keycode.
49364
49365 * kern/rescue.c (attempt_normal_mode): New function.
49366 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
49367 it failed, print a message.
49368
49369 * kern/mm.c (pupa_real_malloc): Print more information when a
49370 free magic is broken.
49371 (pupa_free): If the first free header is not free actually, set
49372 it to P.
49373
49374 * kern/main.c (pupa_load_normal_mode): Just load the module
49375 "normal".
49376 (pupa_main): Don't print the message
49377 "Entering into rescue mode..." here.
49378
49379 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
49380 Declared.
49381 (pupa_rescue_cmd_initrd): Likewise.
49382 (pupa_rescue_cmd_initrd): Likewise.
49383
49384 * include/pupa/symbol.h (FUNCTION): Specify the type.
49385 (VARIABLE): Likewise.
49386
49387 * include/pupa/err.h (pupa_err_t): Added
49388 PUPA_ERR_UNKNOWN_COMMAND.
49389
49390 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
49391 (pupa_dl_get_prefix): Likewise.
49392
49393 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
49394 Added _chain.mod and _linux.mod instead of chain.mod and
49395 linux.mod.
49396 (chain_mod_SOURCES): Renamed to ...
49397 (_chain_mod_SOURCES): ... this.
49398 (chain_mod_CFLAGS): Renamed to ...
49399 (_chain_mod_CFLAGS): ... this.
49400 (linux_mod_SOURCES): Renamed to ...
49401 (_linux_mod_SOURCES): ... this.
49402 (linux_mod_CFLAGS): Renamed to ...
49403 (_linux_mod_CFLAGS): ... this.
49404 (normal_mod_SOURCES): New variable.
49405 (normal_mod_CFLAGS): Likewise.
49406 (normal_mod_ASFLAGS): Likewise.
49407
494082003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
49409
49410 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
49411 possible.
49412
fe6b695a 49413 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 49414 recursively.
49415 (pupa_dl_unref): Unrefer depending modules recursively.
49416 Don't call pupa_dl_unload implicitly, because PUPA can crash if
49417 a module is unloaded before one depending on that module is
49418 unloaded.
49419 (pupa_dl_unload): Unload depending modules explicitly,
49420 if possible.
49421
c04da074 494222003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
49423
49424 * include/pupa/i386/pc/linux.h: New file.
49425 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 49426
c04da074 49427 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
49428 Removed.
49429 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
49430 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
49431 of PUPA_CHAINLOADER_BOOT_SECTOR.
49432
49433 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
49434 (pupa_linux_prot_size): New variable.
49435 (pupa_linux_tmp_addr): Likewise.
49436 (pupa_linux_real_addr): Likewise.
49437 (pupa_linux_boot_zimage): New function.
49438 (pupa_linux_boot_bzimage): Likewise.
49439
49440 * kern/i386/pc/init.c (struct mem_region): New structure.
49441 (MAX_REGIONS): New macro.
49442 (mem_regions): New variable.
49443 (num_regions): Likewise.
49444 (pupa_os_area_addr): Likewise.
49445 (pupa_os_area_size): Likewise.
49446 (pupa_lower_mem): Likewise.
49447 (pupa_upper_mem): Likewise.
49448 (add_mem_region): New function.
49449 (compact_mem_regions): Likewise.
49450 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
49451 the size of the conventional memory and that of so-called upper
49452 memory (before the first memory hole).
49453 Instead of adding each found region to free memory, use
49454 add_mem_region and add them after removing overlaps.
49455 Also, add only 1/4 of the upper memory to free memory. The rest
49456 is used for loading OS images. Maybe this is ad hoc, but this
49457 makes it much easier to relocate OS images when booting.
49458
49459 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
49460 (pupa_enter_rescue_mode): Don't register initrd and module.
49461
49462 * kern/mm.c: Include pupa/dl.h.
49463
49464 * kern/main.c: Include pupa/file.h and pupa/device.h.
49465
49466 * kern/loader.c (pupa_loader_load_module_func): Removed.
49467 (pupa_loader_load_module): Likewise.
49468
49469 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
49470 ``.o''.
49471
49472 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
49473 (pupa_linux_tmp_addr): Likewise.
49474 (pupa_linux_real_addr): Likewise.
49475 (pupa_linux_boot_zimage): Likewise.
49476 (pupa_linux_boot_bzimage): Likewise.
49477
49478 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
49479 (pupa_upper_mem): Likewise.
49480 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
49481 module is too dangerous.
49482
49483 * include/pupa/loader.h (pupa_os_area_addr): Declared.
49484 (pupa_os_area_size): Likewise.
49485 (pupa_loader_set): Remove the first argument. Loader doesn't
49486 manage modules or initrd any longer.
49487 (pupa_loader_load_module): Removed.
49488
49489 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
49490 (linux_mod_SOURCES): New variable.
49491 (linux_mod_CFLAGS): Likewise.
49492
a13f9237 494932003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
49494
49495 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
49496 the length of a blocklist correctly.
49497
49498 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
49499 Use ioctl only if the OS file is a block device.
49500 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
49501 not very useful for normal files.
49502
49503 * kern/main.c (pupa_set_root_dev): New function.
49504 (pupa_load_normal_mode): Likewise.
49505 (pupa_main): Call those above.
49506
49507 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
49508 pupa_uint16_t.
49509
49510 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
49511
a5ffe966 495122003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
49513
49514 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
49515 (setup): Configure the installed partition information and the
49516 dl prefix.
49517
49518 * loader/i386/pc/chainloader.c (my_mod): New variable.
49519 (pupa_chainloader_unload): New function.
49520 (pupa_rescue_cmd_chainloader): Refer itself.
49521 (PUPA_MOD_INIT): Save its own module in MY_MOD.
49522
49523 * kern/i386/pc/startup.S (install_partition): Removed.
49524 (version_string): Likewise.
49525 (config_file): Likewise.
49526 (pupa_install_dos_part): New variable.
49527 (pupa_install_bsd_part): Likewise.
49528 (pupa_prefix): Likewise.
49529 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
49530
49531 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
49532 and pupa/misc.h.
49533 (make_install_device): New function.
49534 (pupa_machine_init): Set the dl prefix.
49535
49536 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
49537 (buf): Renamed to ...
49538 (linebuf): ... this.
49539 (pupa_rescue_cmd_prefix): New function.
49540 (pupa_rescue_cmd_insmod): Likewise.
49541 (pupa_rescue_cmd_rmmod): Likewise.
49542 (pupa_rescue_cmd_lsmod): Likewise.
49543 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
49544 rmmod and lsmod.
49545
49546 * kern/mm.c (pupa_memalign): If failed even after invalidating
49547 disk caches, unload unneeded modules and retry.
49548
49549 * kern/misc.c (pupa_memmove): New function.
49550 (pupa_memcpy): Removed.
49551 (pupa_strcpy): New function.
49552 (pupa_itoa): Made static.
49553
49554 * kern/dl.c (pupa_dl_iterate): New function.
49555 (pupa_dl_ref): Likewise.
49556 (pupa_dl_unref): Likewise.
49557 (pupa_dl_unload): Return if succeeded or not.
49558 (pupa_dl_unload_unneeded): New function.
49559 (pupa_dl_unload_all): Likewise.
49560 (pupa_dl_init): Renamed to ...
49561 (pupa_dl_set_prefix): ... this.
49562 (pupa_dl_get_prefix): New function.
49563
49564 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
49565 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
49566 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
49567 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
49568 (pupa_install_dos_part): Declared.
49569 (pupa_install_bsd_part): Likewise.
49570 (pupa_prefix): Likewise.
49571 (pupa_boot_drive): Likewise.
49572
49573 * include/pupa/types.h: Fix a typo.
49574
49575 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
49576 pupa_memmove.
49577 (pupa_memmove): Declared.
49578 (pupa_strcpy): Likewise.
49579
49580 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
49581 pupa_mod_init takes one argument, its own module.
49582 (pupa_dl_unload_unneeded): Declared.
49583 (pupa_dl_unload_all): Likewise.
49584 (pupa_dl_ref): Likewise.
49585 (pupa_dl_unref): Likewise.
49586 (pupa_dl_iterate): Likewise.
49587 (pupa_dl_init): Renamed to ...
49588 (pupa_dl_set_prefix): ... this.
49589 (pupa_dl_get_prefix): Declared.
49590
49591 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 49592 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 49593 unloaded.
49594 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
49595 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
49596
49597 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
49598 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
49599
012d7999 496002003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49601
49602 * util/i386/pc/pupa-setup.c (setup): Define the internal
49603 function find_first_partition_start at the top level, because GCC
49604 3.0.x cannot compile internal functions in deeper scopes
49605 correctly.
49606 (find_root_device): Use lstat instead of stat.
49607 Don't follow symbolic links.
49608 Fix the path-constructing code.
49609
49610 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
49611 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
49612 by a BLKGETSIZE ioctl first, because block devices don't fill
49613 the member st_mode of the structure stat on Linux.
49614 [__linux__] (linux_find_partition): Use a temporary buffer
49615 REAL_DEV for the working space. Copy it to DEV before returning.
49616 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
49617 buffer cache consistent.
49618 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
49619 strncmp. The previous value was merely wrong.
49620 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
49621
49622 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
49623 FAT size is 12. The previous value was merely wrong.
49624
49625 * kern/main.c (pupa_main): Don't split the starting message from
49626 newlines.
49627
49628 * kern/term.c (pupa_putchar): Put CR after LF instead of before
49629 LF, because BIOS goes crazy about character attributes in this
49630 case.
49631
1cc73a62 496322003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
49633
49634 * include/i386/pc/util/biosdisk.h: New file.
49635 * util/i386/pc/biosdisk.c: Likewise.
49636 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 49637
1cc73a62 49638 * Makefile.in (INCLUDE_DISTFILES): Added
49639 include/pupa/i386/pc/util/biosdisk.h.
49640 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
49641 directory util/i386/pc.
49642 (install-local): Added a rule for sbin_UTILITIES.
49643 (uninstall): Likewise.
49644
49645 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
49646
49647 * util/misc.c (xrealloc): New function.
49648 (pupa_malloc): Likewise.
49649 (pupa_free): Likewise.
49650 (pupa_realloc): Likewise.
49651 (pupa_stop): Likewise.
49652 (pupa_putchar): Likewise.
49653
49654 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
49655
49656 * include/pupa/util/misc.h (xrealloc): Declared.
49657
49658 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
49659 macro.
49660 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
49661 (PUPA_BOOT_MACHINE_BPB_END): ... this.
49662
49663 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
49664 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49665
49666 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
49667 way should be implemented.
49668 [PUPA_UTIL] (pupa_fat_fini): Likewise.
49669
49670 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
49671 the size of NAME for safety.
49672 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
49673 0x88.
49674
49675 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
49676 (pupa_setup_SOURCES): Likewise.
49677
49678 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
49679
08b70fe8 496802002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49681
49682 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
49683 bunch of pushl's from pusha, because this destroys the return
49684 value.
49685
62ddcc8f 496862002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
49687
49688 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
49689 This means that any missing prototypes could be fatal. Also, you
49690 must take care when writing assembly code. See the comments at
49691 the beginning of startup.S, for more details.
f19dbdb7 49692
62ddcc8f 49693 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
49694 compilation mechanism.
49695 (pupa_chainloader_real_boot): Likewise.
49696 (pupa_biosdisk_rw_int13_extensions): Likewise.
49697 (pupa_biosdisk_rw_standard): Likewise.
49698 (pupa_biosdisk_check_int13_extensions): Likewise.
49699 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
49700 (pupa_biosdisk_get_diskinfo_standard): Likewise.
49701 (pupa_get_memsize): Likewise.
49702 (pupa_get_mmap_entry): Likewise.
49703 (pupa_console_putchar): Likewise.
49704 (pupa_console_setcursor): Likewise.
49705 (pupa_getrtsecs): Use pushl instead of push.
49706
49707 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
49708 memory instead of the stack for a mmap entry, because some
49709 BIOSes may ignore the maximum size and overflow.
49710
49711 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
49712
49713 * genmk.rb (PModule#rule): Compile automatically generated
49714 sources with module-specific CFLAGS as well as other sources.
49715
9962ed99 497162002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49717
49718 * configure.ac: Check ld.
49719 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
49720 respectively, before checking endianness and sizes.
49721
49722 * Makefile.in (LD): New variable.
f19dbdb7 49723
abdfc3c5 497242002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49725
49726 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
49727
6a161fa9 497282002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
49729
49730 * Changelog: New file.
49731